Story 4.1: Tasks 3-6 Complete - Director's Board Integration & Settings Menu

- Task 3: Extended FoundryAdapter with user flag access methods
  - Added getFlag(userId, scope, key) method
  - Added setFlag(userId, scope, key, value) method
  - Added getFlagModule(userId, key) convenience method
  - Added setFlagModule(userId, key, value) convenience method

- Task 4: Integrated Privacy Settings with Director's Board
  - Updated participant-card.hbs to show Reaction Cam badge
  - Modified boardUtils.js to pass playerPrivacyManager through context
  - Updated DirectorsBoard to accept and pass playerPrivacyManager
  - Added CSS styles for Reaction Cam badge (SP accent color)

- Task 5: Registered PlayerPrivacyPanel in module settings
  - Added settings menu registration in module.js Hooks.once('ready')
  - Available to all users (restricted: false)
  - Uses localized labels and hints

- Task 6: Added all localization strings
  - Added SCRYING_POOL.PrivacyPanel.* strings for panel UI
  - Added SCRYING_POOL.Settings.* strings for settings menu

- Updated story file with task completion status

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
This commit is contained in:
2026-05-23 21:29:58 +02:00
parent 61f362004e
commit fd0a7868f3
13 changed files with 1049 additions and 47 deletions
+20 -1
View File
@@ -136,6 +136,25 @@
},
"SCRYING_POOL": {
"UnknownScene": "Unknown Scene",
"firstBadgeEncounter": "First Badge Encounter"
"firstBadgeEncounter": "First Badge Encounter",
"PrivacyPanel": {
"title": "Player Privacy Panel",
"sectionHeader": "Automation Opt-ins",
"sectionDescription": "Control which automation features can affect your camera and on-screen presence.",
"reactionCamLabel": "Reaction Cam",
"reactionCamDescription": "Automatically show your camera during key moments (combat, rolls, etc.)",
"hpReactiveCamStylingLabel": "HP-Reactive Cam Styling",
"hpReactiveCamStylingDescription": "Apply visual styling to your camera based on your character's HP",
"toggleOn": "Enabled",
"toggleOff": "Disabled",
"readOnlyNotice": "This player's privacy settings are read-only. You cannot modify another player's consent preferences.",
"savedNotification": "Privacy settings saved",
"saveError": "Failed to save privacy settings"
},
"Settings": {
"PlayerPrivacyPanel": "Player Privacy Panel",
"PlayerPrivacyPanelLabel": "Control automation effects for your camera",
"PlayerPrivacyPanelHint": "Opt in or out of Reaction Cam, HP-Reactive Cam Styling, and other automation features"
}
}
}