Add profile color palette feature with quick-select modal
- Added per-profile color palette storage in profile JSON files - Created Color Palette modal for managing profile colors - Added quick-select modal window when clicking color pickers - Implemented palette color selection to apply to active tab colors - Added 'Use Color Picker' button in quick palette modal - Fixed pattern selection to properly update UI - Improved color picker interaction to prevent conflicts between quick palette and native picker
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
<button id="add-tab-btn" class="btn btn-primary">+ Add Tab</button>
|
||||
<button id="edit-tab-btn" class="btn btn-secondary">Edit Tab</button>
|
||||
<button id="delete-tab-btn" class="btn btn-danger">Delete Tab</button>
|
||||
<button id="color-palette-btn" class="btn btn-secondary">Color Palette</button>
|
||||
<button id="profiles-btn" class="btn btn-secondary">Profiles</button>
|
||||
</div>
|
||||
</header>
|
||||
@@ -114,6 +115,79 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="profiles-modal" class="modal">
|
||||
<div class="modal-content" style="min-width: 500px;">
|
||||
<h2>Profiles</h2>
|
||||
<div id="profiles-list-container" style="margin: 1rem 0; max-height: 400px; overflow-y: auto;">
|
||||
<div id="profiles-list"></div>
|
||||
</div>
|
||||
<div style="margin-top: 1rem;">
|
||||
<label>New Profile Name:</label>
|
||||
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
|
||||
<input type="text" id="new-profile-name" placeholder="Enter profile name" style="flex: 1;">
|
||||
<button id="create-profile-btn" class="btn btn-primary">Create</button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 1rem;">
|
||||
<label>Current Profile:</label>
|
||||
<div id="current-profile-display" style="padding: 0.5rem; background-color: #3a3a3a; border-radius: 4px; margin-top: 0.5rem;">
|
||||
<span id="current-profile-name">None</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 1.5rem;">
|
||||
<label>Profile Color Palette:</label>
|
||||
<div id="profile-palette-container" style="margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.5rem; background-color: #3a3a3a; border-radius: 4px; min-height: 60px;">
|
||||
<!-- Palette colors will be rendered here -->
|
||||
</div>
|
||||
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
|
||||
<input type="color" id="new-palette-color" value="#000000" style="width: 60px; height: 40px; border: 1px solid #4a4a4a; border-radius: 4px; cursor: pointer;">
|
||||
<button id="add-palette-color-btn" class="btn btn-small">Add to Palette</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button id="profiles-close-btn" class="btn btn-secondary">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="color-palette-modal" class="modal">
|
||||
<div class="modal-content" style="min-width: 500px;">
|
||||
<h2>Color Palette</h2>
|
||||
<div style="margin-top: 1rem;">
|
||||
<label>Current Profile:</label>
|
||||
<div id="palette-current-profile-display" style="padding: 0.5rem; background-color: #3a3a3a; border-radius: 4px; margin-top: 0.5rem;">
|
||||
<span id="palette-current-profile-name">None</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 1.5rem;">
|
||||
<label>Profile Color Palette:</label>
|
||||
<div id="palette-container" style="margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.5rem; background-color: #3a3a3a; border-radius: 4px; min-height: 60px;">
|
||||
<!-- Palette colors will be rendered here -->
|
||||
</div>
|
||||
<div style="display: flex; gap: 0.5rem; margin-top: 0.5rem;">
|
||||
<input type="color" id="palette-new-color" value="#000000" style="width: 60px; height: 40px; border: 1px solid #4a4a4a; border-radius: 4px; cursor: pointer;">
|
||||
<button id="palette-add-color-btn" class="btn btn-small">Add to Palette</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-actions">
|
||||
<button id="color-palette-close-btn" class="btn btn-secondary">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="quick-palette-modal" class="modal">
|
||||
<div class="modal-content" style="min-width: 500px; max-width: 600px;">
|
||||
<h2>Select Color from Palette</h2>
|
||||
<div id="quick-palette-container" style="margin-top: 1rem; display: flex; flex-wrap: wrap; gap: 0.75rem; padding: 1rem; background-color: #3a3a3a; border-radius: 4px; min-height: 200px; max-height: 500px; overflow-y: auto;">
|
||||
<!-- Palette colors will be rendered here -->
|
||||
</div>
|
||||
<div class="modal-actions" style="margin-top: 1rem;">
|
||||
<button id="quick-palette-use-picker-btn" class="btn btn-secondary">Use Color Picker</button>
|
||||
<button id="quick-palette-close-btn" class="btn btn-secondary">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{{ url_for('static', filename='app.js') }}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user