# Changelog ## 2025-12-24 - Reworked the domain model into a single forum tree (category/forum types) with parent/child hierarchy and threads restricted to forum nodes. - Updated API Platform resources, filters, migrations, and JSON format support. - Added shared i18n: Symfony serves PO-based translations via `/api/i18n/{locale}` and React consumes them. - Refactored the React UI to browse forums, show sub-forums, and post threads only in forum nodes. - Added Apache rewrite rules for Symfony routing. - Added ACP forum management with CRUD, parent selection, drag-based ordering, and expand/collapse controls. - Added reorder endpoint and position handling for forum sorting per parent. - Improved ACP UX: iconized action buttons, category/forum badges, and responsive layout tweaks. - Added JWT username payload fix and increased token TTL to 24h. - Added frontend load-time indicator in the footer. - Added settings entity + migration for version/build metadata and synced version/build to composer.json. - Added `/api/version` endpoint returning version and build. - Refactored settings storage to key/value rows for version/build metadata. - Added indexes to speed up forum tree queries (parent ordering and type filters). - Added settings-driven accent color and API filter for settings key lookup. - Added settings-backed theme dropdown (auto/light/dark) and dark-mode styling tweaks. - Added settings key/value storage and `/api/version` for version/build in the UI footer. - Added system font stack to remove external font requests. - Improved ACP drag-and-drop hover reordering and visual drop target feedback. - Hardened ACP access so admin tools require authentication. - Updated the home page to render the forum tree with ACP-style rows and icons. ## 2025-12-26 - Replaced the Symfony backend with a fresh Laravel app in `api/`. - Added Fortify + Sanctum, API routes, and controllers for forums/threads/posts/settings/version. - Added Laravel migrations for forums, threads, posts, and settings (seeded with version/build/accent). - Added Laravel i18n endpoint backed by JSON translation files. - Updated frontend auth/register flow to work with Laravel tokens. ## 2025-12-29 - Merged the React app into the Laravel codebase under `resources/js`. - Moved the Laravel app to the repo root and removed the separate `api/` and `frontend/` folders. - Serve the SPA shell via Blade with Vite-managed React assets. - Dropped Tailwind tooling to keep the frontend Bootstrap-only. - Replaced the default Laravel README with a forum placeholder. - Updated ACP forum tools with accent-tinted buttons and larger action spacing. - Defaulted the ACP forum tree to collapsed on page load. - Improved ACP create/edit dialog copy based on forum vs category and hid type selection during creation. ## 2025-12-30 - Added soft deletes with audit metadata (deleted_at/deleted_by) for forums, threads, and posts. - Ensured API listings and ACP forum tree omit soft-deleted records by default. - Added thread seeding for forum test data. - Enforced category-only roots for forums (API validation, UI, and database constraint). - Added portal header with phpBB-style breadcrumb + quick links, plus notifications/messages + user menu. - Replaced the home page with a portal-style layout and latest posts list. - Added a dedicated board index page with phpBB-like sections and per-category collapse toggles. - Persisted board index collapse state per user via user_settings (DB + API + client cache). - Added category view rendering for subcategories in ForumView. - Updated thread list UI (icons, spacing) and New topic button styling in ForumView. - Added ACP per-category quick-create buttons for child categories and forums. - Removed the legacy navbar and cleaned up related styling. - Added ACP general settings for forum name, theme, accents, and logo (no reload required). - Added admin-only upload endpoints and ACP UI for logos and favicons. - Applied forum branding, theme defaults, accents, logos, and favicon links in the SPA header.