Commit Graph
369 Commits
Author SHA1 Message Date
plebeius 70ba14591a feat: implement mod queue 2026-01-07 16:03:02 +01:00
plebeius 5a072a0307 fix type errors 2026-01-06 18:10:58 +01:00
plebeius 352466ecf3 Fix search bar navigation and disclaimer modal behavior 2026-01-03 19:02:59 +01:00
plebeius 9fe31c873b refactor: clean up imports and move inline component definitions after imports 2026-01-03 16:17:48 +01:00
plebeius f5cf263481 fix(popular-threads): update memo comparator to include multisub entry titles 2026-01-03 16:04:37 +01:00
plebeius 4c4e1209aa fix(board): subscribe to transient state and error fields separately 2026-01-03 16:04:33 +01:00
plebeius fa32833b2a perf(components): prevent rerenders from updatingState
Use Zustand selectors with custom equality functions to only subscribe to specific fields needed by components, avoiding unnecessary rerenders when transient state like updatingState changes. Extract offline indicators into separate components to isolate rerenders. Memoize card components in catalog and popular threads views.
2026-01-02 16:42:16 +01:00
plebeius 6724f91c79 fix(post): redirect to 404 when thread URL specifies wrong board 2025-12-31 20:14:51 +01:00
plebeius 341e72ad5b fix(error-display): add delay to prevent false positive error displays 2025-12-31 16:00:58 +01:00
plebeius 48f7fe6dc4 style(home): update 5chan description links 2025-12-31 15:45:04 +01:00
plebeius d725348d9e Update faq.tsx 2025-12-31 15:44:45 +01:00
plebeius 652385561b feat(all-feed): add NSFW/SFW filter 2025-12-29 16:18:59 +01:00
plebeius 790c341976 refactor(views): remove redundant DOM and CSS declarations 2025-12-29 15:59:32 +01:00
plebeius d800ee9817 feat(rules): add rules page with board selector 2025-12-29 00:26:15 +01:00
plebeius 5aa1eaf13a fix(views): use directory codes in document titles and fix order 2025-12-28 23:13:25 +01:00
plebeius c0e6f5fe5c unused var 2025-12-28 22:18:57 +01:00
plebeius c094786f97 pass threadNumber to reply modal store 2025-12-28 22:16:38 +01:00
plebeius 882b7b4a99 feat: add infinite scroll for replies 2025-12-27 18:07:23 +01:00
plebeius 34bebda4f7 fix eslint warnings 2025-12-23 19:21:48 +01:00
plebeius 5e79ce91b6 refactor: remove description and rules mock posts
Removed all fake posts for subplebbit description and rules, including dedicated routes, components, and all related logic across the codebase. Board admins can now pin regular posts if they want to provide a description.
2025-12-23 19:14:25 +01:00
plebeius 92c801c154 update directory title 2025-12-17 13:12:02 +01:00
plebeius 80e7af81f3 refactor: remove hide gore boards and hide adult boards functionality 2025-12-15 17:04:26 +01:00
plebeius 0d488389a5 feat(footer): add feedback and contact links and update styling 2025-12-14 17:54:21 +01:00
plebeius 5f00be5b23 update homepage footer 2025-12-14 16:03:13 +01:00
plebeius 198b6135da fix: show cached feed time filter in UI 2025-12-08 23:52:13 +01:00
plebeius 1a6ac4a2be fix: use stable time filter for virtuoso state key in cached feeds 2025-12-08 23:32:42 +01:00
plebeius 896ca4ad13 perf: implement LRU-cached persistent feed mounting to eliminate Virtuoso flash
Keep Board/Catalog feeds mounted outside React Router's control to prevent
Virtuoso from remounting when navigating to/from post pages. The feed is
hidden via CSS when viewing posts and shown again when returning, eliminating
the visible flash/displacement that occurred during scroll restoration.

- Add FeedCacheContainer to manage LRU cache of 2 feeds
- Modify Board/Catalog to accept cache props and visibility state
- Add route utilities for feed/post route detection
2025-12-08 22:40:16 +01:00
plebeius 9e13292ae3 fix: reset board scroll on link nav
Force scroll-to-top on link navigation while keeping POP restores, and scope Virtuoso keys per pathname to avoid cross-board scroll leakage.
2025-12-08 13:03:25 +01:00
plebeius c1a66ca61e refactor(home): prevent layout shift in popular threads loading
Remove boards list loading state since default data is available synchronously. Add min-height to popular threads loading state to reserve space and prevent container resize. Left-align loading text in popular threads.
2025-12-06 16:39:22 +01:00
plebeius 5de2587cf4 feat(post): add moderator and administrator role indicators 2025-11-28 13:29:31 +01:00
plebeius f037a669c0 refactor: remove broken anon mode feature
- delete the anon mode hook/store and stop wiring publish flows through alternate signers
  - strip the settings UI, avatar warning, reply indicators, and FAQ text that referenced the toggle
  - drop the anon mode translation keys via scripts/update-translations.js
2025-11-25 13:13:38 +01:00
plebeius f3941c7fb0 style(boards list): add mobile design 2025-11-18 16:38:11 +01:00
plebeius ad1a017c57 missing color 2025-11-13 21:15:47 +01:00
plebeius 594be88210 fix(boards-list): hide Multiboards section when filtering for worksafe boards 2025-11-13 12:23:59 +01:00
plebeius 12101fe75e feat: add Multiboards category with /subs/ and /all/ 2025-11-12 16:35:38 +01:00
plebeius e3e25995d6 feat(board): add more_threads_last_year suggestion 2025-11-08 15:56:32 +01:00
plebeius b886cbdf3b fix(routing): handle empty boardPath and resolve directory codes 2025-11-07 18:54:45 +01:00
plebeius 128b6b1986 style: replace strikethrough with gray color for unassigned board directories 2025-11-07 18:53:15 +01:00
plebeius d78fed1fda refactor(routing): migrate to directory-based board routing 2025-11-07 12:50:58 +01:00
plebeius 79dcc73556 refactor(modals): split directory modal into separate create board modal
Separate DirectoryModal (for home view placeholders) and CreateBoardModal (for board view create button) into distinct components with their own stores, allowing independent styling and cleaner separation of concerns.
2025-11-06 22:20:46 +01:00
plebeius 5f06fdf461 feat(ui): add context-aware directory modal with different content for placeholder vs create board
Add modal context tracking to show different content when opened from placeholder board clicks vs create board button. Include information about Subscribe button and pubsub voting discovery pages. Update README with comprehensive explanation of 5chan's competitive directory system and value proposition.
2025-11-06 17:07:26 +01:00
plebeius ace4b0c8db fix(directory-modal): move to global layout and close on navigation 2025-11-06 16:37:09 +01:00
plebeius e627b6b619 feat(directory-modal): add modal explaining how to submit boards to directories 2025-11-06 16:23:55 +01:00
plebeius 36bd9c5c0f feat(boards-list): mark Flash, Oekaki, Artwork/Critique, Wallpapers/General as NSFW 2025-11-06 15:52:45 +01:00
plebeius c5c364faea adjust styling 2025-11-06 11:43:31 +01:00
plebeius cc88d805f4 fix body font size 2025-11-05 22:33:50 +01:00
plebeius 43a46be904 refactor(home): make boards list layout identical to 4chan 2025-11-05 20:14:11 +01:00
plebeius 8de4fba9ed fix: remove duplicate .filterModal .separator CSS rule 2025-11-05 19:55:11 +01:00
plebeius a9690ac0be feat(home): redesign boards list to match 4chan with filtering and catalog support 2025-11-05 19:50:31 +01:00
plebeius 2a25d7353c feat(home): add disclaimer modal for board navigation 2025-11-04 17:20:01 +01:00