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

@@ -5,207 +5,327 @@
<title>auto-git</title> <title>auto-git</title>
<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 */
}
.diff-line.deletion {
background-color: #ffeef0; /* GitHub-rot */
}
/* Deaktivierter Button */
.disabled {
opacity: 0.5;
cursor: not-allowed;
}
/* verhindert den Hover-Effekt, wenn disabled */
button.disabled {
opacity: 0.5;
cursor: not-allowed;
pointer-events: none;
}
button.disabled:hover {
background-color: transparent;
}
@keyframes glow { input[type="text"] {
0%, 100% { box-shadow: 0 0 4px gold; } width: 68%;
50% { box-shadow: 0 0 12px gold; } 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;
}
input[type="text"]:focus {
outline: none;
border-color: var(--accent);
background: #fff9fc;
}
/* Klasse für den aktuellen Commit */ button {
.current-commit { font-size: 1.05em;
animation: glow 4s infinite ease-in-out; font-weight: 500;
/* stell sicher, dass Du überhaupt eine sichtbare Border hast: */ padding: 0.6em 1.6em;
border-width: 1px !important; margin-left: 1em;
border-style: solid !important; background: var(--accent);
border-color: gold !important; color: #fff;
} border: none;
.needs-relocation { border-radius: 8px;
opacity: 0.5; cursor: pointer;
filter: grayscale(1); box-shadow: 0 1.5px 6px rgba(159,18,57,0.09);
pointer-events: auto !important; /* Damit Buttons weiter gehen */ transition: background 0.18s, box-shadow 0.15s;
} }
.relocation-warning-symbol { button:disabled {
color: #e11d48; background: #ffd5de;
font-weight: bold; color: #fff;
font-size: 1.2em; cursor: not-allowed;
margin-right: 2px; }
display: flex;
align-items: center;
justify-content: center;
}
#currentTitle { .spinner {
/* erlauben, dass der Text umbricht */ display: none;
white-space: normal; margin-left: 1em;
word-break: break-all; /* bricht auch mitten in langen Wörtern */ font-size: 1em;
overflow-wrap: anywhere; /* bricht an Notfällen wie '/' */ color: var(--accent);
/* keine Ellipse mehr */ }
overflow: visible; .spinner.active {
/* falls der Parent eine horizontale Scrollbar bekommt, wird sie nicht vom Titel verursacht */ display: inline-block;
} }
/* Sicherstellen, dass der Content-Bereich nicht horizontal scrollt */ label {
.flex-1.p-4.overflow-y-auto { font-weight: 600;
overflow-x: hidden; color: #7b1930;
} margin-bottom: 0.5em;
display: block;
font-size: 1.02em;
}
/* generelle List-Items in der Sidebar */ #moreBtn {
aside ul#folderList li { display: none;
background: transparent; /* kein festes Rosa mehr */ margin-top: 1em;
color: var(--accent); /* Text- und Icon-Farbe */ }
border-radius: 0.375rem; /* gleiche r-Klasse wie before */
transition: background 0.2s ease;
}
/* Hover-Effekt */ /* Gallery: immer 4 pro Zeile, responsive */
aside ul#folderList li:hover, .images,
aside ul#folderList li.selected { .models {
background: var(--border); /* statt hover:bg-[#fecdd3] */ display: grid;
} grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: 1.4em;
}
@media (max-width: 1100px) {
.images, .models { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
.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;
align-items: center;
justify-content: center;
}
/* Icon und Text separat noch sicher auf var(--accent) setzen */ /* Context menu */
aside ul#folderList li svg, #ctxMenu {
aside ul#folderList li span { position: absolute;
color: var(--accent) !important; z-index: 5000;
} background: #fff;
border: 1.5px solid var(--border);
border-radius: 8px;
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);
}
.diff-container { /* LLM & JSON Output Boxes */
position: relative; .section:has(#llm_out:empty) {
} display: none !important;
.copy-diff-btn { }
all: unset !important; #llm_out {
position: absolute !important; background: #fff1f2;
top: 0.25rem !important; /* knapp unter dem Container-Rand */ padding: 1em 1.1em;
right: 0.25rem !important; border: 1.7px solid var(--border);
padding: 0.25rem !important; border-radius: 7px;
border-radius: 0.25rem !important; max-height: 220px;
cursor: pointer !important; overflow-y: auto;
background: transparent !important; white-space: pre-wrap;
} word-wrap: break-word;
.copy-diff-btn:hover { font-family: 'JetBrains Mono', 'Fira Mono', 'Menlo', monospace;
background: transparent !important; font-size: 1em;
} margin-bottom: 1.1em;
/* Entferne ggf. globales pre-Top-Padding */ margin-top: 0.2em;
.diff-container pre { color: #7b1930;
padding-top: 0 !important; }
}
.sidebar, .interaction-bar, .content-area button { #json_out {
-webkit-user-select: none; background: #fff1f2;
user-select: none; padding: 1em 1.1em;
} border: 1.7px solid var(--border);
.content-area ul#contentList li { border-radius: 7px;
word-break: break-all; width: 100%;
overflow-wrap: anywhere; height: 220px;
} resize: none;
#folderHierarchyDropdown.open { font-family: 'JetBrains Mono', 'Fira Mono', 'Menlo', monospace;
display: block; font-size: 1em;
} margin: 0 auto 1.2em;
#folderTitleArrow.open { box-sizing: border-box;
transform: rotate(90deg); color: #681128;
} }
.interaction-bar {
min-height: 3.5rem; /* = h-16 (56px, wie jetzt schon) */
padding-top: 0 !important;
padding-bottom: 0 !important;
font-size: 0.95rem;
}
.interaction-bar .flex { /* Tabs */
line-height: 1.2; /* wenig Zeilenabstand */ .tabs {
height: 100%; /* volle Höhe ausnutzen, vertikal zentrieren */ display: flex;
margin-left: 90px; 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;
}
.interaction-bar span { /* Lightbox & Overlays – identisch für Bilder & 3D! */
font-size: inherit !important; /* gleiche Größe wie restlicher Text */ #lightboxOverlay,
font-weight: 800; #lightbox3DOverlay {
} 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;
}
.interaction-bar div > div { #lightboxContent,
margin-bottom: 0.1em; /* nur minimal Abstand */ #lightbox3DContent {
} position: relative;
.interaction-bar div > div:last-child { max-width: 96vw;
margin-bottom: 0; max-height: 96vh;
} margin: auto;
.commits-glow { display: flex;
text-shadow: flex-direction: column;
1px 1px 2px rgba(0,0,0,0.25), align-items: center;
0px 1px 1px color-mix(in srgb, currentColor 40%, black); }
}
.paw-queued { #lightboxImg {
position: absolute; max-width: 92vw;
top: 33px; /* so weit nach unten */ max-height: 87vh;
right: 40px; /* nur ganz am Rand, feintune hier! */ border-radius: 12px;
width: 2rem; background: #fff1f2;
height: 2rem; border: 2.5px solid var(--border);
filter: drop-shadow(0 2px 2px rgba(0,0,0,0.10)); box-shadow: 0 5px 34px rgba(159,18,57,0.14);
pointer-events: none; display: block;
z-index: 10; }
}
} /* 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;
}
#lightboxClose:hover,
#lightbox3DClose:hover {
color: #fd4c77;
}
/* Pfeile – immer 10vw vom Rand, identisch in beiden Lightboxes */
#lightboxPrev,
#lightboxNext,
#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; }
}
/* Remove ugly outlines */
button:focus { outline: none; }
textarea { resize: none !important; }
</style> </style>
</head> </head>
<body class="flex h-screen bg-white"> <body class="flex h-screen bg-white">