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="space-y-4">
 
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
- </div>
 
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>