diff --git a/clients/ts-sdk/src/types.gen.ts b/clients/ts-sdk/src/types.gen.ts
index 2368d87d9b..57e0e7dc73 100644
--- a/clients/ts-sdk/src/types.gen.ts
+++ b/clients/ts-sdk/src/types.gen.ts
@@ -2102,6 +2102,7 @@ export type PublicPageParameters = {
useGroupSearch?: (boolean) | null;
usePagefind?: (boolean) | null;
zIndex?: (number) | null;
+ videoLink?: (string) | null;
};
export type PublicPageSearchOptions = {
diff --git a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx
index 92d4630f4f..b1486566ea 100644
--- a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx
+++ b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx
@@ -663,6 +663,23 @@ const PublicPageControls = () => {
options={Object.keys(HeroPatterns)}
/>
+
diff --git a/server/src/data/models.rs b/server/src/data/models.rs
index df9dfd325a..e6818fb19a 100644
--- a/server/src/data/models.rs
+++ b/server/src/data/models.rs
@@ -3257,6 +3257,9 @@ impl DatasetConfigurationDTO {
use_pagefind: page_parameters_self
.use_pagefind
.or(page_parameters_curr.use_pagefind),
+ video_link: page_parameters_self
+ .video_link
+ .or(page_parameters_curr.video_link),
}),
},
DISABLE_ANALYTICS: self
diff --git a/server/src/handlers/page_handler.rs b/server/src/handlers/page_handler.rs
index 0f6e7c4230..1ca00e6adc 100644
--- a/server/src/handlers/page_handler.rs
+++ b/server/src/handlers/page_handler.rs
@@ -256,6 +256,8 @@ pub struct PublicPageParameters {
pub hide_drawn_text: Option,
#[serde(skip_serializing_if = "Option::is_none")]
pub use_pagefind: Option,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub video_link: Option,
}
#[utoipa::path(
diff --git a/server/src/public/page.html b/server/src/public/page.html
index 2e02c7e866..7f9653fa79 100644
--- a/server/src/public/page.html
+++ b/server/src/public/page.html
@@ -372,6 +372,48 @@
brackets: ["left"],
});
}
+ const openTrieveRect = openTrieveModalElement.getBoundingClientRect();
+ let endOpenX = openTrieveRect.right + 138;
+ let endOpenY = openTrieveRect.bottom + 45;
+ if (endOpenX > window.innerWidth) {
+ endOpenX = window.innerWidth - 125;
+ endOpenY += 15;
+ }
+ const startOpenX = openTrieveRect.right + 60;
+ const startOpenY = openTrieveRect.bottom - 15;
+
+ rc.path(
+ `M ${startOpenX} ${startOpenY}
+ Q ${startOpenX + 85} ${endOpenY - 85} ${endOpenX} ${endOpenY}`,
+ {
+ stroke: window.paramsData.brandColor || "black",
+ strokeWidth: 2,
+ roughness: 3,
+ bowing: 3,
+ },
+ );
+
+ const arrowSize = 10;
+ rc.line(
+ startOpenX - 5,
+ startOpenY,
+ startOpenX + arrowSize,
+ startOpenY + arrowSize,
+ {
+ stroke: window.paramsData.brandColor || "black",
+ strokeWidth: 2,
+ },
+ );
+ rc.line(
+ startOpenX - 5,
+ startOpenY,
+ startOpenX + arrowSize,
+ startOpenY - arrowSize,
+ {
+ stroke: window.paramsData.brandColor || "black",
+ strokeWidth: 2,
+ },
+ );
const circleSearchAnimation = annotate(openTrieveModalElement, {
type: "circle",
@@ -414,7 +456,7 @@
strokeWidth: 2,
roughness: 3,
bowing: 3,
- }
+ },
);
const arrowSize = 10;
@@ -426,7 +468,7 @@
{
stroke: window.paramsData.brandColor || "black",
strokeWidth: 2,
- }
+ },
);
rc.line(
startOpenX - 5,
@@ -436,7 +478,7 @@
{
stroke: window.paramsData.brandColor || "black",
strokeWidth: 2,
- }
+ },
);
let endRecX = 0;
diff --git a/server/static/output.css b/server/static/output.css
index f2b52896aa..a2e6256599 100644
--- a/server/static/output.css
+++ b/server/static/output.css
@@ -612,6 +612,10 @@ video {
margin-top: 2rem;
}
+.mt-0\.5 {
+ margin-top: 0.125rem;
+}
+
.line-clamp-1 {
overflow: hidden;
display: -webkit-box;
@@ -796,6 +800,11 @@ video {
background-color: rgb(249 250 251 / var(--tw-bg-opacity));
}
+.bg-white {
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+}
+
.object-cover {
-o-object-fit: cover;
object-fit: cover;
@@ -904,6 +913,16 @@ video {
color: rgb(255 255 255 / var(--tw-text-opacity));
}
+.text-black {
+ --tw-text-opacity: 1;
+ color: rgb(0 0 0 / var(--tw-text-opacity));
+}
+
+.text-gray-900 {
+ --tw-text-opacity: 1;
+ color: rgb(17 24 39 / var(--tw-text-opacity));
+}
+
.underline {
text-decoration-line: underline;
}