diff --git a/app/lish/[did]/[publication]/PublicationHomeLayout.tsx b/app/lish/[did]/[publication]/PublicationHomeLayout.tsx index 2a2e9787..d22a13ae 100644 --- a/app/lish/[did]/[publication]/PublicationHomeLayout.tsx +++ b/app/lish/[did]/[publication]/PublicationHomeLayout.tsx @@ -15,7 +15,7 @@ export function PublicationHomeLayout(props: { >
{props.children}
-- 2.51.2 From e30a0bc8c8007a37c203519a0a9ff14aa70ad036 Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Tue, 21 Apr 2026 17:44:42 -0400 Subject: [PATCH 2/3] add confirmation code to newsletter settings --- supabase/database.types.ts | 3 +++ .../20260421100000_add_newsletter_confirmation_code.sql | 5 +++++ 2 files changed, 8 insertions(+) create mode 100644 supabase/migrations/20260421100000_add_newsletter_confirmation_code.sql diff --git a/supabase/database.types.ts b/supabase/database.types.ts index 4210d201..7ce471d3 100644 --- a/supabase/database.types.ts +++ b/supabase/database.types.ts @@ -1155,6 +1155,7 @@ export type Database = { } publication_newsletter_settings: { Row: { + confirmation_code: string | null created_at: string enabled: boolean publication: string @@ -1163,6 +1164,7 @@ export type Database = { updated_at: string } Insert: { + confirmation_code?: string | null created_at?: string enabled?: boolean publication: string @@ -1171,6 +1173,7 @@ export type Database = { updated_at?: string } Update: { + confirmation_code?: string | null created_at?: string enabled?: boolean publication?: string diff --git a/supabase/migrations/20260421100000_add_newsletter_confirmation_code.sql b/supabase/migrations/20260421100000_add_newsletter_confirmation_code.sql new file mode 100644 index 00000000..98f5f9f0 --- /dev/null +++ b/supabase/migrations/20260421100000_add_newsletter_confirmation_code.sql @@ -0,0 +1,5 @@ +-- Phase 2: add pending confirmation code for reply-to verification. +-- Lives on the settings row; nulled out on successful verification. + +alter table "public"."publication_newsletter_settings" + add column "confirmation_code" text; -- 2.51.2 From bdbdf0a619ec8fd29c438b1996caf31dd1c7529c Mon Sep 17 00:00:00 2001 From: Takashi Fujita Date: Fri, 17 Apr 2026 09:23:47 +0900 Subject: [PATCH 3/3] focus next block after adding embed and button blocks Fixes #3 --- components/Blocks/ButtonBlock.tsx | 20 ++++++++++++++++++++ components/Blocks/EmbedBlock.tsx | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/components/Blocks/ButtonBlock.tsx b/components/Blocks/ButtonBlock.tsx index c4207a2b..fa6ba4de 100644 --- a/components/Blocks/ButtonBlock.tsx +++ b/components/Blocks/ButtonBlock.tsx @@ -10,6 +10,7 @@ import { useSmoker } from "components/Toast"; import { Separator } from "components/Layout"; import { Input } from "components/Input"; import { isUrl } from "src/utils/isURL"; +import { focusBlock } from "src/utils/focusBlock"; import { ButtonPrimary } from "components/Buttons"; import { BlockButtonSmall } from "components/Icons/BlockButtonSmall"; import { CheckTiny } from "components/Icons/CheckTiny"; @@ -116,6 +117,25 @@ const ButtonBlockSettings = (props: BlockProps) => { value: url, }, }); + + let textEntity = v7(); + await rep.mutate.addBlock({ + permission_set: entity_set.set, + factID: v7(), + parent: props.parent, + type: "text", + position: generateKeyBetween(props.position, props.nextPosition), + newEntityID: textEntity, + }); + + focusBlock( + { + value: textEntity, + type: "text", + parent: props.parent, + }, + { type: "start" }, + ); }; return ( diff --git a/components/Blocks/EmbedBlock.tsx b/components/Blocks/EmbedBlock.tsx index d84e5aca..93eda1fa 100644 --- a/components/Blocks/EmbedBlock.tsx +++ b/components/Blocks/EmbedBlock.tsx @@ -321,6 +321,25 @@ const BlockLinkInput = (props: BlockProps) => { } finally { setLoading(false); } + + let textEntity = v7(); + await rep.mutate.addBlock({ + permission_set: entity_set.set, + factID: v7(), + parent: props.parent, + type: "text", + position: generateKeyBetween(props.position, props.nextPosition), + newEntityID: textEntity, + }); + + focusBlock( + { + value: textEntity, + type: "text", + parent: props.parent, + }, + { type: "start" }, + ); }; let smoker = useSmoker();