Commit Graph

48 Commits

Author SHA1 Message Date
22016365d8 feat: add pokemon trading preferences and item tag inference
Introduce trading preference (Likes/Neutral) for Pokemon with trading skills
Infer possible hidden tags for items based on trading observations
Update import/export, wipe, and admin config to support trading data
2026-05-05 22:54:32 +08:00
0e2743b469 chore(db): clean up redundant schema migrations and legacy import logic
Remove obsolete ALTER TABLE statements and data migration blocks that are already reflected in base
table definitions.
Simplify data tool import normalization by removing legacy artifact mapping and unused entity types.
2026-05-05 11:51:08 +08:00
5a83a73108 refactor(items): merge ancient artifacts into items data model
Migrate ancient artifacts to items table using a category key.
Consolidate detail and edit views into ItemDetail and ItemEdit.
Update API, search, and data tools to reflect unified structure.
2026-05-05 10:50:07 +08:00
9312156a3c feat(items): add base price and support usage in creation defaults
Add `base_price` to items schema, API, and edit history
Display and edit base price in item details and forms
Add `clearable` prop to TagsSelect for optional single selections
Include usage in item creation session defaults
2026-05-05 08:59:36 +08:00
28f4e6032c refactor: remove display ID from items and ancient artifacts
Drop display_id column from items and ancient_artifacts tables
Remove display ID inputs, labels, and sorting logic across the stack

BREAKING CHANGE: behavior is not backward compatible.
2026-05-04 21:32:00 +08:00
2220d5d595 feat(dish): add dish management and public view
Add database schema, permissions, and API endpoints for dishes
Implement frontend views and admin management for dish data
2026-05-04 21:00:23 +08:00
2ff2519647 feat(comments): add sorting and liking functionality
Support sorting by oldest, latest, most-liked, and most-replied.
Implement like/unlike actions for Life and Entity Discussion comments.
2026-05-04 17:29:09 +08:00
8cb8190554 feat(users): implement user following system and following feed
Add follow/unfollow actions and social stats to user profiles
Introduce Following feed scope in Life view
Add notifications for new followers
2026-05-04 15:49:57 +08:00
07698e063d feat(moderation): add user-facing reasons for rejected or failed content
Prompt AI models to provide short explanations for rejected content
Store reasons in database and broadcast via WebSocket
Display moderation details in UI for authors and admins
2026-05-04 11:18:54 +08:00
a25f1661b5 feat(notifications): add real-time notification system
Add database tables for notifications and WebSocket tickets
Implement REST API and WebSocket server for real-time delivery
Add NotificationBell component with dropdown and unread badge
Trigger alerts for comments, reactions, and AI moderation results
2026-05-04 10:40:14 +08:00
4238be7761 feat: add ancient artifacts and refactor item categories
Introduce Ancient Artifacts with full CRUD and image support
Migrate item categories and usages to system-defined lists
Add display_id to items and artifacts for custom sorting
2026-05-04 08:28:56 +08:00
f2a8b67ebf feat(admin): add data tools for export, import, and wipe
Add admin.data.export and admin.data.import permissions
Implement backend logic and API endpoints for data bundle management
Add Data Tools tab to admin interface with scope selection
Support Pokemon, Habitats, Items, Recipes, and Daily CheckList scopes
2026-05-04 00:56:37 +08:00
fa06d24826 feat(pokemon): store official data identity separate from display ID
Add data_id and data_identifier to pokemon schema
Use official data ID as internal route ID for non-event pokemon
Prevent applying fetched data with mismatched ID to existing pokemon
2026-05-04 00:06:22 +08:00
deb0b54e71 feat(admin): make user rate limits configurable via admin UI
Add rate_limit_settings table and corresponding admin permissions
Replace static user rate limits with dynamic in-memory counters
Add interface in admin panel to configure rate limit policies
2026-05-03 22:11:41 +08:00
105274eec8 feat(life): add game versions and 5-star ratings to posts
Support associating life posts with specific game versions
Allow 1-5 star ratings on posts in rateable categories
Add feed filters for game version, rateable status, and top-rated sorting
2026-05-03 18:38:33 +08:00
6782ddd101 feat(life): replace multiple tags with single category for posts
Add default category support and enforce one category per Life Post
Update UI filters, forms, and translations to reflect category semantics
2026-05-03 17:34:32 +08:00
18baf7b513 feat(moderation): add AI moderation for user-generated content
Add AI moderation settings, caching, and status tracking
Require AI approval for Life Posts, Comments, and Discussions
Implement language filtering and moderation status UI
Add retry mechanism for failed moderation checks
2026-05-03 17:08:51 +08:00
8f55db9061 feat(auth): enforce role level boundaries and owner assignment rules
Add `admin.users.assign-owner` permission to control Owner role assignment.
Restrict role assignment to roles strictly below the assigner's highest level.
2026-05-03 14:50:52 +08:00
0e835f9c03 feat(profile): add public user profiles with activity tabs and stats
Add API routes for user stats, posts, reactions, and comments
Implement profile view with Feeds, Contributions, Reactions tabs
Link to user profiles from edit history, discussions, and life posts
Add database indexes to optimize user-centric queries
2026-05-03 13:14:29 +08:00
b9ec8076ac feat(auth): assign default editor role to verified users without roles
Update bootstrap rules to grant 'editor' role to verified users
Backfill existing verified users without roles in schema.sql
Apply default role automatically during email verification
2026-05-03 12:41:00 +08:00
043ebe392a refactor(backend): localize validation errors and consolidate schema
Replace hardcoded validation error messages with i18n keys.
Merge ALTER TABLE statements into initial CREATE TABLE definitions.
Clean up obsolete data migration scripts from schema file.
2026-05-03 12:16:26 +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
05898f9441 feat(auth): add user referral system with invite codes
Generate unique referral codes for users
Allow new users to register with a referral code
Display referral stats and invite link in user profile
2026-05-03 10:27:45 +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
784cbdacd1 feat(wiki): add community image upload for wiki entities
Support uploading images for Pokemon, Items, and Habitats
Track upload history in new entity_image_uploads table
Update entity cards to display uploaded images and usage ribbons
2026-05-03 01:08:45 +08:00
4a42756e2e feat(auth): add password reset and remember me options
Add password reset request and reset endpoints with email verification
Add "Remember me" option to login for persistent sessions
Create frontend views for forgot and reset password flows
2026-05-02 22:13:10 +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
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
b0d18a845d feat(discussion): add discussion feature for game entities
Create entity_discussion_comments table and API endpoints
Add discussion tabs to Pokemon, Item, Recipe, and Habitat detail views
Support top-level comments, single-level replies, and deletion
2026-05-02 09:54:00 +08:00
f1ed1e7e40 feat(life): implement soft delete for life posts
Add deleted_at and deleted_by_user_id to life_posts schema
Update queries to filter out and prevent interactions with deleted posts
2026-05-02 00:22:48 +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
71b7e838ed feat(life): add reactions to life posts
Support 'like', 'helpful', 'fun', and 'thanks' reactions.
Add API endpoints and database schema for post reactions.
Update UI with reaction picker and summary counts.
2026-05-01 21:49:56 +08:00
a683982b80 feat(life): add comments and replies to life posts
Introduce life_post_comments table for nested comment threads
Add API endpoints to create, reply to, and delete comments
Implement frontend UI with engagement counts and collapsible threads
2026-05-01 21:29:25 +08:00
cd1891cc82 feat(life): add community feed for user posts
Add life_posts schema and CRUD API endpoints
Implement LifeView with inline composer and feed display
2026-05-01 21:03:09 +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
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
60cad3f5e8 feat(history): add detailed edit history tracking and display panel
Record field-level before/after changes in wiki_edit_logs
Replace EditMeta with EditHistoryPanel on entity detail pages
Update detail views to use a sidebar layout for history
2026-05-01 07:59:29 +08:00
45e0276158 feat: add noRecipe flag to items and revamp recipe list
Add noRecipe toggle to item editor to prevent recipe creation
Change RecipeList to display items and their recipe status
Show recipe details and related recipes directly in ItemDetail
2026-04-30 16:52:59 +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
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
9af8c98401 feat(auth): implement user authentication and email verification
Add registration, login, and logout flows with session management
Integrate Resend for email verification tokens
Create frontend auth views and update topbar state
2026-04-30 11:32:46 +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
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
b428595769 initial commit 2026-04-29 17:46:58 +08:00