diff --git a/src/components/presentations/AspectRatioSelector.css b/src/components/presentations/AspectRatioSelector.css index 29c029d..1af8a99 100644 --- a/src/components/presentations/AspectRatioSelector.css +++ b/src/components/presentations/AspectRatioSelector.css @@ -1,88 +1,42 @@ -.aspect-ratio-selection h2 { - font-size: 1.25rem; - font-weight: 600; - color: #1f2937; - margin-bottom: 0.5rem; -} - -.section-description { - color: #6b7280; - margin-bottom: 1.5rem; - font-size: 0.875rem; -} - -.aspect-ratio-grid { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 1rem; - margin-bottom: 2rem; -} +/* Uses utility classes in HTML: */ +/* aspect-ratio-selection h2: .text-xl .font-semibold .text-primary .mb-2 */ +/* section-description: .text-secondary .mb-6 .text-sm */ +/* aspect-ratio-grid: .grid .grid-auto-fill-200 .gap-4 .mb-8 */ +/* aspect-ratio-card: .card-compact .cursor-pointer with 2px border override */ +/* aspect-ratio-preview: .flex .justify-center .items-center .mb-4 .rounded-lg */ +/* Component-specific overrides only */ .aspect-ratio-card { - border: 2px solid #e5e7eb; - border-radius: 0.75rem; - padding: 1rem; - cursor: pointer; - transition: all 0.2s ease; - background: #ffffff; + border: 2px solid var(--border-primary); } .aspect-ratio-card:hover { - border-color: #3b82f6; - box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15); + border-color: var(--border-accent); + box-shadow: 0 4px 12px var(--bg-accent); } .aspect-ratio-card.selected { - border-color: #3b82f6; - background: #eff6ff; - box-shadow: 0 4px 12px rgba(59, 130, 246, 0.15); + border-color: var(--border-accent); + background: var(--bg-accent); + box-shadow: 0 4px 12px var(--bg-accent); } .aspect-ratio-preview { - display: flex; - justify-content: center; - align-items: center; height: 60px; - margin-bottom: 1rem; - background: #f9fafb; - border-radius: 0.5rem; + background: var(--bg-muted); } .preview-box { - background: #3b82f6; + background: var(--text-accent); border-radius: 2px; } -.preview-box.aspect-16-9 { - width: 48px; - height: 27px; -} +/* Preview box dimensions - component specific */ +.preview-box.aspect-16-9 { width: 48px; height: 27px; } +.preview-box.aspect-4-3 { width: 40px; height: 30px; } +.preview-box.aspect-1-1 { width: 32px; height: 32px; } -.preview-box.aspect-4-3 { - width: 40px; - height: 30px; -} - -.preview-box.aspect-1-1 { - width: 32px; - height: 32px; -} - -.aspect-ratio-info h3 { - font-size: 1rem; - font-weight: 600; - color: #1f2937; - margin-bottom: 0.25rem; -} - -.ratio-description { - color: #6b7280; - font-size: 0.75rem; - margin-bottom: 0.5rem; -} - -.ratio-dimensions { - font-size: 0.75rem; - color: #9ca3af; - font-weight: 500; -} \ No newline at end of file +/* Uses utility classes in HTML: */ +/* aspect-ratio-info h3: .text-base .font-semibold .text-primary .mb-1 */ +/* ratio-description: .text-secondary .text-xs .mb-2 */ +/* ratio-dimensions: .text-xs .text-tertiary .font-medium */ \ No newline at end of file diff --git a/src/components/presentations/CreationActions.css b/src/components/presentations/CreationActions.css index 0db2ed2..3cfe1c4 100644 --- a/src/components/presentations/CreationActions.css +++ b/src/components/presentations/CreationActions.css @@ -1,96 +1,57 @@ +/* Creation Actions Layout */ .creation-actions { + background: var(--bg-secondary); + border-radius: 0.75rem; + padding: 2rem; + border: 1px solid var(--border-primary); margin-top: 2rem; } .selected-theme-info { - margin-bottom: 2rem; + margin-bottom: 1.5rem; } .theme-preview-info h3 { - font-size: 1.125rem; + font-size: 1rem; font-weight: 600; - color: #1f2937; - margin-bottom: 0.5rem; + color: var(--text-primary); + margin: 0 0 0.5rem 0; } .theme-preview-info p { - color: #6b7280; - margin-bottom: 1rem; - line-height: 1.5; + color: var(--text-secondary); + margin: 0 0 0.75rem 0; + font-size: 0.875rem; } .theme-stats { display: flex; gap: 1rem; - font-size: 0.875rem; - color: #9ca3af; + font-size: 0.75rem; } .theme-stats span { - background: #f3f4f6; - padding: 0.25rem 0.5rem; + background: var(--bg-muted); + padding: 0.25rem 0.75rem; border-radius: 0.25rem; + color: var(--text-tertiary); } -.creation-error { - background: #fee2e2; - border: 1px solid #fca5a5; - border-radius: 0.5rem; - padding: 1rem; - margin-top: 1rem; -} - -.creation-error p { - color: #dc2626; - margin: 0; - font-size: 0.875rem; -} - +/* Action Buttons - Clear visual hierarchy */ .action-buttons { display: flex; justify-content: flex-end; - gap: 0.75rem; - padding-top: 2rem; - border-top: 1px solid #e5e7eb; + align-items: center; + gap: 1rem; + padding-top: 1.5rem; + border-top: 1px solid var(--border-primary); } -.button { - padding: 0.75rem 1.5rem; - border-radius: 0.5rem; - font-weight: 500; - font-size: 0.875rem; - border: none; - cursor: pointer; - transition: all 0.2s ease; - min-width: 120px; +/* Make primary action stand out */ +.action-buttons .button.primary { + min-width: 180px; } -.button:disabled { - opacity: 0.6; - cursor: not-allowed; -} - -.button.secondary { - background: #f9fafb; - color: #374151; - border: 1px solid #d1d5db; -} - -.button.secondary:hover:not(:disabled) { - background: #f3f4f6; - border-color: #9ca3af; -} - -.button.primary { - background: #3b82f6; - color: white; -} - -.button.primary:hover:not(:disabled) { - background: #2563eb; -} - -.button.primary:focus { - outline: 2px solid #3b82f6; - outline-offset: 2px; +.action-buttons .button.secondary { + min-width: 100px; } \ No newline at end of file diff --git a/src/components/presentations/EmptyPresentationState.css b/src/components/presentations/EmptyPresentationState.css index ebfc844..a54437a 100644 --- a/src/components/presentations/EmptyPresentationState.css +++ b/src/components/presentations/EmptyPresentationState.css @@ -1,129 +1,27 @@ +/* Uses utility classes in HTML: */ +/* empty-presentation: .empty-content (from application.css) with min-h-32 override */ +/* empty-content h2: .text-3xl .font-bold .text-primary .mb-4 */ +/* empty-content > p: .text-lg .text-secondary .mb-8 */ +/* theme-preview: .card .my-8 .text-left */ +/* theme-preview h3: .text-xl .font-semibold .text-primary .mb-2 */ +/* theme-description: .text-secondary .mb-6 .leading-normal */ +/* available-layouts h4: .text-base .font-semibold .text-primary .mb-4 */ +/* layouts-grid: .grid .gap-4 */ + +/* Component-specific overrides */ .empty-presentation { - display: flex; - justify-content: center; - align-items: center; min-height: 400px; - padding: 2rem; -} - -.empty-content { - text-align: center; - max-width: 600px; -} - -.empty-content h2 { - font-size: 1.875rem; - font-weight: 700; - color: #1f2937; - margin-bottom: 1rem; -} - -.empty-content > p { - font-size: 1.125rem; - color: #6b7280; - margin-bottom: 2rem; -} - -.theme-preview { - background: #f9fafb; - border: 1px solid #e5e7eb; - border-radius: 0.75rem; - padding: 1.5rem; - margin: 2rem 0; - text-align: left; -} - -.theme-preview h3 { - font-size: 1.25rem; - font-weight: 600; - color: #1f2937; - margin-bottom: 0.5rem; -} - -.theme-description { - color: #6b7280; - margin-bottom: 1.5rem; - line-height: 1.5; -} - -.available-layouts h4 { - font-size: 1rem; - font-weight: 600; - color: #374151; - margin-bottom: 1rem; } .layouts-grid { - display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); - gap: 1rem; } -.layout-preview-card { - background: #ffffff; - border: 1px solid #d1d5db; - border-radius: 0.5rem; - padding: 1rem; - text-align: center; -} +/* Uses utility classes in HTML: */ +/* layout-preview-card: .card-compact .text-center */ +/* layout-name: .font-semibold .text-primary .text-sm .mb-2 .block */ +/* layout-description: .text-secondary .text-xs .mb-2 .block */ +/* slot-count: .text-tertiary .text-xs .font-medium */ +/* more-layouts: .flex .items-center .justify-center .bg-muted .border .border-dashed .rounded-lg .text-secondary .text-sm .font-medium */ -.layout-preview-card .layout-name { - font-weight: 600; - color: #1f2937; - font-size: 0.875rem; - margin-bottom: 0.5rem; - display: block; -} - -.layout-preview-card .layout-description { - color: #6b7280; - font-size: 0.75rem; - margin-bottom: 0.5rem; - display: block; -} - -.layout-preview-card .slot-count { - color: #9ca3af; - font-size: 0.75rem; - font-weight: 500; -} - -.more-layouts { - display: flex; - align-items: center; - justify-content: center; - background: #f3f4f6; - border: 1px dashed #9ca3af; - border-radius: 0.5rem; - color: #6b7280; - font-size: 0.875rem; - font-weight: 500; -} - -.action-button { - padding: 0.75rem 1.5rem; - border-radius: 0.5rem; - font-weight: 500; - font-size: 0.875rem; - border: none; - cursor: pointer; - transition: all 0.2s ease; - text-decoration: none; - display: inline-flex; - align-items: center; - justify-content: center; -} - -.action-button.primary { - background: #3b82f6; - color: white; -} - -.action-button.primary:hover { - background: #2563eb; -} - -.action-button.large { - padding: 1rem 2rem; - font-size: 1rem; -} \ No newline at end of file +/* Uses .btn .btn-primary .btn-large classes from application.css */ \ No newline at end of file diff --git a/src/components/presentations/NewPresentationPage.css b/src/components/presentations/NewPresentationPage.css index 2692e33..89aff6b 100644 --- a/src/components/presentations/NewPresentationPage.css +++ b/src/components/presentations/NewPresentationPage.css @@ -1,67 +1,58 @@ /* Component uses utility classes: .page-container, .page-header, .page-content */ -/* Component-specific styles only */ -.header-content h1 { - font-size: 1.875rem; - font-weight: 700; +/* Back Button - Subtle navigation link */ +.back-button { + background: transparent; + border: none; + color: var(--text-tertiary); + font-size: 0.875rem; + font-weight: 500; + padding: 0.5rem 1rem; + border-radius: 0.375rem; + cursor: pointer; + transition: all 0.2s ease; + margin-right: 1rem; } -/* Uses utility classes: .flex .flex-col .gap-8 for creation-form */ -/* Uses .card class for presentation-details, theme-selection, creation-actions */ -/* Uses .form-group, .form-label, .form-input classes from application.css */ - -.creation-form { - gap: 3rem; /* Override default gap */ -} - -.section-description { - margin: 0 0 2rem 0; -} - -.selected-theme-info { - flex: 1; - min-width: 0; -} - -.theme-preview-info h3 { - margin: 0 0 0.5rem 0; - font-size: 1.125rem; - font-weight: 600; +.back-button:hover { + background: var(--bg-hover); color: var(--text-primary); } -.theme-preview-info p { - margin: 0 0 0.75rem 0; - color: var(--text-secondary); - font-size: 0.875rem; +/* Header Content */ +.header-content { + flex: 1; +} + +/* Creation Form - Better spacing and visual hierarchy */ +.creation-form { + display: flex; + flex-direction: column; + gap: 2.5rem; } /* Uses .flex .gap-4 .text-xs utility classes for theme-stats */ /* Uses .badge-secondary class for theme-stats span */ /* Uses .alert-error class for creation-error */ -/* Aspect Ratio Selection - uses .grid-auto-fill-250 .gap-4 */ -.aspect-ratio-selection { - margin-bottom: 2rem; -} +/* Aspect Ratio Selection */ +/* aspect-ratio-selection: .mb-8 */ +/* aspect-ratio-grid: .grid-auto-fill-250 .gap-4 */ +/* aspect-ratio-card: .card .border-2 .cursor-pointer */ +/* aspect-ratio-preview: .flex .justify-center .items-center .border-dashed */ -/* Aspect ratio cards extend .card base class */ +/* Component-specific overrides only */ .aspect-ratio-card { - border: 2px solid var(--border-primary); - cursor: pointer; + border-width: 2px; } .aspect-ratio-card.selected { border-color: var(--border-accent); - box-shadow: 0 4px 6px -1px var(--bg-accent); background: var(--bg-accent); } -/* Preview content - component specific */ .aspect-ratio-preview { height: 80px; - background: var(--bg-primary); - border: 1px dashed var(--border-secondary); } .preview-box { diff --git a/src/components/presentations/NewPresentationPage.tsx b/src/components/presentations/NewPresentationPage.tsx index f761039..2f52616 100644 --- a/src/components/presentations/NewPresentationPage.tsx +++ b/src/components/presentations/NewPresentationPage.tsx @@ -127,7 +127,7 @@ export const NewPresentationPage: React.FC = () => {
Choose a theme and enter details for your new presentation
+Enter details for your new presentation