Commit Graph

26 Commits

Author SHA1 Message Date
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
475e3577dd refactor(admin): redesign system wording layout with sidebar and tabs
Replace module and surface dropdowns with a sidebar and tabbed interface.
Improve navigation and usability in the admin wording section.
2026-05-02 11:57:59 +08:00
976a2a2482 feat(i18n): implement dynamic system wording management
Add database schema and API endpoints for system wording keys and values
Replace hardcoded translations in frontend and backend with dynamic messages
Add System Wordings management interface to Admin view
2026-05-02 11:48:11 +08:00
433b19eb67 feat(life): add tags to life posts and feed filtering
Allow users to select tags when creating or editing life posts
Add tag tabs to the life feed for filtering posts by tag
2026-05-02 00:16:30 +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
ca3ca35dfc feat(i18n): display only active language in translation fields
Update TranslationFields to render a single input for the current locale
Ensure entity base names fallback to the active locale translation on save
2026-05-01 14:11:31 +08:00
62406bdc84 fix(i18n): prevent base name overwrites when editing in localized UI
Include base names in API responses to correctly populate edit forms.
Show base values as placeholders in translation fields for better UX.
Use default locale when fetching previous state for history diffs.
2026-05-01 14:07:07 +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
bd068ce2f6 fix(ui): resolve transition key conflicts in reorderable lists
Add listKeyPrefix prop to ensure unique keys across list instances
Remove enter/leave transition styles to prevent animation glitches
2026-05-01 12:49:08 +08:00
239a2ec3b5 feat: add custom sorting for all major entities
Add sort_order column to pokemon, items, recipes, habitats, and configs
Implement drag-and-drop reordering in the admin interface
Update API endpoints and database queries to respect the new sort order
2026-05-01 12:30:46 +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
91dd834413 feat(checklist): add daily checklist feature with admin management
Add daily checklist view for users to track daily tasks
Support creating, editing, deleting, and drag-and-drop reordering in admin panel
2026-05-01 09:40:00 +08:00
a7086823ff feat: add skill item drops configuration for pokemon
Add `has_item_drop` flag to skills and `pokemon_skill_item_drops` table
Enable configuring item drops for specific pokemon skills in editor
Show skill item drops on pokemon and item detail pages
2026-04-30 16:02:43 +08:00
02f6dd47c3 refactor(skills): remove subcategory field from skills
Drop subcategory column from database schema and update constraints
Remove subcategory handling from backend queries and API endpoints
Clean up frontend components and admin views to reflect the change
2026-04-30 15:24:19 +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
b94450d3ba refactor(schema): invert relationship between items and recipes
Move item_id to recipes table and drop recipe_id from items
Update backend queries and admin UI to reflect the new domain model
2026-04-30 09:50:11 +08:00
be6902333d feat(ui): support inline creation of new options in TagsSelect
Add allowCreate prop and create event to TagsSelect component
Integrate inline creation for tags, skills, and methods in admin forms
2026-04-30 07:37:15 +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
7f36d6a916 feat: enhance habitat appearances and item relations
Replace item tags with favorite things to unify entity tagging
Allow multiple maps, times, and weathers per habitat appearance
Make item usage optional and translate API error messages to Chinese
Add .dockerignore files for backend and frontend
2026-04-30 06:34:23 +08:00
f6a40097c1 feat(admin): implement management UI and CRUD APIs for all entities
Add full CRUD operations for Pokemon, Habitats, Items, Recipes, and Configs
Switch package manager from npm to pnpm across the project
Remove static seed data in favor of UI-driven data management
2026-04-29 18:01:46 +08:00