From 93795577cd596c294f799c49c6a8646d860e1312 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sun, 23 Nov 2025 05:50:22 -0800 Subject: [PATCH] fix: complete frontend component any type cleanup - replace any with Prisma types (Post, Project, Album, Media) - use Component type for Svelte component parameters - use Snippet type for Svelte 5 render slots - use Record for dynamic objects - add proper type guards for error handling - fix editor extension types with proper generics - all frontend components now have zero any type errors --- src/lib/components/AppleMusicSearchModal.svelte | 2 +- src/lib/components/DynamicPostContent.svelte | 4 +++- src/lib/components/PhotoMetadata.svelte | 2 +- src/lib/components/ProjectPasswordProtection.svelte | 4 +++- src/lib/components/UniverseCard.svelte | 2 +- src/lib/components/admin/AdminNavBar.svelte | 4 +++- src/lib/components/admin/AlbumListItem.svelte | 3 ++- src/lib/components/admin/InlineComposerModal.svelte | 2 +- src/lib/components/admin/MetadataPopover.svelte | 3 ++- src/lib/components/admin/PhotoPostForm.svelte | 2 +- src/lib/components/admin/PostListItem.svelte | 11 ++++++----- src/lib/components/admin/SimplePostForm.svelte | 2 +- .../admin/composer/BubbleTextStyleMenu.svelte | 2 +- src/lib/components/admin/composer/ComposerCore.svelte | 2 +- src/lib/components/admin/composer/types.ts | 4 +++- src/lib/components/edra/editor-extensions.ts | 4 +++- .../edra/extensions/gallery/GalleryExtended.ts | 2 +- .../edra/extensions/gallery/GalleryPlaceholder.ts | 4 ++-- .../extensions/geolocation/GeolocationExtended.ts | 2 +- .../edra/extensions/geolocation/geolocation.ts | 2 +- .../components/edra/extensions/url-embed/UrlEmbed.ts | 2 +- .../edra/extensions/url-embed/UrlEmbedExtended.ts | 3 ++- .../edra/extensions/url-embed/UrlEmbedPlaceholder.ts | 3 ++- .../edra/headless/components/ImagePlaceholder.svelte | 2 +- 24 files changed, 44 insertions(+), 29 deletions(-) diff --git a/src/lib/components/AppleMusicSearchModal.svelte b/src/lib/components/AppleMusicSearchModal.svelte index 678c08a..c107f51 100644 --- a/src/lib/components/AppleMusicSearchModal.svelte +++ b/src/lib/components/AppleMusicSearchModal.svelte @@ -7,7 +7,7 @@ let searchQuery = $state('') let storefront = $state('us') let isSearching = $state(false) - let searchResults = $state(null) + let searchResults = $state(null) let searchError = $state(null) let responseTime = $state(0) diff --git a/src/lib/components/DynamicPostContent.svelte b/src/lib/components/DynamicPostContent.svelte index 629da73..c87a5e8 100644 --- a/src/lib/components/DynamicPostContent.svelte +++ b/src/lib/components/DynamicPostContent.svelte @@ -5,7 +5,9 @@ import { formatDate } from '$lib/utils/date' import { renderEdraContent } from '$lib/utils/content' - let { post }: { post: any } = $props() + import type { Post } from '@prisma/client' + + let { post }: { post: Post } = $props() const renderedContent = $derived(post.content ? renderEdraContent(post.content) : '') diff --git a/src/lib/components/PhotoMetadata.svelte b/src/lib/components/PhotoMetadata.svelte index 3d96aee..987f16a 100644 --- a/src/lib/components/PhotoMetadata.svelte +++ b/src/lib/components/PhotoMetadata.svelte @@ -5,7 +5,7 @@ title?: string caption?: string description?: string - exifData?: any + exifData?: Record createdAt?: string backHref?: string backLabel?: string diff --git a/src/lib/components/ProjectPasswordProtection.svelte b/src/lib/components/ProjectPasswordProtection.svelte index 3c29d96..abc67c0 100644 --- a/src/lib/components/ProjectPasswordProtection.svelte +++ b/src/lib/components/ProjectPasswordProtection.svelte @@ -1,4 +1,6 @@ +import type { Project } from '@prisma/client'