fd0a7868f3
- 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>
52 lines
1.8 KiB
Handlebars
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>
|