157 lines
6.7 KiB
HTML
157 lines
6.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Pigmento</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<h1>Pigmento</h1>
|
|
<nav>
|
|
<button class="tab-btn active" data-tab="picker">Picker</button>
|
|
<button class="tab-btn" data-tab="eingabe">Eingabe</button>
|
|
<button class="tab-btn" data-tab="harmonien">Harmonien</button>
|
|
<button class="tab-btn" data-tab="sammlung">Sammlung</button>
|
|
</nav>
|
|
</header>
|
|
|
|
<main>
|
|
<section id="tab-picker" class="tab-content active">
|
|
<h2>Farbe aus Bild</h2>
|
|
<div id="picker-dropzone">
|
|
<p>Bild hierher ziehen, einfügen (Strg+V) oder</p>
|
|
<button class="action-btn" id="picker-file-trigger">Datei wählen</button>
|
|
<input type="file" id="picker-file-input" accept="image/*" style="display:none">
|
|
</div>
|
|
<canvas id="picker-canvas" style="display:none;max-width:100%;cursor:crosshair;border-radius:8px;border:1px solid #ddd"></canvas>
|
|
<div id="picker-result" style="display:none;margin-top:1rem">
|
|
<div id="picker-preview" class="color-preview"></div>
|
|
<div class="color-codes">
|
|
<div class="color-code-group">
|
|
<label for="picker-hex">Hex</label>
|
|
<input id="picker-hex" type="text" readonly>
|
|
</div>
|
|
<div class="color-code-group">
|
|
<label for="picker-rgb">RGB</label>
|
|
<input id="picker-rgb" type="text" readonly>
|
|
</div>
|
|
<div class="color-code-group">
|
|
<label for="picker-hsl">HSL</label>
|
|
<input id="picker-hsl" type="text" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="btn-row">
|
|
<button class="action-btn" id="picker-fav-btn">Zu Favoriten</button>
|
|
<button class="action-btn" id="picker-schema-btn">Zu Schema hinzufügen</button>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section id="tab-eingabe" class="tab-content">
|
|
<h2>Farbe eingeben</h2>
|
|
<div id="eingabe-preview" class="color-preview" style="background:#3a8fc1"></div>
|
|
<div class="color-codes">
|
|
<div class="color-code-group">
|
|
<label for="eingabe-hex">Hex</label>
|
|
<input id="eingabe-hex" type="text" value="#3a8fc1" maxlength="7">
|
|
</div>
|
|
<div class="color-code-group">
|
|
<label for="eingabe-rgb">RGB</label>
|
|
<input id="eingabe-rgb" type="text" value="58, 143, 193">
|
|
</div>
|
|
<div class="color-code-group">
|
|
<label for="eingabe-hsl">HSL</label>
|
|
<input id="eingabe-hsl" type="text" value="204, 54%, 49%">
|
|
</div>
|
|
</div>
|
|
<div class="btn-row">
|
|
<button class="action-btn" id="eingabe-fav-btn">Zu Favoriten</button>
|
|
<button class="action-btn" id="eingabe-schema-btn">Zu Schema hinzufügen</button>
|
|
</div>
|
|
</section>
|
|
<section id="tab-harmonien" class="tab-content">
|
|
<h2>Farbharmonien</h2>
|
|
<p class="subtitle">Ausgangsfarbe: <span id="harmonien-base-hex">#3a8fc1</span></p>
|
|
<div id="harmonien-base-preview" class="color-preview" style="height:50px"></div>
|
|
<div id="harmonien-grid" style="display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem"></div>
|
|
</section>
|
|
<section id="tab-sammlung" class="tab-content">
|
|
<h2>Sammlung</h2>
|
|
|
|
<div class="btn-row" style="margin-bottom:1.5rem">
|
|
<button class="action-btn" id="sammlung-export-btn">Exportieren</button>
|
|
<button class="action-btn" id="sammlung-import-btn">Importieren</button>
|
|
</div>
|
|
|
|
<h3>Favoriten</h3>
|
|
<div id="sammlung-favoriten" style="display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem"></div>
|
|
|
|
<h3>Verlauf (letzte 20)</h3>
|
|
<div id="sammlung-history" style="display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem"></div>
|
|
|
|
<h3>Farbschemata</h3>
|
|
<button class="action-btn" id="schema-erstellen-btn" style="margin-bottom:1rem">+ Schema erstellen</button>
|
|
<div id="sammlung-schemata"></div>
|
|
</section>
|
|
</main>
|
|
|
|
<!-- Schema-Modal -->
|
|
<div id="schema-modal-overlay" class="modal-overlay" style="display:none">
|
|
<div class="modal">
|
|
<h2 style="margin-bottom:1rem">Neues Farbschema</h2>
|
|
|
|
<div class="modal-field">
|
|
<label for="schema-name-input">Name</label>
|
|
<input id="schema-name-input" type="text" placeholder="z.B. Website Relaunch">
|
|
</div>
|
|
|
|
<div class="modal-field">
|
|
<label>Vorschaubild <span style="color:#aaa;font-size:0.7rem;text-transform:none">(optional)</span></label>
|
|
<div id="schema-bild-bereich" style="display:flex;align-items:center;gap:0.75rem">
|
|
<div id="schema-bild-preview" class="schema-bild-preview"></div>
|
|
<div>
|
|
<button class="action-btn" id="schema-bild-trigger" type="button">Bild hochladen</button>
|
|
<input type="file" id="schema-bild-input" accept="image/*" style="display:none">
|
|
<button class="action-btn" id="schema-bild-entfernen-btn" type="button" style="display:none;margin-left:0.4rem;font-size:0.75rem">Entfernen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="schema-farben-preview" class="schema-farben-preview"></div>
|
|
|
|
<div id="schema-farbe-eingabe">
|
|
<p id="schema-farbe-label" class="subtitle" style="margin-bottom:0.5rem">Farbe 1</p>
|
|
|
|
<div class="modal-field">
|
|
<label for="schema-hex-input">Hex-Code</label>
|
|
<div style="display:flex;gap:0.5rem;align-items:center">
|
|
<input id="schema-hex-input" type="text" placeholder="#3a8fc1" maxlength="7" style="width:120px">
|
|
<div id="schema-hex-preview" style="width:36px;height:36px;border-radius:6px;border:1px solid #ddd;background:#eee;flex-shrink:0"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="subtitle" style="margin:0.75rem 0 0.5rem">oder Bild hochladen</p>
|
|
<div id="schema-dropzone" class="schema-dropzone">
|
|
<p>Bild hier ablegen oder</p>
|
|
<button class="action-btn" id="schema-file-trigger" type="button">Datei wählen</button>
|
|
<input type="file" id="schema-file-input" accept="image/*" style="display:none">
|
|
</div>
|
|
<canvas id="schema-canvas" style="display:none;max-width:100%;cursor:crosshair;border-radius:6px;border:1px solid #ddd;margin-top:0.5rem"></canvas>
|
|
|
|
<div class="btn-row" style="margin-top:1rem">
|
|
<button class="action-btn" id="schema-farbe-hinzufuegen-btn" type="button">Farbe hinzufügen</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="btn-row" style="margin-top:1.5rem;justify-content:space-between">
|
|
<button class="action-btn" id="schema-abbrechen-btn" type="button">Abbrechen</button>
|
|
<button class="action-btn" id="schema-abschliessen-btn" type="button" style="background:#222;color:#fff;border-color:#222" disabled>Abschließen</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="module" src="js/app.js"></script>
|
|
</body>
|
|
</html>
|