feat(post form): alert user when submitting a post without media

This commit is contained in:
Tom (plebeius.eth)
2024-09-20 17:57:25 +02:00
parent b3adb6c9a0
commit 3c27fd6c31
36 changed files with 84 additions and 37 deletions
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "تفعيل", "enable": "تفعيل",
"order": "ترتيب", "order": "ترتيب",
"text": "نص", "text": "نص",
"filtered_threads": "المواضيع المفلترة" "filtered_threads": "المواضيع المفلترة",
"missing_link_confirm": "مشاركتك تفتقر إلى رابط يحتوي على صورة، سيتم تصفيتها افتراضيًا على Plebchan. يمكنك تعطيل هذا الفلتر في الإعدادات، أو عرض مشاركتك على عميل Plebbit آخر، مثل Seedit. هل تريد النشر على أي حال؟"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "সক্রিয় করুন", "enable": "সক্রিয় করুন",
"order": "অর্ডার", "order": "অর্ডার",
"text": "টেক্সট", "text": "টেক্সট",
"filtered_threads": "ফিল্টার করা থ্রেড" "filtered_threads": "ফিল্টার করা থ্রেড",
"missing_link_confirm": "আপনার পোস্টে একটি চিত্র সহ একটি লিঙ্ক নেই, এটি ডিফল্টভাবে Plebchan এ ফিল্টার করা হবে। আপনি সেটিংসে এই ফিল্টারটি অক্ষম করতে পারেন, অথবা Seedit এর মতো অন্য Plebbit ক্লায়েন্টে আপনার পোস্টটি দেখতে পারেন। তবুও পোস্ট করতে চান?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Povolit", "enable": "Povolit",
"order": "Pořadí", "order": "Pořadí",
"text": "Text", "text": "Text",
"filtered_threads": "Filtr threads" "filtered_threads": "Filtr threads",
"missing_link_confirm": "Váš příspěvek postrádá odkaz s obrázkem, ve výchozím nastavení bude na Plebchanu filtrován. Tento filtr můžete vypnout v nastavení nebo si můžete svůj příspěvek prohlédnout na jiném klientovi Plebbit, jako je Seedit. Přesto zveřejnit?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Aktiver", "enable": "Aktiver",
"order": "Rækkefølge", "order": "Rækkefølge",
"text": "Tekst", "text": "Tekst",
"filtered_threads": "Filtrerede tråde" "filtered_threads": "Filtrerede tråde",
"missing_link_confirm": "Dit indlæg mangler et link med et billede, det vil som standard blive filtreret på Plebchan. Du kan deaktivere dette filter i indstillingerne eller se dit indlæg på en anden Plebbit-klient, som Seedit. Vil du alligevel poste?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Aktivieren", "enable": "Aktivieren",
"order": "Reihenfolge", "order": "Reihenfolge",
"text": "Text", "text": "Text",
"filtered_threads": "Gefilterte Threads" "filtered_threads": "Gefilterte Threads",
"missing_link_confirm": "Ihr Beitrag fehlt ein Link mit einem Bild, er wird standardmäßig auf Plebchan herausgefiltert. Sie können diesen Filter in den Einstellungen deaktivieren oder Ihren Beitrag in einem anderen Plebbit-Client wie Seedit anzeigen. Trotzdem posten?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Ενεργοποιήστε", "enable": "Ενεργοποιήστε",
"order": "Σειρά", "order": "Σειρά",
"text": "Κείμενο", "text": "Κείμενο",
"filtered_threads": "Φιλτραρισμένα θέματα" "filtered_threads": "Φιλτραρισμένα θέματα",
"missing_link_confirm": "Η ανάρτησή σας λείπει από έναν σύνδεσμο με μια εικόνα, θα φιλτραριστεί από προεπιλογή στο Plebchan. Μπορείτε να απενεργοποιήσετε αυτό το φίλτρο στις ρυθμίσεις ή να δείτε την ανάρτησή σας σε έναν άλλο πελάτη Plebbit, όπως το Seedit. Θέλετε να δημοσιεύσετε ούτως ή άλλως;"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Enable", "enable": "Enable",
"order": "Order", "order": "Order",
"text": "Text", "text": "Text",
"filtered_threads": "Filtered threads" "filtered_threads": "Filtered threads",
"missing_link_confirm": "Your post is missing a link with an image, it will be filtered out by default on Plebchan. You can disable this filter in the settings, or view your post on another Plebbit client, like Seedit. Post anyway?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Habilitar", "enable": "Habilitar",
"order": "Orden", "order": "Orden",
"text": "Texto", "text": "Texto",
"filtered_threads": "Hilos filtrados" "filtered_threads": "Hilos filtrados",
"missing_link_confirm": "Tu publicación falta un enlace con una imagen, se filtrará de forma predeterminada en Plebchan. Puedes desactivar este filtro en la configuración, o ver tu publicación en otro cliente de Plebbit, como Seedit. ¿Publicar de todos modos?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "فعال کردن", "enable": "فعال کردن",
"order": "ترتیب", "order": "ترتیب",
"text": "متن", "text": "متن",
"filtered_threads": "رشته‌های فیلتر شده" "filtered_threads": "رشته‌های فیلتر شده",
"missing_link_confirm": "پست شما دارای یک لینک با تصویر نیست، به‌طور پیش‌فرض در Plebchan فیلتر خواهد شد. شما می‌توانید این فیلتر را در تنظیمات غیرفعال کنید یا پست خود را در یک کلاینت Plebbit دیگر، مانند Seedit مشاهده کنید. با این حال، پست کنید؟"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Ota käyttöön", "enable": "Ota käyttöön",
"order": "Järjestys", "order": "Järjestys",
"text": "Teksti", "text": "Teksti",
"filtered_threads": "Suodatetut ketjut" "filtered_threads": "Suodatetut ketjut",
"missing_link_confirm": "Viestistäsi puuttuu kuvaan liittyvä linkki, se suodatetaan oletusarvoisesti Plebchanissa. Voit poistaa tämän suodattimen käytöstä asetuksissa tai katsoa viestiäsi toisella Plebbit-asiakkaalla, kuten Seedit. Haluaako silti julkaista?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "I-enable", "enable": "I-enable",
"order": "Kaayusan", "order": "Kaayusan",
"text": "Teksto", "text": "Teksto",
"filtered_threads": "Na-filter na mga thread" "filtered_threads": "Na-filter na mga thread",
"missing_link_confirm": "Ang iyong post ay walang link na may larawan, ito ay awtomatikong magiging filter sa Plebchan. Maaari mong huwag paganahin ang filter na ito sa mga setting, o tingnan ang iyong post sa ibang Plebbit client, tulad ng Seedit. Mag-post pa rin?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Activer", "enable": "Activer",
"order": "Ordre", "order": "Ordre",
"text": "Texte", "text": "Texte",
"filtered_threads": "Threads filtrés" "filtered_threads": "Threads filtrés",
"missing_link_confirm": "Votre publication est manquante d'un lien avec une image, elle sera filtrée par défaut sur Plebchan. Vous pouvez désactiver ce filtre dans les paramètres, ou voir votre publication sur un autre client Plebbit, comme Seedit. Publier quand même ?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "הפעל", "enable": "הפעל",
"order": "סדר", "order": "סדר",
"text": "טקסט", "text": "טקסט",
"filtered_threads": "אשכולות ממוינים" "filtered_threads": "אשכולות ממוינים",
"missing_link_confirm": "הפוסט שלך חסר קישור עם תמונה, הוא ית过滤 ברירת מחדל ב-Plebchan. אתה יכול לבטל את הפילטר הזה בהגדרות, או לצפות בפוסט שלך בלקוח Plebbit אחר, כמו Seedit. לפרסם בכל מקרה?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "सक्षम करें", "enable": "सक्षम करें",
"order": "क्रम", "order": "क्रम",
"text": "पाठ", "text": "पाठ",
"filtered_threads": "फ़िल्टर किए गए थ्रेड्स" "filtered_threads": "फ़िल्टर किए गए थ्रेड्स",
"missing_link_confirm": "आपके पोस्ट में एक छवि के साथ लिंक नहीं है, इसे डिफ़ॉल्ट रूप से Plebchan पर फ़िल्टर किया जाएगा। आप सेटिंग्स में इस फ़िल्टर को अक्षम कर सकते हैं, या अपने पोस्ट को किसी अन्य Plebbit क्लाइंट, जैसे Seedit पर देख सकते हैं। फिर भी पोस्ट करें?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Engedélyez", "enable": "Engedélyez",
"order": "Rendelés", "order": "Rendelés",
"text": "Szöveg", "text": "Szöveg",
"filtered_threads": "Szűrt szálak" "filtered_threads": "Szűrt szálak",
"missing_link_confirm": "A bejegyzésedből hiányzik egy képet tartalmazó hivatkozás, alapértelmezés szerint kiszűrésre kerül a Plebchan-on. Ezt a szűrőt letilthatod a beállításokban, vagy megnézheted a bejegyzésedet egy másik Plebbit kliensben, például a Seedit-en. Mégis posztolj?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Aktifkan", "enable": "Aktifkan",
"order": "Urutan", "order": "Urutan",
"text": "Teks", "text": "Teks",
"filtered_threads": "Thread yang difilter" "filtered_threads": "Thread yang difilter",
"missing_link_confirm": "Postingan Anda tidak memiliki tautan dengan gambar, itu akan difilter secara default di Plebchan. Anda dapat menonaktifkan filter ini di pengaturan, atau melihat postingan Anda di klien Plebbit lain, seperti Seedit. Posting saja?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Abilita", "enable": "Abilita",
"order": "Ordine", "order": "Ordine",
"text": "Testo", "text": "Testo",
"filtered_threads": "Thread filtrati" "filtered_threads": "Thread filtrati",
"missing_link_confirm": "Il tuo post è privo di un link con un'immagine, verrà filtrato per impostazione predefinita su Plebchan. Puoi disabilitare questo filtro nelle impostazioni o visualizzare il tuo post su un altro client Plebbit, come Seedit. Pubblica comunque?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "有効にする", "enable": "有効にする",
"order": "順序", "order": "順序",
"text": "テキスト", "text": "テキスト",
"filtered_threads": "フィルタリングされたスレッド" "filtered_threads": "フィルタリングされたスレッド",
"missing_link_confirm": "あなたの投稿には画像付きのリンクがありません。それはPlebchanでデフォルトでフィルタリングされます。このフィルタを設定で無効にするか、Seeditのような別のPlebbitクライアントで投稿を表示できます。それでも投稿しますか?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "사용", "enable": "사용",
"order": "순서", "order": "순서",
"text": "텍스트", "text": "텍스트",
"filtered_threads": "필터링된 스레드" "filtered_threads": "필터링된 스레드",
"missing_link_confirm": "당신의 게시물에는 이미지가 포함된 링크가 없습니다. 기본적으로 Plebchan에서 필터링됩니다. 설정에서 이 필터를 비활성화하거나 Seedit와 같은 다른 Plebbit 클라이언트에서 게시물을 볼 수 있습니다. 그래도 게시하시겠습니까?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "सक्षम करा", "enable": "सक्षम करा",
"order": "आदेश", "order": "आदेश",
"text": "पाठ", "text": "पाठ",
"filtered_threads": "फिल्टर केलेले ध糹रे" "filtered_threads": "फिल्टर केलेले ध糹रे",
"missing_link_confirm": "तुमच्या पोस्टमध्ये चित्रासह लिंक नाही, हे डिफॉल्टवर Plebchan द्वारे फिल्टर केले जाईल. तुम्ही सेटिंग्जमध्ये हा फिल्टर अक्षम करू शकता किंवा Seedit सारख्या दुसऱ्या Plebbit क्लायंटवर तुमचा पोस्ट पाहू शकता. तरीही पोस्ट करायचे आहे का?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Inschakelen", "enable": "Inschakelen",
"order": "Volgorde", "order": "Volgorde",
"text": "Tekst", "text": "Tekst",
"filtered_threads": "Gefilterde threads" "filtered_threads": "Gefilterde threads",
"missing_link_confirm": "Je bericht mist een link met een afbeelding, deze zal standaard op Plebchan worden gefilterd. Je kunt deze filter in de instellingen uitschakelen of je bericht bekijken op een andere Plebbit-client, zoals Seedit. Toch posten?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Aktiver", "enable": "Aktiver",
"order": "Rekkefølge", "order": "Rekkefølge",
"text": "Tekst", "text": "Tekst",
"filtered_threads": "Filtrerte tråder" "filtered_threads": "Filtrerte tråder",
"missing_link_confirm": "Innlegget ditt mangler en lenke med et bilde, og vil bli filtrert som standard på Plebchan. Du kan deaktivere dette filteret i innstillingene, eller se innlegget ditt på en annen Plebbit-klient, som Seedit. Vil du legge ut uansett?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Włącz", "enable": "Włącz",
"order": "Kolejność", "order": "Kolejność",
"text": "Tekst", "text": "Tekst",
"filtered_threads": "Filtrowane wątki" "filtered_threads": "Filtrowane wątki",
"missing_link_confirm": "Twój post nie zawiera linku z obrazem, domyślnie zostanie przefiltrowany na Plebchan. Możesz wyłączyć ten filtr w ustawieniach lub zobaczyć swój post w innym kliencie Plebbit, takim jak Seedit. Chcesz opublikować mimo to?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Ativar", "enable": "Ativar",
"order": "Ordem", "order": "Ordem",
"text": "Texto", "text": "Texto",
"filtered_threads": "Threads filtrados" "filtered_threads": "Threads filtrados",
"missing_link_confirm": "Sua postagem está faltando um link com uma imagem, ela será filtrada por padrão no Plebchan. Você pode desativar esse filtro nas configurações ou visualizar sua postagem em outro cliente Plebbit, como o Seedit. Postar mesmo assim?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Activare", "enable": "Activare",
"order": "Ordine", "order": "Ordine",
"text": "Text", "text": "Text",
"filtered_threads": "Fire filtrate" "filtered_threads": "Fire filtrate",
"missing_link_confirm": "Postarea ta nu are un link cu o imagine, va fi filtrată în mod implicit pe Plebchan. Poți dezactiva acest filtru în setări sau vizualiza postarea ta pe un alt client Plebbit, cum ar fi Seedit. Postează oricum?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Включить", "enable": "Включить",
"order": "Порядок", "order": "Порядок",
"text": "Текст", "text": "Текст",
"filtered_threads": "Отфильтрованные темы" "filtered_threads": "Отфильтрованные темы",
"missing_link_confirm": "Ваш пост не содержит ссылки с изображением, он будет отфильтрован по умолчанию на Plebchan. Вы можете отключить этот фильтр в настройках или просмотреть свой пост в другом клиенте Plebbit, таком как Seedit. Опубликовать все равно?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Aktivizo", "enable": "Aktivizo",
"order": "Rendit", "order": "Rendit",
"text": "Tekst", "text": "Tekst",
"filtered_threads": "Tema të filtruar" "filtered_threads": "Tema të filtruar",
"missing_link_confirm": "Postimi juaj i mungon një lidhje me një imazh, ai do të filtrohet automatikisht në Plebchan. Mund ta çaktivizoni këtë filtër në cilësimet, ose të shihni postimin tuaj në një klient tjetër Plebbit, si Seedit. A dëshironi të postoni gjithsesi?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Aktivera", "enable": "Aktivera",
"order": "Ordning", "order": "Ordning",
"text": "Text", "text": "Text",
"filtered_threads": "Filtrerade trådar" "filtered_threads": "Filtrerade trådar",
"missing_link_confirm": "Ditt inlägg saknar en länk med en bild, det kommer att filtreras som standard på Plebchan. Du kan inaktivera detta filter i inställningarna, eller visa ditt inlägg på en annan Plebbit-klient, som Seedit. Vill du ändå posta?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "చేర్చు", "enable": "చేర్చు",
"order": "ఆర్డర్", "order": "ఆర్డర్",
"text": "పాఠం", "text": "పాఠం",
"filtered_threads": "ఫిల్టర్ చేయబడిన థ్రెడ్లు" "filtered_threads": "ఫిల్టర్ చేయబడిన థ్రెడ్లు",
"missing_link_confirm": "మీ పోస్టు చిత్రంతో లింక్ మిస్సింగ్ ఉంది, ఇది Plebchan లో డిఫాల్ట్‌గా ఫిల్టర్ అవుతుంది. మీరు ఈ ఫిల్టర్‌ను సెటింగ్స్ లో డిసేబుల్ చేయవచ్చు, లేదా Seedit వంటి మరో Plebbit క్లయింట్ లో మీ పోస్టును చూడవచ్చు. అయినప్పటికీ పోస్టు చేయాలా?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "เปิดใช้งาน", "enable": "เปิดใช้งาน",
"order": "ลำดับ", "order": "ลำดับ",
"text": "ข้อความ", "text": "ข้อความ",
"filtered_threads": "กระทู้ที่กรองแล้ว" "filtered_threads": "กระทู้ที่กรองแล้ว",
"missing_link_confirm": "โพสต์ของคุณขาดลิงก์ที่มีรูปภาพจะถูกกรองตามค่าเริ่มต้นใน Plebchan คุณสามารถปิดการกรองนี้ในการตั้งค่าหรือดูโพสต์ของคุณในไคลเอนต์ Plebbit อื่น เช่น Seedit คุณจะโพสต์อยู่ดีไหม?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Etkinleştir", "enable": "Etkinleştir",
"order": "Sıra", "order": "Sıra",
"text": "Metin", "text": "Metin",
"filtered_threads": "Filtrelenmiş başlıklar" "filtered_threads": "Filtrelenmiş başlıklar",
"missing_link_confirm": "Gönderinizin bir resmi içeren bağlantısı yok, varsayılan olarak Plebchan'da filtrelenecek. Bu filtreyi ayarlardan devre dışı bırakabilir veya gönderinizi Seedit gibi başka bir Plebbit istemcisinde görüntüleyebilirsiniz. Yine de gönderi paylaşmak ister misiniz?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Увімкнути", "enable": "Увімкнути",
"order": "Порядок", "order": "Порядок",
"text": "Текст", "text": "Текст",
"filtered_threads": "Відфільтровані треди" "filtered_threads": "Відфільтровані треди",
"missing_link_confirm": "Ваш пост не має посилання з зображенням, за замовчуванням він буде відфільтровано на Plebchan. Ви можете вимкнути цей фільтр у налаштуваннях або переглянути свій пост в іншому клієнті Plebbit, такому як Seedit. Все ж таки опублікувати?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "فعال کریں", "enable": "فعال کریں",
"order": "ترتیب", "order": "ترتیب",
"text": "متن", "text": "متن",
"filtered_threads": "فلٹر کیے گئے تھریڈز" "filtered_threads": "فلٹر کیے گئے تھریڈز",
"missing_link_confirm": "آپ کی پوسٹ میں ایک تصویر کے ساتھ ایک لنک غائب ہے، یہ Plebchan پر ڈیفالٹ کے طور پر فلٹر ہوگی۔ آپ اس فلٹر کو سیٹنگز میں غیر فعال کرسکتے ہیں، یا اپنے پوسٹ کو کسی دوسرے Plebbit کلائنٹ، جیسے Seedit پر دیکھ سکتے ہیں۔ پھر بھی پوسٹ کریں؟"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "Kích hoạt", "enable": "Kích hoạt",
"order": "Thứ tự", "order": "Thứ tự",
"text": "Văn bản", "text": "Văn bản",
"filtered_threads": "Các chủ đề đã lọc" "filtered_threads": "Các chủ đề đã lọc",
"missing_link_confirm": "Bài đăng của bạn thiếu một liên kết với hình ảnh, nó sẽ bị lọc theo mặc định trên Plebchan. Bạn có thể tắt bộ lọc này trong cài đặt hoặc xem bài đăng của bạn trên một khách hàng Plebbit khác, như Seedit. Vẫn muốn đăng?"
} }
+2 -1
View File
@@ -232,5 +232,6 @@
"enable": "启用", "enable": "启用",
"order": "顺序", "order": "顺序",
"text": "文本", "text": "文本",
"filtered_threads": "已过滤的帖子" "filtered_threads": "已过滤的帖子",
"missing_link_confirm": "您的帖子缺少带图像的链接,默认情况下将在 Plebchan 中被过滤。您可以在设置中禁用此过滤器,或者在另一个 Plebbit 客户端(如 Seedit)中查看您的帖子。还是发布吗?"
} }
+14 -2
View File
@@ -14,7 +14,7 @@ import {
} from '@plebbit/plebbit-react-hooks'; } from '@plebbit/plebbit-react-hooks';
import { create } from 'zustand'; import { create } from 'zustand';
import { alertChallengeVerificationFailed } from '../../lib/utils/challenge-utils'; import { alertChallengeVerificationFailed } from '../../lib/utils/challenge-utils';
import { getLinkMediaInfo } from '../../lib/utils/media-utils'; import { getHasThumbnail, getLinkMediaInfo } from '../../lib/utils/media-utils';
import { formatMarkdown } from '../../lib/utils/post-utils'; import { formatMarkdown } from '../../lib/utils/post-utils';
import { isValidURL } from '../../lib/utils/url-utils'; import { isValidURL } from '../../lib/utils/url-utils';
import { isAllView, isDescriptionView, isPostPageView, isRulesView, isSubscriptionsView } from '../../lib/utils/view-utils'; import { isAllView, isDescriptionView, isPostPageView, isRulesView, isSubscriptionsView } from '../../lib/utils/view-utils';
@@ -198,11 +198,23 @@ const PostFormTable = ({ closeForm, postCid }: { closeForm: () => void; postCid:
alert(`Cannot post empty comment`); alert(`Cannot post empty comment`);
return; return;
} }
if (link && !isValidURL(link)) { if (currentUrl && !isValidURL(currentUrl)) {
alert('The provided link is not a valid URL.'); alert('The provided link is not a valid URL.');
return; return;
} }
if (!isInPostView) {
const linkMediaInfo = getLinkMediaInfo(currentUrl);
const hasThumbnail = getHasThumbnail(linkMediaInfo, currentUrl);
if (!hasThumbnail) {
const confirmMessage = t('missing_link_confirm');
if (!window.confirm(confirmMessage)) {
return;
}
}
}
publishComment(); publishComment();
}; };