Spaces:
Paused
Paused
FTA7700 commited on
Commit ·
487bf8e
1
Parent(s): c0b591f
Restructure settings form into sidebar + 2-col grid layout for Poster/Backdrop/Logo/Episode
Browse files
web/src/components/RenderSettingsForm.vue
CHANGED
|
@@ -471,7 +471,8 @@ function toggleExclude(key: string, checked: boolean) {
|
|
| 471 |
</script>
|
| 472 |
|
| 473 |
<template>
|
| 474 |
-
<div class="
|
|
|
|
| 475 |
<div class="flex items-center gap-2">
|
| 476 |
<p class="text-sm font-semibold">Image Settings</p>
|
| 477 |
<span
|
|
@@ -550,6 +551,39 @@ function toggleExclude(key: string, checked: boolean) {
|
|
| 550 |
</div>
|
| 551 |
</div>
|
| 552 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 553 |
<!-- Preview by real ID -->
|
| 554 |
<div class="rounded-md border p-4 space-y-3">
|
| 555 |
<p class="text-sm font-semibold">Preview with real content</p>
|
|
@@ -575,6 +609,7 @@ function toggleExclude(key: string, checked: boolean) {
|
|
| 575 |
</div>
|
| 576 |
</div>
|
| 577 |
|
|
|
|
| 578 |
<!-- Section 2: Poster -->
|
| 579 |
<div class="rounded-md border p-4 space-y-3">
|
| 580 |
<p class="text-sm font-semibold">Poster</p>
|
|
@@ -1255,33 +1290,7 @@ function toggleExclude(key: string, checked: boolean) {
|
|
| 1255 |
</div>
|
| 1256 |
|
| 1257 |
<div class="flex items-center gap-3 pt-1 min-h-[32px]">
|
| 1258 |
-
<Button
|
| 1259 |
-
v-if="resetSettings && !currentSettings.is_default"
|
| 1260 |
-
variant="outline"
|
| 1261 |
-
size="sm"
|
| 1262 |
-
:disabled="saving"
|
| 1263 |
-
@click="handleReset"
|
| 1264 |
-
>
|
| 1265 |
-
Reset to defaults
|
| 1266 |
-
</Button>
|
| 1267 |
-
<Transition
|
| 1268 |
-
enter-active-class="transition duration-200 ease-out"
|
| 1269 |
-
enter-from-class="opacity-0"
|
| 1270 |
-
enter-to-class="opacity-100"
|
| 1271 |
-
leave-active-class="transition duration-150 ease-in"
|
| 1272 |
-
leave-from-class="opacity-100"
|
| 1273 |
-
leave-to-class="opacity-0"
|
| 1274 |
-
>
|
| 1275 |
-
<span v-if="saving" class="flex items-center gap-1.5 text-sm text-muted-foreground">
|
| 1276 |
-
<Loader2 class="size-4 animate-spin" />
|
| 1277 |
-
Saving...
|
| 1278 |
-
</span>
|
| 1279 |
-
<span v-else-if="showCheck" class="flex items-center gap-1.5 text-sm text-green-500">
|
| 1280 |
-
<Check class="size-4" />
|
| 1281 |
-
Saved
|
| 1282 |
-
</span>
|
| 1283 |
-
</Transition>
|
| 1284 |
-
<span v-if="error" class="text-sm text-destructive">{{ error }}</span>
|
| 1285 |
</div>
|
| 1286 |
-
|
|
|
|
| 1287 |
</template>
|
|
|
|
| 471 |
</script>
|
| 472 |
|
| 473 |
<template>
|
| 474 |
+
<div class="grid grid-cols-1 lg:grid-cols-[300px_1fr] gap-6 items-start">
|
| 475 |
+
<div class="space-y-4 lg:sticky lg:top-4">
|
| 476 |
<div class="flex items-center gap-2">
|
| 477 |
<p class="text-sm font-semibold">Image Settings</p>
|
| 478 |
<span
|
|
|
|
| 551 |
</div>
|
| 552 |
</div>
|
| 553 |
|
| 554 |
+
<div class="flex items-center gap-3 pt-1 min-h-[32px]">
|
| 555 |
+
<Button
|
| 556 |
+
v-if="resetSettings && !currentSettings.is_default"
|
| 557 |
+
variant="outline"
|
| 558 |
+
size="sm"
|
| 559 |
+
:disabled="saving"
|
| 560 |
+
@click="handleReset"
|
| 561 |
+
>
|
| 562 |
+
Reset to defaults
|
| 563 |
+
</Button>
|
| 564 |
+
<Transition
|
| 565 |
+
enter-active-class="transition duration-200 ease-out"
|
| 566 |
+
enter-from-class="opacity-0"
|
| 567 |
+
enter-to-class="opacity-100"
|
| 568 |
+
leave-active-class="transition duration-150 ease-in"
|
| 569 |
+
leave-from-class="opacity-100"
|
| 570 |
+
leave-to-class="opacity-0"
|
| 571 |
+
>
|
| 572 |
+
<span v-if="saving" class="flex items-center gap-1.5 text-sm text-muted-foreground">
|
| 573 |
+
<Loader2 class="size-4 animate-spin" />
|
| 574 |
+
Saving...
|
| 575 |
+
</span>
|
| 576 |
+
<span v-else-if="showCheck" class="flex items-center gap-1.5 text-sm text-green-500">
|
| 577 |
+
<Check class="size-4" />
|
| 578 |
+
Saved
|
| 579 |
+
</span>
|
| 580 |
+
</Transition>
|
| 581 |
+
<span v-if="error" class="text-sm text-destructive">{{ error }}</span>
|
| 582 |
+
</div>
|
| 583 |
+
</div>
|
| 584 |
+
|
| 585 |
+
<div class="space-y-4">
|
| 586 |
+
|
| 587 |
<!-- Preview by real ID -->
|
| 588 |
<div class="rounded-md border p-4 space-y-3">
|
| 589 |
<p class="text-sm font-semibold">Preview with real content</p>
|
|
|
|
| 609 |
</div>
|
| 610 |
</div>
|
| 611 |
|
| 612 |
+
<div class="grid grid-cols-1 xl:grid-cols-2 gap-4">
|
| 613 |
<!-- Section 2: Poster -->
|
| 614 |
<div class="rounded-md border p-4 space-y-3">
|
| 615 |
<p class="text-sm font-semibold">Poster</p>
|
|
|
|
| 1290 |
</div>
|
| 1291 |
|
| 1292 |
<div class="flex items-center gap-3 pt-1 min-h-[32px]">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1293 |
</div>
|
| 1294 |
+
</div>
|
| 1295 |
+
</div>
|
| 1296 |
</template>
|