mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
feat(boards list): show 15 boards at a time + p/all, add load more button
This commit is contained in:
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "التعليق طويل جدًا ({{length}}/2000).",
|
"comment_field_too_long": "التعليق طويل جدًا ({{length}}/2000).",
|
||||||
"field_too_long": "الحقل طويل جدًا.",
|
"field_too_long": "الحقل طويل جدًا.",
|
||||||
"title": "عنوان",
|
"title": "عنوان",
|
||||||
"tags": "علامات"
|
"tags": "علامات",
|
||||||
|
"load_more": "تحميل المزيد"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "মন্তব্য খুব লম্বা ({{length}}/2000)।",
|
"comment_field_too_long": "মন্তব্য খুব লম্বা ({{length}}/2000)।",
|
||||||
"field_too_long": "ফিল্ডটি খুব লম্বা।",
|
"field_too_long": "ফিল্ডটি খুব লম্বা।",
|
||||||
"title": "শিরোনাম",
|
"title": "শিরোনাম",
|
||||||
"tags": "ট্যাগ"
|
"tags": "ট্যাগ",
|
||||||
|
"load_more": "আরো লোড করুন"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Komentář je příliš dlouhý ({{length}}/2000).",
|
"comment_field_too_long": "Komentář je příliš dlouhý ({{length}}/2000).",
|
||||||
"field_too_long": "Pole je příliš dlouhé.",
|
"field_too_long": "Pole je příliš dlouhé.",
|
||||||
"title": "Název",
|
"title": "Název",
|
||||||
"tags": "Štítky"
|
"tags": "Štítky",
|
||||||
|
"load_more": "Načíst více"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Kommentar for lang ({{length}}/2000).",
|
"comment_field_too_long": "Kommentar for lang ({{length}}/2000).",
|
||||||
"field_too_long": "Feltene er for lange.",
|
"field_too_long": "Feltene er for lange.",
|
||||||
"title": "Titel",
|
"title": "Titel",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Indlæs mere"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Kommentar zu lang ({{length}}/2000).",
|
"comment_field_too_long": "Kommentar zu lang ({{length}}/2000).",
|
||||||
"field_too_long": "Das Feld ist zu lang.",
|
"field_too_long": "Das Feld ist zu lang.",
|
||||||
"title": "Titel",
|
"title": "Titel",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Mehr laden"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Το σχόλιο είναι πολύ μεγάλο ({{length}}/2000).",
|
"comment_field_too_long": "Το σχόλιο είναι πολύ μεγάλο ({{length}}/2000).",
|
||||||
"field_too_long": "Το πεδίο είναι πολύ μεγάλο.",
|
"field_too_long": "Το πεδίο είναι πολύ μεγάλο.",
|
||||||
"title": "Τίτλος",
|
"title": "Τίτλος",
|
||||||
"tags": "Ετικέτες"
|
"tags": "Ετικέτες",
|
||||||
|
"load_more": "Φορτώστε περισσότερα"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Comment too long ({{length}}/2000).",
|
"comment_field_too_long": "Comment too long ({{length}}/2000).",
|
||||||
"field_too_long": "Field too long.",
|
"field_too_long": "Field too long.",
|
||||||
"title": "Title",
|
"title": "Title",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Load More"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Comentario demasiado largo ({{length}}/2000).",
|
"comment_field_too_long": "Comentario demasiado largo ({{length}}/2000).",
|
||||||
"field_too_long": "Campo demasiado largo.",
|
"field_too_long": "Campo demasiado largo.",
|
||||||
"title": "Título",
|
"title": "Título",
|
||||||
"tags": "Etiquetas"
|
"tags": "Etiquetas",
|
||||||
|
"load_more": "Cargar más"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "کامنت خیلی طولانی است ({{length}}/2000).",
|
"comment_field_too_long": "کامنت خیلی طولانی است ({{length}}/2000).",
|
||||||
"field_too_long": "فیلد خیلی طولانی است.",
|
"field_too_long": "فیلد خیلی طولانی است.",
|
||||||
"title": "عنوان",
|
"title": "عنوان",
|
||||||
"tags": "برچسبها"
|
"tags": "برچسبها",
|
||||||
|
"load_more": "بارگذاری بیشتر"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Kommentti liian pitkä ({{length}}/2000).",
|
"comment_field_too_long": "Kommentti liian pitkä ({{length}}/2000).",
|
||||||
"field_too_long": "Kenttä liian pitkä.",
|
"field_too_long": "Kenttä liian pitkä.",
|
||||||
"title": "Otsikko",
|
"title": "Otsikko",
|
||||||
"tags": "Tunnisteet"
|
"tags": "Tunnisteet",
|
||||||
|
"load_more": "Lataa lisää"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Napakahabang komento ({{length}}/2000).",
|
"comment_field_too_long": "Napakahabang komento ({{length}}/2000).",
|
||||||
"field_too_long": "Ang field ay masyadong mahaba.",
|
"field_too_long": "Ang field ay masyadong mahaba.",
|
||||||
"title": "Pamagat",
|
"title": "Pamagat",
|
||||||
"tags": "Mga tag"
|
"tags": "Mga tag",
|
||||||
|
"load_more": "Mag-load ng higit pa"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Commentaire trop long ({{length}}/2000).",
|
"comment_field_too_long": "Commentaire trop long ({{length}}/2000).",
|
||||||
"field_too_long": "Champ trop long.",
|
"field_too_long": "Champ trop long.",
|
||||||
"title": "Titre",
|
"title": "Titre",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Charger plus"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "התגובה ארוכה מדי ({{length}}/2000).",
|
"comment_field_too_long": "התגובה ארוכה מדי ({{length}}/2000).",
|
||||||
"field_too_long": "המשדה ארוך מדי.",
|
"field_too_long": "המשדה ארוך מדי.",
|
||||||
"title": "כותרת",
|
"title": "כותרת",
|
||||||
"tags": "תגיות"
|
"tags": "תגיות",
|
||||||
|
"load_more": "טען עוד"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "टिप्पणी बहुत लंबी है ({{length}}/2000)।",
|
"comment_field_too_long": "टिप्पणी बहुत लंबी है ({{length}}/2000)।",
|
||||||
"field_too_long": "क्षेत्र बहुत लंबा है।",
|
"field_too_long": "क्षेत्र बहुत लंबा है।",
|
||||||
"title": "शीर्षक",
|
"title": "शीर्षक",
|
||||||
"tags": "टैग"
|
"tags": "टैग",
|
||||||
|
"load_more": "अधिक लोड करें"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Túl hosszú hozzászólás ({{length}}/2000).",
|
"comment_field_too_long": "Túl hosszú hozzászólás ({{length}}/2000).",
|
||||||
"field_too_long": "A mező túl hosszú.",
|
"field_too_long": "A mező túl hosszú.",
|
||||||
"title": "Cím",
|
"title": "Cím",
|
||||||
"tags": "Címkék"
|
"tags": "Címkék",
|
||||||
|
"load_more": "Töltsön be többet"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Komentar terlalu panjang ({{length}}/2000).",
|
"comment_field_too_long": "Komentar terlalu panjang ({{length}}/2000).",
|
||||||
"field_too_long": "Kolom terlalu panjang.",
|
"field_too_long": "Kolom terlalu panjang.",
|
||||||
"title": "Judul",
|
"title": "Judul",
|
||||||
"tags": "Tag"
|
"tags": "Tag",
|
||||||
|
"load_more": "Muat lebih banyak"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Commento troppo lungo ({{length}}/2000).",
|
"comment_field_too_long": "Commento troppo lungo ({{length}}/2000).",
|
||||||
"field_too_long": "Campo troppo lungo.",
|
"field_too_long": "Campo troppo lungo.",
|
||||||
"title": "Titolo",
|
"title": "Titolo",
|
||||||
"tags": "Tag"
|
"tags": "Tag",
|
||||||
|
"load_more": "Carica altro"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "コメントが長すぎます ({{length}}/2000)。",
|
"comment_field_too_long": "コメントが長すぎます ({{length}}/2000)。",
|
||||||
"field_too_long": "フィールドが長すぎます。",
|
"field_too_long": "フィールドが長すぎます。",
|
||||||
"title": "タイトル",
|
"title": "タイトル",
|
||||||
"tags": "タグ"
|
"tags": "タグ",
|
||||||
|
"load_more": "もっと読み込む"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "댓글이 너무 깁니다 ({{length}}/2000).",
|
"comment_field_too_long": "댓글이 너무 깁니다 ({{length}}/2000).",
|
||||||
"field_too_long": "필드가 너무 깁니다.",
|
"field_too_long": "필드가 너무 깁니다.",
|
||||||
"title": "제목",
|
"title": "제목",
|
||||||
"tags": "태그"
|
"tags": "태그",
|
||||||
|
"load_more": "더 보기"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "टिप्पणी खूप लांब आहे ({{length}}/2000).",
|
"comment_field_too_long": "टिप्पणी खूप लांब आहे ({{length}}/2000).",
|
||||||
"field_too_long": "फील्ड खूप लांब आहे.",
|
"field_too_long": "फील्ड खूप लांब आहे.",
|
||||||
"title": "सिरसक",
|
"title": "सिरसक",
|
||||||
"tags": "टॅग"
|
"tags": "टॅग",
|
||||||
|
"load_more": "अधिक लोड करा"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Commentaar te lang ({{length}}/2000).",
|
"comment_field_too_long": "Commentaar te lang ({{length}}/2000).",
|
||||||
"field_too_long": "Veld te lang.",
|
"field_too_long": "Veld te lang.",
|
||||||
"title": "Titel",
|
"title": "Titel",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Laad meer"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Kommentar for lang ({{length}}/2000).",
|
"comment_field_too_long": "Kommentar for lang ({{length}}/2000).",
|
||||||
"field_too_long": "Feltet er for langt.",
|
"field_too_long": "Feltet er for langt.",
|
||||||
"title": "Tittel",
|
"title": "Tittel",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Last inn mer"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Komentarz za długi ({{length}}/2000).",
|
"comment_field_too_long": "Komentarz za długi ({{length}}/2000).",
|
||||||
"field_too_long": "Pole jest za długie.",
|
"field_too_long": "Pole jest za długie.",
|
||||||
"title": "Tytuł",
|
"title": "Tytuł",
|
||||||
"tags": "Tagi"
|
"tags": "Tagi",
|
||||||
|
"load_more": "Załaduj więcej"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Comentário muito longo ({{length}}/2000).",
|
"comment_field_too_long": "Comentário muito longo ({{length}}/2000).",
|
||||||
"field_too_long": "Campo muito longo.",
|
"field_too_long": "Campo muito longo.",
|
||||||
"title": "Título",
|
"title": "Título",
|
||||||
"tags": "Tags"
|
"tags": "Tags",
|
||||||
|
"load_more": "Carregar mais"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Comentariu prea lung ({{length}}/2000).",
|
"comment_field_too_long": "Comentariu prea lung ({{length}}/2000).",
|
||||||
"field_too_long": "Câmp prea lung.",
|
"field_too_long": "Câmp prea lung.",
|
||||||
"title": "Titlu",
|
"title": "Titlu",
|
||||||
"tags": "Etichete"
|
"tags": "Etichete",
|
||||||
|
"load_more": "Încarcă mai mult"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Комментарий слишком длинный ({{length}}/2000).",
|
"comment_field_too_long": "Комментарий слишком длинный ({{length}}/2000).",
|
||||||
"field_too_long": "Поле слишком длинное.",
|
"field_too_long": "Поле слишком длинное.",
|
||||||
"title": "Заголовок",
|
"title": "Заголовок",
|
||||||
"tags": "Теги"
|
"tags": "Теги",
|
||||||
|
"load_more": "Загрузить больше"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Komentar shumë i gjatë ({{length}}/2000).",
|
"comment_field_too_long": "Komentar shumë i gjatë ({{length}}/2000).",
|
||||||
"field_too_long": "Fusha është shumë e gjatë.",
|
"field_too_long": "Fusha është shumë e gjatë.",
|
||||||
"title": "Titulli",
|
"title": "Titulli",
|
||||||
"tags": "Etiketa"
|
"tags": "Etiketa",
|
||||||
|
"load_more": "Ngarko më shumë"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Kommentar för lång ({{length}}/2000).",
|
"comment_field_too_long": "Kommentar för lång ({{length}}/2000).",
|
||||||
"field_too_long": "Fältet är för långt.",
|
"field_too_long": "Fältet är för långt.",
|
||||||
"title": "Titel",
|
"title": "Titel",
|
||||||
"tags": "Taggar"
|
"tags": "Taggar",
|
||||||
|
"load_more": "Läs mer"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "కమెంట్ చాలా పొడుగ్గా ఉంది ({{length}}/2000).",
|
"comment_field_too_long": "కమెంట్ చాలా పొడుగ్గా ఉంది ({{length}}/2000).",
|
||||||
"field_too_long": "ఫీల్డ్ చాలా పొడుగ్గా ఉంది.",
|
"field_too_long": "ఫీల్డ్ చాలా పొడుగ్గా ఉంది.",
|
||||||
"title": "శీర్షిక",
|
"title": "శీర్షిక",
|
||||||
"tags": "ట్యాగ్స్"
|
"tags": "ట్యాగ్స్",
|
||||||
|
"load_more": "మరింత లోడ్ చేయండి"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "คอมเมนต์ยาวเกินไป ({{length}}/2000)",
|
"comment_field_too_long": "คอมเมนต์ยาวเกินไป ({{length}}/2000)",
|
||||||
"field_too_long": "ฟิลด์ยาวเกินไป",
|
"field_too_long": "ฟิลด์ยาวเกินไป",
|
||||||
"title": "ชื่อเรื่อง",
|
"title": "ชื่อเรื่อง",
|
||||||
"tags": "แท็ก"
|
"tags": "แท็ก",
|
||||||
|
"load_more": "โหลดเพิ่มเติม"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Yorum çok uzun ({{length}}/2000).",
|
"comment_field_too_long": "Yorum çok uzun ({{length}}/2000).",
|
||||||
"field_too_long": "Alan çok uzun.",
|
"field_too_long": "Alan çok uzun.",
|
||||||
"title": "Başlık",
|
"title": "Başlık",
|
||||||
"tags": "Etiketler"
|
"tags": "Etiketler",
|
||||||
|
"load_more": "Daha fazla yükle"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Коментар занадто довгий ({{length}}/2000).",
|
"comment_field_too_long": "Коментар занадто довгий ({{length}}/2000).",
|
||||||
"field_too_long": "Поле занадто довге.",
|
"field_too_long": "Поле занадто довге.",
|
||||||
"title": "Заголовок",
|
"title": "Заголовок",
|
||||||
"tags": "Теги"
|
"tags": "Теги",
|
||||||
|
"load_more": "Завантажити більше"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "تبصرہ بہت طویل ہے ({{length}}/2000).",
|
"comment_field_too_long": "تبصرہ بہت طویل ہے ({{length}}/2000).",
|
||||||
"field_too_long": "فیلڈ بہت طویل ہے۔",
|
"field_too_long": "فیلڈ بہت طویل ہے۔",
|
||||||
"title": "عنوان",
|
"title": "عنوان",
|
||||||
"tags": "ٹٰیگ"
|
"tags": "ٹٰیگ",
|
||||||
|
"load_more": "مزید لوڈ کریں"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "Bình luận quá dài ({{length}}/2000).",
|
"comment_field_too_long": "Bình luận quá dài ({{length}}/2000).",
|
||||||
"field_too_long": "Trường quá dài.",
|
"field_too_long": "Trường quá dài.",
|
||||||
"title": "Tiêu đề",
|
"title": "Tiêu đề",
|
||||||
"tags": "Thẻ"
|
"tags": "Thẻ",
|
||||||
|
"load_more": "Tải thêm"
|
||||||
}
|
}
|
||||||
@@ -266,5 +266,6 @@
|
|||||||
"comment_field_too_long": "评论太长 ({{length}}/2000)。",
|
"comment_field_too_long": "评论太长 ({{length}}/2000)。",
|
||||||
"field_too_long": "字段太长。",
|
"field_too_long": "字段太长。",
|
||||||
"title": "标题",
|
"title": "标题",
|
||||||
"tags": "标签"
|
"tags": "标签",
|
||||||
|
"load_more": "加载更多"
|
||||||
}
|
}
|
||||||
@@ -77,7 +77,7 @@ const renderBoardsList = (subplebbits: any, isInCatalogView: boolean, subscripti
|
|||||||
<Link to={`/p/${sub.address}${isInCatalogView ? '/catalog' : ''}`}>
|
<Link to={`/p/${sub.address}${isInCatalogView ? '/catalog' : ''}`}>
|
||||||
{sub.address.endsWith('.eth') || sub.address.endsWith('.sol') ? sub.address : sub.address.slice(0, 10).concat('...')}
|
{sub.address.endsWith('.eth') || sub.address.endsWith('.sol') ? sub.address : sub.address.slice(0, 10).concat('...')}
|
||||||
</Link>
|
</Link>
|
||||||
{index !== subplebbits.length - 1 ? ' /' : null}
|
{index !== subplebbits?.length - 1 ? ' /' : null}
|
||||||
</span>
|
</span>
|
||||||
))}
|
))}
|
||||||
]{' '}
|
]{' '}
|
||||||
@@ -90,7 +90,7 @@ const renderBoardsList = (subplebbits: any, isInCatalogView: boolean, subscripti
|
|||||||
<Link to={`/p/${address}${isInCatalogView ? '/catalog' : ''}`}>
|
<Link to={`/p/${address}${isInCatalogView ? '/catalog' : ''}`}>
|
||||||
{address.endsWith('.eth') || address.endsWith('.sol') ? address : address.slice(0, 10).concat('...')}
|
{address.endsWith('.eth') || address.endsWith('.sol') ? address : address.slice(0, 10).concat('...')}
|
||||||
</Link>
|
</Link>
|
||||||
{index !== subscriptions.length - 1 ? ' /' : null}
|
{index !== subscriptions?.length - 1 ? ' /' : null}
|
||||||
</span>
|
</span>
|
||||||
))}
|
))}
|
||||||
]{' '}
|
]{' '}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { Subplebbit } from '@plebbit/plebbit-react-hooks';
|
|||||||
import useIsSubplebbitOffline from '../../../hooks/use-is-subplebbit-offline';
|
import useIsSubplebbitOffline from '../../../hooks/use-is-subplebbit-offline';
|
||||||
import styles from '../home.module.css';
|
import styles from '../home.module.css';
|
||||||
import { nsfwTags } from '../home';
|
import { nsfwTags } from '../home';
|
||||||
|
import { useState } from 'react';
|
||||||
|
|
||||||
const Board = ({ subplebbit, subplebbits }: { subplebbit: Subplebbit; subplebbits: any; useCatalog?: boolean }) => {
|
const Board = ({ subplebbit, subplebbits }: { subplebbit: Subplebbit; subplebbits: any; useCatalog?: boolean }) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
@@ -14,17 +15,20 @@ const Board = ({ subplebbit, subplebbits }: { subplebbit: Subplebbit; subplebbit
|
|||||||
const subplebbitData = subplebbits && subplebbits.find((sub: Subplebbit) => sub?.address === address);
|
const subplebbitData = subplebbits && subplebbits.find((sub: Subplebbit) => sub?.address === address);
|
||||||
const { isOffline, isOnlineStatusLoading, offlineIconClass, offlineTitle } = useIsSubplebbitOffline(subplebbitData);
|
const { isOffline, isOnlineStatusLoading, offlineIconClass, offlineTitle } = useIsSubplebbitOffline(subplebbitData);
|
||||||
|
|
||||||
|
const displayAddress = address === 'all' ? 'all' : Plebbit.getShortAddress(address);
|
||||||
|
const showOfflineIcon = address !== 'all' && (isOffline || isOnlineStatusLoading);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<tr className={styles.subplebbit} key={address}>
|
<tr className={styles.subplebbit} key={address}>
|
||||||
<td className={styles.boardAddress}>
|
<td className={styles.boardAddress}>
|
||||||
<p className={styles.boardCell}>
|
<p className={styles.boardCell}>
|
||||||
<Link to={`/p/${address}`}>{address && Plebbit.getShortAddress(address)}</Link>
|
<Link to={`/p/${address}`}>{displayAddress}</Link>
|
||||||
{(isOffline || isOnlineStatusLoading) && <span className={`${styles.offlineIcon} ${offlineIconClass}`} title={offlineTitle} />}
|
{showOfflineIcon && <span className={`${styles.offlineIcon} ${offlineIconClass}`} title={offlineTitle} />}
|
||||||
{nsfwTag && <span className={styles.nsfw}> ({t(nsfwTag)})</span>}
|
{nsfwTag && <span className={styles.nsfw}> ({t(nsfwTag)})</span>}
|
||||||
</p>
|
</p>
|
||||||
</td>
|
</td>
|
||||||
<td className={styles.boardTitle}>
|
<td className={styles.boardTitle}>
|
||||||
<p className={styles.boardCell}>{title || (address && Plebbit.getShortAddress(address))}</p>
|
<p className={styles.boardCell}>{title || displayAddress}</p>
|
||||||
</td>
|
</td>
|
||||||
<td className={styles.boardTags}>
|
<td className={styles.boardTags}>
|
||||||
<p className={styles.boardCell}>{tags.join(', ')}</p>
|
<p className={styles.boardCell}>{tags.join(', ')}</p>
|
||||||
@@ -35,6 +39,20 @@ const Board = ({ subplebbit, subplebbits }: { subplebbit: Subplebbit; subplebbit
|
|||||||
|
|
||||||
const BoardsList = ({ multisub, subplebbits }: { multisub: Subplebbit[]; subplebbits: any }) => {
|
const BoardsList = ({ multisub, subplebbits }: { multisub: Subplebbit[]; subplebbits: any }) => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
const [displayCount, setDisplayCount] = useState(15);
|
||||||
|
|
||||||
|
const handleLoadMore = () => {
|
||||||
|
setDisplayCount((prevCount) => prevCount + 15);
|
||||||
|
};
|
||||||
|
|
||||||
|
const visibleBoards = multisub.slice(0, displayCount);
|
||||||
|
const hasMoreBoards = displayCount < multisub.length;
|
||||||
|
|
||||||
|
const defaultBoard = {
|
||||||
|
address: 'all',
|
||||||
|
title: 'Temporary Default Subplebbits',
|
||||||
|
tags: ['multiboard'],
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.boardsBox}>
|
<div className={styles.boardsBox}>
|
||||||
@@ -51,11 +69,17 @@ const BoardsList = ({ multisub, subplebbits }: { multisub: Subplebbit[]; subpleb
|
|||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{multisub.map((sub) => (
|
<Board key='all' subplebbit={defaultBoard} subplebbits={subplebbits} />
|
||||||
|
{visibleBoards.map((sub) => (
|
||||||
<Board key={sub.address} subplebbit={sub} subplebbits={subplebbits} />
|
<Board key={sub.address} subplebbit={sub} subplebbits={subplebbits} />
|
||||||
))}
|
))}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
{hasMoreBoards && (
|
||||||
|
<div className={styles.loadMoreButton}>
|
||||||
|
[<span onClick={handleLoadMore}>{t('load_more')}</span>]
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -89,6 +89,23 @@
|
|||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.loadMoreButton {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 14px;
|
||||||
|
color: var(--topbar-separator-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.loadMoreButton span {
|
||||||
|
color: var(--topbar-desktop-link-text-color);
|
||||||
|
text-transform: capitalize;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loadMoreButton span:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
color: var(--button-desktop-text-color-hover);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
.boxBar, .infoboxBar {
|
.boxBar, .infoboxBar {
|
||||||
padding-left: 0.5em;
|
padding-left: 0.5em;
|
||||||
line-height: 2em;
|
line-height: 2em;
|
||||||
|
|||||||
Reference in New Issue
Block a user