mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
refactor(settings): remove Hide threads without images setting
5chan boards enforce requirePostLinkIsMedia/requirePostLink at subplebbit level; client-side filter redundant.
This commit is contained in:
@@ -143,7 +143,6 @@
|
||||
"filters": "مرشحات",
|
||||
"image_size": "حجم الصورة",
|
||||
"show_op_comment": "عرض تعليق الموضوع الأصلي",
|
||||
"hide_threads_without_images": "إخفاء المواضيع بدون صور",
|
||||
"on": "تشغيل",
|
||||
"off": "إيقاف",
|
||||
"small": "صغير",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "عنوان العملة الرقمية ينتمي إلى هذا الحساب.",
|
||||
"delete_wallet": "حذف المحفظة",
|
||||
"last_bumped": "آخر رفع",
|
||||
"threads_without_images_tip": "عرض فقط المواضيع التي ترتبط بالوسائط القابلة للتضمين",
|
||||
"fit_expanded_images_to_screen": "تغيير حجم الصور الموسعة لتناسب الشاشة",
|
||||
"fit_expanded_images_to_screen_tip": "حدد الصور الموسعة لكل من عرض وارتفاع المتصفح",
|
||||
"hide_avatars_tip": "لا تعرض الصور الرمزية بجانب أسماء المستخدمين",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "ফিল্টার",
|
||||
"image_size": "চিত্রের আকার",
|
||||
"show_op_comment": "মূল মন্তব্য দেখান",
|
||||
"hide_threads_without_images": "চিত্র ছাড়াই থ্রেড লুকাও",
|
||||
"on": "চালু",
|
||||
"off": "বন্ধ",
|
||||
"small": "ছোট",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "ক্রিপ্টো ঠিকানা এই অ্যাকাউন্টের অংশ।",
|
||||
"delete_wallet": "ওয়ালেট মুছুন",
|
||||
"last_bumped": "শেষ.bump",
|
||||
"threads_without_images_tip": "শুধুমাত্র এমন থ্রেডগুলি প্রদর্শন করুন যেগুলি এমবেডযোগ্য মিডিয়াতে লিঙ্ক করে",
|
||||
"fit_expanded_images_to_screen": "প্রসারিত ছবিগুলি স্ক্রীনে ফিট করুন",
|
||||
"fit_expanded_images_to_screen_tip": "প্রসারিত ছবিগুলি ব্রাউজারের প্রস্থ এবং উচ্চতায় সীমাবদ্ধ করুন",
|
||||
"hide_avatars_tip": "ব্যবহারকারীর প্রদর্শন নামের পাশে অ্যাভাটারগুলি দেখান না",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtry",
|
||||
"image_size": "velikost obrázku",
|
||||
"show_op_comment": "Zobrazit komentář autora vlákna",
|
||||
"hide_threads_without_images": "Skrýt vlákna bez obrázků",
|
||||
"on": "zapnuto",
|
||||
"off": "vypnuto",
|
||||
"small": "malé",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Adresa kryptoměny patří k tomuto účtu.",
|
||||
"delete_wallet": "Smazat peněženku",
|
||||
"last_bumped": "Poslední bump",
|
||||
"threads_without_images_tip": "Zobrazit pouze vlákna, která odkazují na vložitelné médium",
|
||||
"fit_expanded_images_to_screen": "Přizpůsobit rozšířené obrázky obrazovce",
|
||||
"fit_expanded_images_to_screen_tip": "Omezení rozšířených obrázků na šířku a výšku prohlížeče",
|
||||
"hide_avatars_tip": "Nezobrazovat avatary vedle jmen uživatelů",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtre",
|
||||
"image_size": "billedstørrelse",
|
||||
"show_op_comment": "Vis OP kommentar",
|
||||
"hide_threads_without_images": "Skjul tråde uden billeder",
|
||||
"on": "på",
|
||||
"off": "fra",
|
||||
"small": "lille",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Crypto-adresse tilhører denne konto.",
|
||||
"delete_wallet": "Slet tegnebog",
|
||||
"last_bumped": "Sidste bumpet",
|
||||
"threads_without_images_tip": "Vis kun tråde, der linker til indlejrbare medier",
|
||||
"fit_expanded_images_to_screen": "Tilpas udvidede billeder til skærmen",
|
||||
"fit_expanded_images_to_screen_tip": "Begræns udvidede billeder til både browserens bredde og højde",
|
||||
"hide_avatars_tip": "Vis ikke avatarer ved siden af brugernes visningsnavne",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "Filter",
|
||||
"image_size": "Bildgröße",
|
||||
"show_op_comment": "OP-Kommentar anzeigen",
|
||||
"hide_threads_without_images": "Threads ohne Bilder ausblenden",
|
||||
"on": "an",
|
||||
"off": "aus",
|
||||
"small": "klein",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Krypto-Adresse gehört zu diesem Konto.",
|
||||
"delete_wallet": "Wallet löschen",
|
||||
"last_bumped": "Zuletzt hochgeladen",
|
||||
"threads_without_images_tip": "Nur Threads anzeigen, die auf einbettbare Medien verlinken",
|
||||
"fit_expanded_images_to_screen": "Erweiterte Bilder an den Bildschirm anpassen",
|
||||
"fit_expanded_images_to_screen_tip": "Erweiterte Bilder auf die Breite und Höhe des Browsers beschränken",
|
||||
"hide_avatars_tip": "Keine Avatare neben den Benutzernamen anzeigen",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "φίλτρα",
|
||||
"image_size": "μέγεθος εικόνας",
|
||||
"show_op_comment": "Εμφάνιση σχολίου OP",
|
||||
"hide_threads_without_images": "Απόκρυψη νημάτων χωρίς εικόνες",
|
||||
"on": "ενεργό",
|
||||
"off": "απενεργοποιημένο",
|
||||
"small": "μικρό",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Η διεύθυνση κρυπτονομίσματος ανήκει σε αυτόν τον λογαριασμό.",
|
||||
"delete_wallet": "Διαγραφή πορτοφολιού",
|
||||
"last_bumped": "Τελευταία ανύψωση",
|
||||
"threads_without_images_tip": "Εμφάνιση μόνο θεμάτων που συνδέονται με ενσωματώσιμα μέσα",
|
||||
"fit_expanded_images_to_screen": "Προσαρμόστε τις επεκταμένες εικόνες στην οθόνη",
|
||||
"fit_expanded_images_to_screen_tip": "Περιορίστε τις επεκταμένες εικόνες τόσο στο πλάτος όσο και στο ύψος του προγράμματος περιήγησης",
|
||||
"hide_avatars_tip": "Μην εμφανίζετε τα avatar δίπλα στα ονόματα εμφάνισης χρηστών",
|
||||
|
||||
@@ -146,7 +146,6 @@
|
||||
"filters": "filters",
|
||||
"image_size": "image size",
|
||||
"show_op_comment": "Show OP Comment",
|
||||
"hide_threads_without_images": "Hide Threads Without Images",
|
||||
"on": "on",
|
||||
"off": "off",
|
||||
"small": "small",
|
||||
@@ -204,7 +203,6 @@
|
||||
"delete_wallet": "Delete Wallet",
|
||||
"delete_avatar": "Delete Avatar",
|
||||
"last_bumped": "Last Bumped",
|
||||
"threads_without_images_tip": "Only display threads that link to embeddable media",
|
||||
"fit_expanded_images_to_screen": "Fit expanded images to screen",
|
||||
"fit_expanded_images_to_screen_tip": "Limit expanded images to both browser width and height",
|
||||
"hide_avatars_tip": "Don't display avatars next to user display names",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtros",
|
||||
"image_size": "tamaño de la imagen",
|
||||
"show_op_comment": "Mostrar comentario del OP",
|
||||
"hide_threads_without_images": "Ocultar hilos sin imágenes",
|
||||
"on": "encendido",
|
||||
"off": "apagado",
|
||||
"small": "pequeño",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "La dirección de criptomoneda pertenece a esta cuenta.",
|
||||
"delete_wallet": "Eliminar billetera",
|
||||
"last_bumped": "Último bump",
|
||||
"threads_without_images_tip": "Solo mostrar hilos que enlacen a medios integrables",
|
||||
"fit_expanded_images_to_screen": "Ajustar imágenes ampliadas a la pantalla",
|
||||
"fit_expanded_images_to_screen_tip": "Limitar imágenes ampliadas tanto al ancho como a la altura del navegador",
|
||||
"hide_avatars_tip": "No mostrar avatares junto a los nombres de usuario",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "فیلترها",
|
||||
"image_size": "اندازه تصویر",
|
||||
"show_op_comment": "نمایش نظر OP",
|
||||
"hide_threads_without_images": "پنهان کردن موضوعات بدون تصاویر",
|
||||
"on": "روشن",
|
||||
"off": "خاموش",
|
||||
"small": "کوچک",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "آدرس رمزارز به این حساب تعلق دارد.",
|
||||
"delete_wallet": "حذف کیف پول",
|
||||
"last_bumped": "آخرین افزایش",
|
||||
"threads_without_images_tip": "فقط موضوعاتی که به رسانههای قابل گنجاندن لینک میدهند را نمایش دهید",
|
||||
"fit_expanded_images_to_screen": "اندازه تصاویر بزرگ شده را به صفحه نمایش بکنید",
|
||||
"fit_expanded_images_to_screen_tip": "اندازه تصاویر بزرگ شده را به عرض و ارتفاع مرورگر محدود کنید",
|
||||
"hide_avatars_tip": "تصاویر پروفایل را در کنار نامهای نمایش کاربر نمایش ندهید",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "suodattimet",
|
||||
"image_size": "kuvan koko",
|
||||
"show_op_comment": "Näytä OP:n kommentti",
|
||||
"hide_threads_without_images": "Piilota langat ilman kuvia",
|
||||
"on": "päällä",
|
||||
"off": "pois",
|
||||
"small": "pieni",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Krypto-osoite kuuluu tähän tiliin.",
|
||||
"delete_wallet": "Poista lompakko",
|
||||
"last_bumped": "Viimeisin bump",
|
||||
"threads_without_images_tip": "Näytä vain ketjut, jotka linkittävät upotettaviin medioihin",
|
||||
"fit_expanded_images_to_screen": "Sovita laajennettuja kuvia näyttöön",
|
||||
"fit_expanded_images_to_screen_tip": "Rajoita laajennettuja kuvia sekä selaimen leveyteen että korkeuteen",
|
||||
"hide_avatars_tip": "Älä näytä avatareita käyttäjänäyttönimien vieressä",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "mga filter",
|
||||
"image_size": "laki ng larawan",
|
||||
"show_op_comment": "Ipakita ang OP na Komento",
|
||||
"hide_threads_without_images": "Itago ang Mga Threads Nang Walang Mga Larawan",
|
||||
"on": "bukas",
|
||||
"off": "naka-off",
|
||||
"small": "maliit",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Ang crypto address ay nauugnay sa account na ito.",
|
||||
"delete_wallet": "Tanggalin ang Wallet",
|
||||
"last_bumped": "Huling bump",
|
||||
"threads_without_images_tip": "Ipakita lamang ang mga thread na nagli-link sa mga embeddable na media",
|
||||
"fit_expanded_images_to_screen": "I-adjust ang mga pinalawak na larawan sa screen",
|
||||
"fit_expanded_images_to_screen_tip": "Limitahan ang mga pinalawak na larawan sa parehong lapad at taas ng browser",
|
||||
"hide_avatars_tip": "Huwag ipakita ang mga avatar sa tabi ng mga display name ng gumagamit",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtres",
|
||||
"image_size": "taille de l'image",
|
||||
"show_op_comment": "Afficher le commentaire de l'OP",
|
||||
"hide_threads_without_images": "Masquer les fils sans images",
|
||||
"on": "activé",
|
||||
"off": "éteint",
|
||||
"small": "petit",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "L'adresse crypto appartient à ce compte.",
|
||||
"delete_wallet": "Supprimer le portefeuille",
|
||||
"last_bumped": "Dernière élévation",
|
||||
"threads_without_images_tip": "Afficher uniquement les fils qui lient à des médias intégrables",
|
||||
"fit_expanded_images_to_screen": "Ajuster les images agrandies à l'écran",
|
||||
"fit_expanded_images_to_screen_tip": "Limiter les images agrandies à la fois à la largeur et à la hauteur du navigateur",
|
||||
"hide_avatars_tip": "Ne pas afficher les avatars à côté des noms d'affichage des utilisateurs",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "מסננים",
|
||||
"image_size": "גודל התמונה",
|
||||
"show_op_comment": "הצג תגובת היוצר",
|
||||
"hide_threads_without_images": "הסתר תכניות ללא תמונות",
|
||||
"on": "פועל",
|
||||
"off": "כבוי",
|
||||
"small": "קטן",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "כתובת המטבע הקריפטוגרפי שייכת לחשבון זה.",
|
||||
"delete_wallet": "מחק ארנק",
|
||||
"last_bumped": "הבום האחרון",
|
||||
"threads_without_images_tip": "הצג רק נושאים שמקשרים למדיה שניתן להטמיע",
|
||||
"fit_expanded_images_to_screen": "התאם את התמונות המורחבות למסך",
|
||||
"fit_expanded_images_to_screen_tip": "מגביל את התמונות המורחבות גם לרוחב וגם לגובה של הדפדפן",
|
||||
"hide_avatars_tip": "אל תציג תמונות פרופיל לצד שמות המשתמשים",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "फिल्टर",
|
||||
"image_size": "चित्र का आकार",
|
||||
"show_op_comment": "मूल टिप्पणी दिखाएं",
|
||||
"hide_threads_without_images": "तस्वीरें नहीं वाले धागे छिपाएं",
|
||||
"on": "चालू",
|
||||
"off": "बंद",
|
||||
"small": "छोटा",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "क्रिप्टो पता इस खाते से संबंधित है।",
|
||||
"delete_wallet": "वॉलेट हटाएं",
|
||||
"last_bumped": "अंतिम बंप",
|
||||
"threads_without_images_tip": "केवल उन थ्रेड्स को दिखाएं जो एम्बेडेबल मीडिया से लिंक करते हैं",
|
||||
"fit_expanded_images_to_screen": "विस्तृत चित्रों को स्क्रीन के अनुसार ढालें",
|
||||
"fit_expanded_images_to_screen_tip": "विस्तृत चित्रों को ब्राउज़र की चौड़ाई और ऊंचाई दोनों तक सीमित करें",
|
||||
"hide_avatars_tip": "उपयोगकर्ता प्रदर्शित नामों के बगल में अवतार न दिखाएं",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "szűrők",
|
||||
"image_size": "képméret",
|
||||
"show_op_comment": "Mutassuk meg az OP hozzászólását",
|
||||
"hide_threads_without_images": "Szálak elrejtése képek nélkül",
|
||||
"on": "be",
|
||||
"off": "ki",
|
||||
"small": "kicsi",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "A kripto-cím ehhez a fiókhoz tartozik.",
|
||||
"delete_wallet": "Tárca törlése",
|
||||
"last_bumped": "Utolsó bump",
|
||||
"threads_without_images_tip": "Csak azokat a szálakat jelenítse meg, amelyek beágyazható médiára mutatnak",
|
||||
"fit_expanded_images_to_screen": "Illeszkedjen a kibővített képekhez a képernyőhöz",
|
||||
"fit_expanded_images_to_screen_tip": "A kibővített képeket korlátozza a böngésző szélességére és magasságára",
|
||||
"hide_avatars_tip": "Ne jelenjen meg az avatárok a felhasználói megjelenítési nevek mellett",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filter",
|
||||
"image_size": "ukuran gambar",
|
||||
"show_op_comment": "Tampilkan Komentar OP",
|
||||
"hide_threads_without_images": "Sembunyikan Thread Tanpa Gambar",
|
||||
"on": "nyala",
|
||||
"off": "mati",
|
||||
"small": "kecil",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Alamat kripto milik akun ini.",
|
||||
"delete_wallet": "Hapus Dompet",
|
||||
"last_bumped": "Terakhir bump",
|
||||
"threads_without_images_tip": "Hanya tampilkan thread yang menautkan ke media yang dapat disematkan",
|
||||
"fit_expanded_images_to_screen": "Sesuaikan gambar yang diperluas ke layar",
|
||||
"fit_expanded_images_to_screen_tip": "Batasi gambar yang diperluas baik pada lebar maupun tinggi browser",
|
||||
"hide_avatars_tip": "Jangan tampilkan avatar di sebelah nama pengguna",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtri",
|
||||
"image_size": "dimensione immagini",
|
||||
"show_op_comment": "mostra commento OP",
|
||||
"hide_threads_without_images": "Nascondi thread senza immagini",
|
||||
"on": "on",
|
||||
"off": "off",
|
||||
"small": "piccolo",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "L'indirizzo cripto appartiene a questo account.",
|
||||
"delete_wallet": "Elimina Wallet",
|
||||
"last_bumped": "Ultimo Bump",
|
||||
"threads_without_images_tip": "Mostra solo i thread che linkano a media incorporabili",
|
||||
"fit_expanded_images_to_screen": "Adatta le immagini espanse allo schermo",
|
||||
"fit_expanded_images_to_screen_tip": "Limita le immagini espanse sia alla larghezza che all'altezza del browser",
|
||||
"hide_avatars_tip": "Non mostrare gli avatar accanto ai nomi visualizzati degli utenti",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "フィルター",
|
||||
"image_size": "画像サイズ",
|
||||
"show_op_comment": "OPコメントを表示",
|
||||
"hide_threads_without_images": "画像のないスレッドを非表示にする",
|
||||
"on": "オン",
|
||||
"off": "オフ",
|
||||
"small": "小",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "暗号通貨アドレスはこのアカウントに属しています。",
|
||||
"delete_wallet": "ウォレットを削除",
|
||||
"last_bumped": "最後のバンプ",
|
||||
"threads_without_images_tip": "埋め込むことができるメディアへのリンクを持つスレッドのみを表示",
|
||||
"fit_expanded_images_to_screen": "拡張された画像を画面に合わせる",
|
||||
"fit_expanded_images_to_screen_tip": "拡張された画像をブラウザの幅と高さの両方に制限します",
|
||||
"hide_avatars_tip": "ユーザーの表示名の横にアバターを表示しない",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "필터",
|
||||
"image_size": "이미지 크기",
|
||||
"show_op_comment": "작성자 댓글 보기",
|
||||
"hide_threads_without_images": "이미지 없는 스레드 숨기기",
|
||||
"on": "켜짐",
|
||||
"off": "끔",
|
||||
"small": "작은",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "암호 주소는이 계정에 속합니다.",
|
||||
"delete_wallet": "지갑 삭제",
|
||||
"last_bumped": "마지막 bump",
|
||||
"threads_without_images_tip": "임베드 가능한 미디어로 링크된 스레드만 표시",
|
||||
"fit_expanded_images_to_screen": "확장된 이미지를 화면에 맞추기",
|
||||
"fit_expanded_images_to_screen_tip": "확장된 이미지를 브라우저의 너비와 높이로 제한합니다",
|
||||
"hide_avatars_tip": "사용자 표시 이름 옆에 아바타를 표시하지 않음",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "फिल्टर",
|
||||
"image_size": "चित्राचा आकार",
|
||||
"show_op_comment": "OP टिप्पणी दाखवा",
|
||||
"hide_threads_without_images": "चित्रे बिनांतर स्थिर करा",
|
||||
"on": "चालू",
|
||||
"off": "बंद",
|
||||
"small": "लहान",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "क्रिप्टो पत्ता हा खात्याकडे संबंधित आहे.",
|
||||
"delete_wallet": "वॉलेट हटवा",
|
||||
"last_bumped": "अंतिम बंप",
|
||||
"threads_without_images_tip": "फक्त ते थ्रेड्स दाखवा जे एम्बेडेबल मीडियाशी लिंक करतात",
|
||||
"fit_expanded_images_to_screen": "विस्तृत प्रतिमा स्क्रीनवर फिट करा",
|
||||
"fit_expanded_images_to_screen_tip": "विस्तृत प्रतिमांना ब्राउझरच्या रुंदी आणि उंचीवर मर्यादित करा",
|
||||
"hide_avatars_tip": "युजर डिस्प्ले नावेच्या बरोबर अवतार दर्शवू नका",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filters",
|
||||
"image_size": "afbeeldingsgrootte",
|
||||
"show_op_comment": "Toon OP opmerking",
|
||||
"hide_threads_without_images": "Verberg Threads Zonder Afbeeldingen",
|
||||
"on": "aan",
|
||||
"off": "uit",
|
||||
"small": "klein",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Crypto-adres behoort tot deze account.",
|
||||
"delete_wallet": "Verwijder portemonnee",
|
||||
"last_bumped": "Laatste bump",
|
||||
"threads_without_images_tip": "Toon alleen threads die naar inbedbare media linken",
|
||||
"fit_expanded_images_to_screen": "Pas uitgebreide afbeeldingen aan het scherm aan",
|
||||
"fit_expanded_images_to_screen_tip": "Beperk uitgebreide afbeeldingen tot zowel de breedte als de hoogte van de browser",
|
||||
"hide_avatars_tip": "Toon geen avatar naast de weergavenamen van gebruikers",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtre",
|
||||
"image_size": "bilde størrelse",
|
||||
"show_op_comment": "Vis OP-kommentar",
|
||||
"hide_threads_without_images": "Skjul tråder uten bilder",
|
||||
"on": "på",
|
||||
"off": "av",
|
||||
"small": "liten",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Crypto-adressen tilhører denne kontoen.",
|
||||
"delete_wallet": "Slett lommebok",
|
||||
"last_bumped": "Siste bumpet",
|
||||
"threads_without_images_tip": "Vis kun tråder som lenker til innebyggbare medier",
|
||||
"fit_expanded_images_to_screen": "Tilpass utvidede bilder til skjermen",
|
||||
"fit_expanded_images_to_screen_tip": "Begrens utvidede bilder til både nettleserens bredde og høyde",
|
||||
"hide_avatars_tip": "Vis ikke avatarer ved siden av brukernes visningsnavn",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtry",
|
||||
"image_size": "rozmiar obrazu",
|
||||
"show_op_comment": "Pokaż komentarz OP",
|
||||
"hide_threads_without_images": "Ukryj wątki bez obrazów",
|
||||
"on": "włączone",
|
||||
"off": "wyłączone",
|
||||
"small": "mały",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Adres kryptowaluty należy do tego konta.",
|
||||
"delete_wallet": "Usuń portfel",
|
||||
"last_bumped": "Ostatni bump",
|
||||
"threads_without_images_tip": "Wyświetlaj tylko wątki, które linkują do mediów, które można osadzić",
|
||||
"fit_expanded_images_to_screen": "Dopasuj rozszerzone obrazy do ekranu",
|
||||
"fit_expanded_images_to_screen_tip": "Ogranicz rozszerzone obrazy do szerokości i wysokości przeglądarki",
|
||||
"hide_avatars_tip": "Nie wyświetlaj avatarów obok nazw wyświetlających użytkowników",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtros",
|
||||
"image_size": "tamanho da imagem",
|
||||
"show_op_comment": "Mostrar comentário do OP",
|
||||
"hide_threads_without_images": "Esconder tópicos sem imagens",
|
||||
"on": "ligado",
|
||||
"off": "desligado",
|
||||
"small": "pequeno",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "O endereço de criptomoeda pertence a esta conta.",
|
||||
"delete_wallet": "Excluir carteira",
|
||||
"last_bumped": "Último bump",
|
||||
"threads_without_images_tip": "Exibir apenas threads que linkam para mídias embutíveis",
|
||||
"fit_expanded_images_to_screen": "Ajustar imagens expandidas à tela",
|
||||
"fit_expanded_images_to_screen_tip": "Limite imagens expandidas tanto à largura quanto à altura do navegador",
|
||||
"hide_avatars_tip": "Não exiba avatares ao lado dos nomes de exibição dos usuários",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtre",
|
||||
"image_size": "dimensiunea imaginii",
|
||||
"show_op_comment": "Afișează comentariul OP",
|
||||
"hide_threads_without_images": "Ascunde firele fără imagini",
|
||||
"on": "pornit",
|
||||
"off": "oprit",
|
||||
"small": "mic",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Adresa crypto aparține acestui cont.",
|
||||
"delete_wallet": "Șterge portofelul",
|
||||
"last_bumped": "Ultima creștere",
|
||||
"threads_without_images_tip": "Afișați doar discuțiile care sunt legătura către media încorporabilă",
|
||||
"fit_expanded_images_to_screen": "Se potrivesc imaginile extinse pe ecran",
|
||||
"fit_expanded_images_to_screen_tip": "Limitați imaginile extinse atât la lățimea cât și la înălțimea browserului",
|
||||
"hide_avatars_tip": "Nu afișa avatare lângă numele de afișare ale utilizatorilor",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "фильтры",
|
||||
"image_size": "размер изображения",
|
||||
"show_op_comment": "Показать комментарий автора",
|
||||
"hide_threads_without_images": "Скрыть темы без изображений",
|
||||
"on": "включено",
|
||||
"off": "выкл",
|
||||
"small": "маленький",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Адрес криптовалюты принадлежит этому аккаунту.",
|
||||
"delete_wallet": "Удалить кошелек",
|
||||
"last_bumped": "Последний бамп",
|
||||
"threads_without_images_tip": "Отображать только темы, которые ссылаются на встраиваемые медиа",
|
||||
"fit_expanded_images_to_screen": "Подогнать расширенные изображения под экран",
|
||||
"fit_expanded_images_to_screen_tip": "Ограничить расширенные изображения как по ширине, так и по высоте браузера",
|
||||
"hide_avatars_tip": "Не показывать аватары рядом с именами пользователей",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtrot",
|
||||
"image_size": "madhësia e imazhit",
|
||||
"show_op_comment": "Shfaq komentin e OP-së",
|
||||
"hide_threads_without_images": "Fshih temat pa imazhe",
|
||||
"on": "në",
|
||||
"off": "jashtë",
|
||||
"small": "i vogël",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Adresa e kriptovalutës i përket këtij llogarie.",
|
||||
"delete_wallet": "Fshi portofolin",
|
||||
"last_bumped": "Bumping i fundit",
|
||||
"threads_without_images_tip": "Shfaqni vetëm temat që lidhin me media të integrueshme",
|
||||
"fit_expanded_images_to_screen": "Përshtatni imazhet e zgjeruara në ekran",
|
||||
"fit_expanded_images_to_screen_tip": "Kufizoni imazhet e zgjeruara si në gjerësi ashtu edhe në lartësi të shfletuesit",
|
||||
"hide_avatars_tip": "Mos e tregoni avatarët pranë emrave të shfaqjes së përdoruesve",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filter",
|
||||
"image_size": "bildstorlek",
|
||||
"show_op_comment": "Visa OP-kommentar",
|
||||
"hide_threads_without_images": "Dölj trådar utan bilder",
|
||||
"on": "på",
|
||||
"off": "av",
|
||||
"small": "liten",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Crypto-adressen tillhör denna konto.",
|
||||
"delete_wallet": "Ta bort plånbok",
|
||||
"last_bumped": "Senaste bump",
|
||||
"threads_without_images_tip": "Visa endast trådar som länkar till inbäddbara medier",
|
||||
"fit_expanded_images_to_screen": "Anpassa utvidgade bilder till skärmen",
|
||||
"fit_expanded_images_to_screen_tip": "Begränsa utvidgade bilder till både webbläsarens bredd och höjd",
|
||||
"hide_avatars_tip": "Visa inte avatarer bredvid användarnas visningsnamn",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "ఫిల్టర్లు",
|
||||
"image_size": "చిత్రం పరిమాణం",
|
||||
"show_op_comment": "ప్రస్తుత పోస్ట్ అనుమతించుకోవడానికి టిప్పణిని చూపించు",
|
||||
"hide_threads_without_images": "చిత్రాలు లేని థ్రెడ్స్ దాచు",
|
||||
"on": "చెయ్యబడింది",
|
||||
"off": "ఆఫ్",
|
||||
"small": "చిన్న",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "క్రిప్టో చిరునామా ఈ ఖాతాకు చేరుకుంది.",
|
||||
"delete_wallet": "వాలెట్ తొలగించండి",
|
||||
"last_bumped": "చివరి బంప్",
|
||||
"threads_without_images_tip": "ఏంబెడబుల్ మీడియాకు లింక్ చేసే థ్రెడ్లను మాత్రమే చూపించండి",
|
||||
"fit_expanded_images_to_screen": "విస్తృత చిత్రాలను స్క్రీన్కు సరిపోల్చండి",
|
||||
"fit_expanded_images_to_screen_tip": "విస్తృత చిత్రాలను బ్రౌజర్ వెడల్పు మరియు ఎత్తు రెండింటికీ పరిమితం చేయండి",
|
||||
"hide_avatars_tip": "వాడుకరి ప్రదర్శన పేర్ల పక్కన అవతార్లు ప్రదర్శించవద్దు",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "ตัวกรอง",
|
||||
"image_size": "ขนาดภาพ",
|
||||
"show_op_comment": "แสดงความคิดเห็นของ OP",
|
||||
"hide_threads_without_images": "ซ่อนกระทู้ที่ไม่มีภาพ",
|
||||
"on": "เปิด",
|
||||
"off": "ปิด",
|
||||
"small": "เล็ก",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "ที่อยู่คริปโตเป็นของบัญชีนี้",
|
||||
"delete_wallet": "ลบกระเป๋าเงิน",
|
||||
"last_bumped": "เพิ่มล่าสุด",
|
||||
"threads_without_images_tip": "แสดงเฉพาะกระทู้ที่เชื่อมโยงไปยังสื่อที่สามารถฝังได้",
|
||||
"fit_expanded_images_to_screen": "ปรับขนาดภาพที่ขยายให้พอดีกับหน้าจอ",
|
||||
"fit_expanded_images_to_screen_tip": "จำกัดภาพที่ขยายให้พอดีกับทั้งความกว้างและความสูงของเบราว์เซอร์",
|
||||
"hide_avatars_tip": "ไม่แสดงอวาตาร์ข้างชื่อผู้ใช้",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "filtreler",
|
||||
"image_size": "resim boyutu",
|
||||
"show_op_comment": "OP Yorumunu Göster",
|
||||
"hide_threads_without_images": "Resimsiz Konuları Gizle",
|
||||
"on": "açık",
|
||||
"off": "kapalı",
|
||||
"small": "küçük",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Kripto adres bu hesaba aittir.",
|
||||
"delete_wallet": "Cüzdanı Sil",
|
||||
"last_bumped": "Son bump",
|
||||
"threads_without_images_tip": "Sadece gömme medya bağlantısı olan gönderileri görüntüle",
|
||||
"fit_expanded_images_to_screen": "Genişletilmiş resimleri ekrana sığdır",
|
||||
"fit_expanded_images_to_screen_tip": "Genişletilmiş resimleri hem tarayıcı genişliğine hem de yüksekliğine sınırlayın",
|
||||
"hide_avatars_tip": "Kullanıcı görünüm adlarının yanında avatarları gösterme",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "фільтри",
|
||||
"image_size": "розмір зображення",
|
||||
"show_op_comment": "Показати коментар OP",
|
||||
"hide_threads_without_images": "Приховати теми без зображень",
|
||||
"on": "увімкнено",
|
||||
"off": "вимкнено",
|
||||
"small": "малий",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Адреса криптовалюти належить цьому обліковому запису.",
|
||||
"delete_wallet": "Видалити гаманець",
|
||||
"last_bumped": "Останній бамп",
|
||||
"threads_without_images_tip": "Показувати тільки ті теми, які містять посилання на медіа, що можна вбудувати",
|
||||
"fit_expanded_images_to_screen": "Підлаштувати розширені зображення під екран",
|
||||
"fit_expanded_images_to_screen_tip": "Обмежити розширені зображення як за шириною, так і за висотою браузера",
|
||||
"hide_avatars_tip": "Не показувати аватари поряд із іменами користувачів",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "فلٹر",
|
||||
"image_size": "تصویر کا سائز",
|
||||
"show_op_comment": "OP تبصرہ دکھائیں",
|
||||
"hide_threads_without_images": "تصاویر کے بغیر دھاگے چھپائیں",
|
||||
"on": "چالو",
|
||||
"off": "بند",
|
||||
"small": "چھوٹا",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "کرپٹو پتا اس اکاؤنٹ کا حصہ ہے۔",
|
||||
"delete_wallet": "والٹ حذف کریں",
|
||||
"last_bumped": "آخری بمپر",
|
||||
"threads_without_images_tip": "صرف وہ تھریڈز دکھائیں جو ایمبیڈ ایبل میڈیا کے ساتھ لنک کرتے ہیں",
|
||||
"fit_expanded_images_to_screen": "پھیلائی ہوئی تصاویر کو اسکرین پر فٹ کریں",
|
||||
"fit_expanded_images_to_screen_tip": "پھیلائی ہوئی تصاویر کو براؤزر کی چوڑائی اور اونچائی دونوں تک محدود کریں",
|
||||
"hide_avatars_tip": "صارف کے ڈسپلے ناموں کے ساتھ اوتار نہ دکھائیں",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "bộ lọc",
|
||||
"image_size": "kích thước ảnh",
|
||||
"show_op_comment": "Hiển thị Bình luận của OP",
|
||||
"hide_threads_without_images": "Ẩn các chủ đề không có hình ảnh",
|
||||
"on": "bật",
|
||||
"off": "tắt",
|
||||
"small": "nhỏ",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "Địa chỉ tiền điện tử thuộc về tài khoản này.",
|
||||
"delete_wallet": "Xóa ví",
|
||||
"last_bumped": "Bump gần đây nhất",
|
||||
"threads_without_images_tip": "Chỉ hiển thị các chủ đề liên kết đến phương tiện có thể nhúng",
|
||||
"fit_expanded_images_to_screen": "Phù hợp hình ảnh mở rộng với màn hình",
|
||||
"fit_expanded_images_to_screen_tip": "Hạn chế hình ảnh mở rộng cả chiều rộng và chiều cao của trình duyệt",
|
||||
"hide_avatars_tip": "Không hiển thị hình đại diện bên cạnh tên hiển thị của người dùng",
|
||||
|
||||
@@ -143,7 +143,6 @@
|
||||
"filters": "过滤器",
|
||||
"image_size": "图像尺寸",
|
||||
"show_op_comment": "显示楼主评论",
|
||||
"hide_threads_without_images": "隐藏没有图片的主题",
|
||||
"on": "开启",
|
||||
"off": "关闭",
|
||||
"small": "小",
|
||||
@@ -197,7 +196,6 @@
|
||||
"crypto_address_yours": "加密地址属于此帐户。",
|
||||
"delete_wallet": "删除钱包",
|
||||
"last_bumped": "最后提升",
|
||||
"threads_without_images_tip": "仅显示链接到可嵌入媒体的帖子",
|
||||
"fit_expanded_images_to_screen": "适应扩展图像到屏幕",
|
||||
"fit_expanded_images_to_screen_tip": "将扩展图像限制为浏览器的宽度和高度",
|
||||
"hide_avatars_tip": "不显示用户显示名称旁边的头像",
|
||||
|
||||
@@ -5,8 +5,6 @@ import useTheme from '../../../hooks/use-theme';
|
||||
import packageJson from '../../../../package.json';
|
||||
import styles from './interface-settings.module.css';
|
||||
import capitalize from 'lodash/capitalize';
|
||||
import useInterfaceSettingsStore from '../../../stores/use-interface-settings-store';
|
||||
import useCatalogFiltersStore from '../../../stores/use-catalog-filters-store';
|
||||
import useExpandedMediaStore from '../../../stores/use-expanded-media-store';
|
||||
import useSpecialThemeStore from '../../../stores/use-special-theme-store';
|
||||
import { isChristmas } from '../../../lib/utils/time-utils';
|
||||
@@ -127,8 +125,6 @@ const InterfaceLanguage = () => {
|
||||
const InterfaceSettings = () => {
|
||||
const { t } = useTranslation();
|
||||
const { hideAvatars, setHideAvatars } = useAvatarVisibilityStore();
|
||||
const { hideThreadsWithoutImages, setHideThreadsWithoutImages } = useInterfaceSettingsStore();
|
||||
const { setShowTextOnlyThreads } = useCatalogFiltersStore();
|
||||
const { fitExpandedImagesToScreen, setFitExpandedImagesToScreen } = useExpandedMediaStore();
|
||||
|
||||
const handleHideAvatarsChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
@@ -149,20 +145,6 @@ const InterfaceSettings = () => {
|
||||
<div className={styles.setting}>
|
||||
{capitalize(t('interface_language'))}: <InterfaceLanguage />
|
||||
</div>
|
||||
<div className={styles.setting}>
|
||||
<label>
|
||||
<input
|
||||
type='checkbox'
|
||||
checked={hideThreadsWithoutImages}
|
||||
onChange={(e) => {
|
||||
setHideThreadsWithoutImages(e.target.checked);
|
||||
setShowTextOnlyThreads(!e.target.checked);
|
||||
}}
|
||||
/>
|
||||
{capitalize(t('hide_threads_without_images'))}
|
||||
</label>
|
||||
<div className={styles.settingTip}>{capitalize(t('threads_without_images_tip'))}</div>
|
||||
</div>
|
||||
<div className={styles.setting}>
|
||||
<label>
|
||||
<input type='checkbox' checked={fitExpandedImagesToScreen} onChange={(e) => setFitExpandedImagesToScreen(e.target.checked)} />
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
import { useMemo } from 'react';
|
||||
import { useAccountComments, Subplebbit } from '@plebbit/plebbit-react-hooks';
|
||||
import useInterfaceSettingsStore from '../stores/use-interface-settings-store';
|
||||
import { getCommentMediaInfo, getHasThumbnail } from '../lib/utils/media-utils';
|
||||
|
||||
const useCatalogFeedRows = (columnCount: number, feed: any, isFeedLoaded: boolean, subplebbit: Subplebbit) => {
|
||||
const { address } = subplebbit || {};
|
||||
const { hideThreadsWithoutImages } = useInterfaceSettingsStore();
|
||||
|
||||
const { accountComments } = useAccountComments();
|
||||
|
||||
@@ -18,16 +14,13 @@ const useCatalogFeedRows = (columnCount: number, feed: any, isFeedLoaded: boolea
|
||||
|
||||
// show account comments instantly in the feed once published (cid defined), instead of waiting for the feed to update
|
||||
const filteredComments = accountComments.filter((comment) => {
|
||||
const { cid, deleted, link, postCid, removed, state, subplebbitAddress, timestamp, thumbnailUrl, linkWidth, linkHeight } = comment || {};
|
||||
const commentMediaInfo = getCommentMediaInfo(link, thumbnailUrl, linkWidth, linkHeight);
|
||||
const isMediaShowed = getHasThumbnail(commentMediaInfo, link);
|
||||
const { cid, deleted, postCid, removed, state, subplebbitAddress, timestamp } = comment || {};
|
||||
|
||||
return (
|
||||
!deleted &&
|
||||
!removed &&
|
||||
timestamp > Date.now() - 60 * 60 * 1000 &&
|
||||
state === 'succeeded' &&
|
||||
(!hideThreadsWithoutImages || (hideThreadsWithoutImages && isMediaShowed)) &&
|
||||
cid &&
|
||||
cid === postCid &&
|
||||
subplebbitAddress === address &&
|
||||
@@ -49,7 +42,7 @@ const useCatalogFeedRows = (columnCount: number, feed: any, isFeedLoaded: boolea
|
||||
}
|
||||
|
||||
return _feed;
|
||||
}, [accountComments, feed, address, isFeedLoaded, hideThreadsWithoutImages]);
|
||||
}, [accountComments, feed, address, isFeedLoaded]);
|
||||
|
||||
const rows = useMemo(() => {
|
||||
const rows = [];
|
||||
|
||||
@@ -16,8 +16,6 @@ interface FilterItem {
|
||||
}
|
||||
|
||||
interface CatalogFiltersStore {
|
||||
showTextOnlyThreads: boolean;
|
||||
setShowTextOnlyThreads: (value: boolean) => void;
|
||||
filterText: string;
|
||||
setFilterText: (value: string) => void;
|
||||
filterItems: FilterItem[];
|
||||
@@ -45,11 +43,6 @@ interface CatalogFiltersStore {
|
||||
const useCatalogFiltersStore = create(
|
||||
persist<CatalogFiltersStore>(
|
||||
(set, get) => ({
|
||||
showTextOnlyThreads: false,
|
||||
setShowTextOnlyThreads: (value: boolean) => {
|
||||
set({ showTextOnlyThreads: value });
|
||||
get().updateFilter();
|
||||
},
|
||||
filterText: '',
|
||||
setFilterText: (value: string) => set({ filterText: value }),
|
||||
filterItems: [],
|
||||
@@ -358,7 +351,6 @@ const useCatalogFiltersStore = create(
|
||||
name: 'catalog-filters-storage',
|
||||
partialize: (state) => {
|
||||
return {
|
||||
showTextOnlyThreads: state.showTextOnlyThreads,
|
||||
filterItems: state.filterItems.map((item) => ({
|
||||
text: item.text,
|
||||
enabled: item.enabled,
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
import { create } from 'zustand';
|
||||
import { persist } from 'zustand/middleware';
|
||||
|
||||
interface InterfaceSettingsStore {
|
||||
hideThreadsWithoutImages: boolean;
|
||||
setHideThreadsWithoutImages: (value: boolean) => void;
|
||||
}
|
||||
|
||||
const useInterfaceSettingsStore = create(
|
||||
persist<InterfaceSettingsStore>(
|
||||
(set) => ({
|
||||
hideThreadsWithoutImages: true,
|
||||
setHideThreadsWithoutImages: (value: boolean) => set({ hideThreadsWithoutImages: value }),
|
||||
}),
|
||||
{
|
||||
name: 'interface-settings-storage',
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
export default useInterfaceSettingsStore;
|
||||
@@ -6,13 +6,11 @@ import { Virtuoso, VirtuosoHandle, StateSnapshot } from 'react-virtuoso';
|
||||
import { Trans, useTranslation } from 'react-i18next';
|
||||
import styles from './board.module.css';
|
||||
import { shouldShowSnow } from '../../lib/snow';
|
||||
import { getCommentMediaInfo, getHasThumbnail } from '../../lib/utils/media-utils';
|
||||
import { useDirectoryAddresses, useDirectories } from '../../hooks/use-directories';
|
||||
import { useFilteredDirectoryAddresses } from '../../hooks/use-filtered-directory-addresses';
|
||||
import { useResolvedSubplebbitAddress, useBoardPath } from '../../hooks/use-resolved-subplebbit-address';
|
||||
import { useFeedStateString } from '../../hooks/use-state-string';
|
||||
import useTimeFilter, { timeFilterNameToSeconds } from '../../hooks/use-time-filter';
|
||||
import useInterfaceSettingsStore from '../../stores/use-interface-settings-store';
|
||||
import useFeedResetStore from '../../stores/use-feed-reset-store';
|
||||
import useSortingStore from '../../stores/use-sorting-store';
|
||||
import { getSubplebbitAddress, isDirectoryBoard } from '../../lib/utils/route-utils';
|
||||
@@ -150,17 +148,6 @@ const BoardFooter = ({
|
||||
);
|
||||
};
|
||||
|
||||
const createThreadsWithoutImagesFilter = () => ({
|
||||
filter: (comment: Comment) => {
|
||||
const { link, linkHeight, linkWidth, thumbnailUrl } = comment || {};
|
||||
if (!getHasThumbnail(getCommentMediaInfo(link, thumbnailUrl, linkWidth, linkHeight), link)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
key: 'threads-with-images-only',
|
||||
});
|
||||
|
||||
export interface BoardProps {
|
||||
feedCacheKey?: string;
|
||||
viewType?: 'all' | 'subs' | 'mod' | 'board';
|
||||
@@ -173,8 +160,6 @@ const Board = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp, t
|
||||
const { t } = useTranslation();
|
||||
const location = useLocation();
|
||||
const params = useParams();
|
||||
const { hideThreadsWithoutImages } = useInterfaceSettingsStore();
|
||||
|
||||
const isInAllView = viewType ? viewType === 'all' : false;
|
||||
const isInSubscriptionsView = viewType ? viewType === 'subs' : false;
|
||||
const isInModView = viewType ? viewType === 'mod' : false;
|
||||
@@ -221,7 +206,6 @@ const Board = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp, t
|
||||
sortType,
|
||||
postsPerPage: isInAllView || isInSubscriptionsView || isInModView ? 5 : 25,
|
||||
...(isInAllView || isInSubscriptionsView || isInModView ? { newerThan: timeFilterSeconds } : {}),
|
||||
filter: hideThreadsWithoutImages ? createThreadsWithoutImagesFilter() : undefined,
|
||||
};
|
||||
|
||||
const { feed, hasMore, loadMore, reset, subplebbitAddressesWithNewerPosts } = useFeed(feedOptions);
|
||||
@@ -247,13 +231,12 @@ const Board = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp, t
|
||||
timestamp > Date.now() / 1000 - 60 * 60 &&
|
||||
state === 'succeeded' &&
|
||||
cid &&
|
||||
(hideThreadsWithoutImages ? getHasThumbnail(getCommentMediaInfo(link, thumbnailUrl, linkWidth, linkHeight), comment?.link) : true) &&
|
||||
cid === postCid &&
|
||||
comment?.subplebbitAddress === subplebbitAddress &&
|
||||
!feed.some((post) => post.cid === cid)
|
||||
);
|
||||
}),
|
||||
[accountComments, subplebbitAddress, feed, hideThreadsWithoutImages],
|
||||
[accountComments, subplebbitAddress, feed],
|
||||
);
|
||||
|
||||
// show newest account comment at the top of the feed but after pinned posts
|
||||
@@ -293,19 +276,16 @@ const Board = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp, t
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
newerThan: 60 * 60 * 24 * 7,
|
||||
filter: hideThreadsWithoutImages ? createThreadsWithoutImagesFilter() : undefined,
|
||||
});
|
||||
const { feed: monthlyFeed } = useFeed({
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
newerThan: 60 * 60 * 24 * 30,
|
||||
filter: hideThreadsWithoutImages ? createThreadsWithoutImagesFilter() : undefined,
|
||||
});
|
||||
const { feed: yearlyFeed } = useFeed({
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
newerThan: 60 * 60 * 24 * 365,
|
||||
filter: hideThreadsWithoutImages ? createThreadsWithoutImagesFilter() : undefined,
|
||||
});
|
||||
|
||||
const feedLength = feed.length;
|
||||
|
||||
@@ -3,7 +3,6 @@ import { Link, useLocation, useNavigationType, useParams } from 'react-router-do
|
||||
import { Trans, useTranslation } from 'react-i18next';
|
||||
import { Comment, useAccount, useFeed, useSubplebbit, useAccountComments } from '@plebbit/plebbit-react-hooks';
|
||||
import { Virtuoso, VirtuosoHandle, StateSnapshot } from 'react-virtuoso';
|
||||
import { getCommentMediaInfo, getHasThumbnail } from '../../lib/utils/media-utils';
|
||||
import useCatalogFeedRows from '../../hooks/use-catalog-feed-rows';
|
||||
import { useDirectories } from '../../hooks/use-directories';
|
||||
import { useFilteredDirectoryAddresses } from '../../hooks/use-filtered-directory-addresses';
|
||||
@@ -238,28 +237,12 @@ const createContentFilter = (
|
||||
};
|
||||
};
|
||||
|
||||
const createImageFilter = (showTextOnlyThreads: boolean) => {
|
||||
return {
|
||||
filter: (comment: Comment) => {
|
||||
if (showTextOnlyThreads) return true;
|
||||
|
||||
const { link, linkHeight, linkWidth, thumbnailUrl } = comment || {};
|
||||
const hasThumbnail = getHasThumbnail(getCommentMediaInfo(link, thumbnailUrl, linkWidth, linkHeight), link);
|
||||
|
||||
return hasThumbnail;
|
||||
},
|
||||
key: showTextOnlyThreads ? 'no-image-filter' : 'threads-with-images-only',
|
||||
};
|
||||
};
|
||||
|
||||
const createCombinedFilter = (
|
||||
showTextOnlyThreads: boolean,
|
||||
filterItems: { text: string; enabled: boolean; count: number; filteredCids: Set<string>; hide: boolean; top: boolean; color?: string }[],
|
||||
searchText: string,
|
||||
subplebbitAddress: string,
|
||||
onFilterMatch?: (filterIndex: number, cid: string, subplebbitAddress: string) => void,
|
||||
) => {
|
||||
const imageFilter = createImageFilter(showTextOnlyThreads);
|
||||
const contentFilter = createContentFilter(filterItems, subplebbitAddress, onFilterMatch);
|
||||
|
||||
const searchFilter = {
|
||||
@@ -272,13 +255,12 @@ const createCombinedFilter = (
|
||||
|
||||
return {
|
||||
filter: (comment: Comment) => {
|
||||
if (!imageFilter.filter(comment)) return false;
|
||||
if (!contentFilter.filter(comment)) return false;
|
||||
if (!searchFilter.filter(comment)) return false;
|
||||
|
||||
return true;
|
||||
},
|
||||
key: `${imageFilter.key}-${contentFilter.key}-${searchFilter.key}`,
|
||||
key: `${contentFilter.key}-${searchFilter.key}`,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -308,7 +290,7 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
}, [boardIdentifierProp, directories, resolvedAddressFromUrl]);
|
||||
|
||||
const boardPath = useBoardPath(subplebbitAddress);
|
||||
const { showTextOnlyThreads, filterItems, searchText, clearMatchedFilters } = useCatalogFiltersStore();
|
||||
const { filterItems, searchText, clearMatchedFilters } = useCatalogFiltersStore();
|
||||
|
||||
const account = useAccount();
|
||||
const subscriptions = account?.subscriptions;
|
||||
@@ -354,7 +336,7 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
postsPerPage: isInAllView || isInSubscriptionsView ? 10 : postsPerPage,
|
||||
filter: createCombinedFilter(showTextOnlyThreads, filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
filter: createCombinedFilter(filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
};
|
||||
|
||||
if (isInAllView || isInSubscriptionsView) {
|
||||
@@ -362,19 +344,7 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
}
|
||||
|
||||
return options;
|
||||
}, [
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
isInAllView,
|
||||
isInSubscriptionsView,
|
||||
postsPerPage,
|
||||
timeFilterSeconds,
|
||||
showTextOnlyThreads,
|
||||
filterItems,
|
||||
searchText,
|
||||
subplebbitAddress,
|
||||
handleFilterMatch,
|
||||
]);
|
||||
}, [subplebbitAddresses, sortType, isInAllView, isInSubscriptionsView, postsPerPage, timeFilterSeconds, filterItems, searchText, subplebbitAddress, handleFilterMatch]);
|
||||
|
||||
const { feed, hasMore, loadMore, reset, subplebbitAddressesWithNewerPosts } = useFeed(feedOptions);
|
||||
const { accountComments } = useAccountComments();
|
||||
@@ -385,7 +355,7 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
const filteredComments = useMemo(
|
||||
() =>
|
||||
accountComments.filter((comment) => {
|
||||
const { cid, deleted, link, linkHeight, linkWidth, postCid, removed, state, thumbnailUrl, timestamp } = comment || {};
|
||||
const { cid, deleted, postCid, removed, state, timestamp } = comment || {};
|
||||
|
||||
// Basic filtering conditions
|
||||
const basicConditions =
|
||||
@@ -394,7 +364,6 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
timestamp > Date.now() / 1000 - 60 * 60 &&
|
||||
state === 'succeeded' &&
|
||||
cid &&
|
||||
(showTextOnlyThreads ? getHasThumbnail(getCommentMediaInfo(link, thumbnailUrl, linkWidth, linkHeight), comment?.link) : true) &&
|
||||
cid === postCid &&
|
||||
comment?.subplebbitAddress === subplebbitAddress &&
|
||||
!feed.some((post) => post.cid === cid);
|
||||
@@ -410,7 +379,7 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
|
||||
return basicConditions;
|
||||
}),
|
||||
[accountComments, subplebbitAddress, feed, showTextOnlyThreads, searchText],
|
||||
[accountComments, subplebbitAddress, feed, searchText],
|
||||
);
|
||||
|
||||
// show newest account comment at the top of the feed but after pinned posts
|
||||
@@ -442,21 +411,21 @@ const Catalog = ({ feedCacheKey, viewType, boardIdentifier: boardIdentifierProp,
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
newerThan: 60 * 60 * 24 * 7,
|
||||
filter: createCombinedFilter(showTextOnlyThreads, filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
filter: createCombinedFilter(filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
});
|
||||
|
||||
const { feed: monthlyFeed } = useFeed({
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
newerThan: 60 * 60 * 24 * 30,
|
||||
filter: createCombinedFilter(showTextOnlyThreads, filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
filter: createCombinedFilter(filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
});
|
||||
|
||||
const { feed: yearlyFeed } = useFeed({
|
||||
subplebbitAddresses,
|
||||
sortType,
|
||||
newerThan: 60 * 60 * 24 * 365,
|
||||
filter: createCombinedFilter(showTextOnlyThreads, filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
filter: createCombinedFilter(filterItems, searchText, subplebbitAddress || 'all', handleFilterMatch),
|
||||
});
|
||||
|
||||
const [showMorePostsSuggestion, setShowMorePostsSuggestion] = useState(false);
|
||||
|
||||
Reference in New Issue
Block a user