From b8d965370bad10f134d5c15cf1200a28fe51edc0 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Tue, 24 Jun 2025 01:14:41 +0100 Subject: [PATCH] feat(admin): update admin pages with new editor and workflows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update media management page with album associations - Enhance media audit page with better reporting - Improve regenerate thumbnails page - Update post pages to use EnhancedComposer - Update universe compose page with new editor - Update ProjectForm to use EnhancedComposer - Add better error handling and loading states - Improve form validation across admin pages Modernizes admin workflows with unified components. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- src/lib/components/admin/ProjectForm.svelte | 6 +- src/routes/admin/media/+page.svelte | 43 ++++++++----- src/routes/admin/media/audit/+page.svelte | 61 +++++++++++++------ .../admin/media/regenerate/+page.svelte | 49 +++++++++------ src/routes/admin/posts/+page.svelte | 4 +- src/routes/admin/posts/[id]/edit/+page.svelte | 8 ++- src/routes/admin/posts/new/+page.svelte | 4 +- .../admin/universe/compose/+page.svelte | 9 ++- 8 files changed, 120 insertions(+), 64 deletions(-) diff --git a/src/lib/components/admin/ProjectForm.svelte b/src/lib/components/admin/ProjectForm.svelte index 1e6e6d3..68c8901 100644 --- a/src/lib/components/admin/ProjectForm.svelte +++ b/src/lib/components/admin/ProjectForm.svelte @@ -4,7 +4,7 @@ import AdminPage from './AdminPage.svelte' import AdminSegmentedControl from './AdminSegmentedControl.svelte' import FormFieldWrapper from './FormFieldWrapper.svelte' - import CaseStudyEditor from './CaseStudyEditor.svelte' + import EnhancedComposer from './EnhancedComposer.svelte' import ProjectMetadataForm from './ProjectMetadataForm.svelte' import ProjectBrandingForm from './ProjectBrandingForm.svelte' import ProjectImagesForm from './ProjectImagesForm.svelte' @@ -273,14 +273,14 @@
-
diff --git a/src/routes/admin/media/+page.svelte b/src/routes/admin/media/+page.svelte index a9fea07..a8fffb4 100644 --- a/src/routes/admin/media/+page.svelte +++ b/src/routes/admin/media/+page.svelte @@ -11,6 +11,7 @@ import DropdownItem from '$lib/components/admin/DropdownItem.svelte' import MediaDetailsModal from '$lib/components/admin/MediaDetailsModal.svelte' import MediaUploadModal from '$lib/components/admin/MediaUploadModal.svelte' + import AlbumSelectorModal from '$lib/components/admin/AlbumSelectorModal.svelte' import ChevronDown from '$icons/chevron-down.svg' import type { Media } from '@prisma/client' @@ -58,12 +59,13 @@ let selectedMedia = $state(null) let isDetailsModalOpen = $state(false) let isUploadModalOpen = $state(false) + let showBulkAlbumModal = $state(false) // Multiselect states let selectedMediaIds = $state>(new Set()) let isMultiSelectMode = $state(false) let isDeleting = $state(false) - + // Dropdown state let isDropdownOpen = $state(false) @@ -375,23 +377,16 @@ {#snippet actions()}
- - + {#if isDropdownOpen} {isMultiSelectMode ? 'Exit Select' : 'Select Files'} - - Audit Storage - + Audit Storage goto('/admin/media/regenerate')}> Regenerate Cloudinary @@ -492,6 +487,13 @@ > Remove Photography +
diff --git a/src/routes/admin/universe/compose/+page.svelte b/src/routes/admin/universe/compose/+page.svelte index d407aa4..aa97e4b 100644 --- a/src/routes/admin/universe/compose/+page.svelte +++ b/src/routes/admin/universe/compose/+page.svelte @@ -1,6 +1,6 @@