fix: sync rules, words
This commit is contained in:
@@ -1,16 +1,25 @@
|
|||||||
import { STOKEY_WORDS, KV_WORDS_KEY } from "../config";
|
import { STOKEY_WORDS, KV_WORDS_KEY } from "../config";
|
||||||
import { useCallback, useMemo } from "react";
|
import { useCallback, useMemo } from "react";
|
||||||
import { useStorage } from "./Storage";
|
import { useStorage } from "./Storage";
|
||||||
|
import { debounceSyncMeta } from "../libs/storage";
|
||||||
|
|
||||||
const DEFAULT_FAVWORDS = {};
|
const DEFAULT_FAVWORDS = {};
|
||||||
|
|
||||||
export function useFavWords() {
|
export function useFavWords() {
|
||||||
const { data: favWords, save } = useStorage(
|
const { data: favWords, save: saveWords } = useStorage(
|
||||||
STOKEY_WORDS,
|
STOKEY_WORDS,
|
||||||
DEFAULT_FAVWORDS,
|
DEFAULT_FAVWORDS,
|
||||||
KV_WORDS_KEY
|
KV_WORDS_KEY
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const save = useCallback(
|
||||||
|
(objOrFn) => {
|
||||||
|
saveWords(objOrFn);
|
||||||
|
debounceSyncMeta(KV_WORDS_KEY);
|
||||||
|
},
|
||||||
|
[saveWords]
|
||||||
|
);
|
||||||
|
|
||||||
const toggleFav = useCallback(
|
const toggleFav = useCallback(
|
||||||
(word) => {
|
(word) => {
|
||||||
save((prev) => {
|
save((prev) => {
|
||||||
|
|||||||
@@ -2,18 +2,27 @@ import { STOKEY_RULES, DEFAULT_RULES, KV_RULES_KEY } from "../config";
|
|||||||
import { useStorage } from "./Storage";
|
import { useStorage } from "./Storage";
|
||||||
import { checkRules } from "../libs/rules";
|
import { checkRules } from "../libs/rules";
|
||||||
import { useCallback } from "react";
|
import { useCallback } from "react";
|
||||||
|
import { debounceSyncMeta } from "../libs/storage";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 规则 hook
|
* 规则 hook
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
export function useRules() {
|
export function useRules() {
|
||||||
const { data: list = [], save } = useStorage(
|
const { data: list = [], save: saveRules } = useStorage(
|
||||||
STOKEY_RULES,
|
STOKEY_RULES,
|
||||||
DEFAULT_RULES,
|
DEFAULT_RULES,
|
||||||
KV_RULES_KEY
|
KV_RULES_KEY
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const save = useCallback(
|
||||||
|
(objOrFn) => {
|
||||||
|
saveRules(objOrFn);
|
||||||
|
debounceSyncMeta(KV_RULES_KEY);
|
||||||
|
},
|
||||||
|
[saveRules]
|
||||||
|
);
|
||||||
|
|
||||||
const add = useCallback(
|
const add = useCallback(
|
||||||
(rule) => {
|
(rule) => {
|
||||||
save((prev) => {
|
save((prev) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user