your personal website on atproto - mirror
blento.app
1import type { Blob } from '@atcute/lexicons';
2import type { AppBskyActorDefs } from '@atcute/bluesky';
3
4export type Item = {
5 id: string;
6
7 w: number;
8 h: number;
9 x: number;
10 y: number;
11
12 mobileW: number;
13 mobileH: number;
14 mobileX: number;
15 mobileY: number;
16
17 cardType: string;
18
19 color?: string;
20
21 cardData: any;
22
23 updatedAt?: string;
24
25 version?: number;
26
27 page?: string;
28};
29
30export type WebsiteData = {
31 page: string;
32 did: string;
33 handle: string;
34
35 cards: Item[];
36 publication: {
37 url?: string;
38 name?: string;
39 description?: string;
40 icon?: Blob;
41 preferences?: {
42 /**
43 * @deprecated
44 *
45 * use hideProfileSection instead
46 */
47 hideProfile?: boolean;
48
49 // use this instead
50 hideProfileSection?: boolean;
51
52 // 'side' (default on desktop) or 'top' (always top like mobile view)
53 profilePosition?: 'side' | 'top';
54 };
55 };
56 profile: AppBskyActorDefs.ProfileViewDetailed;
57
58 additionalData: Record<string, unknown>;
59 updatedAt: number;
60 version?: number;
61};
62
63export type UserCache = {
64 get: (key: string) => string;
65 put: (key: string, value: string) => void;
66};