your personal website on atproto - mirror blento.app
at fix-500-on-first-login 131 lines 5.8 kB view raw
1import type { Item } from '$lib/types'; 2import { ATProtoCollectionsCardDefinition } from './social/ATProtoCollectionsCard'; 3import { BigSocialCardDefinition } from './social/BigSocialCard'; 4import { BlueskyMediaCardDefinition } from './media/BlueskyMediaCard'; 5import { BlueskyPostCardDefinition } from './social/BlueskyPostCard'; 6import { BlueskyFeedCardDefinition } from './social/BlueskyFeedCard'; 7import { LatestBlueskyPostCardDefinition } from './social/LatestBlueskyPostCard'; 8import { DinoGameCardDefinition } from './games/DinoGameCard'; 9import { EmbedCardDefinition } from './media/EmbedCard'; 10import { TetrisCardDefinition } from './games/TetrisCard'; 11import { ImageCardDefinition } from './core/ImageCard'; 12import { LinkCardDefinition } from './core/LinkCard'; 13import { LivestreamCardDefitition, LivestreamEmbedCardDefitition } from './media/LivestreamCard'; 14import { MapCardDefinition } from './core/MapCard'; 15import { SectionCardDefinition } from './core/SectionCard'; 16import { UpdatedBlentosCardDefitition } from './special/UpdatedBlentos'; 17import { TextCardDefinition } from './core/TextCard'; 18import type { CardDefinition } from './types'; 19import { YoutubeCardDefinition } from './media/YoutubeVideoCard'; 20import { BlueskyProfileCardDefinition } from './social/BlueskyProfileCard'; 21import { GithubProfileCardDefitition } from './social/GitHubProfileCard'; 22import { FluidTextCardDefinition } from './visual/FluidTextCard'; 23import { GifCardDefinition } from './media/GIFCard'; 24import { PopfeedReviewsCardDefinition } from './media/PopfeedReviews'; 25import { TealFMPlaysCardDefinition } from './media/TealFMPlaysCard'; 26import { RockskyPlaysCardDefinition } from './media/RockskyPlaysCard'; 27import { PhotoGalleryCardDefinition } from './media/PhotoGalleryCard'; 28import { StandardSiteDocumentListCardDefinition } from './content/StandardSiteDocumentListCard'; 29import { StatusphereCardDefinition } from './media/StatusphereCard'; 30import { EventCardDefinition } from './social/EventCard'; 31import { UpcomingEventsCardDefinition } from './social/UpcomingEventsCard'; 32import { UpcomingRsvpsCardDefinition } from './social/UpcomingRsvpsCard'; 33import { VCardCardDefinition } from './social/VCardCard'; 34import { DrawCardDefinition } from './visual/DrawCard'; 35import { TimerCardDefinition } from './utilities/TimerCard'; 36import { ClockCardDefinition } from './utilities/ClockCard'; 37import { CountdownCardDefinition } from './utilities/CountdownCard'; 38import { SpotifyCardDefinition } from './media/SpotifyCard'; 39import { AppleMusicCardDefinition } from './media/AppleMusicCard'; 40import { ButtonCardDefinition } from './utilities/ButtonCard'; 41import { GuestbookCardDefinition } from './social/GuestbookCard'; 42import { FriendsCardDefinition } from './social/FriendsCard'; 43import { GitHubContributorsCardDefinition } from './social/GitHubContributorsCard'; 44import { ProductHuntCardDefinition } from './social/ProductHuntCard'; 45import { KickstarterCardDefinition } from './social/KickstarterCard'; 46import { NpmxLikesCardDefinition } from './social/NpmxLikesCard'; 47import { NpmxLikesLeaderboardCardDefinition } from './social/NpmxLikesLeaderboardCard'; 48import { LastFMRecentTracksCardDefinition } from './media/LastFMCard/LastFMRecentTracksCard'; 49import { LastFMTopTracksCardDefinition } from './media/LastFMCard/LastFMTopTracksCard'; 50import { LastFMTopAlbumsCardDefinition } from './media/LastFMCard/LastFMTopAlbumsCard'; 51import { LastFMProfileCardDefinition } from './media/LastFMCard/LastFMProfileCard'; 52import { PlyrFMCardDefinition, PlyrFMCollectionCardDefinition } from './media/PlyrFMCard'; 53import { MarginCardDefinition } from './social/MarginCard'; 54import { SembleCollectionCardDefinition } from './social/SembleCollectionCard'; 55import { GermDMCardDefinition } from './social/GermDMCard'; 56// import { Model3DCardDefinition } from './visual/Model3DCard'; 57 58export const AllCardDefinitions = [ 59 GuestbookCardDefinition, 60 ButtonCardDefinition, 61 ImageCardDefinition, 62 TextCardDefinition, 63 LinkCardDefinition, 64 BigSocialCardDefinition, 65 UpdatedBlentosCardDefitition, 66 YoutubeCardDefinition, 67 BlueskyPostCardDefinition, 68 LatestBlueskyPostCardDefinition, 69 BlueskyFeedCardDefinition, 70 LivestreamCardDefitition, 71 LivestreamEmbedCardDefitition, 72 // EmbedCardDefinition, 73 MapCardDefinition, 74 ATProtoCollectionsCardDefinition, 75 SectionCardDefinition, 76 BlueskyMediaCardDefinition, 77 DinoGameCardDefinition, 78 BlueskyProfileCardDefinition, 79 GithubProfileCardDefitition, 80 TetrisCardDefinition, 81 FluidTextCardDefinition, 82 GifCardDefinition, 83 PopfeedReviewsCardDefinition, 84 TealFMPlaysCardDefinition, 85 RockskyPlaysCardDefinition, 86 PhotoGalleryCardDefinition, 87 StandardSiteDocumentListCardDefinition, 88 StatusphereCardDefinition, 89 EventCardDefinition, 90 UpcomingEventsCardDefinition, 91 UpcomingRsvpsCardDefinition, 92 VCardCardDefinition, 93 DrawCardDefinition, 94 TimerCardDefinition, 95 ClockCardDefinition, 96 CountdownCardDefinition, 97 SpotifyCardDefinition, 98 AppleMusicCardDefinition, 99 // Model3DCardDefinition 100 FriendsCardDefinition, 101 GitHubContributorsCardDefinition, 102 ProductHuntCardDefinition, 103 KickstarterCardDefinition, 104 NpmxLikesCardDefinition, 105 NpmxLikesLeaderboardCardDefinition, 106 LastFMRecentTracksCardDefinition, 107 LastFMTopTracksCardDefinition, 108 LastFMTopAlbumsCardDefinition, 109 LastFMProfileCardDefinition, 110 PlyrFMCardDefinition, 111 PlyrFMCollectionCardDefinition, 112 MarginCardDefinition, 113 SembleCollectionCardDefinition, 114 GermDMCardDefinition 115] as const; 116 117export const CardDefinitionsByType = AllCardDefinitions.reduce( 118 (acc, item) => { 119 acc[item.type] = item; 120 return acc; 121 }, 122 {} as Record<string, CardDefinition> 123); 124 125export function getColor(item: Item): string { 126 if (item.color) return item.color; 127 128 const cardDefColor = CardDefinitionsByType[item.cardType]?.defaultColor; 129 130 return cardDefColor || 'base'; 131}