76 lines
3.3 KiB
Handlebars
76 lines
3.3 KiB
Handlebars
<div class="cr-config">
|
|
<header class="cr-header">
|
|
<h2>{{localize "CONFIGURABLE_REACTIONS.App.Title"}}</h2>
|
|
<button type="button" data-action="createReaction">
|
|
<i class="fa-solid fa-plus"></i> {{localize "CONFIGURABLE_REACTIONS.Reactions.Create"}}
|
|
</button>
|
|
</header>
|
|
|
|
<section class="cr-grid">
|
|
<aside class="cr-sidebar">
|
|
<div class="form-group">
|
|
<label>{{localize "CONFIGURABLE_REACTIONS.Reactions.Selected"}}</label>
|
|
<select name="selectedReactionId">
|
|
{{#each reactions}}
|
|
<option value="{{this.id}}" {{#if (eq this.id ../selectedReaction.id)}}selected{{/if}}>{{this.name}}</option>
|
|
{{/each}}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="cr-button-column">
|
|
<button type="button" data-action="assignSelectedTokens" {{#unless selectedReaction}}disabled{{/unless}}>
|
|
<i class="fa-solid fa-crosshairs"></i> {{localize "CONFIGURABLE_REACTIONS.Assignments.AssignSelectedTokens"}}
|
|
</button>
|
|
<button type="button" data-action="addStatusAction" {{#unless selectedReaction}}disabled{{/unless}}>
|
|
<i class="fa-solid fa-circle-plus"></i> {{localize "CONFIGURABLE_REACTIONS.Actions.AddStatus"}}
|
|
</button>
|
|
<button type="button" data-action="addTeleportAction" {{#unless selectedReaction}}disabled{{/unless}}>
|
|
<i class="fa-solid fa-circle-plus"></i> {{localize "CONFIGURABLE_REACTIONS.Actions.AddTeleport"}}
|
|
</button>
|
|
<button type="button" data-action="deleteReaction" {{#unless selectedReaction}}disabled{{/unless}}>
|
|
<i class="fa-solid fa-trash"></i> {{localize "CONFIGURABLE_REACTIONS.Reactions.Delete"}}
|
|
</button>
|
|
</div>
|
|
|
|
<h3>{{localize "CONFIGURABLE_REACTIONS.Assignments.Title"}}</h3>
|
|
<ol class="cr-assignment-list">
|
|
{{#each assignments}}
|
|
<li>
|
|
<div>
|
|
<strong>{{this.name}}</strong>
|
|
<small>{{this.mode}} · {{this.reactionName}}</small>
|
|
</div>
|
|
<button type="button" data-action="removeAssignment" data-assignment-id="{{this.id}}" title="{{localize 'CONFIGURABLE_REACTIONS.Common.Remove'}}">
|
|
<i class="fa-solid fa-xmark"></i>
|
|
</button>
|
|
</li>
|
|
{{/each}}
|
|
</ol>
|
|
</aside>
|
|
|
|
<main class="cr-main">
|
|
{{#if selectedReaction}}
|
|
<div class="cr-reaction-summary">
|
|
<h3>{{selectedReaction.name}}</h3>
|
|
<p><strong>ID:</strong> <code>{{selectedReaction.id}}</code></p>
|
|
<p><strong>{{localize "CONFIGURABLE_REACTIONS.Trigger.Label"}}:</strong> {{selectedReaction.trigger.type}}</p>
|
|
<p><strong>{{localize "CONFIGURABLE_REACTIONS.Actions.Title"}}:</strong> {{selectedReaction.actions.length}}</p>
|
|
</div>
|
|
|
|
<div class="form-group stacked">
|
|
<label>{{localize "CONFIGURABLE_REACTIONS.Reactions.JsonEditor"}}</label>
|
|
<textarea name="reactionJson" spellcheck="false">{{selectedReactionJson}}</textarea>
|
|
</div>
|
|
|
|
<footer class="cr-footer">
|
|
<button type="button" data-action="saveReactionJson">
|
|
<i class="fa-solid fa-floppy-disk"></i> {{localize "CONFIGURABLE_REACTIONS.Common.Save"}}
|
|
</button>
|
|
</footer>
|
|
{{else}}
|
|
<p>{{localize "CONFIGURABLE_REACTIONS.Reactions.None"}}</p>
|
|
{{/if}}
|
|
</main>
|
|
</section>
|
|
</div>
|