···17}
1819export function ScheduledPost(content: Post) {
20+ // Throwaway gibberish generator to make htmx link up properly across a lot of posts
21 const postID = randomstring.generate(7);
2223 return html`
+29-1
src/types.d.ts
···37// Basically a copy of the schema
38export type Post = {
39 postid: string;
040 user: string;
41 text: string;
42 embeds?: EmbedData[];
···52 uri: string;
53 cid: string;
54 userId: string;
55-}
0000000005657export type PostResponseObject = {
58 uri: string;
···6162export interface LooseObj {
63 [key: string]: any;
00000000000000000064};
···15 .or(z.literal("")),
16 bskyAppPassword: z.string().trim()
17 .max(BSKY_MAX_APP_PASSWORD_LENGTH, "app password too long")
18- .regex(appPasswordRegex)
19 .optional()
20 .or(z.literal("")),
21 bskyUserPDS: z.url("PDS should be in the format of an URL").trim()
···15 .or(z.literal("")),
16 bskyAppPassword: z.string().trim()
17 .max(BSKY_MAX_APP_PASSWORD_LENGTH, "app password too long")
18+ .regex(appPasswordRegex, "not a valid bsky app password")
19 .optional()
20 .or(z.literal("")),
21 bskyUserPDS: z.url("PDS should be in the format of an URL").trim()