Merge pull request #31 from plebbit/development

Development
This commit is contained in:
plebeius.eth
2023-10-26 17:13:40 +02:00
committed by GitHub
56 changed files with 583 additions and 90 deletions

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 705 B

View File

Before

Width:  |  Height:  |  Size: 746 B

After

Width:  |  Height:  |  Size: 746 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 B

View File

Before

Width:  |  Height:  |  Size: 740 B

After

Width:  |  Height:  |  Size: 740 B

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "التفضيلات",
"account_bar_language": "العربية",
"account_bar_submit": "إرسال",
"black": "أسود",
"dark": اكن",
"light": "فاتح",
"topbar_my_subs": "مجتمعاتي",
"topbar_edit": "تعديل",
@@ -38,5 +38,12 @@
"time_1_year_ago": "منذ عام واحد",
"time_x_years_ago": "منذ {{count}} سنوات",
"post_label_spoiler": "حرق",
"post_label_unspoiler": "إلغاء حرق"
"post_label_unspoiler": "إلغاء حرق",
"reply_permalink": "رابط ثابت",
"reply_embed": "تضمين",
"reply_reply": "الرد",
"reply_best": "أفضل",
"reply_sorted_by": "مرتبة حسب",
"all_comments": "جميع {{count}} التعليقات",
"no_comments": "لا تعليقات (بعد)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "পছন্দ",
"account_bar_language": "ইংরেজি",
"account_bar_submit": "জমা দিন",
"black": "কালো",
"dark": "অন্ধকার",
"light": "আলো",
"topbar_my_subs": "আমার সম্প্রদায়",
"topbar_edit": "সম্পাদনা",
@@ -38,5 +38,12 @@
"time_1_year_ago": "১ বছর আগে",
"time_x_years_ago": "{{count}} বছর আগে",
"post_label_spoiler": "স্পয়লার",
"post_label_unspoiler": "আনস্পয়লার"
"post_label_unspoiler": "আনস্পয়লার",
"reply_permalink": "স্থায়ী লিঙ্ক",
"reply_embed": "embed",
"reply_reply": "উত্তর",
"reply_best": "সেরা",
"reply_sorted_by": "অনুসারে বাছাই",
"all_comments": "সব {{count}} মন্তব্য",
"no_comments": "কোনো মন্তব্য নেই (এখনো)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Předvolby",
"account_bar_language": "Angličtina",
"account_bar_submit": "Odeslat",
"black": "Černá",
"dark": "Tmavý",
"light": "Světlá",
"topbar_my_subs": "Mé komunity",
"topbar_edit": "Upravit",
@@ -38,5 +38,12 @@
"time_1_year_ago": "Před 1 rokem",
"time_x_years_ago": "Před {{count}} roky",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Odstranit spoiler"
"post_label_unspoiler": "Odstranit spoiler",
"reply_permalink": "Trvalý odkaz",
"reply_embed": "Embed",
"reply_reply": "Odpověď",
"reply_best": "Nejlepší",
"reply_sorted_by": "Řazeno podle",
"all_comments": "Všechny {{count}} komentáře",
"no_comments": "Žádné komentáře (zatím)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Indstillinger",
"account_bar_language": "Engelsk",
"account_bar_submit": "Indsend",
"black": "Sort",
"dark": "Mørk",
"light": "Lys",
"topbar_my_subs": "Mine samfund",
"topbar_edit": "Rediger",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 år siden",
"time_x_years_ago": "{{count}} år siden",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Fjern spoiler"
"post_label_unspoiler": "Fjern spoiler",
"reply_permalink": "Permalink",
"reply_embed": "Embed",
"reply_reply": "Svar",
"reply_best": "Bedste",
"reply_sorted_by": "Sorteret efter",
"all_comments": "Alle {{count}} kommentarer",
"no_comments": "Ingen kommentarer (endnu)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Einstellungen",
"account_bar_language": "Deutsch",
"account_bar_submit": "Einreichen",
"black": "schwarz",
"dark": "Dunkel",
"light": "hell",
"topbar_my_subs": "meine Communities",
"topbar_edit": "ändern",
@@ -38,5 +38,12 @@
"time_1_year_ago": "vor 1 Jahr",
"time_x_years_ago": "vor {{count}} Jahren",
"post_label_spoiler": "ausklappen",
"post_label_unspoiler": "einklappen"
"post_label_unspoiler": "einklappen",
"reply_permalink": "Dauerlink",
"reply_embed": "Embed",
"reply_reply": "Antwort",
"reply_best": "Besten",
"reply_sorted_by": "Sortiert nach",
"all_comments": "Alle {{count}} kommentare",
"no_comments": "Keine kommentare (noch)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Προτιμήσεις",
"account_bar_language": "Αγγλικά",
"account_bar_submit": "Υποβολή",
"black": "Μαύρο",
"dark": "Σκοτεινός",
"light": "Φωτεινό",
"topbar_my_subs": "Οι κοινότητές μου",
"topbar_edit": "Επεξεργασία",
@@ -38,5 +38,12 @@
"time_1_year_ago": "Πριν από 1 έτος",
"time_x_years_ago": "Πριν από {{count}} έτη",
"post_label_spoiler": "Διαρροή",
"post_label_unspoiler": "Χωρίς Διαρροή"
"post_label_unspoiler": "Χωρίς Διαρροή",
"reply_permalink": "Μόνιμος σύνδεσμος",
"reply_embed": "Embed",
"reply_reply": "Απάντηση",
"reply_best": "Καλύτερα",
"reply_sorted_by": "Ταξινομημένα κατά",
"all_comments": "Όλα τα {{count}} σχόλια",
"no_comments": "Κανένα σχόλιο (ακόμη)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "preferences",
"account_bar_language": "English",
"account_bar_submit": "submit",
"black": "black",
"dark": "dark",
"light": "light",
"topbar_my_subs": "my communities",
"topbar_edit": "edit",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 year ago",
"time_x_years_ago": "{{count}} years ago",
"post_label_spoiler": "spoiler",
"post_label_unspoiler": "unspoiler"
"post_label_unspoiler": "unspoiler",
"reply_permalink": "permalink",
"reply_embed": "embed",
"reply_reply": "reply",
"reply_best": "best",
"reply_sorted_by": "sorted by",
"all_comments": "all {{count}} comments",
"no_comments": "no comments (yet)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "preferencias",
"account_bar_language": "Español",
"account_bar_submit": "enviar",
"black": "negro",
"dark": "oscuro",
"light": "claro",
"topbar_my_subs": "mis comunidades",
"topbar_edit": "editar",
@@ -38,5 +38,12 @@
"time_1_year_ago": "hace 1 año",
"time_x_years_ago": "hace {{count}} años",
"post_label_spoiler": "spoiler",
"post_label_unspoiler": "despoiler"
"post_label_unspoiler": "despoiler",
"reply_permalink": "enlace permanente",
"reply_embed": "embed",
"reply_reply": "responder",
"reply_best": "mejores",
"reply_sorted_by": "ordenado por",
"all_comments": "todos los {{count}} comentarios",
"no_comments": "sin comentarios (aún)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "تنظیمات",
"account_bar_language": "انگلیسی",
"account_bar_submit": "ارسال",
"black": "سیاه",
"dark": "تاریک",
"light": "روشن",
"topbar_my_subs": "جوامع من",
"topbar_edit": "ویرایش",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 سال پیش",
"time_x_years_ago": "{{count}} سال پیش",
"post_label_spoiler": "اسپویلر",
"post_label_unspoiler": "حذف اسپویلر"
"post_label_unspoiler": "حذف اسپویلر",
"reply_permalink": "پیوند ثابت",
"reply_embed": "توکار",
"reply_reply": "پاسخ",
"reply_best": "بهترین",
"reply_sorted_by": "مرتب‌شده بر اساس",
"all_comments": "همه {{count}} نظرات",
"no_comments": "بدون نظر (هنوز)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Asetukset",
"account_bar_language": "Englanti",
"account_bar_submit": "Lähetä",
"black": "Musta",
"dark": "Tumma",
"light": "Vaalea",
"topbar_my_subs": "Omat yhteisöt",
"topbar_edit": "Muokkaa",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 vuosi sitten",
"time_x_years_ago": "{{count}} vuotta sitten",
"post_label_spoiler": "Juonipaljastus",
"post_label_unspoiler": "Poista juonipaljastus"
"post_label_unspoiler": "Poista juonipaljastus",
"reply_permalink": "Pysyvä linkki",
"reply_embed": "Upottaa",
"reply_reply": "Vastaus",
"reply_best": "Parhaat",
"reply_sorted_by": "Lajiteltu",
"all_comments": "Kaikki {{count}} kommentit",
"no_comments": "Ei kommentteja (vielä)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Mga Kagustuhan",
"account_bar_language": "Ingles",
"account_bar_submit": "Ipadala",
"black": "Itim",
"dark": "Madilim",
"light": "Maliwanag",
"topbar_my_subs": "Aking mga Komunidad",
"topbar_edit": "I-edit",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 taon ang nakalipas",
"time_x_years_ago": "{{count}} taon ang nakalipas",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Walang Spoiler"
"post_label_unspoiler": "Walang Spoiler",
"reply_permalink": "Permalink",
"reply_embed": "Embed",
"reply_reply": "Tumugon",
"reply_best": "Pinakamahusay",
"reply_sorted_by": "Naayos ayon sa",
"all_comments": "Lahat ng {{count}} mga komento",
"no_comments": "Walang komento (pa)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "préférences",
"account_bar_language": "Français",
"account_bar_submit": "soumettre",
"black": "noir",
"dark": "sombre",
"light": "clair",
"topbar_my_subs": "mes communautés",
"topbar_edit": "modifier",
@@ -38,5 +38,12 @@
"time_1_year_ago": "il y a 1 an",
"time_x_years_ago": "il y a {{count}} ans",
"post_label_spoiler": "spoiler",
"post_label_unspoiler": "unspoiler"
"post_label_unspoiler": "unspoiler",
"reply_permalink": "lien permanent",
"reply_embed": "embed",
"reply_reply": "répondre",
"reply_best": "meilleurs",
"reply_sorted_by": "trié par",
"all_comments": "tous les {{count}} commentaires",
"no_comments": "aucun commentaire (encore)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "העדפות",
"account_bar_language": "אנגלית",
"account_bar_submit": "שלח",
"black": "שחור",
"dark": "כהה",
"light": "בהיר",
"topbar_my_subs": "הקהילות שלי",
"topbar_edit": "ערוך",
@@ -38,5 +38,12 @@
"time_1_year_ago": "לפני שנה",
"time_x_years_ago": "לפני {{count}} שנים",
"post_label_spoiler": "ספוילר",
"post_label_unspoiler": "הסר ספוילר"
"post_label_unspoiler": "הסר ספוילר",
"reply_permalink": "קישור קבוע",
"reply_embed": "הטמע",
"reply_reply": "תגובה",
"reply_best": "הכי טובים",
"reply_sorted_by": "ממוין לפי",
"all_comments": "כל {{count}} התגובות",
"no_comments": "אין תגובות (עדיין)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "प्राथमिकताएँ",
"account_bar_language": "हिंदी",
"account_bar_submit": "भेजें",
"black": "काला",
"dark": "अंधेरा",
"light": "हल्का",
"topbar_my_subs": "मेरे समुदाय",
"topbar_edit": "संपादित करें",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 साल पहले",
"time_x_years_ago": "{{count}} साल पहले",
"post_label_spoiler": "स्पॉयलर",
"post_label_unspoiler": "अनस्पॉयलर"
"post_label_unspoiler": "अनस्पॉयलर",
"reply_permalink": "स्थायी लिंक",
"reply_embed": "एम्बेड",
"reply_reply": "उत्तर",
"reply_best": "सर्वश्रेष्ठ",
"reply_sorted_by": "इसके अनुसार क्रमबद्ध",
"all_comments": "सभी {{count}} टिप्पणियां",
"no_comments": "कोई टिप्पणी नहीं (अब तक)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Beállítások",
"account_bar_language": "Angol",
"account_bar_submit": "Küldés",
"black": "Fekete",
"dark": "Sötét",
"light": "Világos",
"topbar_my_subs": "Saját közösségeim",
"topbar_edit": "Szerkesztés",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 éve",
"time_x_years_ago": "{{count}} éve",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Spoiler eltávolítása"
"post_label_unspoiler": "Spoiler eltávolítása",
"reply_permalink": "Állandó hivatkozás",
"reply_embed": "Embed",
"reply_reply": "Válasz",
"reply_best": "Legjobb",
"reply_sorted_by": "Sorrend",
"all_comments": "Mind a {{count}} hozzászólások",
"no_comments": "Nincsenek hozzászólások (még)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Preferensi",
"account_bar_language": "Inggris",
"account_bar_submit": "Kirim",
"black": "Hitam",
"dark": "Gelap",
"light": "Terang",
"topbar_my_subs": "Komunitas Saya",
"topbar_edit": "Edit",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 tahun yang lalu",
"time_x_years_ago": "{{count}} tahun yang lalu",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Tanpa Spoiler"
"post_label_unspoiler": "Tanpa Spoiler",
"reply_permalink": "Tautan tetap",
"reply_embed": "Embed",
"reply_reply": "Balasan",
"reply_best": "Terbaik",
"reply_sorted_by": "Diurutkan berdasarkan",
"all_comments": "Semua {{count}} komentar",
"no_comments": "Tidak ada komentar (belum)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "preferenze",
"account_bar_language": "Italiano",
"account_bar_submit": "invia",
"black": "nero",
"dark": "scuro",
"light": "chiaro",
"topbar_my_subs": "le mie comunità",
"topbar_edit": "modifica",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 anno fa",
"time_x_years_ago": "{{count}} anni fa",
"post_label_spoiler": "spoiler",
"post_label_unspoiler": "rimuovi spoiler"
"post_label_unspoiler": "rimuovi spoiler",
"reply_permalink": "permalink",
"reply_embed": "embed",
"reply_reply": "rispondi",
"reply_best": "migliori",
"reply_sorted_by": "ordinato per",
"all_comments": "tutti i {{count}} commenti",
"no_comments": "nessun commento (ancora)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "設定",
"account_bar_language": "日本語",
"account_bar_submit": "送信",
"black": "",
"dark": "暗い",
"light": "明るい",
"topbar_my_subs": "マイコミュニティ",
"topbar_edit": "編集",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1年前",
"time_x_years_ago": "{{count}}年前",
"post_label_spoiler": "ネタバレ",
"post_label_unspoiler": "ネタバレ解除"
"post_label_unspoiler": "ネタバレ解除",
"reply_permalink": "パーマリンク",
"reply_embed": "埋め込む",
"reply_reply": "返信",
"reply_best": "最良",
"reply_sorted_by": "ソート条件",
"all_comments": "すべての{{count}}コメント",
"no_comments": "コメントはありません(まだ)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "설정",
"account_bar_language": "영어",
"account_bar_submit": "제출",
"black": "검은색",
"dark": "어두운",
"light": "밝은",
"topbar_my_subs": "내 커뮤니티",
"topbar_edit": "편집",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1년 전",
"time_x_years_ago": "{{count}}년 전",
"post_label_spoiler": "스포일러",
"post_label_unspoiler": "스포일러 해제"
"post_label_unspoiler": "스포일러 해제",
"reply_permalink": "고정 링크",
"reply_embed": "임베드",
"reply_reply": "답장",
"reply_best": "최고의",
"reply_sorted_by": "정렬 기준",
"all_comments": "모든 {{count}} 댓글",
"no_comments": "댓글 없음 (아직)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "प्राथमिकता",
"account_bar_language": "इंग्रजी",
"account_bar_submit": "सबमिट करा",
"black": "काळा",
"dark": "गडद",
"light": "पांढरा",
"topbar_my_subs": "माझ्या समुदायांतील",
"topbar_edit": "संपादित करा",
@@ -38,5 +38,12 @@
"time_1_year_ago": "१ वर्षांपूर्वी",
"time_x_years_ago": "{{count}} वर्षांपूर्वी",
"post_label_spoiler": "स्पॉयलर",
"post_label_unspoiler": "अनस्पॉयलर"
"post_label_unspoiler": "अनस्पॉयलर",
"reply_permalink": "कायम संकेतस्थळ",
"reply_embed": "embed",
"reply_reply": "उत्तर",
"reply_best": "सर्वोत्कृष्ट",
"reply_sorted_by": "याप्रमाणे क्रमवारीत",
"all_comments": "सर्व {{count}} टिप्पण्या",
"no_comments": "कोणत्याही टिप्पण्या नाहीत (अजून)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Voorkeuren",
"account_bar_language": "Engels",
"account_bar_submit": "Indienen",
"black": "Zwart",
"dark": "Donker",
"light": "Licht",
"topbar_my_subs": "Mijn gemeenschappen",
"topbar_edit": "Bewerken",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 jaar geleden",
"time_x_years_ago": "{{count}} jaar geleden",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Geen spoiler"
"post_label_unspoiler": "Geen spoiler",
"reply_permalink": "Permalink",
"reply_embed": "Embed",
"reply_reply": "Antwoord",
"reply_best": "Beste",
"reply_sorted_by": "Gesorteerd op",
"all_comments": "Alle {{count}} reacties",
"no_comments": "Geen reacties (nog)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Innstillinger",
"account_bar_language": "Engelsk",
"account_bar_submit": "Send inn",
"black": "Svart",
"dark": "Mørk",
"light": "Lys",
"topbar_my_subs": "Mine samfunn",
"topbar_edit": "Rediger",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 år siden",
"time_x_years_ago": "{{count}} år siden",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Fjern spoiler"
"post_label_unspoiler": "Fjern spoiler",
"reply_permalink": "Permanent lenke",
"reply_embed": "Embed",
"reply_reply": "Svar",
"reply_best": "Beste",
"reply_sorted_by": "Sortert etter",
"all_comments": "Alle {{count}} kommentarer",
"no_comments": "Ingen kommentarer (ennå)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Preferencje",
"account_bar_language": "Angielski",
"account_bar_submit": "Zatwierdź",
"black": "Czarne",
"dark": "Ciemny",
"light": "Jasne",
"topbar_my_subs": "Moje społeczności",
"topbar_edit": "Edytuj",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 rok temu",
"time_x_years_ago": "{{count}} lat temu",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Usuń spoiler"
"post_label_unspoiler": "Usuń spoiler",
"reply_permalink": "Stały link",
"reply_embed": "Embed",
"reply_reply": "Odpowiedź",
"reply_best": "Najlepsze",
"reply_sorted_by": "Sortowane według",
"all_comments": "Wszystkie {{count}} komentarze",
"no_comments": "Brak komentarzy (jeszcze)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "preferências",
"account_bar_language": "Português",
"account_bar_submit": "enviar",
"black": "preto",
"dark": "escuro",
"light": "claro",
"topbar_my_subs": "minhas comunidades",
"topbar_edit": "editar",
@@ -38,5 +38,12 @@
"time_1_year_ago": "há 1 ano",
"time_x_years_ago": "há {{count}} anos",
"post_label_spoiler": "spoiler",
"post_label_unspoiler": "desfazer spoiler"
"post_label_unspoiler": "desfazer spoiler",
"reply_permalink": "permalink",
"reply_embed": "embed",
"reply_reply": "responder",
"reply_best": "melhores",
"reply_sorted_by": "ordenado por",
"all_comments": "todos os {{count}} comentários",
"no_comments": "sem comentários (ainda)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Preferințe",
"account_bar_language": "Engleză",
"account_bar_submit": "Trimite",
"black": "Negru",
"dark": "Întunecat",
"light": "Luminos",
"topbar_my_subs": "Comunitățile mele",
"topbar_edit": "Editează",
@@ -38,5 +38,12 @@
"time_1_year_ago": "Acum 1 an",
"time_x_years_ago": "Acum {{count}} ani",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Fără spoiler"
"post_label_unspoiler": "Fără spoiler",
"reply_permalink": "Permalink",
"reply_embed": "Embed",
"reply_reply": "Răspuns",
"reply_best": "Cele mai bune",
"reply_sorted_by": "Sortat după",
"all_comments": "Toate {{count}} comentariile",
"no_comments": "Fără comentarii (încă)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Настройки",
"account_bar_language": "Английский",
"account_bar_submit": "Отправить",
"black": "Черный",
"dark": "Темный",
"light": "Светлый",
"topbar_my_subs": "Мои сообщества",
"topbar_edit": "Редактировать",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 год назад",
"time_x_years_ago": "{{count}} лет назад",
"post_label_spoiler": "Спойлер",
"post_label_unspoiler": "Убрать спойлер"
"post_label_unspoiler": "Убрать спойлер",
"reply_permalink": "Постоянная ссылка",
"reply_embed": "Встроить",
"reply_reply": "Ответ",
"reply_best": "Лучшие",
"reply_sorted_by": "Сортировать по",
"all_comments": "Все {{count}} комментарии",
"no_comments": "Нет комментариев (пока)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Preferencat",
"account_bar_language": "Anglisht",
"account_bar_submit": "Dërgo",
"black": "I zi",
"dark": "Errët",
"light": "I ndritur",
"topbar_my_subs": "Komunitetet e mia",
"topbar_edit": "Redakto",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 vit më parë",
"time_x_years_ago": "{{count}} vite më parë",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Hiq spoiler"
"post_label_unspoiler": "Hiq spoiler",
"reply_permalink": "Lidhje e përhershme",
"reply_embed": "Embed",
"reply_reply": "Përgjigje",
"reply_best": "Më të mirët",
"reply_sorted_by": "Renditur sipas",
"all_comments": "Të gjitha {{count}} komentet",
"no_comments": "Asnjë koment (ende)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Inställningar",
"account_bar_language": "Engelska",
"account_bar_submit": "Skicka",
"black": "Svart",
"dark": "Mörk",
"light": "Ljus",
"topbar_my_subs": "Mina gemenskaper",
"topbar_edit": "Redigera",
@@ -38,5 +38,12 @@
"time_1_year_ago": "För 1 år sedan",
"time_x_years_ago": "För {{count}} år sedan",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Ingen spoiler"
"post_label_unspoiler": "Ingen spoiler",
"reply_permalink": "Permalänk",
"reply_embed": "Embed",
"reply_reply": "Svar",
"reply_best": "Bästa",
"reply_sorted_by": "Sorterat efter",
"all_comments": "Alla {{count}} kommentarer",
"no_comments": "Inga kommentarer (ännu)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "ప్రాధాన్యతలు",
"account_bar_language": "ఇంగ్లీష్",
"account_bar_submit": "సబ్మిట్",
"black": "నలుపు",
"dark": "ముదురు",
"light": "తెలుపు",
"topbar_my_subs": "నా సముదాయాలు",
"topbar_edit": "సవరించు",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 సంవత్సరం క్రితం",
"time_x_years_ago": "{{count}} సంవత్సరాల క్రితం",
"post_label_spoiler": "స్పోయిలర్",
"post_label_unspoiler": "ఉన్‌స్పోయిలర్"
"post_label_unspoiler": "ఉన్‌స్పోయిలర్",
"reply_permalink": "శాశ్వత లింకు",
"reply_embed": "అంతర్గతం చేయు",
"reply_reply": "స్పందన",
"reply_best": "ఉత్తమ",
"reply_sorted_by": "దీని ప్రకారం క్రమపడబడింది",
"all_comments": "అన్ని {{count}} వ్యాఖ్యలు",
"no_comments": "వ్యాఖ్యలు లేవు (ఇంకా)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "การตั้งค่า",
"account_bar_language": "อังกฤษ",
"account_bar_submit": "ส่ง",
"black": "ด",
"dark": "มืด",
"light": "สีขาว",
"topbar_my_subs": "ชุมชนของฉัน",
"topbar_edit": "แก้ไข",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 ปีที่ผ่านมา",
"time_x_years_ago": "{{count}} ปีที่ผ่านมา",
"post_label_spoiler": "สปอยล์",
"post_label_unspoiler": "ไม่สปอยล์"
"post_label_unspoiler": "ไม่สปอยล์",
"reply_permalink": "ลิงก์ถาวร",
"reply_embed": "embed",
"reply_reply": "ตอบ",
"reply_best": "ที่สุด",
"reply_sorted_by": "เรียงลำดับตาม",
"all_comments": "ความคิดเห็น {{count}} รายการทั้งหมด",
"no_comments": "ไม่มีความคิดเห็น (ยัง)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Tercihler",
"account_bar_language": "İngilizce",
"account_bar_submit": "Gönder",
"black": "Siyah",
"dark": "Karanlık",
"light": "Açık",
"topbar_my_subs": "Topluluklarım",
"topbar_edit": "Düzenle",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 yıl önce",
"time_x_years_ago": "{{count}} yıl önce",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Spoiler Olmayan"
"post_label_unspoiler": "Spoiler Olmayan",
"reply_permalink": "Kalıcı bağlantı",
"reply_embed": "Embed",
"reply_reply": "Cevap",
"reply_best": "En iyiler",
"reply_sorted_by": "Şuna göre sırala",
"all_comments": "Tüm {{count}} yorumlar",
"no_comments": "Yorum yok (henüz)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Налаштування",
"account_bar_language": "Англійська",
"account_bar_submit": "Надіслати",
"black": "Чорний",
"dark": "Темний",
"light": "Світлий",
"topbar_my_subs": "Мої спільноти",
"topbar_edit": "Редагувати",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 рік тому",
"time_x_years_ago": "{{count}} років тому",
"post_label_spoiler": "Спойлер",
"post_label_unspoiler": "Зняти спойлер"
"post_label_unspoiler": "Зняти спойлер",
"reply_permalink": "Постійне посилання",
"reply_embed": "Embed",
"reply_reply": "Відповідь",
"reply_best": "Найкращі",
"reply_sorted_by": "Сортувати за",
"all_comments": "Всі {{count}} коментарі",
"no_comments": "Немає коментарів (ще)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "ترجیحات",
"account_bar_language": "انگلش",
"account_bar_submit": "جمع کرائیں",
"black": "سیاہ",
"dark": "تاریک",
"light": "ہلکا",
"topbar_my_subs": "میری کمیونٹیاں",
"topbar_edit": "تدوین کریں",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 سال پہلے",
"time_x_years_ago": "{{count}} سال پہلے",
"post_label_spoiler": "اسپوائلر",
"post_label_unspoiler": "اناسپوائلر"
"post_label_unspoiler": "اناسپوائلر",
"reply_permalink": "مستقل ربط",
"reply_embed": "embed",
"reply_reply": "جواب",
"reply_best": "بہترین",
"reply_sorted_by": "کے مطابق ترتیب",
"all_comments": "تمام {{count}} تبصرے",
"no_comments": "کوئی تبصرہ نہیں (ابھی)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "Tùy chỉnh",
"account_bar_language": "Tiếng Anh",
"account_bar_submit": "Gửi",
"black": "Đen",
"dark": "Tối",
"light": "Sáng",
"topbar_my_subs": "Cộng đồng của tôi",
"topbar_edit": "Chỉnh sửa",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1 năm trước",
"time_x_years_ago": "{{count}} năm trước",
"post_label_spoiler": "Spoiler",
"post_label_unspoiler": "Bỏ Spoiler"
"post_label_unspoiler": "Bỏ Spoiler",
"reply_permalink": "Liên kết cố định",
"reply_embed": "Embed",
"reply_reply": "Trả lời",
"reply_best": "Tốt nhất",
"reply_sorted_by": "Sắp xếp theo",
"all_comments": "Tất cả {{count}} bình luận",
"no_comments": "Không có bình luận (chưa)"
}

View File

@@ -9,7 +9,7 @@
"account_bar_preferences": "偏好设置",
"account_bar_language": "简体中文",
"account_bar_submit": "提交",
"black": "黑色",
"dark": "",
"light": "浅色",
"topbar_my_subs": "我的社群",
"topbar_edit": "编辑",
@@ -38,5 +38,12 @@
"time_1_year_ago": "1年前",
"time_x_years_ago": "{{count}}年前",
"post_label_spoiler": "剧透",
"post_label_unspoiler": "取消剧透"
"post_label_unspoiler": "取消剧透",
"reply_permalink": "永久链接",
"reply_embed": "嵌入",
"reply_reply": "回复",
"reply_best": "最好的",
"reply_sorted_by": "排序方式",
"all_comments": "全部 {{count}} 个评论",
"no_comments": "暂无评论(还)"
}

View File

@@ -18,7 +18,7 @@ const Theme: FC = () => {
<div style={{ padding: '5px' }}>
<select value={theme} onChange={(e) => setTheme(e.target.value)}>
<option value='light'>{t('light')}</option>
<option value='black'>{t('black')}</option>
<option value='dark'>{t('dark')}</option>
</select>
</div>
);
@@ -65,7 +65,7 @@ const Header: FC = () => {
<span className={styles.container}>
<Link to='/' style={{ all: 'unset', cursor: 'pointer' }}>
<img className={styles.logo} src='/assets/logo/seedit.png' alt='logo' />
<img src={`${process.env.PUBLIC_URL}/assets/logo/seedit-text-${theme === 'black' ? 'dark' : 'light'}.svg`} className={styles.logoText} alt='logo' />
<img src={`${process.env.PUBLIC_URL}/assets/logo/seedit-text-${theme === 'dark' ? 'dark' : 'light'}.svg`} className={styles.logoText} alt='logo' />
</Link>
{buttons}
</span>

View File

@@ -1,7 +1,7 @@
import { FC } from 'react';
import { useComment } from '@plebbit/plebbit-react-hooks';
import styles from './expand-button.module.css';
import utils from '../../../../lib/utils';
import utils from '../../../lib/utils';
interface ExpandButtonProps {
commentCid: string;

View File

@@ -8,9 +8,10 @@ import Embed from '../embed';
interface ExpandoProps {
commentCid: string;
expanded: boolean;
showContent: boolean;
}
const Expando: FC<ExpandoProps> = ({ commentCid, expanded }) => {
const Expando: FC<ExpandoProps> = ({ commentCid, expanded, showContent }) => {
const comment = useComment({ commentCid });
const { cid, content, link, subplebbitAddress } = comment || {};
const commentMediaInfo = utils.getCommentMediaInfoMemoized(comment);
@@ -38,7 +39,7 @@ const Expando: FC<ExpandoProps> = ({ commentCid, expanded }) => {
</Link>
</div>
)}
{content && (
{content && showContent && (
<div className={styles.usertext}>
<div className={styles.markdown}>{content}</div>
</div>

View File

@@ -1,6 +1,7 @@
export {default} from './post'
export {default as Embed} from './embed'
export {default as Expando} from './expando'
export {default as ExpandButton} from './expand-button'
export {default as Flair} from './flair'
export {default as PostTools} from './post-tools'
export {default as Thumbnail} from './thumbnail'

View File

@@ -34,11 +34,11 @@
}
.arrowUp {
background-image: url("/public/assets/buttons/upvote.png");
background-image: url("/public/assets/buttons/arrow-up.png");
}
.arrowDown {
background-image: url("/public/assets/buttons/downvote.png");
background-image: url("/public/assets/buttons/arrow-down.png");
}

View File

@@ -4,7 +4,7 @@ import { Link } from 'react-router-dom';
import utils from '../../lib/utils';
import { Comment, useSubplebbit } from '@plebbit/plebbit-react-hooks';
import { useTranslation } from 'react-i18next';
import ExpandButton from './expando/expand-button';
import ExpandButton from './expand-button';
import Expando from './expando';
import Flair from './flair';
import PostTools from './post-tools';
@@ -86,7 +86,7 @@ const Post: FC<PostProps> = ({ post, index, shouldExpand = true }) => {
</div>
</div>
</div>
<Expando commentCid={cid} expanded={expanded} />
<Expando commentCid={cid} expanded={expanded} showContent={true} />
</div>
);
};

View File

@@ -0,0 +1 @@
export {default} from './reply';

View File

@@ -0,0 +1,108 @@
.nested {
margin-top: 10px;
margin-left: 25px;
border-left: 1px dotted #DDF;
}
.replyWrapper {
margin-top: 10px;
}
.midcol {
visibility: visible;
width: 15px;
float: left;
margin-right: 7px;
margin-left: 7px;
background: transparent;
overflow: hidden;
}
.arrow {
width: 15px;
height: 14px;
display: block;
cursor: pointer;
margin: 2px 0px 0px 0px;
display: block;
cursor: pointer;
margin-left: auto;
margin-right: auto;
outline: none;
}
.arrowUp {
background-image: url("/public/assets/buttons/arrow-up.png");
}
.arrowDown {
background-image: url("/public/assets/buttons/arrow-down.png");
}
.entry {
overflow: hidden;
margin-left: 3px;
opacity: 1;
}
.tagline {
color: var(--text);
font-size: x-small;
}
.expand {
margin-right: 3px;
padding: 1px;
color: var(--text-primary);
cursor: pointer;
}
.author {
font-weight: bold;
margin-right: 0.5em;
color: var(--text-primary);
text-decoration: none;
}
.score {
color: var(--text-info);
font-size: x-small;
}
.time {
color: var(--text-info);
font-size: x-small;
}
.usertext {
font-size: small;
unicode-bidi: isolate;
}
.md {
margin-top: 5px;
margin-bottom: 5px;
font-size: 1.0769230769230769em;
font-weight: 400;
color: var(--text-markdown);
max-width: 60em;
white-space: pre-wrap;
word-wrap: break-word;
}
.buttons {
list-style-type: none;
margin-left: 29px;
}
.button {
display: inline-block;
border: none;
line-height: 1.6em;
white-space: nowrap;
color: var(--text-info);
font-weight: bold;
padding: 0 1px;
margin-right: 8px;
cursor: pointer;
}

View File

@@ -0,0 +1,86 @@
import { FC, useState } from 'react';
import { Comment } from '@plebbit/plebbit-react-hooks';
import { Link } from 'react-router-dom';
import { useTranslation } from 'react-i18next';
import styles from './reply.module.css';
import useReplies from '../../hooks/use-replies';
import utils from '../../lib/utils';
import { Thumbnail, Expando, ExpandButton } from '../post';
interface ReplyProps {
key: number;
reply: Comment;
}
const Reply: FC<ReplyProps> = ({ reply }) => {
const {
author: { shortAddress },
cid,
content,
depth,
link,
timestamp,
} = reply || {};
const replies = useReplies(reply);
const [expanded, setExpanded] = useState(false);
const toggleExpanded = () => setExpanded(!expanded);
const commentMediaInfo = utils.getCommentMediaInfoMemoized(reply);
const hasThumbnail = utils.hasThumbnail(commentMediaInfo, link);
const { t } = useTranslation();
return (
<div className={styles.reply}>
<div className={`${styles.replyWrapper} ${depth > 1 && styles.nested}`}>
<div className={styles.midcol}>
<div className={`${styles.arrow} ${styles.arrowUp}`} />
<div className={`${styles.arrow} ${styles.arrowDown}`} />
</div>
<div className={styles.entry}>
<p className={styles.tagline}>
<span className={styles.expand}>[]</span>
<Link
to='/u/address.eth'
onClick={(e) => {
e.preventDefault();
}}
className={styles.author}
>
{shortAddress}
</Link>
<span className={styles.score}>1 point</span>
&nbsp;
<span className={styles.time}>{utils.getFormattedTime(timestamp)}</span>
</p>
<div className={styles.usertext}>
{hasThumbnail && <Thumbnail commentCid={cid} />}
{hasThumbnail && <ExpandButton commentCid={cid} expanded={expanded} hasThumbnail={hasThumbnail} toggleExpanded={toggleExpanded} />}
<div className={styles.md}>{content}</div>
{hasThumbnail && <Expando commentCid={cid} expanded={expanded} showContent={false} />}
</div>
</div>
<ul className={styles.buttons}>
<li className={styles.button}>
<span>{t('reply_permalink')}</span>
</li>
<li className={styles.button}>
<span>{t('reply_embed')}</span>
</li>
<li className={styles.button}>
<span>{t('post_save')}</span>
</li>
<li className={styles.button}>
<span>{t('post_report')}</span>
</li>
<li className={styles.button}>
<span>{t('reply_reply')}</span>
</li>
</ul>
{replies.map((reply, index) => (
<Reply key={index} reply={reply} />
))}
</div>
</div>
);
};
export default Reply;

View File

@@ -6,6 +6,7 @@
font-size: 90%;
height: 18px;
line-height: 18px;
color: var(--text);
}
.widthClip {

View File

@@ -10,6 +10,7 @@
.comments {
padding: 7px 5px 0px 5px;
margin-bottom: 200px;
}
.commentArea {
@@ -49,7 +50,7 @@
}
.dropdown {
cursor: default;
cursor: pointer;
display: inline;
position: relative;
}
@@ -106,7 +107,7 @@
}
.save {
margin: 5px 5px 10px 0;
margin: 5px 5px 0 0;
-webkit-appearance: button;
appearance: button;
cursor: pointer;
@@ -115,4 +116,5 @@
.replies {
max-width: 80em;
margin-left: 3px;
}

View File

@@ -1,19 +1,32 @@
import { FC, useEffect } from 'react';
import { useParams } from 'react-router-dom';
import { useComment } from '@plebbit/plebbit-react-hooks';
import { useComment, useSubplebbit } from '@plebbit/plebbit-react-hooks';
import { useTranslation } from 'react-i18next';
import styles from './comments.module.css';
import TopBar from '../../topbar';
import Header from '../../header';
import Post from '../../post';
import useReplies from '../../../hooks/use-replies';
import Reply from '../../reply/reply';
const Comments: FC = () => {
const { commentCid } = useParams();
const comment = useComment({ commentCid });
const { replyCount } = comment || {};
const { content, replyCount, subplebbitAddress, title } = comment || {};
const subplebbit = useSubplebbit({ subplebbitAddress });
const replies = useReplies(comment).map((reply, index) => <Reply key={index} reply={reply} />) || '';
const threadTitle = title?.slice(0, 40) || content?.slice(0, 40);
const subplebbitTitle = subplebbit?.title || subplebbit?.shortAddress;
const { t } = useTranslation();
useEffect(() => {
if (threadTitle || subplebbitTitle) {
document.title = `${threadTitle} - ${subplebbitTitle} - seedit`;
} else {
document.title = 'seedit';
}
window.scrollTo(0, 0);
}, []);
}, [threadTitle, subplebbitTitle]);
return (
<>
@@ -24,13 +37,15 @@ const Comments: FC = () => {
<Post post={comment} shouldExpand={false} />
<div className={styles.commentArea}>
<div className={styles.commentsTitle}>
<span className={styles.title}>all {replyCount} comments</span>
<span className={styles.title}>
{replyCount === 0 ? t('no_comments') : t('all_comments', { count: replyCount })}
</span>
</div>
<div className={styles.menuArea}>
<div className={styles.spacer}>
<span className={styles.dropdownTitle}>sorted by:</span>
<span className={styles.dropdownTitle}>{t('reply_sorted_by')}: </span>
<div className={styles.dropdown}>
<span className={styles.selected}>best</span>
<span className={styles.selected}>{t('reply_best')}</span>
</div>
</div>
<div className={styles.mdContainer}>
@@ -38,11 +53,11 @@ const Comments: FC = () => {
<textarea className={styles.textarea} />
</div>
<div className={styles.bottomArea}>
<button className={styles.save}>save</button>
<button className={styles.save}>{t('post_save')}</button>
</div>
</div>
</div>
<div className={styles.replies}></div>
<div className={styles.replies}>{replies}</div>
</div>
</div>
</div>

View File

@@ -22,6 +22,10 @@ const Home: FC = () => {
const { pathname } = useLocation();
const isCommentsModalOpen = pathname === `/p/${subplebbitAddress}/c/${commentCid}`;
useEffect(() => {
document.title = `seedit`;
}, []);
let Footer;
if (feed?.length === 0) {
Footer = NoPosts;

29
src/hooks/use-replies.ts Normal file
View File

@@ -0,0 +1,29 @@
import { useMemo, useCallback } from 'react';
import { Comment, useAccountComments } from '@plebbit/plebbit-react-hooks';
const useRepliesAndAccountReplies = (comment: Comment) => {
// filter only the parent cid
const filter = useCallback((accountComment: Comment) => accountComment.parentCid === (comment?.cid || 'n/a'), [comment?.cid]);
const { accountComments } = useAccountComments({ filter });
// the account's replies have a delay before getting published, so get them locally from accountComments instead
const accountRepliesNotYetPublished = useMemo(() => {
const replies = comment?.replies?.pages?.topAll?.comments || [];
const replyCids = new Set(replies.map((reply: Comment) => reply?.cid));
// filter out the account comments already in comment.replies, so they don't appear twice
return accountComments.filter((accountReply) => !replyCids.has(accountReply?.cid));
}, [comment?.replies?.pages?.topAll?.comments, accountComments]);
const repliesAndNotYetPublishedReplies = useMemo(() => {
return [
// put the author's unpublished replies at the top, latest first (reverse)
...accountRepliesNotYetPublished.reverse(),
// put the published replies after,
...(comment?.replies?.pages?.topAll?.comments || []),
];
}, [comment?.replies?.pages?.topAll?.comments, accountRepliesNotYetPublished]);
return repliesAndNotYetPublishedReplies;
};
export default useRepliesAndAccountReplies;

View File

@@ -23,7 +23,7 @@
--close-button-hover: url("/public/assets/buttons/close-button-hover.png");
}
:root .black {
:root .dark {
--background: #0f0f0f;
--background-primary: #1f1f1f;
--background-secondary: #3e3e3e;