Skip to main content

systemprompt_provider_contracts/web_config/
branding.rs

1//! Brand-identity configuration: name, logo, social handles, copyright.
2//!
3//! Copyright (c) systemprompt.io — Business Source License 1.1.
4//! See <https://systemprompt.io> for licensing details.
5
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct BrandingConfig {
10    pub name: String,
11    pub title: String,
12    pub description: String,
13    pub copyright: String,
14    #[serde(rename = "themeColor")]
15    pub theme_color: String,
16    pub display_sitename: bool,
17    pub twitter_handle: String,
18    pub logo: LogoConfig,
19    pub favicon: String,
20}
21
22#[derive(Debug, Clone, Serialize, Deserialize)]
23pub struct LogoConfig {
24    pub primary: LogoVariant,
25    #[serde(default)]
26    pub dark: Option<LogoVariant>,
27    #[serde(default)]
28    pub small: Option<LogoVariant>,
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct LogoVariant {
33    #[serde(default)]
34    pub svg: Option<String>,
35    #[serde(default)]
36    pub webp: Option<String>,
37    #[serde(default)]
38    pub png: Option<String>,
39}