training-academy/docs/ANNOYANCE_SETTINGS_DOCUMENT...

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

  1. Rename "Annoyance" to "Settings" - More user-friendly terminology
  2. Add tooltips - Better explain complex settings
  3. Preview functionality - Real-time preview for all visual settings
  4. Preset configurations - Quick setup options for different use cases
  5. Advanced scheduling - Time-based message scheduling