Skip to content

Commit 62c2194

Browse files
cdxkerskeptrunedev
authored andcommitted
bugfix(demopage): fix serialize errors on demo page and make default questions either a string or a Json combo
1 parent af657c6 commit 62c2194

2 files changed

Lines changed: 20 additions & 4 deletions

File tree

server/src/handlers/page_handler.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,14 @@ pub struct SearchPageProps {
256256
pub filter_sidebar_props: Option<SidebarFilters>,
257257
}
258258

259+
#[derive(Serialize, Deserialize, Debug, Clone, ToSchema)]
260+
#[serde(untagged)]
261+
pub enum DefaultSearchQueryType {
262+
Text(String),
263+
Image(DefaultSearchQuery),
264+
}
265+
266+
259267
#[derive(Serialize, Deserialize, Debug, Clone, ToSchema, Default)]
260268
#[serde(rename_all = "camelCase")]
261269
pub struct DefaultSearchQuery {
@@ -315,9 +323,9 @@ pub struct PublicPageParameters {
315323
#[serde(skip_serializing_if = "Option::is_none")]
316324
pub placeholder: Option<String>,
317325
#[serde(skip_serializing_if = "Option::is_none")]
318-
pub default_search_queries: Option<Vec<DefaultSearchQuery>>,
326+
pub default_search_queries: Option<Vec<DefaultSearchQueryType>>,
319327
#[serde(skip_serializing_if = "Option::is_none")]
320-
pub default_ai_questions: Option<Vec<DefaultSearchQuery>>,
328+
pub default_ai_questions: Option<Vec<DefaultSearchQueryType>>,
321329
#[serde(skip_serializing_if = "Option::is_none")]
322330
pub default_search_mode: Option<String>,
323331
#[serde(skip_serializing_if = "Option::is_none")]

server/src/public/page.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -566,12 +566,20 @@
566566
class="example-questions flex justify-center flex-wrap gap-1 mt-2 mx-auto px-4 sm:px-6 lg:max-w-7xl lg:px-8 w-full"
567567
>
568568
{% for question in params.defaultAiQuestions %}
569+
{% if question.query %}
570+
<button
571+
class="bg-brand-color text-white px-4 py-2 rounded-full text-sm sm:text-base"
572+
data-image-url="{{ question.imageUrl }}"
573+
>
574+
{{ question.query }}
575+
</button>
576+
{% else %}
569577
<button
570578
class="bg-brand-color text-white px-4 py-2 rounded-full text-sm sm:text-base"
571-
data-image-url="{{ question.imageUrl }}"
572579
>
573-
{{ question.query }}
580+
{{ question }}
574581
</button>
582+
{% endif %}
575583
{% endfor %}
576584
</div>
577585
{% endif %}

0 commit comments

Comments
 (0)