diff --git a/clients/search-component/src/TrieveModal/index.css b/clients/search-component/src/TrieveModal/index.css index 09f14505f..7575dc4c8 100644 --- a/clients/search-component/src/TrieveModal/index.css +++ b/clients/search-component/src/TrieveModal/index.css @@ -1017,6 +1017,25 @@ body { } } } + + .followup-questions { + .followup-question { + border-color: var(--tv-zinc-700); + + &:hover { + background-color: var(--tv-zinc-800); + } + } + } + .header { + .followup-question { + border-color: var(--tv-zinc-700); + + &:hover { + background-color: var(--tv-zinc-800); + } + } + } } .chat-footer-wrapper { diff --git a/clients/ts-sdk/openapi.json b/clients/ts-sdk/openapi.json index 614880383..67e97f33c 100644 --- a/clients/ts-sdk/openapi.json +++ b/clients/ts-sdk/openapi.json @@ -12538,6 +12538,10 @@ "type": "boolean", "nullable": true }, + "isTestMode": { + "type": "boolean", + "nullable": true + }, "navLogoImgSrcUrl": { "type": "string", "nullable": true diff --git a/clients/ts-sdk/src/types.gen.ts b/clients/ts-sdk/src/types.gen.ts index e43dd2afd..084ed503f 100644 --- a/clients/ts-sdk/src/types.gen.ts +++ b/clients/ts-sdk/src/types.gen.ts @@ -2093,6 +2093,7 @@ export type PublicPageParameters = { headingPrefix?: (string) | null; heroPattern?: ((HeroPattern) | null); hideDrawnText?: (boolean) | null; + isTestMode?: (boolean) | null; navLogoImgSrcUrl?: (string) | null; openGraphMetadata?: ((OpenGraphMetadata) | null); openLinksInNewTab?: (boolean) | null; diff --git a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx index 068beed9c..11411eaa5 100644 --- a/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx +++ b/frontends/dashboard/src/pages/dataset/PublicPageSettings.tsx @@ -1072,6 +1072,28 @@ const PublicPageControls = () => { class="block w-4 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("isTestMode", e.currentTarget.checked); + }} + class="block w-4 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" + /> +
diff --git a/server/src/data/models.rs b/server/src/data/models.rs index e74920b14..bc6f314ae 100644 --- a/server/src/data/models.rs +++ b/server/src/data/models.rs @@ -3263,6 +3263,9 @@ impl DatasetConfigurationDTO { video_position: page_parameters_self .video_position .or(page_parameters_curr.video_position), + is_test_mode: page_parameters_self + .is_test_mode + .or(page_parameters_curr.is_test_mode), }), }, DISABLE_ANALYTICS: self diff --git a/server/src/handlers/page_handler.rs b/server/src/handlers/page_handler.rs index e44c03b54..2bdc41319 100644 --- a/server/src/handlers/page_handler.rs +++ b/server/src/handlers/page_handler.rs @@ -260,6 +260,8 @@ pub struct PublicPageParameters { pub video_link: Option, #[serde(skip_serializing_if = "Option::is_none")] pub video_position: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub is_test_mode: Option, } #[utoipa::path( @@ -299,8 +301,19 @@ pub async fn public_page( let dashboard_url = env::var("ADMIN_DASHBOARD_URL").unwrap_or("https://dashboard.trieve.ai".to_string()); - let search_component_url = std::env::var("SEARCH_COMPONENT_URL") - .unwrap_or("https://search-component.trieve.ai".to_string()); + let search_component_url = if config + .clone() + .PUBLIC_DATASET + .extra_params + .unwrap_or_default() + .is_test_mode + .unwrap_or(false) + { + "https://test-search-component.trieve.ai".to_string() + } else { + std::env::var("SEARCH_COMPONENT_URL") + .unwrap_or("https://search-component.trieve.ai".to_string()) + }; if config.PUBLIC_DATASET.enabled { let templ = templates.get_template("page.html").unwrap(); diff --git a/server/src/public/page.html b/server/src/public/page.html index 15fcdbbb3..bffdd2567 100644 --- a/server/src/public/page.html +++ b/server/src/public/page.html @@ -182,6 +182,7 @@ font-size: 1rem; @media (min-width: 640px) { font-size: 1.25rem; + line-height: 50px; } } }