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>
706 lines
21 KiB
Rust
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()),
|
|
)
|
|
}
|