Zum Inhalt springen

MediaWiki:Gadget-LabelScan.css: Unterschied zwischen den Versionen

Aus ADOS Wiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
/* LabelScan – UI */
/* ==== LabelScan: gekapseltes Layout ==================================== */
#ados-labelscan {
#ados-labelscan {  
   --bg: #f7f7f7;
   --gap: 12px;
   --card: #fff;
  --border: #e6e6e6;
  --muted: #f7f7f8;
   --card: #ffffff;
   --text: #1f2937;
   --text: #1f2937;
   --muted: #6b7280;
   --sub: #6b7280;
  --primary: #0ea5e9;
   --radius: 12px;
  --primary-600: #0284c7;
   max-width: 1200px;
  --ring: rgba(14,165,233,.25);
   margin-inline: auto;
   --radius: 14px;
   max-width: 920px;
   margin: 0 auto;
  padding: 12px;
   color: var(--text);
   color: var(--text);
}
}
#ados-labelscan *, #ados-labelscan *::before, #ados-labelscan *::after { box-sizing: border-box; }
#ados-labelscan img { max-width: 100%; height: auto; display: block; }
/* Grid */
#ados-labelscan .scan-grid { display: grid; gap: var(--gap); grid-template-columns: 1fr; }
@media (min-width: 900px) {
  #ados-labelscan .scan-grid { grid-template-columns: 1.2fr .8fr; }
}
#ados-labelscan .col { display: flex; flex-direction: column; gap: var(--gap); }
/* Card */
#ados-labelscan .card {
#ados-labelscan .card {
   background: var(--card);
   background: var(--card);
   border: 1px solid #e5e7eb;
   border: 1px solid var(--border);
   border-radius: var(--radius);
   border-radius: var(--radius);
   box-shadow: 0 2px 10px rgba(0,0,0,.04);
  padding: 12px 14px;
  padding: 14px;
   box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
#ados-labelscan h2 {
  margin: 0 0 .25rem;
  font-size: clamp(1.25rem, 2.8vw, 1.6rem);
}
#ados-labelscan .sub {
  margin: 0;
  color: var(--muted);
}
 
.scan-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr;
}
@media (min-width: 900px){
  .scan-grid { grid-template-columns: 1.15fr .85fr; align-items: start; }
}
}
#ados-labelscan h2 { margin: 0 0 .25rem; font-size: 1.4rem; }
#ados-labelscan .sub { color: var(--sub); margin: 0; }


/* Dropzone */
/* Dropzone */
.ados-drop {
#ados-labelscan .ados-drop {
   border: 2px dashed #d1d5db;
   display: flex; flex-direction: column; align-items: center; gap: .4rem;
  border-radius: var(--radius);
   padding: 16px; border: 2px dashed #d7d7d9; border-radius: var(--radius);
  background: #fafafa;
   background: var(--muted);
   padding: 16px;
  text-align: center;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.ados-drop.is-dragover {
  border-color: var(--primary);
   background: #f0f9ff;
  box-shadow: 0 0 0 4px var(--ring);
}
.ados-drop .icon {
  font-size: 38px;
  line-height: 1;
  margin-bottom: 6px;
}
}
.ados-drop .help {
#ados-labelscan .ados-drop .icon { font-size: 2rem; }
  color: var(--muted);
#ados-labelscan .ados-drop .help { color: var(--sub); font-size: .95em; }
  margin-top: 4px;
#ados-labelscan .ados-drop.dragover { border-color: #3b82f6; background: #eef5ff; }
  font-size: .95rem;
}
.ados-drop input[type="file"] { display: none; }


/* Buttons */
/* Buttons */
.btn {
#ados-labelscan .btn {
   display: inline-flex; align-items: center; justify-content: center;
   appearance: none; border: 1px solid var(--border); background: #fff; color: #111;
  gap: .5rem;
   padding: .5rem .75rem; border-radius: 999px; cursor: pointer; font-weight: 600;
   padding: .6rem .9rem;
  border-radius: 999px;
  border: 1px solid #d1d5db;
  background: #fff;
  color: #111827;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s ease, transform .02s ease;
}
}
.btn:hover { background: #f3f4f6; }
#ados-labelscan .btn:hover { background: #f3f4f6; }
.btn:active { transform: translateY(1px); }
#ados-labelscan .btn-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
.btn-primary {
#ados-labelscan .btn-primary:hover { background: #1d4ed8; }
  border-color: var(--primary);
#ados-labelscan .btn-ghost { background: transparent; }
  background: var(--primary);
#ados-labelscan .ados-scan__pick { text-align: center; }
  color: #fff;
}
.btn-primary:hover { background: var(--primary-600); }
.btn-ghost { background: transparent; }


.action-row { display:flex; flex-wrap: wrap; gap: 8px; }
/* Status / Progress */
 
#ados-labelscan .statusbar { display: flex; align-items: center; gap: .6rem; color: var(--sub); margin-top: .4rem; }
/* Status + Progress */
#ados-labelscan progress { width: 140px; height: 8px; }
.statusbar {
  display:flex; align-items:center; gap: 10px;
  margin-top: 8px;
}
#ados-scan-status { color: var(--muted); }
#ados-scan-progress {
  width: 180px; height: 8px; appearance: none;
}
#ados-scan-progress::-webkit-progress-bar { background:#e5e7eb; border-radius: 999px; }
#ados-scan-progress::-webkit-progress-value { background: var(--primary); border-radius: 999px; }
#ados-scan-progress::-moz-progress-bar { background: var(--primary); border-radius: 999px; }


/* Preview */
/* Preview */
.preview {
#ados-labelscan .preview {  
   display: grid; place-items: center;
   min-height: 180px; display: flex; align-items: center; justify-content: center;
   background: #f8fafc;
   background: var(--muted); border: 1px dashed #ddd; border-radius: var(--radius);
  border: 1px solid #e5e7eb;
  border-radius: var(--radius);
  min-height: 140px;
  overflow: hidden;
}
}
.preview img { max-width: 100%; height: auto; display: block; }
#ados-labelscan .preview .note { color: var(--sub); }


/* Ergebnisse */
/* Results */
.results .hit {
#ados-labelscan .results { display: flex; flex-wrap: wrap; gap: 10px; }
  display: grid; grid-template-columns: 72px 1fr; gap: 10px;
#ados-labelscan .results .empty { color: var(--sub); }
  align-items: center;
#ados-labelscan .ados-hit { width: 170px; text-align: center; }
  padding: 10px; border-bottom: 1px dashed #e5e7eb;
#ados-labelscan .ados-hit img { border-radius: 8px; border: 1px solid var(--border); background: #fff; }
}
#ados-labelscan .ados-hit a { color: inherit; text-decoration: none; }
.results .hit:last-child { border-bottom: 0; }
#ados-labelscan .ados-hit a:hover { text-decoration: underline; }
.results .hit img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; border: 1px solid #e5e7eb; }
.results .hit a { font-weight: 700; text-decoration: none; }
.results .hit a:hover { text-decoration: underline; }
.results .empty { color: var(--muted); padding: 8px; }
 
/* Hinweise */
.note {
  font-size: .92rem; color: var(--muted);
}


/* Dark Mode */
/* Dark mode freundlich */
@media (prefers-color-scheme: dark){
@media (prefers-color-scheme: dark) {
   #ados-labelscan { --bg:#0f1115; --card:#171a21; --text:#e5e7eb; --muted:#a1a1aa; --primary:#38bdf8; --primary-600:#0ea5e9; --ring: rgba(56,189,248,.25); }
   #ados-labelscan { --border:#2f2f33; --muted:#18181b; --card:#111113; --text:#e5e7eb; --sub:#9ca3af; }
   .ados-drop { background:#151922; border-color:#2a3343; }
   #ados-labelscan .preview { border-color:#2f2f33; }
   .ados-drop.is-dragover { background:#0b1a25; }
   #ados-labelscan .btn { background:#16161a; color:#e5e7eb; border-color:#2f2f33; }
  .preview { background:#0f141c; border-color:#2a3343; }
   #ados-labelscan .btn:hover { background:#1b1b21; }
  .results .hit img { border-color:#2a3343; }
   #ados-labelscan .card { border-color:#2a3343; box-shadow:none; }
  .btn { background:#111827; border-color:#2a3343; color:#e5e7eb; }
  .btn:hover { background:#0f141c; }
}
}

Aktuelle Version vom 7. November 2025, 22:59 Uhr

/* ==== LabelScan: gekapseltes Layout ==================================== */
#ados-labelscan { 
  --gap: 12px;
  --border: #e6e6e6;
  --muted: #f7f7f8;
  --card: #ffffff;
  --text: #1f2937;
  --sub: #6b7280;
  --radius: 12px;
  max-width: 1200px;
  margin-inline: auto;
  color: var(--text);
}
#ados-labelscan *, #ados-labelscan *::before, #ados-labelscan *::after { box-sizing: border-box; }
#ados-labelscan img { max-width: 100%; height: auto; display: block; }

/* Grid */
#ados-labelscan .scan-grid { display: grid; gap: var(--gap); grid-template-columns: 1fr; }
@media (min-width: 900px) {
  #ados-labelscan .scan-grid { grid-template-columns: 1.2fr .8fr; }
}
#ados-labelscan .col { display: flex; flex-direction: column; gap: var(--gap); }

/* Card */
#ados-labelscan .card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,.05);
}
#ados-labelscan h2 { margin: 0 0 .25rem; font-size: 1.4rem; }
#ados-labelscan .sub { color: var(--sub); margin: 0; }

/* Dropzone */
#ados-labelscan .ados-drop {
  display: flex; flex-direction: column; align-items: center; gap: .4rem;
  padding: 16px; border: 2px dashed #d7d7d9; border-radius: var(--radius);
  background: var(--muted);
}
#ados-labelscan .ados-drop .icon { font-size: 2rem; }
#ados-labelscan .ados-drop .help { color: var(--sub); font-size: .95em; }
#ados-labelscan .ados-drop.dragover { border-color: #3b82f6; background: #eef5ff; }

/* Buttons */
#ados-labelscan .btn {
  appearance: none; border: 1px solid var(--border); background: #fff; color: #111;
  padding: .5rem .75rem; border-radius: 999px; cursor: pointer; font-weight: 600;
}
#ados-labelscan .btn:hover { background: #f3f4f6; }
#ados-labelscan .btn-primary { background: #2563eb; border-color: #2563eb; color: #fff; }
#ados-labelscan .btn-primary:hover { background: #1d4ed8; }
#ados-labelscan .btn-ghost { background: transparent; }
#ados-labelscan .ados-scan__pick { text-align: center; }

/* Status / Progress */
#ados-labelscan .statusbar { display: flex; align-items: center; gap: .6rem; color: var(--sub); margin-top: .4rem; }
#ados-labelscan progress { width: 140px; height: 8px; }

/* Preview */
#ados-labelscan .preview { 
  min-height: 180px; display: flex; align-items: center; justify-content: center;
  background: var(--muted); border: 1px dashed #ddd; border-radius: var(--radius);
}
#ados-labelscan .preview .note { color: var(--sub); }

/* Results */
#ados-labelscan .results { display: flex; flex-wrap: wrap; gap: 10px; }
#ados-labelscan .results .empty { color: var(--sub); }
#ados-labelscan .ados-hit { width: 170px; text-align: center; }
#ados-labelscan .ados-hit img { border-radius: 8px; border: 1px solid var(--border); background: #fff; }
#ados-labelscan .ados-hit a { color: inherit; text-decoration: none; }
#ados-labelscan .ados-hit a:hover { text-decoration: underline; }

/* Dark mode freundlich */
@media (prefers-color-scheme: dark) {
  #ados-labelscan { --border:#2f2f33; --muted:#18181b; --card:#111113; --text:#e5e7eb; --sub:#9ca3af; }
  #ados-labelscan .preview { border-color:#2f2f33; }
  #ados-labelscan .btn { background:#16161a; color:#e5e7eb; border-color:#2f2f33; }
  #ados-labelscan .btn:hover { background:#1b1b21; }
}