Files
scrying-pool/templates/player-privacy-panel.hbs
T
uberwald fd0a7868f3 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>
2026-05-23 21:29:58 +02:00

52 lines
1.8 KiB
Handlebars

{{!-- Player Privacy Panel --}}
<div class="player-privacy-panel__container">
<header class="player-privacy-panel__header">
<h2 class="player-privacy-panel__title">{{title}}</h2>
</header>
<div class="player-privacy-panel__body">
{{#if isReadOnly}}
<div class="player-privacy-panel__notice player-privacy-panel__notice--readonly">
{{readOnlyNotice}}
</div>
{{/if}}
<section class="player-privacy-panel__section">
<h3 class="player-privacy-panel__section-header">{{sectionHeader}}</h3>
<p class="player-privacy-panel__section-description">
{{SCRYING_POOL.PrivacyPanel.sectionDescription}}
</p>
<div class="player-privacy-panel__effects-list">
{{#each automationEffects}}
<div class="player-privacy-panel__effect">
<div class="player-privacy-panel__effect-header">
<h4 class="player-privacy-panel__effect-label">{{label}}</h4>
<div class="player-privacy-panel__toggle">
<label class="player-privacy-panel__toggle-label">
<input
type="checkbox"
{{#if enabled}}checked{{/if}}
{{#if ../isReadOnly}}disabled{{/if}}
data-setting="{{settingKey}}"
class="player-privacy-panel__toggle-input"
>
<span class="player-privacy-panel__toggle-text">
{{#if enabled}}
{{../toggleOnLabel}}
{{else}}
{{../toggleOffLabel}}
{{/if}}
</span>
</label>
</div>
</div>
<p class="player-privacy-panel__effect-description">{{description}}</p>
</div>
{{/each}}
</div>
</section>
</div>
</div>