diff --git a/README.md b/README.md index e9f23146..f8ddac6a 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,9 @@ npm install # Run the app npm run dev ``` + ## Run Docker + ```bash # Clone this repository git clone https://github.com/CodyTseng/jumble.git @@ -53,8 +55,15 @@ cd jumble # Run the docker compose docker compose up --build -d ``` + After finishing, access: http://localhost:8089 +## Sponsors + + + open-sats-logo + + ## Donate If you like this project, you can buy me a coffee :) diff --git a/resources/open-sats-logo.svg b/resources/open-sats-logo.svg new file mode 100644 index 00000000..1fbe833e --- /dev/null +++ b/resources/open-sats-logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/components/Donation/PlatinumSponsors.tsx b/src/components/Donation/PlatinumSponsors.tsx new file mode 100644 index 00000000..6c3c52cd --- /dev/null +++ b/src/components/Donation/PlatinumSponsors.tsx @@ -0,0 +1,27 @@ +import { useTranslation } from 'react-i18next' +import Image from '../Image' +import OpenSatsLogo from './open-sats-logo.svg' + +export default function PlatinumSponsors() { + const { t } = useTranslation() + + return ( +
+
{t('Platinum Sponsors')}
+
+
window.open('https://opensats.org/', '_blank')} + > + +
OpenSats
+
+
+
+ ) +} diff --git a/src/components/Donation/RecentSupporters.tsx b/src/components/Donation/RecentSupporters.tsx index ece6b7fa..274f562f 100644 --- a/src/components/Donation/RecentSupporters.tsx +++ b/src/components/Donation/RecentSupporters.tsx @@ -1,9 +1,9 @@ import { formatAmount } from '@/lib/lightning' import lightning, { TRecentSupporter } from '@/services/lightning.service' import { useEffect, useState } from 'react' +import { useTranslation } from 'react-i18next' import UserAvatar from '../UserAvatar' import Username from '../Username' -import { useTranslation } from 'react-i18next' export default function RecentSupporters() { const { t } = useTranslation() @@ -32,7 +32,9 @@ export default function RecentSupporters() {
-
{item.comment}
+
+ {item.comment} +
diff --git a/src/components/Donation/index.tsx b/src/components/Donation/index.tsx index 2eb0aad5..1faebee3 100644 --- a/src/components/Donation/index.tsx +++ b/src/components/Donation/index.tsx @@ -5,6 +5,7 @@ import { useState } from 'react' import { useTranslation } from 'react-i18next' import ZapDialog from '../ZapDialog' import RecentSupporters from './RecentSupporters' +import PlatinumSponsors from './PlatinumSponsors' export default function Donation({ className }: { className?: string }) { const { t } = useTranslation() @@ -39,6 +40,7 @@ export default function Donation({ className }: { className?: string }) { ) })}
+ \ No newline at end of file diff --git a/src/i18n/locales/ar.ts b/src/i18n/locales/ar.ts index 04d57df2..38092505 100644 --- a/src/i18n/locales/ar.ts +++ b/src/i18n/locales/ar.ts @@ -229,6 +229,7 @@ export default { 'Paste or drop media files to upload': 'الصق أو اسحب ملفات الوسائط لتحميلها', Preview: 'معاينة', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'أنت على وشك نشر حدث موقع من قبل [{{eventAuthorName}}]. أنت حالياً مسجل الدخول كـ [{{currentUsername}}]. هل أنت متأكد؟' + 'أنت على وشك نشر حدث موقع من قبل [{{eventAuthorName}}]. أنت حالياً مسجل الدخول كـ [{{currentUsername}}]. هل أنت متأكد؟', + 'Platinum Sponsors': 'الرعاة البلاتينيون' } } diff --git a/src/i18n/locales/de.ts b/src/i18n/locales/de.ts index 37fc2fec..5a6089b1 100644 --- a/src/i18n/locales/de.ts +++ b/src/i18n/locales/de.ts @@ -235,6 +235,7 @@ export default { 'Füge Medien-Dateien ein oder ziehe sie hierher, um sie hochzuladen', Preview: 'Vorschau', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Du bist dabei, ein Ereignis zu veröffentlichen, das von [{{eventAuthorName}}] signiert wurde. Du bist derzeit als [{{currentUsername}}] angemeldet. Bist du sicher?' + 'Du bist dabei, ein Ereignis zu veröffentlichen, das von [{{eventAuthorName}}] signiert wurde. Du bist derzeit als [{{currentUsername}}] angemeldet. Bist du sicher?', + 'Platinum Sponsors': 'Platin-Sponsoren' } } diff --git a/src/i18n/locales/en.ts b/src/i18n/locales/en.ts index 58e2a7e2..39c3a78c 100644 --- a/src/i18n/locales/en.ts +++ b/src/i18n/locales/en.ts @@ -229,6 +229,7 @@ export default { 'Paste or drop media files to upload': 'Paste or drop media files to upload', Preview: 'Preview', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?' + 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?', + 'Platinum Sponsors': 'Platinum Sponsors' } } diff --git a/src/i18n/locales/es.ts b/src/i18n/locales/es.ts index 65df85ef..58d222b4 100644 --- a/src/i18n/locales/es.ts +++ b/src/i18n/locales/es.ts @@ -234,6 +234,7 @@ export default { 'Paste or drop media files to upload': 'Pegar o soltar archivos multimedia para cargar', Preview: 'Vista previa', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Estás a punto de publicar un evento firmado por [{{eventAuthorName}}]. Actualmente has iniciado sesión como [{{currentUsername}}]. ¿Estás seguro?' + 'Estás a punto de publicar un evento firmado por [{{eventAuthorName}}]. Actualmente has iniciado sesión como [{{currentUsername}}]. ¿Estás seguro?', + 'Platinum Sponsors': 'Patrocinadores Platino' } } diff --git a/src/i18n/locales/fr.ts b/src/i18n/locales/fr.ts index dbf2d7de..dbb8a829 100644 --- a/src/i18n/locales/fr.ts +++ b/src/i18n/locales/fr.ts @@ -234,6 +234,7 @@ export default { 'Coller ou déposer des fichiers multimédias à télécharger', Preview: 'Aperçu', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Vous êtes sur le point de publier un événement signé par [{{eventAuthorName}}]. Vous êtes actuellement connecté en tant que [{{currentUsername}}]. Êtes-vous sûr ?' + 'Vous êtes sur le point de publier un événement signé par [{{eventAuthorName}}]. Vous êtes actuellement connecté en tant que [{{currentUsername}}]. Êtes-vous sûr ?', + 'Platinum Sponsors': 'Sponsors Platine' } } diff --git a/src/i18n/locales/it.ts b/src/i18n/locales/it.ts index 85451dde..17c1a3a0 100644 --- a/src/i18n/locales/it.ts +++ b/src/i18n/locales/it.ts @@ -233,6 +233,7 @@ export default { 'Paste or drop media files to upload': 'Incolla o trascina i file multimediali per caricarli', Preview: 'Anteprima', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Stai per pubblicare un evento firmato da [{{eventAuthorName}}]. Attualmente sei connesso come [{{currentUsername}}]. Sei sicuro?' + 'Stai per pubblicare un evento firmato da [{{eventAuthorName}}]. Attualmente sei connesso come [{{currentUsername}}]. Sei sicuro?', + 'Platinum Sponsors': 'Sponsor Platino' } } diff --git a/src/i18n/locales/ja.ts b/src/i18n/locales/ja.ts index c224a1dc..6f47825d 100644 --- a/src/i18n/locales/ja.ts +++ b/src/i18n/locales/ja.ts @@ -230,6 +230,7 @@ export default { 'Paste or drop media files to upload': 'メディアファイルを貼り付けるかドロップしてアップロード', Preview: 'プレビュー', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'あなたは[{{eventAuthorName}}]によって署名されたイベントを公開しようとしています。現在[{{currentUsername}}]としてログインしています。よろしいですか?' + 'あなたは[{{eventAuthorName}}]によって署名されたイベントを公開しようとしています。現在[{{currentUsername}}]としてログインしています。よろしいですか?', + 'Platinum Sponsors': 'プラチナスポンサー' } } diff --git a/src/i18n/locales/pl.ts b/src/i18n/locales/pl.ts index 82e3cac0..559536a8 100644 --- a/src/i18n/locales/pl.ts +++ b/src/i18n/locales/pl.ts @@ -232,6 +232,7 @@ export default { 'Paste or drop media files to upload': 'Wklej lub upuść pliki multimedialne, aby przesłać', Preview: 'Podgląd', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Zaraz opublikujesz zdarzenie podpisane przez [{{eventAuthorName}}]. Obecnie jesteś zalogowany jako [{{currentUsername}}]. Czy jesteś pewien?' + 'Zaraz opublikujesz zdarzenie podpisane przez [{{eventAuthorName}}]. Obecnie jesteś zalogowany jako [{{currentUsername}}]. Czy jesteś pewien?', + 'Platinum Sponsors': 'Sponsorzy Platynowi' } } diff --git a/src/i18n/locales/pt-BR.ts b/src/i18n/locales/pt-BR.ts index 1b6dd874..175f7fc4 100644 --- a/src/i18n/locales/pt-BR.ts +++ b/src/i18n/locales/pt-BR.ts @@ -232,6 +232,7 @@ export default { 'Paste or drop media files to upload': 'Cole ou arraste arquivos de mídia para fazer upload', Preview: 'Pré-visualização', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?' + 'Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?', + 'Platinum Sponsors': 'Patrocinadores Platinum' } } diff --git a/src/i18n/locales/pt-PT.ts b/src/i18n/locales/pt-PT.ts index 553987d5..871e9974 100644 --- a/src/i18n/locales/pt-PT.ts +++ b/src/i18n/locales/pt-PT.ts @@ -233,6 +233,7 @@ export default { 'Paste or drop media files to upload': 'Cole ou solte arquivos de mídia para fazer upload', Preview: 'Pré-visualização', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?' + 'Você está prestes a publicar um evento assinado por [{{eventAuthorName}}]. Você está atualmente logado como [{{currentUsername}}]. Tem certeza?', + 'Platinum Sponsors': 'Patrocinadores Platinum' } } diff --git a/src/i18n/locales/ru.ts b/src/i18n/locales/ru.ts index 9b5f8ee1..5f3bc1a5 100644 --- a/src/i18n/locales/ru.ts +++ b/src/i18n/locales/ru.ts @@ -233,6 +233,7 @@ export default { 'Paste or drop media files to upload': 'Вставьте или перетащите медиафайлы для загрузки', Preview: 'Предварительный просмотр', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - 'Вы собираетесь опубликовать событие, подписанное [{{eventAuthorName}}]. Вы в данный момент вошли как [{{currentUsername}}]. Вы уверены?' + 'Вы собираетесь опубликовать событие, подписанное [{{eventAuthorName}}]. Вы в данный момент вошли как [{{currentUsername}}]. Вы уверены?', + 'Platinum Sponsors': 'Платиновые спонсоры' } } diff --git a/src/i18n/locales/zh.ts b/src/i18n/locales/zh.ts index eaa18039..3a10c0cd 100644 --- a/src/i18n/locales/zh.ts +++ b/src/i18n/locales/zh.ts @@ -230,6 +230,7 @@ export default { 'Paste or drop media files to upload': '支持粘贴或拖放媒体文件进行上传', Preview: '预览', 'You are about to publish an event signed by [{{eventAuthorName}}]. You are currently logged in as [{{currentUsername}}]. Are you sure?': - '您即将发布一条由 [{{eventAuthorName}}] 签名的事件。您当前以 [{{currentUsername}}] 登录。确定吗?' + '您即将发布一条由 [{{eventAuthorName}}] 签名的事件。您当前以 [{{currentUsername}}] 登录。确定吗?', + 'Platinum Sponsors': '白金赞助商' } } diff --git a/src/services/lightning.service.ts b/src/services/lightning.service.ts index fce62030..3842e4b1 100644 --- a/src/services/lightning.service.ts +++ b/src/services/lightning.service.ts @@ -180,7 +180,9 @@ class LightningService { if (!item.comment && comment) item.comment = comment } }) - this.recentSupportersCache = Array.from(map.values()).sort((a, b) => b.amount - a.amount) + this.recentSupportersCache = Array.from(map.values()) + .filter((item) => item.amount >= 1000) + .sort((a, b) => b.amount - a.amount) return this.recentSupportersCache }