From 10a2c0e4762d2755c9e1f57455a4b439e53c793d Mon Sep 17 00:00:00 2001 From: thanhdanh27600 Date: Wed, 20 Mar 2024 08:56:00 +0700 Subject: [PATCH] upgrade donate --- public/assets/wise-bank.png | Bin 0 -> 14623 bytes public/locales/en/common.json | 3 +- public/locales/fr/common.json | 3 +- public/locales/hi/common.json | 3 +- public/locales/ja/common.json | 3 +- public/locales/vi/common.json | 3 +- public/locales/zh/common.json | 3 +- src/components/layouts/Footer.tsx | 44 +++++++++++++++++++++++++----- src/controllers/index.tsx | 1 + src/controllers/l.ts | 13 +++++++++ src/pages/[...hash].tsx | 18 ++++++------ src/pages/_app.tsx | 17 ++++++++++++ src/pages/api/l.ts | 3 ++ src/requests/index.ts | 2 +- src/store/utilitySlice.ts | 4 +++ src/utils/axios.ts | 8 +++++- 16 files changed, 104 insertions(+), 24 deletions(-) create mode 100644 public/assets/wise-bank.png create mode 100644 src/controllers/l.ts create mode 100644 src/pages/api/l.ts diff --git a/public/assets/wise-bank.png b/public/assets/wise-bank.png new file mode 100644 index 0000000000000000000000000000000000000000..d42086c67d41fec2bcbe61bb05eb430452e6bc5d GIT binary patch literal 14623 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 z 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 R1jYtYQ_^~b{`2|k{{t?2ms$V- literal 0 HcmV?d00001 diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 77b28089..cab0b4df 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -125,5 +125,6 @@ "clicksByCountry": "Clicks by Country", "otherCountry": "Others", "file": "File", - "uploadFile": "Upload file" + "uploadFile": "Upload file", + "donateDetail": "I personally spend $10 per day to maintain my server. Your help would be greatly appreciated. 🙏" } diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index c91d52ae..4185eda5 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -126,5 +126,6 @@ "uploadFile": "Charger un fichier", "fileSuccess": "C'était rapide ! Le fichier a été téléchargé avec succès.", "generateNoteMore": "Créer une autre note", - "generateFileMore": "Télécharger un autre fichier" + "generateFileMore": "Télécharger un autre fichier", + "donateDetail": "Je dépense personnellement 10 $ par jour pour maintenir mon serveur. Votre aide serait grandement appréciée. 🙏" } diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 45231377..fa16663d 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -126,5 +126,6 @@ "uploadFile": "फ़ाइल अपलोड करें", "fileSuccess": "इतनी तेज़ी! फ़ाइल सफलतापूर्वक अपलोड हो गई है।", "generateNoteMore": "एक और नोट बनाएं", - "generateFileMore": "एक और फ़ाइल अपलोड करें" + "generateFileMore": "एक और फ़ाइल अपलोड करें", + "donateDetail": "मैं व्यक्तिगत रूप से अपने सर्वर को बनाए रखने के लिए प्रतिदिन 10 डॉलर खर्च करता हूं। आपकी मदद को बहुत प्रासंगिक माना जाएगा। 🙏" } diff --git a/public/locales/ja/common.json b/public/locales/ja/common.json index 8e990c89..624f1104 100644 --- a/public/locales/ja/common.json +++ b/public/locales/ja/common.json @@ -126,5 +126,6 @@ "uploadFile": "ファイルをアップロードする", "fileSuccess": "早いですね!ファイルのアップロードが成功しました。", "generateNoteMore": "別のメモを作成する", - "generateFileMore": "別のファイルをアップロードする" + "generateFileMore": "別のファイルをアップロードする", + "donateDetail": "私は個人的にサーバーの維持に1日10ドルを費やしています。ご協力いただけると大変ありがたいです。🙏" } diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 84c5207c..7c5ca2c8 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -126,5 +126,6 @@ "clicksByCountry": "Clicks theo quốc gia", "otherCountry": "Khác", "file": "File", - "uploadFile": "Upload file" + "uploadFile": "Upload file", + "donateDetail": "Duy trì server 100k/ngày, ai đó gánh chung không 🙏" } diff --git a/public/locales/zh/common.json b/public/locales/zh/common.json index 1a9b5d45..c8de0034 100644 --- a/public/locales/zh/common.json +++ b/public/locales/zh/common.json @@ -126,5 +126,6 @@ "uploadFile": "上传文件", "fileSuccess": "太快了!文件已成功上传。", "generateNoteMore": "创建另一个笔记", - "generateFileMore": "上传另一个文件" + "generateFileMore": "上传另一个文件", + "donateDetail": "我每天个人花费10美元来维护我的服务器。非常感谢您的帮助。🙏" } diff --git a/src/components/layouts/Footer.tsx b/src/components/layouts/Footer.tsx index a6660cf1..e48ff348 100644 --- a/src/components/layouts/Footer.tsx +++ b/src/components/layouts/Footer.tsx @@ -14,9 +14,11 @@ import { useTrans } from 'utils/i18next'; export const Footer = ({ className }: { className?: string }) => { const { t, locale } = useTrans(); const [open, setOpen] = useState(false); - const { shortenSlice } = useBearStore(); + const [timeoutButton, setTimeoutButton] = useState(0); + const { shortenSlice, utilitySlice } = useBearStore(); const [shortenHistory] = shortenSlice((state) => [state.shortenHistory]); + const [country] = utilitySlice((state) => [state.country]); const reportLink = useFeedbackTemplate(FeedbackTemplate.REPORT_LINK); @@ -25,6 +27,7 @@ export const Footer = ({ className }: { className?: string }) => { if (isLocal) return; const timeout = setTimeout(() => { setOpen(true); + setTimeoutButton(6); }, 2000); return () => { @@ -32,6 +35,19 @@ export const Footer = ({ className }: { className?: string }) => { }; }, [shortenHistory]); + useEffect(() => { + if (!open) return; + const interval = setInterval(() => { + setTimeoutButton((state) => { + if (state === 0) clearInterval(interval); + return state === 0 ? 0 : state - 1; + }); + }, 1000); + return () => { + clearInterval(interval); + }; + }, [open]); + if (!locale) return null; return ( @@ -39,14 +55,28 @@ export const Footer = ({ className }: { className?: string }) => {