Imagery imported for icons and items. Live updates working.

Hover tooltip working. Features.md added for better tracking.
This commit is contained in:
2025-10-28 08:41:04 +08:00
parent 4ea30cc12e
commit ea8484fca7
16068 changed files with 3097 additions and 6 deletions

View File

@@ -0,0 +1,318 @@
# Feature Implementation Status
This document tracks which features from the original `group-ironmen-master` project have been implemented in `os-league-tools-master`.
**Last Updated:** 2025-01-28
---
## ✅ IMPLEMENTED FEATURES
### Player Stats Display
- ✅ Hitpoints, Prayer, Energy bars with gradients
- ✅ World number and online/inactive status
- ✅ Last updated timestamp
### Skills Display
- ✅ All 23 skills in grid layout
- ✅ Skill boxes with current/true level display
- ✅ XP progress bars with color gradients (red→green)
- ✅ Background images (174-0.png, 175-0.png)
- ✅ Skill tooltips showing Total XP and XP until next level
- ✅ Skills reordered to match RuneLite's in-game order
- ✅ Combat level and Total level display
### Inventory Display
- ✅ 4×7 inventory grid with background image
- ✅ Item images (.webp format)
- ✅ Item quantities
### Equipment Display
- ✅ All 11 equipment slots with exact positioning
- ✅ Equipment background images
- ✅ Item rendering in correct slots
### XP Dropper
- ✅ Animated XP gain notifications
- ✅ Skill icons with XP amounts
- ✅ Stacked display when multiple skills gain XP
- ✅ 4-second scroll-up animation
- ✅ Correct skill mapping (alphabetical order from plugin)
### Group Management
- ✅ Multiple group support with localStorage
- ✅ Group token management
- ✅ Manual refresh button
- ✅ Auto-refresh every 2 seconds
- ✅ Expandable/collapsible member cards
### Backend Integration
- ✅ Spring Boot backend with MariaDB
- ✅ Case-insensitive member lookups
- ✅ REST API for group data
- ✅ Data transformation from backend arrays to frontend objects
---
## ❌ MISSING FEATURES
### High Priority - Core Features
#### 1. Item Tooltips
- **Status:** In Progress
- **Description:** Show item name, High Alch value, GE price on hover
- **Files Needed:** ItemBox.js updates, item database integration
- **Current State:** No tooltips on inventory/equipment items
#### 2. Bank Display
- **Status:** Not Started
- **Description:** Display player's bank inventory
- **Files Needed:** PlayerBank.js component
- **Current State:** Only showing equipment and inventory
- **Backend:** Data already available via API
#### 3. Items Page / Consolidated Inventory
- **Status:** Not Started
- **Description:** View all items across all players with filtering and sorting
- **Features:**
- View all items across all players
- Sort by quantity, value, alphabetical
- Player filter dropdown
- Search/filter functionality
- Pagination (200 items per page)
- Total GE value / High Alch value calculations
- **Files Needed:** ItemsPage.js, InventoryItem.js, InventoryPager.js
#### 4. Rune Pouch Display
- **Status:** Not Started
- **Description:** Special container for rune pouch contents
- **Files Needed:** RunePouch.js component
- **Backend:** Data available via rune_pouch field
#### 5. Seed Vault Display
- **Status:** Not Started
- **Description:** Display seed vault contents
- **Files Needed:** SeedVault.js component
- **Backend:** Data available via seed_vault field
---
### Medium Priority - Visualization & Tracking
#### 6. Skills Graphs / XP History
- **Status:** Not Started
- **Description:** Chart.js-based skill XP trends over time
- **Features:**
- Time period selector (Day, Week, Month, Year)
- Multi-player comparison on same chart
- Data table showing XP gains
- Overall skill breakdown
- **Files Needed:** SkillsGraphs.js, SkillGraph.js
- **Dependencies:** Chart.js library, backend XP history API endpoint
#### 7. Collection Log
- **Status:** Not Started
- **Description:** Track collection log completions across group
- **Features:**
- Collection log dialog with tabs (Bosses, Clues, Raids, PvM)
- Item completion tracking
- Which players have which items
- Completion percentages
- **Files Needed:** CollectionLog.js, CollectionLogTab.js, CollectionLogPage.js, CollectionLogItem.js
- **Backend:** Requires collection log API endpoint
#### 8. Quest Tracking
- **Status:** Not Started
- **Description:** Track quest completion across group
- **Features:**
- Quest list (Free, Members, Miniquests)
- Quest completion states (Not Started, In Progress, Finished)
- Quest points total
- Search/filter quests
- Difficulty indicators
- Wiki quick guide links
- **Files Needed:** PlayerQuests.js, quest data JSON
- **Backend:** Requires quests field in API
#### 9. Achievement Diaries
- **Status:** Not Started
- **Description:** Track achievement diary completion
- **Features:**
- 12 regional diaries
- Easy/Medium/Hard/Elite tier tracking
- Task-by-task completion
- Diary dialog with detailed tasks
- **Files Needed:** PlayerDiaries.js, DiaryCompletion.js, DiaryDialog.js, diaries data JSON
- **Backend:** Requires diary_vars field in API
#### 10. Interactive Map
- **Status:** Not Started
- **Description:** Canvas-based RuneScape world map with player tracking
- **Features:**
- Canvas-based world map rendering
- Player location markers
- Pan and zoom functionality (1x-6x)
- Multi-plane support (ground + 3 underground levels)
- Interacting markers (NPCs/objects)
- Location icons and labels
- Touch gesture support
- Real-time coordinate display
- **Files Needed:** MapPage.js, CanvasMap.js, Animation.js, map tiles, sprites
- **Backend:** Coordinates and interacting fields already available
#### 11. Player Interacting Display
- **Status:** Not Started
- **Description:** Show what NPC/object player is currently interacting with
- **Features:**
- Display NPC/object name
- NPC HP bar display
- 30-second stale timeout
- **Files Needed:** PlayerInteracting.js component
- **Backend:** Data already available via interacting field
---
### Low Priority - UI/UX Enhancements
#### 12. Search Functionality
- **Status:** Not Started
- **Description:** Global search for items and quests
- **Files Needed:** SearchElement.js component
#### 13. Multiple Panel View
- **Status:** Not Started
- **Description:** Dashboard view showing all players simultaneously
- **Files Needed:** PanelsPage.js layout
#### 14. Authentication
- **Status:** Not Started
- **Description:** User login/logout system
- **Current:** Using localStorage only
- **Files Needed:** LoginPage.js, LogoutPage.js, auth API integration
#### 15. Group Creation Wizard
- **Status:** Not Started
- **Description:** UI for creating and managing groups
- **Files Needed:** CreateGroup.js, GroupSettings.js, EditMember.js
#### 16. Setup Instructions
- **Status:** Not Started
- **Description:** Onboarding guide for new users
- **Files Needed:** SetupInstructions.js
#### 17. Donation/Social Links
- **Status:** Not Started
- **Description:** Support and social media links
- **Files Needed:** DonateButton.js, SocialLinks.js
#### 18. Loading Indicators
- **Status:** Partial
- **Description:** Better loading state management
- **Current:** Only shows "Loading..." text
- **Needed:** Full-screen loading spinner, LoadingScreen.js
#### 19. Confirm Dialogs
- **Status:** Not Started
- **Description:** Confirmation modal for destructive actions
- **Files Needed:** ConfirmDialog.js
---
### Infrastructure Differences
#### 20. Data Fetching Strategy
- **Current:** Polling every 2 seconds with forceReload
- **Original:** Pub/Sub event system with WebSocket-like updates
- **Trade-off:** More server load vs real-time feel
- **Future:** Consider WebSocket implementation for true real-time updates
#### 21. Item/Quest/Diary Data
- **Status:** Not Started
- **Description:** Comprehensive game data databases
- **Needed:**
- Item database with prices (High Alch, GE)
- Quest definitions database
- Diary tasks database
- **Current:** Minimal data models
---
## 📊 IMPLEMENTATION SUMMARY
| Category | Implemented | Total | Percentage |
|----------|-------------|-------|------------|
| **Core Display** | 5/7 | 7 | 71% |
| **Data Visualization** | 1/4 | 4 | 25% |
| **Tracking Systems** | 0/3 | 3 | 0% |
| **UI/UX Features** | 2/9 | 9 | 22% |
| **Overall** | **8/23** | **23** | **35%** |
---
## 🎯 RECOMMENDED IMPLEMENTATION ORDER
### Phase 1: Quick Wins (1-2 weeks)
1. ✅ Skill tooltips - **COMPLETE**
2. 🚧 Item tooltips - **IN PROGRESS**
3. Bank display component
4. Rune pouch display
5. Seed vault display
### Phase 2: Core Features (2-4 weeks)
6. Items page with sorting/filtering
7. Skills graphs / XP history
8. Player interacting display
9. Better loading indicators
### Phase 3: Advanced Tracking (4-6 weeks)
10. Collection log system
11. Quest tracking
12. Achievement diaries
13. Search functionality
### Phase 4: Advanced Features (6-8 weeks)
14. Interactive map with player locations
15. Multiple panel view
16. Authentication system
17. Group management UI
### Phase 5: Polish (1-2 weeks)
18. Setup instructions
19. Confirm dialogs
20. Donation/social links
21. WebSocket/real-time updates
---
## 📝 NOTES
### Technical Debt
- Consider migrating from 2-second polling to WebSocket for better performance
- Item/quest/diary databases need to be created or imported
- Map tile assets need to be sourced from original project
### Known Issues
- Auto-refresh every 2 seconds may cause high server load with many users
- No error handling for failed API requests beyond basic error messages
### Future Enhancements
- Mobile-responsive design improvements
- Progressive Web App (PWA) support
- Dark/light theme toggle
- Export data functionality (CSV, JSON)
- Group comparison tools
- Notification system for milestones
---
## 🔗 RELATED FILES
- **Backend:** `spring-backend/src/main/java/com/osleague/groupironmen/`
- **Frontend Components:** `os-league-tools-master/src/components/group/`
- **Data Models:** `os-league-tools-master/src/models/`
- **API Client:** `os-league-tools-master/src/client/group-ironmen-client.js`
- **Redux State:** `os-league-tools-master/src/store/group/`
---
*This document is maintained as features are added. Update the checkboxes and status fields as work progresses.*