your personal website on atproto - mirror blento.app

Compare changes

Choose any two refs to compare.

+173 -267
-95
src/lib/cards/GameCards/README.md
··· 1 - # Game Cards 2 - 3 - This folder contains interactive game cards (Tetris, Dino, etc.). 4 - 5 - ## Implementation Requirements 6 - 7 - When creating a new game card, follow these patterns to ensure multiple games on the same page work independently. 8 - 9 - ### 1. Container Setup 10 - 11 - Make the game container focusable and handle keyboard events on it (not on `svelte:window`): 12 - 13 - ```svelte 14 - <script lang="ts"> 15 - let container: HTMLDivElement; 16 - </script> 17 - 18 - <!-- svelte-ignore a11y_no_noninteractive_tabindex a11y_no_noninteractive_element_interactions --> 19 - <div 20 - bind:this={container} 21 - class="relative h-full w-full overflow-hidden outline-none" 22 - tabindex="0" 23 - role="application" 24 - aria-label="Your game name" 25 - onkeydown={handleKeyDown} 26 - onkeyup={handleKeyUp} 27 - > 28 - <!-- game content --> 29 - </div> 30 - ``` 31 - 32 - ### 2. Focus on Game Start 33 - 34 - When the game starts, focus the container so keyboard events work: 35 - 36 - ```typescript 37 - function startGame() { 38 - // ... game initialization 39 - container?.focus(); 40 - } 41 - ``` 42 - 43 - ### 3. Keyboard Handlers 44 - 45 - Do NOT use `<svelte:window onkeydown={...} />` - this captures all keyboard events globally and causes all games to respond at once. 46 - 47 - Instead, attach handlers directly to the container div. The handlers will only fire when that specific game is focused. 48 - 49 - ```typescript 50 - function handleKeyDown(e: KeyboardEvent) { 51 - if (e.code === 'Space') { 52 - e.preventDefault(); 53 - // handle action 54 - } 55 - } 56 - ``` 57 - 58 - ### 4. Canvas Setup 59 - 60 - Add `touch-none` and `select-none` classes to prevent scrolling and text selection during gameplay: 61 - 62 - ```svelte 63 - <canvas 64 - bind:this={canvas} 65 - class="h-full w-full touch-none select-none" 66 - ontouchstart={handleTouchStart} 67 - ontouchmove={handleTouchMove} 68 - ontouchend={handleTouchEnd} 69 - ></canvas> 70 - ``` 71 - 72 - ### 5. Touch Controls 73 - 74 - For mobile support, add touch event handlers to the canvas. Prevent default to stop page scrolling: 75 - 76 - ```typescript 77 - function handleTouchStart(e: TouchEvent) { 78 - if (gameState === 'playing') { 79 - e.preventDefault(); 80 - } 81 - // handle touch 82 - } 83 - ``` 84 - 85 - ## Checklist for New Game Cards 86 - 87 - - [ ] Container has `bind:this={container}` reference 88 - - [ ] Container has `tabindex="0"` for focusability 89 - - [ ] Container has `role="application"` and `aria-label` 90 - - [ ] Container has `outline-none` class 91 - - [ ] Keyboard handlers are on container, NOT `svelte:window` 92 - - [ ] `startGame()` calls `container?.focus()` 93 - - [ ] Canvas has `touch-none select-none` classes 94 - - [ ] Touch handlers call `e.preventDefault()` when game is active 95 - - [ ] No `isTyping()` check needed (focus handles this automatically)
+1 -1
src/lib/cards/BaseCard/BaseCard.svelte src/lib/cards/_base/BaseCard/BaseCard.svelte
··· 4 4 import type { WithElementRef } from 'bits-ui'; 5 5 import type { Snippet } from 'svelte'; 6 6 import type { HTMLAttributes } from 'svelte/elements'; 7 - import { getColor } from '..'; 7 + import { getColor } from '../..'; 8 8 import { getIsCoarse } from '$lib/website/context'; 9 9 10 10 function tryGetIsCoarse(): (() => boolean) | undefined {
+1 -1
src/lib/cards/BaseCard/BaseEditingCard.svelte src/lib/cards/_base/BaseCard/BaseEditingCard.svelte
··· 5 5 import type { Item } from '$lib/types'; 6 6 import { Button, cn, Label, Popover } from '@foxui/core'; 7 7 import { ColorSelect } from '@foxui/colors'; 8 - import { AllCardDefinitions, CardDefinitionsByType, getColor } from '..'; 8 + import { AllCardDefinitions, CardDefinitionsByType, getColor } from '../..'; 9 9 import { COLUMNS } from '$lib'; 10 10 import { 11 11 getCanEdit,
+1 -1
src/lib/cards/Card/Card.svelte src/lib/cards/_base/Card/Card.svelte
··· 1 1 <script lang="ts"> 2 - import { CardDefinitionsByType } from '..'; 2 + import { CardDefinitionsByType } from '../..'; 3 3 import { type BaseCardProps } from '../BaseCard/BaseCard.svelte'; 4 4 5 5 let { item, ref = $bindable(null), ...rest }: BaseCardProps = $props();
+2 -2
src/lib/cards/Card/EditingCard.svelte src/lib/cards/_base/Card/EditingCard.svelte
··· 1 1 <script lang="ts"> 2 - import { CardDefinitionsByType } from '..'; 3 - import type { ContentComponentProps } from '../types'; 2 + import { CardDefinitionsByType } from '../..'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable() }: ContentComponentProps = $props(); 6 6 </script>
src/lib/cards/StandardSiteDocumentListCard/BlogEntry.svelte src/lib/cards/content/StandardSiteDocumentListCard/BlogEntry.svelte
src/lib/cards/StandardSiteDocumentListCard/DateTime.svelte src/lib/cards/content/StandardSiteDocumentListCard/DateTime.svelte
+2 -2
src/lib/cards/StandardSiteDocumentListCard/StandardSiteDocumentListCard.svelte src/lib/cards/content/StandardSiteDocumentListCard/StandardSiteDocumentListCard.svelte
··· 6 6 getHandleContext 7 7 } from '$lib/website/context'; 8 8 import { onMount } from 'svelte'; 9 - import { CardDefinitionsByType } from '..'; 10 - import type { ContentComponentProps } from '../types'; 9 + import { CardDefinitionsByType } from '../..'; 10 + import type { ContentComponentProps } from '../../types'; 11 11 import BlogEntry from './BlogEntry.svelte'; 12 12 import { Button } from '@foxui/core'; 13 13
+1 -1
src/lib/cards/StandardSiteDocumentListCard/index.ts src/lib/cards/content/StandardSiteDocumentListCard/index.ts
··· 1 1 import { getRecord, listRecords, parseUri } from '$lib/atproto'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import StandardSiteDocumentListCard from './StandardSiteDocumentListCard.svelte'; 4 4 5 5 export const StandardSiteDocumentListCardDefinition = {
+1 -1
src/lib/cards/ImageCard/ImageCard.svelte src/lib/cards/core/ImageCard/ImageCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { getDidContext } from '$lib/website/context'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { qrOverlay } from '$lib/components/qr/qrOverlay.svelte'; 5 5 import { getImage } from '$lib/helper'; 6 6
src/lib/cards/ImageCard/ImageCardSettings.svelte src/lib/cards/core/ImageCard/ImageCardSettings.svelte
+1 -1
src/lib/cards/ImageCard/index.ts src/lib/cards/core/ImageCard/index.ts
··· 1 1 import { checkAndUploadImage } from '$lib/helper'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import ImageCard from './ImageCard.svelte'; 4 4 import ImageCardSettings from './ImageCardSettings.svelte'; 5 5
+1 -1
src/lib/cards/LinkCard/CreateLinkCardModal.svelte src/lib/cards/core/LinkCard/CreateLinkCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { validateLink } from '$lib/helper'; 5 5 6 6 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props();
+1 -1
src/lib/cards/LinkCard/EditingLinkCard.svelte src/lib/cards/core/LinkCard/EditingLinkCard.svelte
··· 2 2 import { browser } from '$app/environment'; 3 3 import { getImage, compressImage } from '$lib/helper'; 4 4 import { getDidContext, getIsMobile } from '$lib/website/context'; 5 - import type { ContentComponentProps } from '../types'; 5 + import type { ContentComponentProps } from '../../types'; 6 6 import PlainTextEditor from '$lib/components/PlainTextEditor.svelte'; 7 7 8 8 let { item = $bindable() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/LinkCard/LinkCard.svelte src/lib/cards/core/LinkCard/LinkCard.svelte
··· 2 2 import { browser } from '$app/environment'; 3 3 import { getImage } from '$lib/helper'; 4 4 import { getDidContext, getIsMobile } from '$lib/website/context'; 5 - import type { ContentComponentProps } from '../types'; 5 + import type { ContentComponentProps } from '../../types'; 6 6 import { qrOverlay } from '$lib/components/qr/qrOverlay.svelte'; 7 7 8 8 let { item, isEditing }: ContentComponentProps = $props();
src/lib/cards/LinkCard/LinkCardSettings.svelte src/lib/cards/core/LinkCard/LinkCardSettings.svelte
+1 -1
src/lib/cards/LinkCard/index.ts src/lib/cards/core/LinkCard/index.ts
··· 1 1 import { checkAndUploadImage, validateLink } from '$lib/helper'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import CreateLinkCardModal from './CreateLinkCardModal.svelte'; 4 4 import EditingLinkCard from './EditingLinkCard.svelte'; 5 5 import LinkCard from './LinkCard.svelte';
+1 -1
src/lib/cards/MapCard/CreateMapCardModal.svelte src/lib/cards/core/MapCard/CreateMapCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { getZoomLevel } from '.'; 5 5 6 6 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props();
+1 -1
src/lib/cards/MapCard/Map.svelte src/lib/cards/core/MapCard/Map.svelte
··· 4 4 import mapboxgl from 'mapbox-gl'; 5 5 import { env } from '$env/dynamic/public'; 6 6 import type { Item } from '$lib/types'; 7 - import { getHexOfCardColor } from '../helper'; 7 + import { getHexOfCardColor } from '../../helper'; 8 8 9 9 let { item = $bindable() }: { item: Item } = $props(); 10 10
+1 -1
src/lib/cards/MapCard/MapCard.svelte src/lib/cards/core/MapCard/MapCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 import Map from './Map.svelte'; 4 4 import { qrOverlay } from '$lib/components/qr/qrOverlay.svelte'; 5 5
src/lib/cards/MapCard/MapCardSettings.svelte src/lib/cards/core/MapCard/MapCardSettings.svelte
+1 -1
src/lib/cards/MapCard/index.ts src/lib/cards/core/MapCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateMapCardModal from './CreateMapCardModal.svelte'; 3 3 import MapCard from './MapCard.svelte'; 4 4 import MapCardSettings from './MapCardSettings.svelte';
+1 -1
src/lib/cards/SectionCard/EditingSectionCard.svelte src/lib/cards/core/SectionCard/EditingSectionCard.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 3 import { textAlignClasses, textSizeClasses, verticalAlignClasses } from '.'; 4 - import type { ContentComponentProps } from '../types'; 4 + import type { ContentComponentProps } from '../../types'; 5 5 import PlainTextEditor from '$lib/components/PlainTextEditor.svelte'; 6 6 7 7 let { item = $bindable<Item>() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/SectionCard/SectionCard.svelte src/lib/cards/core/SectionCard/SectionCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { marked } from 'marked'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { textAlignClasses, textSizeClasses, verticalAlignClasses } from '.'; 5 5 6 6 let { item }: ContentComponentProps = $props();
+1 -1
src/lib/cards/SectionCard/SectionCardSettings.svelte src/lib/cards/core/SectionCard/SectionCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 3 import { textSizeClasses } from '.'; 4 - import type { ContentComponentProps } from '../types'; 4 + import type { ContentComponentProps } from '../../types'; 5 5 import { ToggleGroup, ToggleGroupItem, Button } from '@foxui/core'; 6 6 7 7 let { item = $bindable<Item>() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/SectionCard/index.ts src/lib/cards/core/SectionCard/index.ts
··· 1 1 import { COLUMNS } from '$lib'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import EditingSectionCard from './EditingSectionCard.svelte'; 4 4 import SectionCard from './SectionCard.svelte'; 5 5 import SectionCardSettings from './SectionCardSettings.svelte';
+1 -1
src/lib/cards/TextCard/EditingTextCard.svelte src/lib/cards/core/TextCard/EditingTextCard.svelte
··· 2 2 import type { Item } from '$lib/types'; 3 3 import type { Editor } from '@tiptap/core'; 4 4 import { textAlignClasses, textSizeClasses, verticalAlignClasses } from '.'; 5 - import type { ContentComponentProps } from '../types'; 5 + import type { ContentComponentProps } from '../../types'; 6 6 import MarkdownTextEditor from '$lib/components/MarkdownTextEditor.svelte'; 7 7 import { cn } from '@foxui/core'; 8 8
+1 -1
src/lib/cards/TextCard/TextCard.svelte src/lib/cards/core/TextCard/TextCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { marked } from 'marked'; 3 3 import { sanitize } from '$lib/sanitize'; 4 - import type { ContentComponentProps } from '../types'; 4 + import type { ContentComponentProps } from '../../types'; 5 5 import { textAlignClasses, textSizeClasses, verticalAlignClasses } from '.'; 6 6 import { cn } from '@foxui/core'; 7 7
+1 -1
src/lib/cards/TextCard/TextCardSettings.svelte src/lib/cards/core/TextCard/TextCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { ToggleGroup, ToggleGroupItem, Button } from '@foxui/core'; 5 5 6 6 let { item = $bindable<Item>() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/TextCard/index.ts src/lib/cards/core/TextCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import EditingTextCard from './EditingTextCard.svelte'; 3 3 import TextCard from './TextCard.svelte'; 4 4 import TextCardSettings from './TextCardSettings.svelte';
src/lib/cards/GameCards/DinoGameCard/DinoGameCard.svelte src/lib/cards/games/DinoGameCard/DinoGameCard.svelte
src/lib/cards/GameCards/DinoGameCard/index.ts src/lib/cards/games/DinoGameCard/index.ts
src/lib/cards/GameCards/TetrisCard/Tetris8Bit.mp3 src/lib/cards/games/TetrisCard/Tetris8Bit.mp3
src/lib/cards/GameCards/TetrisCard/TetrisCard.svelte src/lib/cards/games/TetrisCard/TetrisCard.svelte
src/lib/cards/GameCards/TetrisCard/index.ts src/lib/cards/games/TetrisCard/index.ts
+41 -41
src/lib/cards/index.ts
··· 1 1 import type { Item } from '$lib/types'; 2 - import { ATProtoCollectionsCardDefinition } from './ATProtoCollectionsCard'; 3 - import { BigSocialCardDefinition } from './BigSocialCard'; 4 - import { BlueskyMediaCardDefinition } from './BlueskyMediaCard'; 5 - import { BlueskyPostCardDefinition } from './BlueskyPostCard'; 6 - import { BlueskyFeedCardDefinition } from './BlueskyFeedCard'; 7 - import { LatestBlueskyPostCardDefinition } from './LatestBlueskyPostCard'; 8 - import { DinoGameCardDefinition } from './GameCards/DinoGameCard'; 9 - import { EmbedCardDefinition } from './EmbedCard'; 10 - import { TetrisCardDefinition } from './GameCards/TetrisCard'; 11 - import { ImageCardDefinition } from './ImageCard'; 12 - import { LinkCardDefinition } from './LinkCard'; 13 - import { LivestreamCardDefitition, LivestreamEmbedCardDefitition } from './LivestreamCard'; 14 - import { MapCardDefinition } from './MapCard'; 15 - import { SectionCardDefinition } from './SectionCard'; 16 - import { UpdatedBlentosCardDefitition } from './SpecialCards/UpdatedBlentos'; 17 - import { TextCardDefinition } from './TextCard'; 2 + import { ATProtoCollectionsCardDefinition } from './social/ATProtoCollectionsCard'; 3 + import { BigSocialCardDefinition } from './social/BigSocialCard'; 4 + import { BlueskyMediaCardDefinition } from './media/BlueskyMediaCard'; 5 + import { BlueskyPostCardDefinition } from './social/BlueskyPostCard'; 6 + import { BlueskyFeedCardDefinition } from './social/BlueskyFeedCard'; 7 + import { LatestBlueskyPostCardDefinition } from './social/LatestBlueskyPostCard'; 8 + import { DinoGameCardDefinition } from './games/DinoGameCard'; 9 + import { EmbedCardDefinition } from './media/EmbedCard'; 10 + import { TetrisCardDefinition } from './games/TetrisCard'; 11 + import { ImageCardDefinition } from './core/ImageCard'; 12 + import { LinkCardDefinition } from './core/LinkCard'; 13 + import { LivestreamCardDefitition, LivestreamEmbedCardDefitition } from './media/LivestreamCard'; 14 + import { MapCardDefinition } from './core/MapCard'; 15 + import { SectionCardDefinition } from './core/SectionCard'; 16 + import { UpdatedBlentosCardDefitition } from './special/UpdatedBlentos'; 17 + import { TextCardDefinition } from './core/TextCard'; 18 18 import type { CardDefinition } from './types'; 19 - import { YoutubeCardDefinition } from './YoutubeVideoCard'; 20 - import { BlueskyProfileCardDefinition } from './BlueskyProfileCard'; 21 - import { GithubProfileCardDefitition } from './GitHubProfileCard'; 22 - import { FluidTextCardDefinition } from './FluidTextCard'; 23 - import { GifCardDefinition } from './GIFCard'; 24 - import { PopfeedReviewsCardDefinition } from './PopfeedReviews'; 25 - import { TealFMPlaysCardDefinition } from './TealFMPlaysCard'; 26 - import { PhotoGalleryCardDefinition } from './PhotoGalleryCard'; 27 - import { StandardSiteDocumentListCardDefinition } from './StandardSiteDocumentListCard'; 28 - import { StatusphereCardDefinition } from './StatusphereCard'; 29 - import { EventCardDefinition } from './EventCard'; 30 - import { VCardCardDefinition } from './VCardCard'; 31 - import { DrawCardDefinition } from './DrawCard'; 32 - import { TimerCardDefinition } from './TimerCard'; 33 - import { ClockCardDefinition } from './ClockCard'; 34 - import { CountdownCardDefinition } from './CountdownCard'; 35 - import { SpotifyCardDefinition } from './SpotifyCard'; 36 - import { AppleMusicCardDefinition } from './AppleMusicCard'; 37 - import { ButtonCardDefinition } from './ButtonCard'; 38 - import { GuestbookCardDefinition } from './GuestbookCard'; 39 - import { FriendsCardDefinition } from './FriendsCard'; 40 - import { GitHubContributorsCardDefinition } from './GitHubContributorsCard'; 41 - import { ProductHuntCardDefinition } from './ProductHuntCard'; 42 - import { KickstarterCardDefinition } from './KickstarterCard'; 43 - // import { Model3DCardDefinition } from './Model3DCard'; 19 + import { YoutubeCardDefinition } from './media/YoutubeVideoCard'; 20 + import { BlueskyProfileCardDefinition } from './social/BlueskyProfileCard'; 21 + import { GithubProfileCardDefitition } from './social/GitHubProfileCard'; 22 + import { FluidTextCardDefinition } from './visual/FluidTextCard'; 23 + import { GifCardDefinition } from './media/GIFCard'; 24 + import { PopfeedReviewsCardDefinition } from './media/PopfeedReviews'; 25 + import { TealFMPlaysCardDefinition } from './media/TealFMPlaysCard'; 26 + import { PhotoGalleryCardDefinition } from './media/PhotoGalleryCard'; 27 + import { StandardSiteDocumentListCardDefinition } from './content/StandardSiteDocumentListCard'; 28 + import { StatusphereCardDefinition } from './media/StatusphereCard'; 29 + import { EventCardDefinition } from './social/EventCard'; 30 + import { VCardCardDefinition } from './social/VCardCard'; 31 + import { DrawCardDefinition } from './visual/DrawCard'; 32 + import { TimerCardDefinition } from './utilities/TimerCard'; 33 + import { ClockCardDefinition } from './utilities/ClockCard'; 34 + import { CountdownCardDefinition } from './utilities/CountdownCard'; 35 + import { SpotifyCardDefinition } from './media/SpotifyCard'; 36 + import { AppleMusicCardDefinition } from './media/AppleMusicCard'; 37 + import { ButtonCardDefinition } from './utilities/ButtonCard'; 38 + import { GuestbookCardDefinition } from './social/GuestbookCard'; 39 + import { FriendsCardDefinition } from './social/FriendsCard'; 40 + import { GitHubContributorsCardDefinition } from './social/GitHubContributorsCard'; 41 + import { ProductHuntCardDefinition } from './social/ProductHuntCard'; 42 + import { KickstarterCardDefinition } from './social/KickstarterCard'; 43 + // import { Model3DCardDefinition } from './visual/Model3DCard'; 44 44 45 45 export const AllCardDefinitions = [ 46 46 GuestbookCardDefinition,
+1 -1
src/lib/cards/AppleMusicCard/AppleMusicCard.svelte src/lib/cards/media/AppleMusicCard/AppleMusicCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 4 4 let { item, isEditing }: ContentComponentProps = $props(); 5 5 </script>
+1 -1
src/lib/cards/AppleMusicCard/CreateAppleMusicCardModal.svelte src/lib/cards/media/AppleMusicCard/CreateAppleMusicCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/AppleMusicCard/index.ts src/lib/cards/media/AppleMusicCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateAppleMusicCardModal from './CreateAppleMusicCardModal.svelte'; 3 3 import AppleMusicCard from './AppleMusicCard.svelte'; 4 4
+1 -1
src/lib/cards/BlueskyMediaCard/BlueskyMediaCard.svelte src/lib/cards/media/BlueskyMediaCard/BlueskyMediaCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 import Video from './Video.svelte'; 4 4 5 5 let { item = $bindable() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/BlueskyMediaCard/CreateBlueskyMediaCardModal.svelte src/lib/cards/media/BlueskyMediaCard/CreateBlueskyMediaCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Button, Input, Label, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { onMount } from 'svelte'; 5 5 import { getDidContext } from '$lib/website/context'; 6 6 import { getAuthorFeed } from '$lib/atproto/methods';
src/lib/cards/BlueskyMediaCard/Video.svelte src/lib/cards/media/BlueskyMediaCard/Video.svelte
+1 -1
src/lib/cards/BlueskyMediaCard/index.ts src/lib/cards/media/BlueskyMediaCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import BlueskyMediaCard from './BlueskyMediaCard.svelte'; 3 3 import CreateBlueskyMediaCardModal from './CreateBlueskyMediaCardModal.svelte'; 4 4
+1 -1
src/lib/cards/EmbedCard/CreateEmbedCardModal.svelte src/lib/cards/media/EmbedCard/CreateEmbedCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/EmbedCard/EmbedCard.svelte src/lib/cards/media/EmbedCard/EmbedCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { getCanEdit } from '$lib/website/context'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 5 5 let { item }: ContentComponentProps = $props(); 6 6
src/lib/cards/EmbedCard/SidebarItemEmbedCard.svelte src/lib/cards/media/EmbedCard/SidebarItemEmbedCard.svelte
+1 -1
src/lib/cards/EmbedCard/index.ts src/lib/cards/media/EmbedCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateEmbedCardModal from './CreateEmbedCardModal.svelte'; 3 3 import EmbedCard from './EmbedCard.svelte'; 4 4
+1 -1
src/lib/cards/GIFCard/CreateGifCardModal.svelte src/lib/cards/media/GIFCard/CreateGifCardModal.svelte
··· 1 1 <script lang="ts"> 2 - import type { CreationModalComponentProps } from '../types'; 2 + import type { CreationModalComponentProps } from '../../types'; 3 3 import GiphySearchModal from './GiphySearchModal.svelte'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props();
+1 -1
src/lib/cards/GIFCard/EditingGifCard.svelte src/lib/cards/media/GIFCard/EditingGifCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 import GiphySearchModal from './GiphySearchModal.svelte'; 4 4 5 5 let { item = $bindable() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/GIFCard/GifCard.svelte src/lib/cards/media/GIFCard/GifCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 4 4 let { item }: ContentComponentProps = $props(); 5 5
+1 -1
src/lib/cards/GIFCard/GifCardSettings.svelte src/lib/cards/media/GIFCard/GifCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 - import type { SettingsComponentProps } from '../types'; 3 + import type { SettingsComponentProps } from '../../types'; 4 4 import { Button, Label } from '@foxui/core'; 5 5 import GiphySearchModal from './GiphySearchModal.svelte'; 6 6
src/lib/cards/GIFCard/GiphySearchModal.svelte src/lib/cards/media/GIFCard/GiphySearchModal.svelte
src/lib/cards/GIFCard/PoweredByGiphy.gif src/lib/cards/media/GIFCard/PoweredByGiphy.gif
+1 -1
src/lib/cards/GIFCard/index.ts src/lib/cards/media/GIFCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateGifCardModal from './CreateGifCardModal.svelte'; 3 3 import EditingGifCard from './EditingGifCard.svelte'; 4 4 import GifCard from './GifCard.svelte';
src/lib/cards/LivestreamCard/Icon.svelte src/lib/cards/media/LivestreamCard/Icon.svelte
+2 -2
src/lib/cards/LivestreamCard/LivestreamCard.svelte src/lib/cards/media/LivestreamCard/LivestreamCard.svelte
··· 7 7 getHandleContext, 8 8 getIsMobile 9 9 } from '$lib/website/context'; 10 - import type { ContentComponentProps } from '../types'; 10 + import type { ContentComponentProps } from '../../types'; 11 11 import { RelativeTime } from '@foxui/time'; 12 12 import { Badge } from '@foxui/core'; 13 - import { CardDefinitionsByType } from '..'; 13 + import { CardDefinitionsByType } from '../..'; 14 14 import { browser } from '$app/environment'; 15 15 16 16 let { item = $bindable() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/LivestreamCard/LivestreamEmbedCard.svelte src/lib/cards/media/LivestreamCard/LivestreamEmbedCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 4 4 let { item }: ContentComponentProps = $props(); 5 5
+1 -1
src/lib/cards/LivestreamCard/index.ts src/lib/cards/media/LivestreamCard/index.ts
··· 1 1 import { user, listRecords, getCDNImageBlobUrl } from '$lib/atproto'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import LivestreamCard from './LivestreamCard.svelte'; 4 4 import LivestreamEmbedCard from './LivestreamEmbedCard.svelte'; 5 5
+1 -1
src/lib/cards/PhotoGalleryCard/PhotoGalleryCard.svelte src/lib/cards/media/PhotoGalleryCard/PhotoGalleryCard.svelte
··· 7 7 getHandleContext, 8 8 getIsMobile 9 9 } from '$lib/website/context'; 10 - import { CardDefinitionsByType } from '..'; 10 + import { CardDefinitionsByType } from '../..'; 11 11 import { getCDNImageBlobUrl, parseUri } from '$lib/atproto'; 12 12 13 13 import { ImageMasonry } from '@foxui/visual';
+1 -1
src/lib/cards/PhotoGalleryCard/index.ts src/lib/cards/media/PhotoGalleryCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import { getRecord, listRecords, parseUri } from '$lib/atproto'; 3 3 import PhotoGalleryCard from './PhotoGalleryCard.svelte'; 4 4 import type { Did } from '@atcute/lexicons';
+1 -1
src/lib/cards/PopfeedReviews/PopfeedReviewsCard.svelte src/lib/cards/media/PopfeedReviews/PopfeedReviewsCard.svelte
··· 7 7 getDidContext, 8 8 getHandleContext 9 9 } from '$lib/website/context'; 10 - import { CardDefinitionsByType } from '..'; 10 + import { CardDefinitionsByType } from '../..'; 11 11 import Rating from './Rating.svelte'; 12 12 import { Button } from '@foxui/core'; 13 13
src/lib/cards/PopfeedReviews/Rating.svelte src/lib/cards/media/PopfeedReviews/Rating.svelte
+1 -1
src/lib/cards/PopfeedReviews/index.ts src/lib/cards/media/PopfeedReviews/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import { listRecords } from '$lib/atproto'; 3 3 import PopfeedReviewsCard from './PopfeedReviewsCard.svelte'; 4 4
+1 -1
src/lib/cards/SpotifyCard/CreateSpotifyCardModal.svelte src/lib/cards/media/SpotifyCard/CreateSpotifyCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/SpotifyCard/SpotifyCard.svelte src/lib/cards/media/SpotifyCard/SpotifyCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 4 4 let { item, isEditing }: ContentComponentProps = $props(); 5 5 </script>
+1 -1
src/lib/cards/SpotifyCard/index.ts src/lib/cards/media/SpotifyCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateSpotifyCardModal from './CreateSpotifyCardModal.svelte'; 3 3 import SpotifyCard from './SpotifyCard.svelte'; 4 4
+1 -1
src/lib/cards/StatusphereCard/EditStatusphereCard.svelte src/lib/cards/media/StatusphereCard/EditStatusphereCard.svelte
··· 2 2 import type { Item } from '$lib/types'; 3 3 import { onMount } from 'svelte'; 4 4 import { getAdditionalUserData, getDidContext, getHandleContext } from '$lib/website/context'; 5 - import { CardDefinitionsByType } from '..'; 5 + import { CardDefinitionsByType } from '../..'; 6 6 import { PopoverEmojiPicker } from '@foxui/social'; 7 7 import { emojiToNotoAnimatedWebp } from '.'; 8 8
src/lib/cards/StatusphereCard/SettingsStatusphereCard.svelte src/lib/cards/media/StatusphereCard/SettingsStatusphereCard.svelte
src/lib/cards/StatusphereCard/StatusphereCard.svelte src/lib/cards/media/StatusphereCard/StatusphereCard.svelte
src/lib/cards/StatusphereCard/icons.json src/lib/cards/media/StatusphereCard/icons.json
+1 -1
src/lib/cards/StatusphereCard/index.ts src/lib/cards/media/StatusphereCard/index.ts
··· 1 1 // animated emojis from 2 2 // https://googlefonts.github.io/noto-emoji-animation/ 3 3 4 - import type { CardDefinition } from '../types'; 4 + import type { CardDefinition } from '../../types'; 5 5 import { listRecords, putRecord } from '$lib/atproto'; 6 6 import StatusphereCard from './StatusphereCard.svelte'; 7 7 import EditStatusphereCard from './EditStatusphereCard.svelte';
src/lib/cards/TealFMPlaysCard/AlbumArt.svelte src/lib/cards/media/TealFMPlaysCard/AlbumArt.svelte
+1 -1
src/lib/cards/TealFMPlaysCard/TealFMPlaysCard.svelte src/lib/cards/media/TealFMPlaysCard/TealFMPlaysCard.svelte
··· 2 2 import type { Item } from '$lib/types'; 3 3 import { onMount } from 'svelte'; 4 4 import { getAdditionalUserData, getDidContext, getHandleContext } from '$lib/website/context'; 5 - import { CardDefinitionsByType } from '..'; 5 + import { CardDefinitionsByType } from '../..'; 6 6 import AlbumArt from './AlbumArt.svelte'; 7 7 import { RelativeTime } from '@foxui/time'; 8 8
+1 -1
src/lib/cards/TealFMPlaysCard/index.ts src/lib/cards/media/TealFMPlaysCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import { listRecords } from '$lib/atproto'; 3 3 import TealFMPlaysCard from './TealFMPlaysCard.svelte'; 4 4
+1 -1
src/lib/cards/YoutubeVideoCard/CreateYoutubeCardModal.svelte src/lib/cards/media/YoutubeVideoCard/CreateYoutubeCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { matcher } from './index'; 5 5 6 6 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props();
+1 -1
src/lib/cards/YoutubeVideoCard/YoutubeCard.svelte src/lib/cards/media/YoutubeVideoCard/YoutubeCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { videoPlayer } from '$lib/components/YoutubeVideoPlayer.svelte'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 5 5 let { item }: ContentComponentProps = $props(); 6 6
src/lib/cards/YoutubeVideoCard/YoutubeCardSettings.svelte src/lib/cards/media/YoutubeVideoCard/YoutubeCardSettings.svelte
+1 -1
src/lib/cards/YoutubeVideoCard/index.ts src/lib/cards/media/YoutubeVideoCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateYoutubeCardModal from './CreateYoutubeCardModal.svelte'; 3 3 import YoutubeCard from './YoutubeCard.svelte'; 4 4 import YoutubeCardSettings from './YoutubeCardSettings.svelte';
+2 -2
src/lib/cards/ATProtoCollectionsCard/ATProtoCollectionsCard.svelte src/lib/cards/social/ATProtoCollectionsCard/ATProtoCollectionsCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { onMount } from 'svelte'; 3 - import type { ContentComponentProps } from '../types'; 4 - import { CardDefinitionsByType } from '..'; 3 + import type { ContentComponentProps } from '../../types'; 4 + import { CardDefinitionsByType } from '../..'; 5 5 import { getAdditionalUserData, getDidContext, getHandleContext } from '$lib/website/context'; 6 6 import { Badge, Button } from '@foxui/core'; 7 7
+1 -1
src/lib/cards/ATProtoCollectionsCard/index.ts src/lib/cards/social/ATProtoCollectionsCard/index.ts
··· 1 1 import { describeRepo } from '$lib/atproto'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import ATProtoCollectionsCard from './ATProtoCollectionsCard.svelte'; 4 4 5 5 export const ATProtoCollectionsCardDefinition = {
+1 -1
src/lib/cards/BigSocialCard/BigSocialCard.svelte src/lib/cards/social/BigSocialCard/BigSocialCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { platformsData } from '.'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { qrOverlay } from '$lib/components/qr/qrOverlay.svelte'; 5 5 6 6 let { item, isEditing }: ContentComponentProps = $props();
+1 -1
src/lib/cards/BigSocialCard/CreateBigSocialCardModal.svelte src/lib/cards/social/BigSocialCard/CreateBigSocialCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { detectPlatform, platformsData } from '.'; 5 5 6 6 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props();
+1 -1
src/lib/cards/BigSocialCard/index.ts src/lib/cards/social/BigSocialCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import BigSocialCard from './BigSocialCard.svelte'; 3 3 import CreateBigSocialCardModal from './CreateBigSocialCardModal.svelte'; 4 4
+1 -1
src/lib/cards/BlueskyFeedCard/BlueskyFeedCard.svelte src/lib/cards/social/BlueskyFeedCard/BlueskyFeedCard.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 3 import { onMount } from 'svelte'; 4 - import { BlueskyPost } from '../../components/bluesky-post'; 4 + import { BlueskyPost } from '$lib/components/bluesky-post'; 5 5 import { getAdditionalUserData, getDidContext } from '$lib/website/context'; 6 6 import { resolveHandle, getAuthorFeed } from '$lib/atproto/methods'; 7 7 import type { Did, Handle } from '@atcute/lexicons';
+1 -1
src/lib/cards/BlueskyFeedCard/index.ts src/lib/cards/social/BlueskyFeedCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import BlueskyFeedCard from './BlueskyFeedCard.svelte'; 3 3 import { getAuthorFeed, resolveHandle } from '$lib/atproto/methods'; 4 4 import type { Did, Handle } from '@atcute/lexicons';
+1 -1
src/lib/cards/BlueskyPostCard/BlueskyPostCard.svelte src/lib/cards/social/BlueskyPostCard/BlueskyPostCard.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 3 import { onMount } from 'svelte'; 4 - import { BlueskyPost } from '../../components/bluesky-post'; 4 + import { BlueskyPost } from '$lib/components/bluesky-post'; 5 5 import { getAdditionalUserData } from '$lib/website/context'; 6 6 import { getPosts, resolveHandle } from '$lib/atproto/methods'; 7 7 import type { PostView } from '@atcute/bluesky/types/app/feed/defs';
+1 -1
src/lib/cards/BlueskyPostCard/CreateBlueskyPostCardModal.svelte src/lib/cards/social/BlueskyPostCard/CreateBlueskyPostCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { parseBlueskyPostUrl } from './utils'; 5 5 6 6 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props();
+1 -1
src/lib/cards/BlueskyPostCard/index.ts src/lib/cards/social/BlueskyPostCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import BlueskyPostCard from './BlueskyPostCard.svelte'; 3 3 import CreateBlueskyPostCardModal from './CreateBlueskyPostCardModal.svelte'; 4 4 import { getPosts } from '$lib/atproto/methods';
src/lib/cards/BlueskyPostCard/utils.ts src/lib/cards/social/BlueskyPostCard/utils.ts
+1 -1
src/lib/cards/BlueskyProfileCard/BlueskyProfileCard.svelte src/lib/cards/social/BlueskyProfileCard/BlueskyProfileCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 import { qrOverlay } from '$lib/components/qr/qrOverlay.svelte'; 4 4 5 5 let { item, isEditing }: ContentComponentProps = $props();
+1 -1
src/lib/cards/BlueskyProfileCard/index.ts src/lib/cards/social/BlueskyProfileCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import BlueskyProfileCard from './BlueskyProfileCard.svelte'; 3 3 4 4 export const BlueskyProfileCardDefinition = {
+1 -1
src/lib/cards/EventCard/CreateEventCardModal.svelte src/lib/cards/social/EventCard/CreateEventCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 const EVENT_COLLECTION = 'community.lexicon.calendar.event'; 6 6
+2 -2
src/lib/cards/EventCard/EventCard.svelte src/lib/cards/social/EventCard/EventCard.svelte
··· 2 2 import { onMount } from 'svelte'; 3 3 import { Badge, Button } from '@foxui/core'; 4 4 import { getAdditionalUserData, getIsMobile } from '$lib/website/context'; 5 - import type { ContentComponentProps } from '../types'; 6 - import { CardDefinitionsByType } from '..'; 5 + import type { ContentComponentProps } from '../../types'; 6 + import { CardDefinitionsByType } from '../..'; 7 7 import type { EventData } from '.'; 8 8 import { parseUri } from '$lib/atproto'; 9 9 import { browser } from '$app/environment';
+1 -1
src/lib/cards/EventCard/index.ts src/lib/cards/social/EventCard/index.ts
··· 1 1 import { parseUri } from '$lib/atproto'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import CreateEventCardModal from './CreateEventCardModal.svelte'; 4 4 import EventCard from './EventCard.svelte'; 5 5
+1 -1
src/lib/cards/FriendsCard/FriendsCard.svelte src/lib/cards/social/FriendsCard/FriendsCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { onMount } from 'svelte'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { getAdditionalUserData, getCanEdit, getIsMobile } from '$lib/website/context'; 5 5 import { getBlentoOrBskyProfile } from '$lib/atproto/methods'; 6 6 import type { FriendsProfile } from '.';
+1 -1
src/lib/cards/FriendsCard/FriendsCardSettings.svelte src/lib/cards/social/FriendsCard/FriendsCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 - import type { SettingsComponentProps } from '../types'; 3 + import type { SettingsComponentProps } from '../../types'; 4 4 import type { AppBskyActorDefs } from '@atcute/bluesky'; 5 5 import HandleInput from '$lib/atproto/UI/HandleInput.svelte'; 6 6
+1 -1
src/lib/cards/FriendsCard/index.ts src/lib/cards/social/FriendsCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import type { Did } from '@atcute/lexicons'; 3 3 import { getBlentoOrBskyProfile } from '$lib/atproto/methods'; 4 4 import FriendsCard from './FriendsCard.svelte';
+1 -1
src/lib/cards/GitHubContributorsCard/CreateGitHubContributorsCardModal.svelte src/lib/cards/social/GitHubContributorsCard/CreateGitHubContributorsCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/GitHubContributorsCard/GitHubContributorsCard.svelte src/lib/cards/social/GitHubContributorsCard/GitHubContributorsCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { onMount } from 'svelte'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { getAdditionalUserData, getCanEdit, getIsMobile } from '$lib/website/context'; 5 5 import type { GitHubContributor, GitHubContributorsLoadedData } from '.'; 6 6
+1 -1
src/lib/cards/GitHubContributorsCard/GitHubContributorsCardSettings.svelte src/lib/cards/social/GitHubContributorsCard/GitHubContributorsCardSettings.svelte
··· 1 1 <script lang="ts"> 2 - import type { SettingsComponentProps } from '../types'; 2 + import type { SettingsComponentProps } from '../../types'; 3 3 import { Label } from '@foxui/core'; 4 4 5 5 let { item = $bindable() }: SettingsComponentProps = $props();
+1 -1
src/lib/cards/GitHubContributorsCard/index.ts src/lib/cards/social/GitHubContributorsCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import GitHubContributorsCard from './GitHubContributorsCard.svelte'; 3 3 import CreateGitHubContributorsCardModal from './CreateGitHubContributorsCardModal.svelte'; 4 4 import GitHubContributorsCardSettings from './GitHubContributorsCardSettings.svelte';
+1 -1
src/lib/cards/GitHubProfileCard/CreateGitHubProfileCardModal.svelte src/lib/cards/social/GitHubProfileCard/CreateGitHubProfileCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/GitHubProfileCard/GitHubProfileCard.svelte src/lib/cards/social/GitHubProfileCard/GitHubProfileCard.svelte
··· 2 2 import { onMount } from 'svelte'; 3 3 import { siGithub } from 'simple-icons'; 4 4 import { getAdditionalUserData, getIsMobile } from '$lib/website/context'; 5 - import type { ContentComponentProps } from '../types'; 5 + import type { ContentComponentProps } from '../../types'; 6 6 import type { GithubProfileLoadedData } from '.'; 7 7 import GithubContributionsGraph from './GithubContributionsGraph.svelte'; 8 8 import { Button } from '@foxui/core';
src/lib/cards/GitHubProfileCard/GithubContributionsGraph.svelte src/lib/cards/social/GitHubProfileCard/GithubContributionsGraph.svelte
+1 -1
src/lib/cards/GitHubProfileCard/index.ts src/lib/cards/social/GitHubProfileCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateGitHubProfileCardModal from './CreateGitHubProfileCardModal.svelte'; 3 3 import type GithubContributionsGraph from './GithubContributionsGraph.svelte'; 4 4 import GitHubProfileCard from './GitHubProfileCard.svelte';
src/lib/cards/GitHubProfileCard/types.ts src/lib/cards/social/GitHubProfileCard/types.ts
+1 -1
src/lib/cards/GuestbookCard/CreateGuestbookCardModal.svelte src/lib/cards/social/GuestbookCard/CreateGuestbookCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Input, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 import { createPost } from '$lib/atproto/methods'; 5 5 import { user } from '$lib/atproto/auth.svelte'; 6 6 import { parseBlueskyPostUrl } from '../BlueskyPostCard/utils';
+2 -2
src/lib/cards/GuestbookCard/GuestbookCard.svelte src/lib/cards/social/GuestbookCard/GuestbookCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { onMount } from 'svelte'; 3 3 import { getAdditionalUserData, getDidContext, getHandleContext } from '$lib/website/context'; 4 - import { CardDefinitionsByType } from '..'; 5 - import type { ContentComponentProps } from '../types'; 4 + import { CardDefinitionsByType } from '../..'; 5 + import type { ContentComponentProps } from '../../types'; 6 6 import { Button } from '@foxui/core'; 7 7 import { BlueskyPost } from '$lib/components/bluesky-post'; 8 8 import type { PostView } from '@atcute/bluesky/types/app/feed/defs';
+1 -1
src/lib/cards/GuestbookCard/index.ts src/lib/cards/social/GuestbookCard/index.ts
··· 1 1 import { getPostThread } from '$lib/atproto/methods'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import GuestbookCard from './GuestbookCard.svelte'; 4 4 import CreateGuestbookCardModal from './CreateGuestbookCardModal.svelte'; 5 5
+1 -1
src/lib/cards/KickstarterCard/CreateKickstarterCardModal.svelte src/lib/cards/social/KickstarterCard/CreateKickstarterCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/KickstarterCard/KickstarterCard.svelte src/lib/cards/social/KickstarterCard/KickstarterCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 4 4 let { item, isEditing }: ContentComponentProps = $props(); 5 5
+1 -1
src/lib/cards/KickstarterCard/index.ts src/lib/cards/social/KickstarterCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateKickstarterCardModal from './CreateKickstarterCardModal.svelte'; 3 3 import KickstarterCard from './KickstarterCard.svelte'; 4 4
+2 -2
src/lib/cards/LatestBlueskyPostCard/LatestBlueskyPostCard.svelte src/lib/cards/social/LatestBlueskyPostCard/LatestBlueskyPostCard.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 3 import { onMount } from 'svelte'; 4 - import { BlueskyPost } from '../../components/bluesky-post'; 4 + import { BlueskyPost } from '$lib/components/bluesky-post'; 5 5 import { getAdditionalUserData, getDidContext, getHandleContext } from '$lib/website/context'; 6 - import { CardDefinitionsByType } from '..'; 6 + import { CardDefinitionsByType } from '../..'; 7 7 8 8 let { item }: { item: Item } = $props(); 9 9
src/lib/cards/LatestBlueskyPostCard/SidebarItemLatestBlueskyPostCard.svelte src/lib/cards/social/LatestBlueskyPostCard/SidebarItemLatestBlueskyPostCard.svelte
+1 -1
src/lib/cards/LatestBlueskyPostCard/index.ts src/lib/cards/social/LatestBlueskyPostCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import LatestBlueskyPostCard from './LatestBlueskyPostCard.svelte'; 3 3 import { getAuthorFeed } from '$lib/atproto/methods'; 4 4
+1 -1
src/lib/cards/ProductHuntCard/CreateProductHuntCardModal.svelte src/lib/cards/social/ProductHuntCard/CreateProductHuntCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/ProductHuntCard/ProductHuntCard.svelte src/lib/cards/social/ProductHuntCard/ProductHuntCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { getCanEdit } from '$lib/website/context'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 5 5 let { item }: ContentComponentProps = $props(); 6 6
+1 -1
src/lib/cards/ProductHuntCard/index.ts src/lib/cards/social/ProductHuntCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateProductHuntCardModal from './CreateProductHuntCardModal.svelte'; 3 3 import ProductHuntCard from './ProductHuntCard.svelte'; 4 4
+1 -1
src/lib/cards/VCardCard/VCardCard.svelte src/lib/cards/social/VCardCard/VCardCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { Modal } from '@foxui/core'; 3 3 import QRCodeDisplay from '$lib/components/qr/QRCodeDisplay.svelte'; 4 - import type { ContentComponentProps } from '../types'; 4 + import type { ContentComponentProps } from '../../types'; 5 5 import { parseVCardName, parseVCardOrg } from '.'; 6 6 7 7 let { item }: ContentComponentProps = $props();
+1 -1
src/lib/cards/VCardCard/VCardCardSettings.svelte src/lib/cards/social/VCardCard/VCardCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Subheading } from '@foxui/core'; 3 - import type { SettingsComponentProps } from '../types'; 3 + import type { SettingsComponentProps } from '../../types'; 4 4 import { parseVCard, generateVCard, parseVCardName, emptyVCardFields, type VCardFields } from '.'; 5 5 6 6 let { item = $bindable(), onclose }: SettingsComponentProps = $props();
+1 -1
src/lib/cards/VCardCard/index.ts src/lib/cards/social/VCardCard/index.ts
··· 1 1 import { user } from '$lib/atproto/auth.svelte'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import VCardCard from './VCardCard.svelte'; 4 4 import VCardCardSettings from './VCardCardSettings.svelte'; 5 5
+1 -1
src/lib/cards/SpecialCards/UpdatedBlentos/UpdatedBlentosCard.svelte src/lib/cards/special/UpdatedBlentos/UpdatedBlentosCard.svelte
··· 13 13 const profiles = data[item.cardType] as ProfileWithUrl[]; 14 14 15 15 function getLink(profile: ProfileWithUrl): string { 16 - if (profile.url) { 16 + if (profile.url && !profile.url.startsWith('https://blento.app')) { 17 17 return profile.url; 18 18 } else if (profile.handle && profile.handle !== 'handle.invalid') { 19 19 return `/${profile.handle}`;
src/lib/cards/SpecialCards/UpdatedBlentos/index.ts src/lib/cards/special/UpdatedBlentos/index.ts
+1 -1
src/lib/cards/ButtonCard/ButtonCard.svelte src/lib/cards/utilities/ButtonCard/ButtonCard.svelte
··· 4 4 import { getHandleOrDid } from '$lib/atproto/methods'; 5 5 import { loginModalState } from '$lib/atproto/UI/LoginModal.svelte'; 6 6 import { cn } from '@foxui/core'; 7 - import type { ContentComponentProps } from '../types'; 7 + import type { ContentComponentProps } from '../../types'; 8 8 9 9 let { item }: ContentComponentProps = $props(); 10 10 </script>
+1 -1
src/lib/cards/ButtonCard/ButtonCardSettings.svelte src/lib/cards/utilities/ButtonCard/ButtonCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 - import type { SettingsComponentProps } from '../types'; 3 + import type { SettingsComponentProps } from '../../types'; 4 4 import { Input, Label } from '@foxui/core'; 5 5 6 6 let { item = $bindable<Item>(), onclose }: SettingsComponentProps = $props();
+1 -1
src/lib/cards/ButtonCard/EditingButtonCard.svelte src/lib/cards/utilities/ButtonCard/EditingButtonCard.svelte
··· 1 1 <script lang="ts"> 2 - import type { ContentComponentProps } from '../types'; 2 + import type { ContentComponentProps } from '../../types'; 3 3 import PlainTextEditor from '$lib/components/PlainTextEditor.svelte'; 4 4 import { cn } from '@foxui/core'; 5 5
+1 -1
src/lib/cards/ButtonCard/index.ts src/lib/cards/utilities/ButtonCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import ButtonCard from './ButtonCard.svelte'; 3 3 import EditingButtonCard from './EditingButtonCard.svelte'; 4 4 import ButtonCardSettings from './ButtonCardSettings.svelte';
+1 -1
src/lib/cards/ClockCard/ClockCard.svelte src/lib/cards/utilities/ClockCard/ClockCard.svelte
··· 1 1 <script lang="ts"> 2 2 import NumberFlow, { NumberFlowGroup } from '@number-flow/svelte'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import type { ClockCardData } from './index'; 5 5 import { onMount } from 'svelte'; 6 6
src/lib/cards/ClockCard/ClockCardSettings.svelte src/lib/cards/utilities/ClockCard/ClockCardSettings.svelte
+1 -1
src/lib/cards/ClockCard/index.ts src/lib/cards/utilities/ClockCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import ClockCard from './ClockCard.svelte'; 3 3 import ClockCardSettings from './ClockCardSettings.svelte'; 4 4
+1 -1
src/lib/cards/CountdownCard/CountdownCard.svelte src/lib/cards/utilities/CountdownCard/CountdownCard.svelte
··· 1 1 <script lang="ts"> 2 2 import NumberFlow, { NumberFlowGroup } from '@number-flow/svelte'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import type { CountdownCardData } from './index'; 5 5 import { onMount } from 'svelte'; 6 6
src/lib/cards/CountdownCard/CountdownCardSettings.svelte src/lib/cards/utilities/CountdownCard/CountdownCardSettings.svelte
+1 -1
src/lib/cards/CountdownCard/index.ts src/lib/cards/utilities/CountdownCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CountdownCard from './CountdownCard.svelte'; 3 3 import CountdownCardSettings from './CountdownCardSettings.svelte'; 4 4
+1 -1
src/lib/cards/TimerCard/TimerCard.svelte src/lib/cards/utilities/TimerCard/TimerCard.svelte
··· 1 1 <script lang="ts"> 2 2 import NumberFlow, { NumberFlowGroup } from '@number-flow/svelte'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import type { TimerCardData } from './index'; 5 5 import { onMount } from 'svelte'; 6 6
src/lib/cards/TimerCard/TimerCardSettings.svelte src/lib/cards/utilities/TimerCard/TimerCardSettings.svelte
+1 -1
src/lib/cards/TimerCard/index.ts src/lib/cards/utilities/TimerCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import TimerCard from './TimerCard.svelte'; 3 3 import TimerCardSettings from './TimerCardSettings.svelte'; 4 4
+1 -1
src/lib/cards/DrawCard/DrawCard.svelte src/lib/cards/visual/DrawCard/DrawCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { getStroke } from 'perfect-freehand'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), isEditing }: ContentComponentProps = $props(); 6 6
+1 -1
src/lib/cards/DrawCard/EditingDrawCard.svelte src/lib/cards/visual/DrawCard/EditingDrawCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { getStroke } from 'perfect-freehand'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), isEditing }: ContentComponentProps = $props(); 6 6
+1 -1
src/lib/cards/DrawCard/index.ts src/lib/cards/visual/DrawCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import DrawCard from './DrawCard.svelte'; 3 3 import EditingDrawCard from './EditingDrawCard.svelte'; 4 4
+1 -1
src/lib/cards/FluidTextCard/CreateFluidTextCardModal.svelte src/lib/cards/visual/FluidTextCard/CreateFluidTextCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Button, Input, Modal, Subheading, Label } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/FluidTextCard/EditingFluidTextCard.svelte src/lib/cards/visual/FluidTextCard/EditingFluidTextCard.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 3 import { onMount, tick } from 'svelte'; 4 - import type { ContentComponentProps } from '../types'; 4 + import type { ContentComponentProps } from '../../types'; 5 5 import FluidTextCard from './FluidTextCard.svelte'; 6 6 7 7 let { item = $bindable<Item>() }: ContentComponentProps = $props();
+2 -2
src/lib/cards/FluidTextCard/FluidTextCard.svelte src/lib/cards/visual/FluidTextCard/FluidTextCard.svelte
··· 1 1 <script lang="ts"> 2 - import { colorToHue, getCSSVar, getHexOfCardColor } from '../helper'; 3 - import type { ContentComponentProps } from '../types'; 2 + import { colorToHue, getCSSVar, getHexOfCardColor } from '../../helper'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { onMount, onDestroy, tick } from 'svelte'; 5 5 let { item }: ContentComponentProps = $props(); 6 6
+1 -1
src/lib/cards/FluidTextCard/FluidTextCardSettings.svelte src/lib/cards/visual/FluidTextCard/FluidTextCardSettings.svelte
··· 1 1 <script lang="ts"> 2 2 import type { Item } from '$lib/types'; 3 - import type { ContentComponentProps } from '../types'; 3 + import type { ContentComponentProps } from '../../types'; 4 4 import { Input, Label } from '@foxui/core'; 5 5 6 6 let { item = $bindable<Item>() }: ContentComponentProps = $props();
+1 -1
src/lib/cards/FluidTextCard/index.ts src/lib/cards/visual/FluidTextCard/index.ts
··· 1 - import type { CardDefinition } from '../types'; 1 + import type { CardDefinition } from '../../types'; 2 2 import CreateFluidTextCardModal from './CreateFluidTextCardModal.svelte'; 3 3 import EditingFluidTextCard from './EditingFluidTextCard.svelte'; 4 4 import FluidTextCard from './FluidTextCard.svelte';
+1 -1
src/lib/cards/Model3DCard/CreateModel3DCardModal.svelte src/lib/cards/visual/Model3DCard/CreateModel3DCardModal.svelte
··· 1 1 <script lang="ts"> 2 2 import { Alert, Button, Modal, Subheading } from '@foxui/core'; 3 - import type { CreationModalComponentProps } from '../types'; 3 + import type { CreationModalComponentProps } from '../../types'; 4 4 5 5 let { item = $bindable(), oncreate, oncancel }: CreationModalComponentProps = $props(); 6 6
+1 -1
src/lib/cards/Model3DCard/Model3DCard.svelte src/lib/cards/visual/Model3DCard/Model3DCard.svelte
··· 1 1 <script lang="ts"> 2 2 import { Canvas } from '@threlte/core'; 3 3 import { CineonToneMapping } from 'three'; 4 - import type { ContentComponentProps } from '../types'; 4 + import type { ContentComponentProps } from '../../types'; 5 5 import Model3DScene from './Model3DScene.svelte'; 6 6 import { getDidContext } from '$lib/website/context'; 7 7 import { getBlobURL } from '$lib/atproto';
src/lib/cards/Model3DCard/Model3DScene.svelte src/lib/cards/visual/Model3DCard/Model3DScene.svelte
+1 -1
src/lib/cards/Model3DCard/index.ts src/lib/cards/visual/Model3DCard/index.ts
··· 1 1 import { uploadBlob } from '$lib/atproto'; 2 - import type { CardDefinition } from '../types'; 2 + import type { CardDefinition } from '../../types'; 3 3 import CreateModel3DCardModal from './CreateModel3DCardModal.svelte'; 4 4 import Model3DCard from './Model3DCard.svelte'; 5 5
+2 -2
src/lib/website/EditableWebsite.svelte
··· 22 22 import EditableProfile from './EditableProfile.svelte'; 23 23 import type { Item, WebsiteData } from '../types'; 24 24 import { innerWidth } from 'svelte/reactivity/window'; 25 - import EditingCard from '../cards/Card/EditingCard.svelte'; 25 + import EditingCard from '../cards/_base/Card/EditingCard.svelte'; 26 26 import { AllCardDefinitions, CardDefinitionsByType } from '../cards'; 27 27 import { tick, type Component } from 'svelte'; 28 28 import type { CardDefinition, CreationModalComponentProps } from '../cards/types'; 29 29 import { dev } from '$app/environment'; 30 30 import { setIsCoarse, setIsMobile, setSelectedCardId, setSelectCard } from './context'; 31 - import BaseEditingCard from '../cards/BaseCard/BaseEditingCard.svelte'; 31 + import BaseEditingCard from '../cards/_base/BaseCard/BaseEditingCard.svelte'; 32 32 import Context from './Context.svelte'; 33 33 import Head from './Head.svelte'; 34 34 import Account from './Account.svelte';
+2 -2
src/lib/website/EmptyState.svelte
··· 1 1 <script lang="ts"> 2 - import BaseCard from '$lib/cards/BaseCard/BaseCard.svelte'; 3 - import Card from '$lib/cards/Card/Card.svelte'; 2 + import BaseCard from '$lib/cards/_base/BaseCard/BaseCard.svelte'; 3 + import Card from '$lib/cards/_base/Card/Card.svelte'; 4 4 import type { Item, WebsiteData } from '$lib/types'; 5 5 import { text } from '@sveltejs/kit'; 6 6
+2 -2
src/lib/website/Website.svelte
··· 1 1 <script lang="ts"> 2 - import Card from '../cards/Card/Card.svelte'; 2 + import Card from '../cards/_base/Card/Card.svelte'; 3 3 import Profile from './Profile.svelte'; 4 4 import { 5 5 getDescription, ··· 11 11 } from '../helper'; 12 12 import { innerWidth } from 'svelte/reactivity/window'; 13 13 import { setDidContext, setHandleContext, setIsMobile } from './context'; 14 - import BaseCard from '../cards/BaseCard/BaseCard.svelte'; 14 + import BaseCard from '../cards/_base/BaseCard/BaseCard.svelte'; 15 15 import type { WebsiteData } from '$lib/types'; 16 16 import Context from './Context.svelte'; 17 17 import MadeWithBlento from './MadeWithBlento.svelte';
+1 -1
src/routes/api/github/+server.ts
··· 1 1 import { json } from '@sveltejs/kit'; 2 2 import type { RequestHandler } from './$types'; 3 - import type { GitHubContributionsData } from '$lib/cards/GitHubProfileCard/types'; 3 + import type { GitHubContributionsData } from '$lib/cards/social/GitHubProfileCard/types'; 4 4 5 5 const GithubAPIURL = 'https://edge-function-github-contribution.vercel.app/api/github-data?user='; 6 6
+1
src/routes/random/+page.server.ts
··· 16 16 17 17 while (!foundData && i < 20) { 18 18 const rando = Math.floor(Math.random() * list.keys.length); 19 + console.log(list.keys[rando].name); 19 20 20 21 foundData = await getCache(list.keys[rando].name, 'self', cache as unknown as UserCache); 21 22