5.7 KiB
5.7 KiB
Annoyance Management System - Complete Settings Documentation
Overview
The "Annoyance Management" system (currently named, planned to be renamed to "Settings") is a configuration interface for importing and exporting message data.
Tab Structure
1. 💬 Messages Tab
Purpose: Manage motivational flash messages that appear during gameplay
Message Management
- Enable Flash Messages (checkbox) - Master toggle for all flash messages
- Add Message Button - Create new custom messages
Message Editor
- Message Text (textarea, 200 char limit) - The actual message content
- Category (dropdown):
- 💪 Motivational
- 🌟 Encouraging
- 🏆 Achievement
- 🔥 Persistence
- ✨ Custom
- Priority (dropdown):
- Normal
- High
- Low
Message List Controls
- Category Filter (dropdown) - Filter messages by category (All, Motivational, Encouraging, Achievement, Persistence, Custom)
- Show Disabled Messages (checkbox) - Include disabled messages in list
- Message Stats Display - Shows count of total/enabled/disabled messages
2. 🎨 Appearance Tab
Purpose: Customize visual appearance of flash messages
Position & Animation
- Position (dropdown):
- Center
- Top Center
- Bottom Center
- Top Left
- Top Right
- Bottom Left
- Bottom Right
- Center Left
- Center Right
- Animation (dropdown):
- Fade
- Slide
- Bounce
- Pulse
Visual Styling
- Font Size (slider: 16px-48px, default: 24px)
- Opacity (slider: 50%-100%, default: 90%)
- Text Color (color picker, default: #ffffff)
- Background Color (color picker, default: #007bff)
Controls
- Reset to Defaults Button - Restore default appearance settings
- Preview Style Button - Test current appearance settings
3. ⚡ Behavior Tab
Purpose: Configure timing and behavior of flash messages
Core Behavior Settings
- Focus Interruption Chance (slider: 0%-50%, default: 0%)
- Chance for focus-hold interruptions during scenario adventures
- 0% = disabled, max 50%
- Display Duration (slider: 1.0s-10.0s, default: 3.0s)
- Interval Between Messages (slider: 10s-300s, default: 45s)
- Random Variation (slider: 0s-30s, default: ±5s)
- Adds random time variation to prevent predictability
Advanced Options
- Enable Event-Based Messages (checkbox, default: checked)
- Show special messages for task completion, streaks, etc.
- Pause Timer on Message Hover (checkbox, default: unchecked)
- Pause message fade when hovering (useful for reading)
Testing
- Test Current Settings Button - Preview behavior with current settings
4. 🖼️ Popup Images Tab
Purpose: Configure punishment popups that appear when tasks are skipped
Master Control
- Enable Punishment Popups (toggle switch)
Image Count Settings
- Count Mode (dropdown):
- Fixed Amount
- Random (1-10)
- Custom Range
- Number of Images (slider: 1-40, default: 3) - for Fixed mode
- Custom Range (number inputs) - Min: 1-20, Max: 2-40
Display Duration Settings
- Duration Mode (dropdown):
- Fixed Duration
- Random (5-15s)
- Custom Range
- Duration (slider: 3s-30s, default: 8s) - for Fixed mode
- Custom Range (number inputs) - Min: 2-20s, Max: 5-60s
Positioning & Layout
- Layout Style (dropdown):
- Random Positions
- Cascading
- Grid Layout
- Center (stacked)
- Allow Overlapping (toggle switch)
Size Settings
- Max Viewport Width (slider: 20%-60%, default: 35%)
- Max Viewport Height (slider: 20%-60%, default: 40%)
- Min Width (number input: 150-400px, default: 200px)
- Max Width (number input: 300-800px, default: 500px)
- Min Height (number input: 100-300px, default: 150px)
- Max Height (number input: 200-600px, default: 400px)
Visual Effects
- Fade In/Out Animation (toggle switch)
- Blur Background (toggle switch)
- Show Countdown Timer (toggle switch)
- Prevent Manual Close (toggle switch)
Testing & Status
- Test 1 Popup Button - Test single popup
- Test Multiple Button - Test multiple popups
- Clear All Button - Remove all active popups
- Available Images Count - Display count of available images
- Active Popups Count - Display count of currently active popups
5. 📁 Import/Export
Purpose: Backup, share, and manage message configurations
Export Options
- Export All Messages Button - Export complete message set
- Export Enabled Only Button - Export only active messages
- Export Custom Only Button - Export only user-created messages
Import Options
- Import Messages Button - Load messages from file
- File Input - JSON file selection
- Import Mode (radio buttons):
- Merge with existing (default)
- Replace all messages
Reset Options
- Reset to Default Messages Button - Restore original message set
- Clear All Messages Button - Remove all messages (⚠️ Warning: Cannot be undone)
Global Controls
- Back to Start Button - Return to main menu
- Save All Settings Button - Apply and save all configuration changes
Technical Notes
-
All settings are persisted to localStorage
-
Flash messages use the FlashMessageManager class
-
Popup images use the PopupImageManager class
-
Import/Export uses JSON format for data portability
-
Settings are organized in a tabbed interface for better UX
Recommended Improvements
- Rename "Annoyance" to "Settings" - More user-friendly terminology
- Add tooltips - Better explain complex settings
- Preview functionality - Real-time preview for all visual settings
- Preset configurations - Quick setup options for different use cases
- Advanced scheduling - Time-based message scheduling