diff --git a/clients/ts-sdk/openapi.json b/clients/ts-sdk/openapi.json index 7a0018663a..f7dfa56869 100644 --- a/clients/ts-sdk/openapi.json +++ b/clients/ts-sdk/openapi.json @@ -11513,6 +11513,23 @@ } ] }, + "OpenGraphMetadata": { + "type": "object", + "properties": { + "description": { + "type": "string", + "nullable": true + }, + "image": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string", + "nullable": true + } + } + }, "Organization": { "type": "object", "required": [ @@ -11820,6 +11837,18 @@ ], "nullable": true }, + "navLogoImgSrcUrl": { + "type": "string", + "nullable": true + }, + "openGraphMetadata": { + "allOf": [ + { + "$ref": "#/components/schemas/OpenGraphMetadata" + } + ], + "nullable": true + }, "placeholder": { "type": "string", "nullable": true diff --git a/clients/ts-sdk/src/types.gen.ts b/clients/ts-sdk/src/types.gen.ts index 5da1649fa4..60b4eb0959 100644 --- a/clients/ts-sdk/src/types.gen.ts +++ b/clients/ts-sdk/src/types.gen.ts @@ -1824,6 +1824,12 @@ export type MultiQuery = { export type NewChunkMetadataTypes = SlimChunkMetadataWithArrayTagSet | ChunkMetadata | ContentChunkMetadata; +export type OpenGraphMetadata = { + description?: (string) | null; + image?: (string) | null; + title?: (string) | null; +}; + export type Organization = { created_at: string; deleted: number; @@ -1885,6 +1891,8 @@ export type PublicPageParameters = { defaultSearchMode?: (string) | null; defaultSearchQueries?: Array<(string)> | null; heroPattern?: ((HeroPattern) | null); + navLogoImgSrcUrl?: (string) | null; + openGraphMetadata?: ((OpenGraphMetadata) | null); placeholder?: (string) | null; problemLink?: (string) | null; responsive?: (boolean) | null; diff --git a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx index eed20f8c8d..aa105e02c7 100644 --- a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx +++ b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx @@ -78,25 +78,6 @@ const PublicPageControls = () => {
-
-
- - } - /> -
- { - setExtraParams("brandLogoImgSrcUrl", e.currentTarget.value); - }} - class="block w-full rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" - /> -
+
+
+ + } + /> +
+ { + setExtraParams("problemLink", e.currentTarget.value); + }} + class="block w-full rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" + /> +
-
-
+
+
} />
- { - setExtraParams("problemLink", e.currentTarget.value); - }} - class="block w-full rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" - /> +
+ { + setExtraParams("brandLogoImgSrcUrl", e.currentTarget.value); + }} + class="block w-full grow rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" + /> + + {(url) => ( +
+ Brand Logo +
+ )} +
+
+
+
+
+ + } + /> +
+
+ { + setExtraParams("navLogoImgSrcUrl", e.currentTarget.value); + }} + class="block w-full grow rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" + /> + + {(url) => ( +
+ Brand Logo +
+ )} +
+
-
+ +
-
+
Advanced Settings @@ -604,6 +650,8 @@ const PublicPageControls = () => {
+ +
@@ -726,7 +774,7 @@ export const TabOptions = () => { }; return ( -
0}> +
0}> Tab Messages
@@ -845,3 +893,65 @@ const HtmlEditor = (props: { /> ); }; + +export const OgOptions = () => { + const { extraParams, setExtraParams } = usePublicPage(); + const [defaultDetailOpen] = createSignal( + !!extraParams.openGraphMetadata?.title || + !!extraParams.openGraphMetadata?.image || + !!extraParams.openGraphMetadata?.description, + ); + + return ( +
+ Open Graph +
+
+ + { + setExtraParams("openGraphMetadata", { + ...extraParams.openGraphMetadata, + title: e.currentTarget.value, + }); + }} + class="block w-full rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" + /> +
+
+ + { + setExtraParams("openGraphMetadata", { + ...extraParams.openGraphMetadata, + image: e.currentTarget.value, + }); + }} + class="block w-full rounded border border-neutral-300 px-3 py-1.5 shadow-sm placeholder:text-neutral-400 focus:outline-magenta-500 sm:text-sm sm:leading-6" + /> +
+
+
+
+ +