From 9a8e24f590111c7d27f8195e076ac4644743967e Mon Sep 17 00:00:00 2001 From: Gabe Date: Fri, 17 Oct 2025 01:19:24 +0800 Subject: [PATCH] fix: sync rules, words --- src/hooks/FavWords.js | 11 ++++++++++- src/hooks/Rules.js | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/hooks/FavWords.js b/src/hooks/FavWords.js index 4406116..14114b0 100644 --- a/src/hooks/FavWords.js +++ b/src/hooks/FavWords.js @@ -1,16 +1,25 @@ import { STOKEY_WORDS, KV_WORDS_KEY } from "../config"; import { useCallback, useMemo } from "react"; import { useStorage } from "./Storage"; +import { debounceSyncMeta } from "../libs/storage"; const DEFAULT_FAVWORDS = {}; export function useFavWords() { - const { data: favWords, save } = useStorage( + const { data: favWords, save: saveWords } = useStorage( STOKEY_WORDS, DEFAULT_FAVWORDS, KV_WORDS_KEY ); + const save = useCallback( + (objOrFn) => { + saveWords(objOrFn); + debounceSyncMeta(KV_WORDS_KEY); + }, + [saveWords] + ); + const toggleFav = useCallback( (word) => { save((prev) => { diff --git a/src/hooks/Rules.js b/src/hooks/Rules.js index ec09d3b..7b200ae 100644 --- a/src/hooks/Rules.js +++ b/src/hooks/Rules.js @@ -2,18 +2,27 @@ import { STOKEY_RULES, DEFAULT_RULES, KV_RULES_KEY } from "../config"; import { useStorage } from "./Storage"; import { checkRules } from "../libs/rules"; import { useCallback } from "react"; +import { debounceSyncMeta } from "../libs/storage"; /** * 规则 hook * @returns */ export function useRules() { - const { data: list = [], save } = useStorage( + const { data: list = [], save: saveRules } = useStorage( STOKEY_RULES, DEFAULT_RULES, KV_RULES_KEY ); + const save = useCallback( + (objOrFn) => { + saveRules(objOrFn); + debounceSyncMeta(KV_RULES_KEY); + }, + [saveRules] + ); + const add = useCallback( (rule) => { save((prev) => {