1
0

auto-git:

[change] index.html
This commit is contained in:
2025-06-02 23:24:45 +02:00
parent d87d05a006
commit c8b3c10f8f

View File

@@ -6,206 +6,326 @@
<script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.tailwindcss.com"></script>
<style> <style>
:root { :root {
/* Default-Modus: Weißes Panel mit Rosa-Akzenten */ --bg-main: #fff;
--bg-main: #fff; /* Hintergrund Content */ --bg-sidebar: #fff1f2;
--bg-sidebar: #fff1f2; /* Sidebar */ --accent: #9f1239;
--accent: #9f1239; /* Rosa */
--border: #ffe4e6; --border: #ffe4e6;
} }
body.sky-mode {
/* Sky-Mode: Himmelshintergrund und passende Akzente */
--bg-main: rgb(173,216,230); /* sanftes Baby-Blau */
--bg-sidebar: rgb(200,220,240); /* etwas dunkleres Blau */
--accent: rgb(20,60,100); /* dunkles Marine-Blau als Akzent */
--border: rgb(180,200,220);
}
body { body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
overflow: hidden; margin: 0;
background: var(--bg-main);
color: #23262f;
} }
/* Außenschale für den Diff: overflow + max-height */ .container {
.diff-container { max-width: 850px;
max-height: 0; margin: 3em auto;
overflow: hidden; background: var(--bg-main);
transition: max-height 0.3s ease; padding: 2em 2em 2.5em 2em;
background-color: #f3f4f6; border-radius: 18px;
box-shadow: 0 6px 36px rgba(159,18,57,0.09), 0 2px 8px rgba(159,18,57,0.04);
border: 1.5px solid var(--border);
} }
/* Pfeil-Icon: 90°-Rotation */ h2 {
.rotate { margin: 0 0 1.2em 0;
transition: transform 0.3s ease; font-size: 2.1em;
} font-weight: 700;
.rotate.open { color: var(--accent);
transform: rotate(90deg); letter-spacing: -0.5px;
} }
/* Diff-Zeilen hervorheben */ .section {
.diff-line { margin-bottom: 2.2em;
white-space: pre-wrap;
font-family: monospace;
} }
.diff-line.addition {
background-color: #dafbe1; /* GitHub-grün */ input[type="text"] {
width: 68%;
font-size: 1.07em;
padding: 0.7em 1.2em;
border: 2px solid var(--border);
border-radius: 7px;
background: #fff6fa;
transition: border 0.2s;
color: #681128;
} }
.diff-line.deletion { input[type="text"]:focus {
background-color: #ffeef0; /* GitHub-rot */ outline: none;
border-color: var(--accent);
background: #fff9fc;
} }
/* Deaktivierter Button */
.disabled { button {
opacity: 0.5; font-size: 1.05em;
font-weight: 500;
padding: 0.6em 1.6em;
margin-left: 1em;
background: var(--accent);
color: #fff;
border: none;
border-radius: 8px;
cursor: pointer;
box-shadow: 0 1.5px 6px rgba(159,18,57,0.09);
transition: background 0.18s, box-shadow 0.15s;
}
button:disabled {
background: #ffd5de;
color: #fff;
cursor: not-allowed; cursor: not-allowed;
} }
/* verhindert den Hover-Effekt, wenn disabled */
button.disabled { .spinner {
opacity: 0.5; display: none;
cursor: not-allowed; margin-left: 1em;
pointer-events: none; font-size: 1em;
color: var(--accent);
} }
button.disabled:hover { .spinner.active {
background-color: transparent; display: inline-block;
} }
@keyframes glow { label {
0%, 100% { box-shadow: 0 0 4px gold; } font-weight: 600;
50% { box-shadow: 0 0 12px gold; } color: #7b1930;
margin-bottom: 0.5em;
display: block;
font-size: 1.02em;
} }
/* Klasse für den aktuellen Commit */ #moreBtn {
.current-commit { display: none;
animation: glow 4s infinite ease-in-out; margin-top: 1em;
/* stell sicher, dass Du überhaupt eine sichtbare Border hast: */
border-width: 1px !important;
border-style: solid !important;
border-color: gold !important;
} }
.needs-relocation {
opacity: 0.5; /* Gallery: immer 4 pro Zeile, responsive */
filter: grayscale(1); .images,
pointer-events: auto !important; /* Damit Buttons weiter gehen */ .models {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: 1.4em;
} }
.relocation-warning-symbol { @media (max-width: 1100px) {
color: #e11d48; .images, .models { grid-template-columns: repeat(3, 1fr); }
font-weight: bold; }
font-size: 1.2em; @media (max-width: 820px) {
margin-right: 2px; .images, .models { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
.images, .models { grid-template-columns: 1fr; }
}
.images img,
.model-thumb {
width: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border: 2px solid var(--border);
border-radius: 11px;
cursor: pointer;
background: var(--bg-sidebar);
transition: box-shadow 0.18s, border-color 0.14s;
}
.images img:hover,
.model-thumb:hover {
box-shadow: 0 0 0 3px #fda4af65;
border-color: var(--accent);
}
.model-thumb {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
#currentTitle { /* Context menu */
/* erlauben, dass der Text umbricht */ #ctxMenu {
white-space: normal; position: absolute;
word-break: break-all; /* bricht auch mitten in langen Wörtern */ z-index: 5000;
overflow-wrap: anywhere; /* bricht an Notfällen wie '/' */ background: #fff;
/* keine Ellipse mehr */ border: 1.5px solid var(--border);
overflow: visible; border-radius: 8px;
/* falls der Parent eine horizontale Scrollbar bekommt, wird sie nicht vom Titel verursacht */ box-shadow: 0 4px 24px rgba(159,18,57,0.10);
display: none;
min-width: 164px;
font-size: 1em;
overflow: hidden;
}
#ctxMenu div {
padding: 0.77em 1.21em;
cursor: pointer;
transition: background 0.13s;
}
#ctxMenu div:hover {
background: #fff1f2;
color: var(--accent);
} }
/* Sicherstellen, dass der Content-Bereich nicht horizontal scrollt */ /* LLM & JSON Output Boxes */
.flex-1.p-4.overflow-y-auto { .section:has(#llm_out:empty) {
overflow-x: hidden; display: none !important;
}
#llm_out {
background: #fff1f2;
padding: 1em 1.1em;
border: 1.7px solid var(--border);
border-radius: 7px;
max-height: 220px;
overflow-y: auto;
white-space: pre-wrap;
word-wrap: break-word;
font-family: 'JetBrains Mono', 'Fira Mono', 'Menlo', monospace;
font-size: 1em;
margin-bottom: 1.1em;
margin-top: 0.2em;
color: #7b1930;
} }
/* generelle List-Items in der Sidebar */ #json_out {
aside ul#folderList li { background: #fff1f2;
background: transparent; /* kein festes Rosa mehr */ padding: 1em 1.1em;
color: var(--accent); /* Text- und Icon-Farbe */ border: 1.7px solid var(--border);
border-radius: 0.375rem; /* gleiche r-Klasse wie before */ border-radius: 7px;
transition: background 0.2s ease; width: 100%;
height: 220px;
resize: none;
font-family: 'JetBrains Mono', 'Fira Mono', 'Menlo', monospace;
font-size: 1em;
margin: 0 auto 1.2em;
box-sizing: border-box;
color: #681128;
} }
/* Hover-Effekt */ /* Tabs */
aside ul#folderList li:hover, .tabs {
aside ul#folderList li.selected { display: flex;
background: var(--border); /* statt hover:bg-[#fecdd3] */ gap: 1.4em;
margin-bottom: 1.4em;
}
.tab {
background: #fff1f2;
border: none;
padding: 0.72em 2.2em;
cursor: pointer;
border-radius: 8px 8px 0 0;
font-weight: 600;
font-size: 1.11em;
color: #b91c3a;
transition: background 0.13s, color 0.11s;
}
.tab.active {
background: #fff;
color: var(--accent);
border-bottom: 2.5px solid var(--accent);
z-index: 1;
} }
/* Icon und Text separat noch sicher auf var(--accent) setzen */ /* Lightbox & Overlays – identisch für Bilder & 3D! */
aside ul#folderList li svg, #lightboxOverlay,
aside ul#folderList li span { #lightbox3DOverlay {
color: var(--accent) !important; display: none;
position: fixed;
z-index: 3000;
top: 0; left: 0; width: 100vw; height: 100vh;
background: rgba(255, 17, 62, 0.84); /* leichter Rot-Ton im Overlay */
justify-content: center;
align-items: center;
transition: background 0.18s;
} }
.diff-container { #lightboxContent,
#lightbox3DContent {
position: relative; position: relative;
} max-width: 96vw;
.copy-diff-btn { max-height: 96vh;
all: unset !important; margin: auto;
position: absolute !important; display: flex;
top: 0.25rem !important; /* knapp unter dem Container-Rand */ flex-direction: column;
right: 0.25rem !important; align-items: center;
padding: 0.25rem !important;
border-radius: 0.25rem !important;
cursor: pointer !important;
background: transparent !important;
}
.copy-diff-btn:hover {
background: transparent !important;
}
/* Entferne ggf. globales pre-Top-Padding */
.diff-container pre {
padding-top: 0 !important;
} }
.sidebar, .interaction-bar, .content-area button { #lightboxImg {
-webkit-user-select: none; max-width: 92vw;
user-select: none; max-height: 87vh;
} border-radius: 12px;
.content-area ul#contentList li { background: #fff1f2;
word-break: break-all; border: 2.5px solid var(--border);
overflow-wrap: anywhere; box-shadow: 0 5px 34px rgba(159,18,57,0.14);
}
#folderHierarchyDropdown.open {
display: block; display: block;
} }
#folderTitleArrow.open {
transform: rotate(90deg); /* X-Button – immer oben rechts */
#lightboxClose,
#lightbox3DClose {
position: fixed;
top: 24px;
right: 32px;
z-index: 3100;
background: none;
border: none;
color: var(--accent);
font-size: 2.3em;
font-weight: 500;
padding: 0;
cursor: pointer;
box-shadow: none;
line-height: 1;
transition: color 0.18s;
} }
.interaction-bar { #lightboxClose:hover,
min-height: 3.5rem; /* = h-16 (56px, wie jetzt schon) */ #lightbox3DClose:hover {
padding-top: 0 !important; color: #fd4c77;
padding-bottom: 0 !important;
font-size: 0.95rem;
} }
.interaction-bar .flex { /* Pfeile – immer 10vw vom Rand, identisch in beiden Lightboxes */
line-height: 1.2; /* wenig Zeilenabstand */ #lightboxPrev,
height: 100%; /* volle Höhe ausnutzen, vertikal zentrieren */ #lightboxNext,
margin-left: 90px; #lightbox3DPrev,
#lightbox3DNext {
position: fixed;
top: 50%;
transform: translateY(-50%);
z-index: 3100;
background: none;
border: none;
color: var(--accent);
font-size: 3em;
font-weight: 500;
padding: 0;
cursor: pointer;
box-shadow: none;
line-height: 1;
transition: color 0.17s;
pointer-events: auto;
user-select: none;
}
#lightboxPrev,
#lightbox3DPrev { left: 7vw; }
#lightboxNext,
#lightbox3DNext { right: 7vw; }
#lightboxPrev:hover,
#lightboxNext:hover,
#lightbox3DPrev:hover,
#lightbox3DNext:hover { color: #fd4c77; }
/* Klickbare Lightbox-Sides zum Navigieren */
.lightbox-nav-left,
.lightbox-nav-right {
position: fixed;
top: 0; bottom: 0;
width: 20vw;
z-index: 3099;
cursor: pointer;
}
.lightbox-nav-left { left: 0; }
.lightbox-nav-right { right: 0; }
@media (max-width: 1000px) {
.lightbox-nav-left, .lightbox-nav-right { width: 30vw; }
} }
.interaction-bar span { /* Remove ugly outlines */
font-size: inherit !important; /* gleiche Größe wie restlicher Text */ button:focus { outline: none; }
font-weight: 800; textarea { resize: none !important; }
}
.interaction-bar div > div {
margin-bottom: 0.1em; /* nur minimal Abstand */
}
.interaction-bar div > div:last-child {
margin-bottom: 0;
}
.commits-glow {
text-shadow:
1px 1px 2px rgba(0,0,0,0.25),
0px 1px 1px color-mix(in srgb, currentColor 40%, black);
}
.paw-queued {
position: absolute;
top: 33px; /* so weit nach unten */
right: 40px; /* nur ganz am Rand, feintune hier! */
width: 2rem;
height: 2rem;
filter: drop-shadow(0 2px 2px rgba(0,0,0,0.10));
pointer-events: none;
z-index: 10;
}
}
</style> </style>
</head> </head>
<body class="flex h-screen bg-white"> <body class="flex h-screen bg-white">