a tool for shared writing and social publishing

sort home docs by last added

+15 -1
+1 -1
app/home/DocPreview.tsx
··· 48 backgroundColor: "rgba(var(--bg-card), var(--bg-card-alpha))", 49 }} 50 > 51 - <div className="font-bold text-lg">Delete this Page?</div> 52 <div className="flex gap-2"> 53 <button 54 className="bg-accent-1 text-accent-2 px-2 py-1 rounded-md "
··· 48 backgroundColor: "rgba(var(--bg-card), var(--bg-card-alpha))", 49 }} 50 > 51 + <div className="font-bold text-lg">Permanently this Doc?</div> 52 <div className="flex gap-2"> 53 <button 54 className="bg-accent-1 text-accent-2 px-2 py-1 rounded-md "
+9
app/home/page.tsx
··· 57 .single(); 58 if (!res.data) return <div>{JSON.stringify(res.error)}</div>; 59 let docs = res.data.permission_token_on_homepage 60 .map((d) => d.permission_tokens) 61 .filter((d) => d !== null); 62 if (!res.data.permission_tokens) return <div>no home page wierdly</div>;
··· 57 .single(); 58 if (!res.data) return <div>{JSON.stringify(res.error)}</div>; 59 let docs = res.data.permission_token_on_homepage 60 + .sort((a, b) => 61 + a.created_at === b.created_at 62 + ? a.token > b.token 63 + ? -1 64 + : 1 65 + : a.created_at > b.created_at 66 + ? -1 67 + : 1, 68 + ) 69 .map((d) => d.permission_tokens) 70 .filter((d) => d !== null); 71 if (!res.data.permission_tokens) return <div>no home page wierdly</div>;
+1
drizzle/schema.ts
··· 56 export const permission_token_on_homepage = pgTable("permission_token_on_homepage", { 57 token: uuid("token").notNull().references(() => permission_tokens.id, { onDelete: "cascade" } ), 58 identity: uuid("identity").notNull().references(() => identities.id, { onDelete: "cascade" } ), 59 }, 60 (table) => { 61 return {
··· 56 export const permission_token_on_homepage = pgTable("permission_token_on_homepage", { 57 token: uuid("token").notNull().references(() => permission_tokens.id, { onDelete: "cascade" } ), 58 identity: uuid("identity").notNull().references(() => identities.id, { onDelete: "cascade" } ), 59 + created_at: timestamp("created_at", { withTimezone: true, mode: 'string' }).defaultNow().notNull(), 60 }, 61 (table) => { 62 return {
+3
supabase/database.types.ts
··· 141 } 142 permission_token_on_homepage: { 143 Row: { 144 identity: string 145 token: string 146 } 147 Insert: { 148 identity: string 149 token: string 150 } 151 Update: { 152 identity?: string 153 token?: string 154 }
··· 141 } 142 permission_token_on_homepage: { 143 Row: { 144 + created_at: string 145 identity: string 146 token: string 147 } 148 Insert: { 149 + created_at?: string 150 identity: string 151 token: string 152 } 153 Update: { 154 + created_at?: string 155 identity?: string 156 token?: string 157 }
+1
supabase/migrations/20240730042931_add created_at_to_homepage_items.sql
···
··· 1 + alter table "public"."permission_token_on_homepage" add column "created_at" timestamp with time zone not null default now();