Commit Graph

21 Commits

Author SHA1 Message Date
fa656a8d02 refactor(auth): migrate fully to HTTP-only cookie sessions
Remove client-side token storage and Authorization header injection
Backend login now only returns user data, omitting the session token
Remove Authorization from backend CORS allowed headers
Clean up obsolete VITE_* environment variable fallbacks
Update Modal component to use Vue useId() instead of Math.random()
2026-05-06 17:15:46 +08:00
f26cfdc830 refactor(frontend): remove top-level await from useAsyncData
Transition to non-blocking data fetching to prevent navigation delays.
Initial data is now applied via immediate watchers instead of blocking setup.
2026-05-06 16:35:03 +08:00
425f2f4d5f feat(ssr): load Pokemon lists and forward auth cookies on server
Update auth middleware to pass incoming request cookies to api.me()
Refactor API service to support custom headers via ApiRequestOptions
Use useAsyncData in PokemonList to fetch initial data during SSR
Ensure graceful fallback to client-side fetching on SSR failure
2026-05-06 10:50:51 +08:00
c821e9ebba feat: implement infinite scrolling for public entity lists
Add cursor-based pagination to backend list queries
Introduce LoadMoreSentinel for intersection-based loading
Replace manual load more buttons with infinite scroll sentinel
2026-05-06 08:33:08 +08:00
5ccc25b248 feat: separate regular and event entities for Pokemon and Habitats
Add dedicated routes and navigation for Event Pokemon and Event Habitats
Update API endpoints to filter by isEventItem and adapt frontend views
2026-05-04 06:50:37 +08:00
05f531ddf2 feat(auth): implement role-based access control (RBAC)
Add roles, permissions, and user_roles tables with default seed data
Protect backend API endpoints with granular permission checks
Add admin UI for managing users, roles, and permissions
Update frontend views to conditionally render actions based on permissions
2026-05-03 11:16:58 +08:00
3d99f00c75 feat(wiki): add event item flag and decouple pokemon display ID
Add `is_event_item` to pokemon, items, and habitats.
Separate internal `id` and `display_id` for pokemon to allow event variants.
Update frontend forms and views to support the new fields.
2026-05-03 10:11:04 +08:00
97f06794a8 refactor(pokemon): simplify list card to display only image and name
Remove environment, types, skills, and meta from the list view
Update CSS and skeleton loaders for a centered, larger image layout
2026-05-02 21:37:09 +08:00
cf0ae566c0 feat(pokemon): add image selection and display from pokesprite
Add image metadata fields to Pokemon schema and API
Implement image candidate fetching from pokesprite static tree
Add Pokédex-style image picker to edit form and display in details
2026-05-02 20:59:33 +08:00
e8e20539c9 feat(pokemon): add CSV data fetch to populate edit form
Allow users to search and fetch Pokemon data from local CSV files
Auto-populate basic fields, stats, types, and translations
Add type icons to Pokemon detail and list views
2026-05-02 11:02:02 +08:00
49aae3bd7c feat(pokemon): add types, stats, genus, dimensions, and details
Update schema and API to support expanded Pokemon profile fields
Add UI for editing and displaying types, base stats, and dimensions
Support translations for details and genus fields
2026-05-01 17:58:33 +08:00
9fece8f54f feat(ui): add icons to navigation and UI components
Integrate @iconify/vue for consistent iconography across the app
Enhance buttons, entity cards, and status messages with visual indicators
2026-05-01 14:31:29 +08:00
6812ddc428 feat(ui): use modal dialogs for entity creation and editing
Introduce reusable Modal component for forms
Update router to preserve scroll position when toggling modals
Refactor admin and entity views to render editors as overlays
2026-05-01 13:44:34 +08:00
27100fbd22 feat(i18n): add full-stack internationalization support
Add languages and entity_translations tables to database schema
Implement localized queries and translation management in backend
Integrate frontend i18n and add translation UI components
2026-05-01 12:04:49 +08:00
3e8265e0c8 feat(ui): extract entity forms into dedicated edit views
Move entity creation and editing from AdminView to separate pages.
Simplify AdminView to focus on system configuration and record deletion.
Add action buttons to list/detail views and protect routes via meta tags.
2026-04-30 15:12:32 +08:00
dabbf0ec70 feat(ui): replace text loading states with skeleton loaders
Add skeleton CSS classes to main.css for consistent loading UI
Apply skeleton loading states to Admin, Habitat, Item, Pokemon, Recipe, and Auth views
Improve perceived performance and accessibility during data fetching
2026-04-30 14:20:57 +08:00
b39e37ca28 feat(ui): overhaul frontend design system and layout
Introduce reusable UI components (AppShell, EntityCard, PageHeader)
Implement Pokemon-themed CSS variables and responsive grids
Refactor all views to adopt the new component structure
2026-04-30 13:52:44 +08:00
0f5ff7be15 feat: implement community editing with audit logs and user attribution
Add created/updated tracking and edit logs to all wiki tables
Restrict create/update/delete operations to verified users
Display edit metadata on frontend detail and list views
2026-04-30 11:53:29 +08:00
193b4e3fd5 feat(ui): add single selection and keyboard navigation to TagsSelect
Add `multiple` prop to support single-value selection
Implement keyboard navigation (Up/Down/Enter) for dropdown options
Replace native select elements with TagsSelect across views
2026-04-30 11:07:28 +08:00
98e258d45f feat(ui): introduce searchable TagsSelect component for multi-selects
Replace native multiple selects across admin and list views
Improve UX with searchable dropdowns and tag-based selections
2026-04-30 07:07:17 +08:00
b428595769 initial commit 2026-04-29 17:46:58 +08:00