your personal website on atproto - mirror blento.app
25
fork

Configure Feed

Select the types of activity you want to include in your feed.

at fix/layout-stuff 149 lines 7.0 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 { ListenBrainzRecentListensCardDefinition } from './media/ListenBrainzCard/ListenBrainzRecentListensCard'; 53import { ListenBrainzTopArtistsCardDefinition } from './media/ListenBrainzCard/ListenBrainzTopArtistsCard'; 54import { ListenBrainzTopAlbumsCardDefinition } from './media/ListenBrainzCard/ListenBrainzTopAlbumsCard'; 55import { ListenBrainzTopSongsCardDefinition } from './media/ListenBrainzCard/ListenBrainzTopSongsCard'; 56import { ListenBrainzNowPlayingCardDefinition } from './media/ListenBrainzCard/ListenBrainzNowPlayingCard'; 57import { PlyrFMCardDefinition, PlyrFMCollectionCardDefinition } from './media/PlyrFMCard'; 58import { MarginCardDefinition } from './social/MarginCard'; 59import { SembleCollectionCardDefinition } from './social/SembleCollectionCard'; 60import { GermDMCardDefinition } from './social/GermDMCard'; 61import { KichRecipeCardDefinition } from './social/KichRecipeCard'; 62import { KichRecipeCollectionCardDefinition } from './social/KichRecipeCollectionCard'; 63import { KichCookingLogCardDefinition } from './social/KichCookingLogCard'; 64import { SecretImageCardDefinition } from './media/SecretImageCard'; 65// import { Model3DCardDefinition } from './visual/Model3DCard'; 66 67export const AllCardDefinitions = [ 68 GuestbookCardDefinition, 69 ButtonCardDefinition, 70 ImageCardDefinition, 71 TextCardDefinition, 72 LinkCardDefinition, 73 BigSocialCardDefinition, 74 UpdatedBlentosCardDefitition, 75 YoutubeCardDefinition, 76 BlueskyPostCardDefinition, 77 LatestBlueskyPostCardDefinition, 78 BlueskyFeedCardDefinition, 79 LivestreamCardDefitition, 80 LivestreamEmbedCardDefitition, 81 // EmbedCardDefinition, 82 MapCardDefinition, 83 ATProtoCollectionsCardDefinition, 84 SectionCardDefinition, 85 BlueskyMediaCardDefinition, 86 DinoGameCardDefinition, 87 BlueskyProfileCardDefinition, 88 GithubProfileCardDefitition, 89 TetrisCardDefinition, 90 FluidTextCardDefinition, 91 GifCardDefinition, 92 PopfeedReviewsCardDefinition, 93 TealFMPlaysCardDefinition, 94 RockskyPlaysCardDefinition, 95 PhotoGalleryCardDefinition, 96 StandardSiteDocumentListCardDefinition, 97 StatusphereCardDefinition, 98 EventCardDefinition, 99 UpcomingEventsCardDefinition, 100 UpcomingRsvpsCardDefinition, 101 VCardCardDefinition, 102 DrawCardDefinition, 103 TimerCardDefinition, 104 ClockCardDefinition, 105 CountdownCardDefinition, 106 SpotifyCardDefinition, 107 AppleMusicCardDefinition, 108 // Model3DCardDefinition 109 FriendsCardDefinition, 110 GitHubContributorsCardDefinition, 111 ProductHuntCardDefinition, 112 KickstarterCardDefinition, 113 NpmxLikesCardDefinition, 114 NpmxLikesLeaderboardCardDefinition, 115 LastFMRecentTracksCardDefinition, 116 LastFMTopTracksCardDefinition, 117 LastFMTopAlbumsCardDefinition, 118 LastFMProfileCardDefinition, 119 ListenBrainzRecentListensCardDefinition, 120 ListenBrainzTopArtistsCardDefinition, 121 ListenBrainzTopAlbumsCardDefinition, 122 ListenBrainzTopSongsCardDefinition, 123 ListenBrainzNowPlayingCardDefinition, 124 PlyrFMCardDefinition, 125 PlyrFMCollectionCardDefinition, 126 MarginCardDefinition, 127 SembleCollectionCardDefinition, 128 GermDMCardDefinition, 129 KichRecipeCardDefinition, 130 KichRecipeCollectionCardDefinition, 131 KichCookingLogCardDefinition, 132 SecretImageCardDefinition 133] as const; 134 135export const CardDefinitionsByType = AllCardDefinitions.reduce( 136 (acc, item) => { 137 acc[item.type] = item; 138 return acc; 139 }, 140 {} as Record<string, CardDefinition> 141); 142 143export function getColor(item: Item): string { 144 if (item.color) return item.color; 145 146 const cardDefColor = CardDefinitionsByType[item.cardType]?.defaultColor; 147 148 return cardDefColor || 'base'; 149}