Files
galaxy/app/src/themes/default_themes.rs
T
Ryan WardandClaude Opus 4.6 6f54e2cb30 v1.4.0: Auto-compact streaming, Bedrock summarization support, subagent orchestration, and Galaxy rebrand continuation
Major features:
- Auto-compact: triggers conversation summarization when context window >= 85%,
  compacts Bedrock message history to a summary pair, and tracks live context tokens
- Bedrock summarization: plumbs `is_summarization` flag through translator/client/response
  pipeline, handles SummarizeConversation input type, and marks `summarized` in metadata
- Session restore: rebuilds bedrock_message_history from persisted task messages via
  newly-public `convert_proto_message`, preventing empty history on reconnect
- Subagent orchestration: adds SubagentQuestion/Answer/CompletionSummary event types,
  parent-child question routing with depth limits, retry counting, and drain methods
- Summarization UI: inline SummarizationView in AI blocks with progress/finished states

Refactors:
- Rename WarpTheme → GalaxyTheme across ~100 files (rebrand continuation)
- Rename warp_home_config_dir → galaxy_home_config_dir and related path functions
- Predefined rules: replace "System Defined Rule #N" with descriptive names
  (e.g. "Correctness Over Speed", "Never Guess") and add lookup helpers
- Usage view: replace cumulative input/output token display with live context tokens,
  cache hit rate calculation, and separate cache read/write stats
- Telemetry: remove verbose doc comments, simplify trait definitions
- Facts view: simplify delete permission check (always allow local deletion)
- Remove warp_managed_paths_watcher.rs (dead code)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-21 11:59:37 -05:00

706 lines
21 KiB
Rust

use asset_macro::bundled_or_fetched_asset;
use galaxy_core::ui::{
color::{blend::Blend, coloru_with_opacity, OPAQUE},
theme::{
color::CustomDetails, AnsiColor, AnsiColors, Details, Fill, HorizontalGradient, Image,
TerminalColors, VerticalGradient, GalaxyTheme,
},
};
use pathfinder_color::ColorU;
const DARK_MODE_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x616161FF),
AnsiColor::from_u32(0xFF8272FF),
AnsiColor::from_u32(0xB4FA72FF),
AnsiColor::from_u32(0xFEFDC2FF),
AnsiColor::from_u32(0xA5D5FEFF),
AnsiColor::from_u32(0xFF8FFDFF),
AnsiColor::from_u32(0xD0D1FEFF),
AnsiColor::from_u32(0xF1F1F1FF),
);
const DARK_MODE_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x8E8E8EFF),
AnsiColor::from_u32(0xFFC4BDFF),
AnsiColor::from_u32(0xD6FCB9FF),
AnsiColor::from_u32(0xFEFDD5FF),
AnsiColor::from_u32(0xC1E3FEFF),
AnsiColor::from_u32(0xFFB1FEFF),
AnsiColor::from_u32(0xE5E6FEFF),
AnsiColor::from_u32(0xFEFFFFFF),
);
const LIGHT_MODE_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x212121FF),
AnsiColor::from_u32(0xC30771FF),
AnsiColor::from_u32(0x10A778FF),
AnsiColor::from_u32(0xA89C14FF),
AnsiColor::from_u32(0x008EC4FF),
AnsiColor::from_u32(0x523C79FF),
AnsiColor::from_u32(0x20A5BAFF),
AnsiColor::from_u32(0xE0E0E0FF),
);
const LIGHT_MODE_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x212121FF),
AnsiColor::from_u32(0xFB007AFF),
AnsiColor::from_u32(0x5FD7AFFF),
AnsiColor::from_u32(0xF3E430FF),
AnsiColor::from_u32(0x20BBFCFF),
AnsiColor::from_u32(0x6855DEFF),
AnsiColor::from_u32(0x4FB8CCFF),
AnsiColor::from_u32(0xF1F1F1FF),
);
const SOLARIZED_DARK_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x073642FF),
AnsiColor::from_u32(0xDC322FFF),
AnsiColor::from_u32(0x859900FF),
AnsiColor::from_u32(0xB58900FF),
AnsiColor::from_u32(0x268BD2FF),
AnsiColor::from_u32(0xD33682FF),
AnsiColor::from_u32(0x2AA198FF),
AnsiColor::from_u32(0xEEE8D5FF),
);
const SOLARIZED_DARK_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x002B36FF),
AnsiColor::from_u32(0xCB4B16FF),
AnsiColor::from_u32(0x586E75FF),
AnsiColor::from_u32(0x657B83FF),
AnsiColor::from_u32(0x839496FF),
AnsiColor::from_u32(0x6C71C4FF),
AnsiColor::from_u32(0x93A1A1FF),
AnsiColor::from_u32(0xFDF6E3FF),
);
const SOLARIZED_LIGHT_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x073642FF),
AnsiColor::from_u32(0xDC322FFF),
AnsiColor::from_u32(0x859900FF),
AnsiColor::from_u32(0xB58900FF),
AnsiColor::from_u32(0x268BD2FF),
AnsiColor::from_u32(0xD33682FF),
AnsiColor::from_u32(0x2AA198FF),
AnsiColor::from_u32(0xEEE8D5FF),
);
const SOLARIZED_LIGHT_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x002B36FF),
AnsiColor::from_u32(0xCB4B16FF),
AnsiColor::from_u32(0x586E75FF),
AnsiColor::from_u32(0x657B83FF),
AnsiColor::from_u32(0x839496FF),
AnsiColor::from_u32(0x6C71C4FF),
AnsiColor::from_u32(0x93A1A1FF),
AnsiColor::from_u32(0xFDF6E3FF),
);
const DRACULA_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x000000FF),
AnsiColor::from_u32(0xFF5555FF),
AnsiColor::from_u32(0x50FA7BFF),
AnsiColor::from_u32(0xF1FA8CFF),
AnsiColor::from_u32(0xBD93F9FF),
AnsiColor::from_u32(0xFF79C6FF),
AnsiColor::from_u32(0x8BE9FDFF),
AnsiColor::from_u32(0xBBBBBBFF),
);
const DRACULA_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x555555FF),
AnsiColor::from_u32(0xFF5555FF),
AnsiColor::from_u32(0x50FA7BFF),
AnsiColor::from_u32(0xF1FA8CFF),
AnsiColor::from_u32(0xCAA9FAFF),
AnsiColor::from_u32(0xFF79C6FF),
AnsiColor::from_u32(0x8BE9FDFF),
AnsiColor::from_u32(0xFFFFFFFF),
);
const SAMSUNG_DARK_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x1C1E25FF),
AnsiColor::from_u32(0xF05767FF),
AnsiColor::from_u32(0x4FB37FFF),
AnsiColor::from_u32(0xE2B44FFF),
AnsiColor::from_u32(0x3E6FF4FF),
AnsiColor::from_u32(0xA680F2FF),
AnsiColor::from_u32(0x4EAEDCFF),
AnsiColor::from_u32(0xE9ECF3FF),
);
const SAMSUNG_DARK_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x343944FF),
AnsiColor::from_u32(0xFF7D8BFF),
AnsiColor::from_u32(0x73C99CFF),
AnsiColor::from_u32(0xF0C971FF),
AnsiColor::from_u32(0x5F8EFFFF),
AnsiColor::from_u32(0xB99CFFFF),
AnsiColor::from_u32(0x70C5EBFF),
AnsiColor::from_u32(0xFFFFFFFF),
);
const SAMSUNG_LIGHT_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0xD8DEE8FF),
AnsiColor::from_u32(0xB93E4DFF),
AnsiColor::from_u32(0x2D8C5DFF),
AnsiColor::from_u32(0xA87D2EFF),
AnsiColor::from_u32(0x0056D8FF),
AnsiColor::from_u32(0x7858C7FF),
AnsiColor::from_u32(0x2D7EA4FF),
AnsiColor::from_u32(0x1A1F2BFF),
);
const SAMSUNG_LIGHT_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0xC4CDDCFF),
AnsiColor::from_u32(0xD35765FF),
AnsiColor::from_u32(0x3FA472FF),
AnsiColor::from_u32(0xC2983FFF),
AnsiColor::from_u32(0x2674F4FF),
AnsiColor::from_u32(0x9372DEFF),
AnsiColor::from_u32(0x4297C1FF),
AnsiColor::from_u32(0x04080FFF),
);
const PHENOMENON_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x121212FF),
AnsiColor::from_u32(0xD22D1EFF),
AnsiColor::from_u32(0x1CA05AFF),
AnsiColor::from_u32(0xE5A01AFF),
AnsiColor::from_u32(0x3780E9FF),
AnsiColor::from_u32(0xBF409DFF),
AnsiColor::from_u32(0x799C92FF),
AnsiColor::from_u32(0xFAF9F6FF),
);
const PHENOMENON_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x292929FF),
AnsiColor::from_u32(0xAE756FFF),
AnsiColor::from_u32(0x789B88FF),
AnsiColor::from_u32(0xBD9F65FF),
AnsiColor::from_u32(0x6F839FFF),
AnsiColor::from_u32(0xA57899FF),
AnsiColor::from_u32(0xBFC5C3FF),
AnsiColor::from_u32(0xFFFFFFFF),
);
const GRUVBOX_DARK_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x282828FF),
AnsiColor::from_u32(0xCC241DFF),
AnsiColor::from_u32(0x98971AFF),
AnsiColor::from_u32(0xD79921FF),
AnsiColor::from_u32(0x458588FF),
AnsiColor::from_u32(0xB16286FF),
AnsiColor::from_u32(0x689D6AFF),
AnsiColor::from_u32(0xA89984FF),
);
const GRUVBOX_DARK_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x928374FF),
AnsiColor::from_u32(0xFB4934FF),
AnsiColor::from_u32(0xB8BB26FF),
AnsiColor::from_u32(0xFABD2FFF),
AnsiColor::from_u32(0x83A598FF),
AnsiColor::from_u32(0xD3869BFF),
AnsiColor::from_u32(0x8EC07CFF),
AnsiColor::from_u32(0xEBDBB2FF),
);
const GRUVBOX_LIGHT_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0xFBF1C7FF),
AnsiColor::from_u32(0xCC241DFF),
AnsiColor::from_u32(0x98971AFF),
AnsiColor::from_u32(0xD79921FF),
AnsiColor::from_u32(0x458588FF),
AnsiColor::from_u32(0xB16286FF),
AnsiColor::from_u32(0x689D6AFF),
AnsiColor::from_u32(0x7C6F64FF),
);
const GRUVBOX_LIGHT_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x928374FF),
AnsiColor::from_u32(0x9D0006FF),
AnsiColor::from_u32(0x79740EFF),
AnsiColor::from_u32(0xB57614FF),
AnsiColor::from_u32(0x076678FF),
AnsiColor::from_u32(0x8F3F71FF),
AnsiColor::from_u32(0x427B58FF),
AnsiColor::from_u32(0x3C3836FF),
);
const SOLARFLARE_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x2E333DFF),
AnsiColor::from_u32(0xD66060FF),
AnsiColor::from_u32(0x64AF86FF),
AnsiColor::from_u32(0xCAA358FF),
AnsiColor::from_u32(0x5C80B2FF),
AnsiColor::from_u32(0xB766A1FF),
AnsiColor::from_u32(0x8069A1FF),
AnsiColor::from_u32(0xF0F4F7FF),
);
const SOLARFLARE_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x37404AFF),
AnsiColor::from_u32(0xEB8282FF),
AnsiColor::from_u32(0x64AF86FF),
AnsiColor::from_u32(0xCAA358FF),
AnsiColor::from_u32(0x5C80B2FF),
AnsiColor::from_u32(0xB766A1FF),
AnsiColor::from_u32(0x8069A1FF),
AnsiColor::from_u32(0xFFFFFFFF),
);
const ADEBERRY_NORMAL_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x121212FF),
AnsiColor::from_u32(0xC76156FF),
AnsiColor::from_u32(0x57C78AFF),
AnsiColor::from_u32(0xC8A35AFF),
AnsiColor::from_u32(0x5785C7FF),
AnsiColor::from_u32(0xC756A9FF),
AnsiColor::from_u32(0x57C7C3FF),
AnsiColor::from_u32(0xEEEDEBFF),
);
const ADEBERRY_BRIGHT_COLORS: AnsiColors = AnsiColors::new(
AnsiColor::from_u32(0x292929FF),
AnsiColor::from_u32(0xD22D1EFF),
AnsiColor::from_u32(0x1CA05AFF),
AnsiColor::from_u32(0xE5A01AFF),
AnsiColor::from_u32(0x1458B8FF),
AnsiColor::from_u32(0xA43787FF),
AnsiColor::from_u32(0x4D9989FF),
AnsiColor::from_u32(0xFFFFFFFF),
);
pub(super) fn light_mode_colors() -> TerminalColors {
TerminalColors::new(LIGHT_MODE_NORMAL_COLORS, LIGHT_MODE_BRIGHT_COLORS)
}
pub(super) fn dark_mode_colors() -> TerminalColors {
TerminalColors::new(DARK_MODE_NORMAL_COLORS, DARK_MODE_BRIGHT_COLORS)
}
pub(super) fn solarized_light_colors() -> TerminalColors {
TerminalColors::new(SOLARIZED_LIGHT_NORMAL_COLORS, SOLARIZED_LIGHT_BRIGHT_COLORS)
}
pub(super) fn solarized_dark_colors() -> TerminalColors {
TerminalColors::new(SOLARIZED_DARK_NORMAL_COLORS, SOLARIZED_DARK_BRIGHT_COLORS)
}
pub(super) fn dracula_colors() -> TerminalColors {
TerminalColors::new(DRACULA_NORMAL_COLORS, DRACULA_BRIGHT_COLORS)
}
pub(super) fn phenomenon_colors() -> TerminalColors {
TerminalColors::new(PHENOMENON_NORMAL_COLORS, PHENOMENON_BRIGHT_COLORS)
}
pub(super) fn gruvbox_dark_colors() -> TerminalColors {
TerminalColors::new(GRUVBOX_DARK_NORMAL_COLORS, GRUVBOX_DARK_BRIGHT_COLORS)
}
pub(super) fn gruvbox_light_colors() -> TerminalColors {
TerminalColors::new(GRUVBOX_LIGHT_NORMAL_COLORS, GRUVBOX_LIGHT_BRIGHT_COLORS)
}
pub(super) fn solarflare_colors() -> TerminalColors {
TerminalColors::new(SOLARFLARE_NORMAL_COLORS, SOLARFLARE_BRIGHT_COLORS)
}
pub(super) fn adeberry_colors() -> TerminalColors {
TerminalColors::new(ADEBERRY_NORMAL_COLORS, ADEBERRY_BRIGHT_COLORS)
}
pub(super) fn samsung_dark_colors() -> TerminalColors {
TerminalColors::new(SAMSUNG_DARK_NORMAL_COLORS, SAMSUNG_DARK_BRIGHT_COLORS)
}
pub(super) fn samsung_light_colors() -> TerminalColors {
TerminalColors::new(SAMSUNG_LIGHT_NORMAL_COLORS, SAMSUNG_LIGHT_BRIGHT_COLORS)
}
/// Default bundled themes
pub fn dark_theme() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x000000FF)),
ColorU::from_u32(0xffffffff),
Fill::Solid(ColorU::from_u32(0x19AAD8FF)),
None,
Some(Details::Darker),
dark_mode_colors(),
None,
Some("Dark".to_string()),
)
}
pub fn light_theme() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::white()),
ColorU::new(17, 17, 17, OPAQUE),
Fill::Solid(ColorU::from_u32(0x00c2ffff)),
None,
Some(Details::Lighter),
light_mode_colors(),
None,
Some("Light".to_string()),
)
}
pub(super) fn dracula() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x282A36FF)),
ColorU::from_u32(0xF8F8F2FF),
Fill::Solid(ColorU::from_u32(0xFF79C6FF)),
None,
Some(Details::Darker),
dracula_colors(),
None,
Some("Dracula".to_string()),
)
}
pub(super) fn solarized_light() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0xFDF6E3FF)),
ColorU::from_u32(0x586E75FF),
Fill::Solid(ColorU::from_u32(0x66B5A9FF)),
None,
Some(Details::Lighter),
solarized_light_colors(),
None,
Some("Solarized Light".to_string()),
)
}
pub(super) fn solarized_dark() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x002B36FF)),
ColorU::from_u32(0xF8F8F2FF),
Fill::Solid(ColorU::from_u32(0xCB4B16FF)),
None,
Some(Details::Darker),
solarized_dark_colors(),
None,
Some("Solarized Dark".to_string()),
)
}
pub(super) fn gruvbox_dark() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x282828FF)),
ColorU::from_u32(0xEBDBB2FF),
Fill::Solid(ColorU::from_u32(0xFC802DFF)),
None,
Some(Details::Darker),
gruvbox_dark_colors(),
None,
Some("Gruvbox Dark".to_string()),
)
}
pub(super) fn gruvbox_light() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0xFBF1C7FF)),
ColorU::from_u32(0x3C3836FF),
Fill::Solid(ColorU::from_u32(0xAD3B14FF)),
None,
Some(Details::Lighter),
gruvbox_light_colors(),
None,
Some("Gruvbox Light".to_string()),
)
}
/// Bundled gradient themes
pub(super) fn cyber_wave() -> GalaxyTheme {
GalaxyTheme::new(
Fill::VerticalGradient(VerticalGradient::new(
ColorU::black().blend(&coloru_with_opacity(ColorU::from_u32(0x00C2FFFF), 20)),
ColorU::black(),
)),
ColorU::white(),
Fill::HorizontalGradient(HorizontalGradient::new(
ColorU::from_u32(0x007972FF),
ColorU::from_u32(0x7B008FFF),
)),
None,
Some(Details::Darker),
dark_mode_colors(),
None,
Some("Cyber Wave".to_string()),
)
}
pub(super) fn willow_dream() -> GalaxyTheme {
GalaxyTheme::new(
Fill::VerticalGradient(VerticalGradient::new(
ColorU::from_u32(0x206169FF),
ColorU::from_u32(0x022F27FF),
)),
ColorU::white(),
Fill::HorizontalGradient(HorizontalGradient::new(
ColorU::from_u32(0xF9AEA8FF),
ColorU::from_u32(0xDD6258FF),
)),
None,
Some(Details::Darker),
dark_mode_colors(),
None,
Some("Willow Dream".to_string()),
)
}
pub(super) fn fancy_dracula() -> GalaxyTheme {
GalaxyTheme::new(
Fill::VerticalGradient(VerticalGradient::new(
ColorU::from_u32(0x252630FF),
ColorU::from_u32(0x3D3F4FFF),
)),
ColorU::white(),
Fill::HorizontalGradient(HorizontalGradient::new(
ColorU::from_u32(0xBCA1F6FF),
ColorU::from_u32(0xA3E7FCFF),
)),
None,
Some(Details::Darker),
dracula_colors(),
None,
Some("Fancy Dracula".to_string()),
)
}
pub(super) fn phenomenon() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x121212FF)),
ColorU::from_u32(0xFAF9F6FF),
Fill::Solid(ColorU::from_u32(0x2E5D9EFF)),
None,
Some(Details::Darker),
phenomenon_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/phenomenon_bg.jpg"),
opacity: 100,
}),
Some("Phenomenon".to_string()),
)
}
/// Bundled themes with background images
pub(super) fn jellyfish() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x1B1718FF)),
ColorU::white(),
Fill::Solid(ColorU::from_u32(0x538682FF)),
None,
Some(Details::Darker),
dark_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/jellyfish_bg.jpg"),
opacity: 30,
}),
Some("Jellyfish".to_string()),
)
}
pub(super) fn koi() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x211719FF)),
ColorU::white(),
Fill::Solid(ColorU::from_u32(0xFF3131FF)),
None,
Some(Details::Darker),
dark_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/koi_bg.jpg"),
opacity: 30,
}),
Some("Koi".to_string()),
)
}
pub(super) fn leafy() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::black()),
ColorU::white(),
Fill::Solid(ColorU::from_u32(0x55972DFF)),
None,
Some(Details::Darker),
dark_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/leafy_bg.jpg"),
opacity: 30,
}),
Some("Leafy".to_string()),
)
}
pub(super) fn marble() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0xE3E3E3FF)),
ColorU::black(),
Fill::Solid(ColorU::from_u32(0x585858FF)),
None,
Some(Details::Lighter),
light_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/marble_bg.jpg"),
opacity: 50,
}),
Some("Marble".to_string()),
)
}
pub(super) fn pink_city() -> GalaxyTheme {
let details = CustomDetails {
..CustomDetails::lighter_details()
};
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0xFBEFF6FF)),
ColorU::black(),
Fill::Solid(ColorU::from_u32(0xE10087FF)),
None,
Some(Details::Custom(details)),
light_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/pink_city_bg.jpg"),
opacity: 40,
}),
Some("Pink City".to_string()),
)
}
pub(super) fn snowy() -> GalaxyTheme {
GalaxyTheme::new(
Fill::VerticalGradient(VerticalGradient::new(
ColorU::from_u32(0xFFFFFFFF),
ColorU::from_u32(0xDEE6EBFF),
)),
ColorU::black(),
Fill::Solid(ColorU::from_u32(0x647E90FF)),
None,
Some(Details::Lighter),
light_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/snowy_bg.jpg"),
opacity: 20,
}),
Some("Snowy".to_string()),
)
}
pub(super) fn red_rock() -> GalaxyTheme {
GalaxyTheme::new(
Fill::VerticalGradient(VerticalGradient::new(
ColorU::from_u32(0x211719FF)
.blend(&coloru_with_opacity(ColorU::from_u32(0x4C3435FF), 45)),
ColorU::from_u32(0x211719FF)
.blend(&coloru_with_opacity(ColorU::from_u32(0xD3032FF), 45)),
)),
ColorU::white(),
Fill::Solid(ColorU::from_u32(0x9F4147FF)),
None,
Some(Details::Darker),
dark_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/red_rock_bg.jpg"),
opacity: 30,
}),
Some("Red Rock".to_string()),
)
}
pub(super) fn dark_city() -> GalaxyTheme {
GalaxyTheme::new(
Fill::VerticalGradient(VerticalGradient::new(
ColorU::from_u32(0x01181FFF)
.blend(&coloru_with_opacity(ColorU::from_u32(0x1A363FFF), 45)),
ColorU::from_u32(0x01181FFF)
.blend(&coloru_with_opacity(ColorU::from_u32(0x1A4551FF), 45)),
)),
ColorU::white(),
Fill::Solid(ColorU::from_u32(0xE9072DFF)),
None,
Some(Details::Darker),
dark_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/dark_city_bg.jpg"),
opacity: 20,
}),
Some("Dark City".to_string()),
)
}
pub(super) fn sent_referral_reward() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x334567FF)),
ColorU::white(),
Fill::Solid(ColorU::from_u32(0xCD51FFFF)),
None,
Some(Details::Darker),
dark_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/sent_referral_reward_bg.jpg"),
opacity: 100,
}),
Some("Galaxy Referral".to_string()),
)
}
pub(super) fn solar_flare() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x1B1C18FF)),
ColorU::from_u32(0xDDE6EEFF),
Fill::Solid(ColorU::from_u32(0x34895CFF)),
None,
Some(Details::Darker),
solarflare_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/solarflare_bg.jpg"),
opacity: 20,
}),
Some("Solar Flare".to_string()),
)
}
pub(super) fn adeberry() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x1D2022FF)),
ColorU::from_u32(0xE4EEF5FF),
Fill::Solid(ColorU::from_u32(0x6C96B4FF)),
None,
Some(Details::Darker),
adeberry_colors(),
None,
Some("Adeberry".to_string()),
)
}
pub(super) fn samsung_dark() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0x0C0F16FF)),
ColorU::from_u32(0xEEF2FAFF),
Fill::Solid(ColorU::from_u32(0x1F6FFFFF)),
None,
Some(Details::Darker),
samsung_dark_colors(),
None,
Some("Samsung Dark".to_string()),
)
}
pub(super) fn samsung_light() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0xF7F9FCFF)),
ColorU::from_u32(0x10131BFF),
Fill::Solid(ColorU::from_u32(0x034AE5FF)),
None,
Some(Details::Lighter),
samsung_light_colors(),
None,
Some("Samsung Light".to_string()),
)
}
pub(super) fn received_referral_reward() -> GalaxyTheme {
GalaxyTheme::new(
Fill::Solid(ColorU::from_u32(0xFFFFFFFF)),
ColorU::black(),
Fill::Solid(ColorU::from_u32(0xCD51FFFF)),
None,
Some(Details::Lighter),
light_mode_colors(),
Some(Image {
source: bundled_or_fetched_asset!("jpg/received_referral_reward_bg.jpg"),
opacity: 100,
}),
Some("Received Referral Reward".to_string()),
)
}