Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though

This commit is contained in:
Ryan Ward
2026-05-07 11:29:34 -05:00
parent f4e2475c60
commit a41cbd8cc7
2433 changed files with 14208 additions and 9409 deletions
+5 -5
View File
@@ -9,7 +9,7 @@ use crate::{
appearance::Appearance, channel::ChannelState, themes::theme::ColorScheme,
workspace::WorkspaceAction,
};
use warpui::{
use galaxyui::{
assets::asset_cache::AssetSource,
elements::{
Align, CacheOption, ConstrainedBox, Container, CrossAxisAlignment, Element, Flex, Image,
@@ -54,7 +54,7 @@ impl SettingsWidget for AboutPageWidget {
type View = AboutPageView;
fn search_terms(&self) -> &str {
"about warp version"
"about galaxy ai version"
}
fn render(
@@ -67,9 +67,9 @@ impl SettingsWidget for AboutPageWidget {
let ui_builder = appearance.ui_builder();
let image_path = if theme.inferred_color_scheme() == ColorScheme::LightOnDark {
"bundled/svg/warp-logo-with-light-title.svg"
"bundled/svg/bedrock.svg"
} else {
"bundled/svg/warp-logo-with-dark-title.svg"
"bundled/svg/bedrock.svg"
};
let version = ChannelState::app_version().unwrap_or("v#.##.###");
@@ -118,7 +118,7 @@ impl SettingsWidget for AboutPageWidget {
.with_child(version_row.finish())
.with_child(
ui_builder
.span("Copyright 2026 Warp")
.span("Copyright 2026 Samsung Electronics Co., Ltd.")
.build()
.with_margin_top(16.)
.finish(),
+1 -1
View File
@@ -1,5 +1,5 @@
use crate::{channel::ChannelState, server::ids::ServerId};
use warpui::AppContext;
use galaxyui::AppContext;
/// Shared admin panel actions and utilities for settings views
pub struct AdminActions;
@@ -5,10 +5,10 @@ use std::{
};
use pathfinder_color::ColorU;
use warp_core::{
use galaxy_core::{
features::FeatureFlag, paths::home_relative_path, ui::theme::color::internal_colors,
};
use warpui::{
use galaxyui::{
elements::{
Align, Border, ChildView, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox,
Container, CornerRadius, CrossAxisAlignment, Dismiss, Element, Empty, Expanded, Flex,
@@ -529,7 +529,7 @@ impl AgentAssistedEnvironmentModal {
ScrollbarWidth::Auto,
theme.nonactive_ui_text_color().into(),
theme.active_ui_text_color().into(),
warpui::elements::Fill::None,
galaxyui::elements::Fill::None,
)
.with_overlayed_scrollbar()
.with_padding_start(0.)
@@ -5,10 +5,10 @@ use crate::test_util::settings::initialize_settings_for_tests;
use crate::workspace::ToastStack;
use ai::index::full_source_code_embedding::manager::CodebaseIndexManager;
use std::path::PathBuf;
use warp_core::ui::appearance::Appearance;
use warpui::elements::{ChildView, Empty};
use warpui::platform::WindowStyle;
use warpui::{App, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle};
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{ChildView, Empty};
use galaxyui::platform::WindowStyle;
use galaxyui::{App, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle};
fn init_modal_test_models(app: &mut App) {
initialize_settings_for_tests(app);
+56 -66
View File
@@ -23,16 +23,15 @@ use crate::settings::InputSettings;
use crate::settings::{
AIAutoDetectionEnabled, AICommandDenylist, AISettingsChangedEvent,
AgentModeCodingPermissionsType, AgentModeCommandExecutionDenylist,
AgentModeCommandExecutionPredicate, AgentModeQuerySuggestionsEnabled, BedrockAutoLogin,
BedrockAuthMethod, BedrockCrossRegionInference, BedrockEnabled, BedrockFallbackToWarp,
CanUseWarpCreditsWithByok, CodeSettings, CodebaseContextEnabled,
FileBasedMcpEnabled, GitOperationsAutogenEnabled, IncludeAgentCommandsInHistory,
IntelligentAutosuggestionsEnabled, MemoryEnabled, NLDInTerminalEnabled,
NaturalLanguageAutosuggestionsEnabled, OrchestrationEnabled, RuleSuggestionsEnabled,
SharedBlockTitleGenerationEnabled, ShouldRenderCLIAgentToolbar,
ShouldRenderUseAgentToolbarForUserCommands, ShouldShowOzUpdatesInZeroState, ShowAgentTips,
ShowConversationHistory, ShowHintText, ThinkingDisplayMode, VoiceInputEnabled,
WarpDriveContextEnabled,
AgentModeCommandExecutionPredicate, AgentModeQuerySuggestionsEnabled, BedrockAuthMethod,
BedrockAutoLogin, BedrockCrossRegionInference, BedrockEnabled, BedrockFallbackToWarp,
CanUseWarpCreditsWithByok, CodeSettings, CodebaseContextEnabled, FileBasedMcpEnabled,
GitOperationsAutogenEnabled, IncludeAgentCommandsInHistory, IntelligentAutosuggestionsEnabled,
MemoryEnabled, NLDInTerminalEnabled, NaturalLanguageAutosuggestionsEnabled,
OrchestrationEnabled, RuleSuggestionsEnabled, SharedBlockTitleGenerationEnabled,
ShouldRenderCLIAgentToolbar, ShouldRenderUseAgentToolbarForUserCommands,
ShouldShowOzUpdatesInZeroState, ShowAgentTips, ShowConversationHistory, ShowHintText,
ThinkingDisplayMode, VoiceInputEnabled, WarpDriveContextEnabled,
};
use crate::terminal::session_settings::{SessionSettings, SessionSettingsChangedEvent};
use crate::terminal::CLIAgent;
@@ -47,18 +46,18 @@ use itertools::Itertools;
use regex::Regex;
use settings::{Setting, ToggleableSetting};
use strum::IntoEnumIterator;
use warp_core::channel::ChannelState;
use warp_core::context_flag::ContextFlag;
use warp_core::features::FeatureFlag;
use warp_core::ui::theme::color::internal_colors;
use warpui::elements::{
ChildView, ConstrainedBox, CornerRadius, CrossAxisAlignment, Fill,
HyperlinkLens, MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius, Shrinkable, Text,
use galaxy_core::channel::ChannelState;
use galaxy_core::context_flag::ContextFlag;
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::elements::{
ChildView, ConstrainedBox, CornerRadius, CrossAxisAlignment, Fill, HyperlinkLens,
MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius, Shrinkable, Text,
};
use warpui::fonts::{Properties, Weight};
use warpui::id;
use warpui::keymap::ContextPredicate;
use warpui::{
use galaxyui::fonts::{Properties, Weight};
use galaxyui::id;
use galaxyui::keymap::ContextPredicate;
use galaxyui::{
elements::{
Container, Flex, FormattedTextElement, HighlightedHyperlink, HyperlinkUrl, ParentElement,
},
@@ -295,7 +294,7 @@ pub fn init_actions_from_parent_view<T: Action + Clone>(
);
{
use crate::settings::ThinkingDisplayMode;
use warpui::keymap::FixedBinding;
use galaxyui::keymap::FixedBinding;
let ai_context = context.clone() & id!(flags::IS_ANY_AI_ENABLED);
let mode_bindings: Vec<FixedBinding> = ThinkingDisplayMode::iter()
@@ -2038,7 +2037,7 @@ impl View for AISettingsPageView {
"AISettingsPage"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
self.page.render(self, app)
}
}
@@ -2768,9 +2767,7 @@ impl TypedActionView for AISettingsPageView {
}
AISettingsPageAction::ToggleBedrockEnabled => {
AISettings::handle(ctx).update(ctx, |settings, ctx| {
report_if_error!(settings
.bedrock_enabled
.toggle_and_save_value(ctx));
report_if_error!(settings.bedrock_enabled.toggle_and_save_value(ctx));
});
ctx.notify();
}
@@ -2801,9 +2798,7 @@ impl TypedActionView for AISettingsPageView {
});
}
Err(e) => {
log::error!(
"Failed to discover Bedrock inference profiles: {e}"
);
log::error!("Failed to discover Bedrock inference profiles: {e}");
}
},
);
@@ -2832,9 +2827,7 @@ impl TypedActionView for AISettingsPageView {
}
AISettingsPageAction::ToggleBedrockFallbackToWarp => {
AISettings::handle(ctx).update(ctx, |settings, ctx| {
report_if_error!(settings
.bedrock_fallback_to_warp
.toggle_and_save_value(ctx));
report_if_error!(settings.bedrock_fallback_to_warp.toggle_and_save_value(ctx));
});
ctx.notify();
}
@@ -3154,7 +3147,7 @@ impl SettingsWidget for GlobalAIWidget {
.with_cross_axis_alignment(CrossAxisAlignment::Center)
.with_child(
Text::new_inline(
"Warp Agent",
"Galaxy Agent",
appearance.ui_font_family(),
PRIMARY_HEADER_FONT_SIZE,
)
@@ -3269,13 +3262,13 @@ impl UsageWidget {
is_unlimited: bool,
workspace_is_delinquent_due_to_payment_issue: bool,
appearance: &Appearance,
) -> Box<dyn warpui::Element> {
) -> Box<dyn galaxyui::Element> {
let mut row = Flex::row();
if used >= limit || workspace_is_delinquent_due_to_payment_issue {
row.add_child(
ConstrainedBox::new(
Icon::AlertTriangle
.to_warpui_icon(appearance.theme().ui_error_color().into())
.to_galaxyui_icon(appearance.theme().ui_error_color().into())
.finish(),
)
.with_height(16.)
@@ -3334,7 +3327,7 @@ impl UsageWidget {
is_unlimited: bool,
workspace_is_delinquent_due_to_payment_issue: bool,
appearance: &Appearance,
) -> Box<dyn warpui::Element> {
) -> Box<dyn galaxyui::Element> {
let request_usage_details = Flex::column()
.with_cross_axis_alignment(CrossAxisAlignment::End)
.with_child(self.render_request_usage_count(
@@ -3612,8 +3605,8 @@ impl ActiveAIWidget {
fn render_next_command_section(
&self,
view: &AISettingsPageView,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_active_ai_enabled(app);
@@ -3640,8 +3633,8 @@ impl ActiveAIWidget {
fn render_prompt_suggestions_section(
&self,
view: &AISettingsPageView,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_active_ai_enabled(app);
Flex::column()
@@ -3667,8 +3660,8 @@ impl ActiveAIWidget {
fn render_suggested_code_banners_section(
&self,
view: &AISettingsPageView,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_active_ai_enabled(app);
Flex::column()
@@ -3694,8 +3687,8 @@ impl ActiveAIWidget {
fn render_natural_language_autosuggestions_section(
&self,
view: &AISettingsPageView,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_active_ai_enabled(app);
Flex::column()
@@ -3721,8 +3714,8 @@ impl ActiveAIWidget {
fn render_shared_block_title_generation_section(
&self,
view: &AISettingsPageView,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_active_ai_enabled(app);
Flex::column()
@@ -3748,8 +3741,8 @@ impl ActiveAIWidget {
fn render_git_operations_autogen_section(
&self,
view: &AISettingsPageView,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_active_ai_enabled(app);
Flex::column()
@@ -4182,7 +4175,7 @@ impl AgentsWidget {
dropdown_menu: &ViewHandle<Dropdown<AISettingsPageAction>>,
ai_settings: &AISettings,
appearance: &Appearance,
app: &warpui::AppContext,
app: &galaxyui::AppContext,
) -> Box<dyn Element> {
let header = Container::new(render_body_item_label_with_icon::<AISettingsPageAction>(
header_text.into(),
@@ -4202,7 +4195,7 @@ impl AgentsWidget {
let alert_icon = Container::new(
ConstrainedBox::new(
Icon::AlertCircle
.to_warpui_icon(
.to_galaxyui_icon(
appearance
.theme()
.sub_text_color(appearance.theme().surface_2()),
@@ -4410,7 +4403,7 @@ impl AgentsWidget {
view: &AISettingsPageView,
ai_settings: &AISettings,
appearance: &Appearance,
app: &warpui::AppContext,
app: &galaxyui::AppContext,
) -> Box<dyn Element> {
let code_settings = CodeSettings::as_ref(app);
let toggle = render_ai_setting_toggle::<CodebaseContextEnabled>(
@@ -4772,8 +4765,8 @@ impl AIInputWidget {
view: &AISettingsPageView,
ai_settings: &AISettings,
appearance: &Appearance,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let is_toggleable = ai_settings.is_any_ai_enabled(app);
let is_nld_enabled = *ai_settings.ai_autodetection_enabled_internal.value();
@@ -5084,7 +5077,7 @@ impl AIFactWidget {
view: &AISettingsPageView,
ai_settings: &AISettings,
appearance: &Appearance,
app: &warpui::AppContext,
app: &galaxyui::AppContext,
) -> Box<dyn Element> {
let toggle = render_ai_setting_toggle::<MemoryEnabled>(
"Rules",
@@ -5135,7 +5128,7 @@ impl AIFactWidget {
&self,
view: &AISettingsPageView,
ai_settings: &AISettings,
app: &warpui::AppContext,
app: &galaxyui::AppContext,
) -> Box<dyn Element> {
let toggle = render_ai_setting_toggle::<RuleSuggestionsEnabled>(
"Suggested Rules",
@@ -5163,10 +5156,10 @@ impl AIFactWidget {
&self,
view: &AISettingsPageView,
ai_settings: &AISettings,
app: &warpui::AppContext,
app: &galaxyui::AppContext,
) -> Box<dyn Element> {
let toggle = render_ai_setting_toggle::<WarpDriveContextEnabled>(
"Warp Drive as agent context",
"Galaxy Drive as agent context",
AISettingsPageAction::ToggleWarpDriveContext,
*ai_settings.warp_drive_context_enabled,
ai_settings.is_any_ai_enabled(app),
@@ -5176,7 +5169,7 @@ impl AIFactWidget {
);
let description = render_ai_setting_description(
"The Warp Agent can leverage your Warp Drive Contents to tailor responses to your personal and team developer workflows and environments. This includes any Workflows, Notebooks, and Environment Variables.",
"The Galaxy Agent can leverage your Galaxy Drive Contents to tailor responses to your personal and team developer workflows and environments. This includes any Workflows, Notebooks, and Environment Variables.",
ai_settings.is_any_ai_enabled(app),
app,
);
@@ -5250,8 +5243,8 @@ impl VoiceWidget {
&self,
view: &AISettingsPageView,
appearance: &Appearance,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let ai_settings = AISettings::as_ref(app);
let is_toggleable = ai_settings.is_any_ai_enabled(app);
let mut column = Flex::column().with_child(render_ai_setting_toggle::<VoiceInputEnabled>(
@@ -6397,10 +6390,7 @@ impl BedrockSettingsWidget {
BedrockAuthMethod::Sso,
];
let current = AISettings::as_ref(ctx).bedrock_auth_method.value().clone();
let selected_index = methods
.iter()
.position(|m| *m == current)
.unwrap_or(0);
let selected_index = methods.iter().position(|m| *m == current).unwrap_or(0);
dropdown.add_items(
methods
.into_iter()
@@ -6859,8 +6849,8 @@ impl SettingsWidget for BedrockSettingsWidget {
}
mod styles {
use warp_core::ui::{appearance::Appearance, theme::Fill};
use warpui::{AppContext, SingletonEntity};
use galaxy_core::ui::{appearance::Appearance, theme::Fill};
use galaxyui::{AppContext, SingletonEntity};
// Apply a negative margin to the description text so it appears closer to the main
// settings option text.
+246 -18
View File
@@ -31,7 +31,7 @@ use crate::settings::{
respect_system_theme, AIFontName, AppEditorSettings, CursorBlink, CursorBlinkEnabled,
EnforceMinimumContrast, FocusPaneOnHover, FontSettings, FontSettingsChangedEvent, InputBoxType,
InputModeSettings, InputModeState, MonospaceFontName, PaneSettings, ShouldDimInactivePanes,
ThemeSettings, UseSystemTheme, DEFAULT_MONOSPACE_FONT_NAME,
ThemeSettings, UIFontName, UseSystemTheme, DEFAULT_MONOSPACE_FONT_NAME, DEFAULT_UI_FONT_NAME,
};
use crate::settings::{CursorDisplayType, GPUSettings, InputSettings, InputSettingsChangedEvent};
use crate::terminal::block_list_viewport::InputMode;
@@ -74,25 +74,25 @@ use std::cell::RefCell;
use std::collections::HashMap;
use std::path::PathBuf;
use std::rc::Rc;
use warp_core::ui::theme::color::internal_colors;
use warp_util::path::user_friendly_path;
use warpui::elements::{
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_util::path::user_friendly_path;
use galaxyui::elements::{
Clipped, Empty, FormattedTextElement, MainAxisAlignment, MainAxisSize, Text, Wrap,
};
use warpui::fonts::{FamilyId, FontInfo, Weight};
use warpui::keymap::{ContextPredicate, FixedBinding};
use warpui::platform::{Cursor, FilePickerConfiguration, GraphicsBackend};
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::ui_components::radio_buttons::{
use galaxyui::fonts::{FamilyId, FontInfo, Weight};
use galaxyui::keymap::{ContextPredicate, FixedBinding};
use galaxyui::platform::{Cursor, FilePickerConfiguration, GraphicsBackend};
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::ui_components::radio_buttons::{
RadioButtonItem, RadioButtonLayout, RadioButtonStateHandle,
};
use warpui::ui_components::slider::SliderStateHandle;
use warpui::ui_components::switch::SwitchStateHandle;
use warpui::units::IntoPixels;
use galaxyui::ui_components::slider::SliderStateHandle;
use galaxyui::ui_components::switch::SwitchStateHandle;
use galaxyui::units::IntoPixels;
use warpui::id;
use warpui::{
use galaxyui::id;
use galaxyui::{
elements::{
Align, Border, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
Dismiss, Element, Fill, Flex, Hoverable, MouseStateHandle, ParentElement, Radius,
@@ -100,8 +100,8 @@ use warpui::{
},
rendering::ThinStrokes,
};
use warpui::{platform::SystemTheme, Action};
use warpui::{
use galaxyui::{platform::SystemTheme, Action};
use galaxyui::{
AppContext, Entity, ModelHandle, SingletonEntity, TypedActionView, UpdateModel, View,
ViewContext, ViewHandle, WindowId,
};
@@ -121,6 +121,8 @@ const MIN_FONT_SIZE: usize = 1;
const MAX_FONT_SIZE: usize = 120;
const MIN_LINE_SPACING: f32 = 0.1;
const MAX_LINE_SPACING: f32 = 5.;
const SAMSUNG_BRAND_THEME_DARK: ThemeKind = ThemeKind::SamsungDark;
const SAMSUNG_BRAND_THEME_LIGHT: ThemeKind = ThemeKind::SamsungLight;
const INPUT_MODE_DROPDOWN_WIDTH: f32 = 225.;
@@ -136,6 +138,10 @@ fn default_font_label(is_ai_font: bool) -> String {
}
}
fn default_ui_font_label() -> String {
"Default (system)".to_string()
}
pub fn init_actions_from_parent_view<T: Action + Clone>(
app: &mut AppContext,
context: &ContextPredicate,
@@ -427,7 +433,9 @@ pub enum AppearancePageAction {
OpacitySliderDragged(f32),
BlurSliderDragged(f32),
SetFontFamily(String),
SetUIFontFamily(String),
SetAIFontFamily(String),
ApplySamsungBrandPreset,
SetThinStrokes(ThinStrokes),
SetInputMode {
new_mode: InputMode,
@@ -481,6 +489,7 @@ pub struct AppearanceSettingsPageView {
line_height_editor: ViewHandle<EditorView>,
notebook_font_size_editor: ViewHandle<EditorView>,
ai_font_family_dropdown: ViewHandle<FilterableDropdown<AppearancePageAction>>,
ui_font_family_dropdown: ViewHandle<FilterableDropdown<AppearancePageAction>>,
new_window_columns_editor: ViewHandle<EditorView>,
valid_new_window_columns: bool,
new_window_rows_editor: ViewHandle<EditorView>,
@@ -544,6 +553,7 @@ impl TypedActionView for AppearanceSettingsPageView {
SetOpacity(value) => self.set_opacity(*value, true, ctx),
SetBlur(value) => self.set_blur(*value, true, ctx),
SetFontFamily(name) => self.set_font_family(name, ctx),
SetUIFontFamily(name) => self.set_ui_font_family(name, ctx),
SetAIFontFamily(name) => {
self.set_ai_font_family(name, ctx);
FontSettings::handle(ctx).update(ctx, |font_settings, ctx| {
@@ -667,6 +677,7 @@ impl TypedActionView for AppearanceSettingsPageView {
});
ctx.notify();
}
ApplySamsungBrandPreset => self.apply_samsung_brand_preset(ctx),
}
}
}
@@ -817,6 +828,9 @@ impl AppearanceSettingsPageView {
});
ctx.notify();
}
FontSettingsChangedEvent::UIFontName { .. } => {
me.update_font_dropdown(ctx);
}
_ => {}
},
);
@@ -975,7 +989,7 @@ impl AppearanceSettingsPageView {
// `all_system_fonts` API doesn't exist.
#[cfg(not(target_family = "wasm"))]
{
let all_system_fonts = warpui::fonts::Cache::handle(ctx)
let all_system_fonts = galaxyui::fonts::Cache::handle(ctx)
.update(ctx, |font_cache, ctx| font_cache.all_system_fonts(ctx));
ctx.spawn(all_system_fonts, Self::set_system_fonts);
}
@@ -990,6 +1004,14 @@ impl AppearanceSettingsPageView {
dropdown.set_selected_by_index(0, ctx);
dropdown
});
let ui_font_family_dropdown = ctx.add_typed_action_view(|ctx| {
let mut dropdown = FilterableDropdown::new(ctx);
dropdown.set_top_bar_max_width(FONT_FAMILY_DROPDOWN_WIDTH);
dropdown.set_menu_width(FONT_FAMILY_DROPDOWN_WIDTH, ctx);
dropdown.add_items(vec![Self::default_ui_font_item(ctx)], ctx);
dropdown.set_selected_by_index(0, ctx);
dropdown
});
let ai_font_family_dropdown = ctx.add_typed_action_view(|ctx| {
let mut dropdown = FilterableDropdown::new(ctx);
@@ -1193,6 +1215,7 @@ impl AppearanceSettingsPageView {
window_id: ctx.window_id(),
local_only_icon_tooltip_states: Default::default(),
ai_font_family_dropdown,
ui_font_family_dropdown,
notebook_font_size_editor,
font_size_editor,
line_height_editor,
@@ -1238,6 +1261,7 @@ impl AppearanceSettingsPageView {
vec![
Box::new(CreateCustomThemeWidget::default()),
Box::new(ThemeSelectWidget::default()),
Box::new(BrandPresetWidget::default()),
],
)];
@@ -1321,6 +1345,7 @@ impl AppearanceSettingsPageView {
let font_settings = FontSettings::as_ref(ctx);
let mut text_settings_widgets: Vec<Box<dyn SettingsWidget<View = Self>>> = vec![
Box::new(TerminalFontWidget::default()),
Box::new(UIFontWidget::default()),
Box::new(AIFontWidget::default()),
Box::new(NotebookFontSizeWidget::default()),
];
@@ -1501,6 +1526,16 @@ impl AppearanceSettingsPageView {
initial_dropdown_item
}
fn default_ui_font_item<V>(_: &mut ViewContext<V>) -> DropdownItem<AppearancePageAction>
where
V: View,
{
DropdownItem::new(
default_ui_font_label(),
AppearancePageAction::SetUIFontFamily(DEFAULT_UI_FONT_NAME.to_string()),
)
}
fn input_mode_dropdown_item_label(val: InputMode) -> &'static str {
match val {
InputMode::PinnedToBottom => "Pin to the bottom (Warp mode)",
@@ -1988,6 +2023,36 @@ impl AppearanceSettingsPageView {
}
});
self.ui_font_family_dropdown.update(ctx, |dropdown, ctx| {
let selected_ui_font = FontSettings::as_ref(ctx).ui_font_name.value().clone();
let mut items = self
.available_families
.iter()
.map(|(name, (family, _font_type))| {
let mut item = DropdownItem::new(
name,
AppearancePageAction::SetUIFontFamily(name.clone()),
);
if cfg!(not(target_os = "linux")) {
if let Some(family_id) = family {
item = item.with_font_override(*family_id);
}
}
item
})
.collect::<Vec<_>>();
items.sort_by(|a, b| a.display_text.cmp(&b.display_text));
items.insert(0, Self::default_ui_font_item(ctx));
dropdown.set_items(items, ctx);
if selected_ui_font.is_empty() {
dropdown.set_selected_by_name(default_ui_font_label(), ctx);
} else {
dropdown.set_selected_by_name(selected_ui_font, ctx);
}
});
ctx.notify();
}
@@ -2055,6 +2120,74 @@ impl AppearanceSettingsPageView {
});
}
pub fn set_ui_font_family(&mut self, name: &str, ctx: &mut ViewContext<Self>) {
let ui_font_name = if name == default_ui_font_label() {
DEFAULT_UI_FONT_NAME.to_string()
} else {
name.to_string()
};
FontSettings::handle(ctx).update(ctx, |font_settings, ctx| {
report_if_error!(font_settings
.ui_font_name
.set_value(ui_font_name.clone(), ctx));
});
}
fn resolve_samsung_ui_font_name(&self) -> String {
const SAMSUNG_UI_FONT_CANDIDATES: &[&str] = &[
"SamsungOne",
"Samsung One",
"One UI Sans",
"Inter",
"Helvetica Neue",
"Arial",
];
SAMSUNG_UI_FONT_CANDIDATES
.iter()
.find_map(|candidate| {
self.available_families
.keys()
.find(|name| name.eq_ignore_ascii_case(candidate))
.cloned()
})
.unwrap_or_else(|| DEFAULT_UI_FONT_NAME.to_string())
}
pub fn apply_samsung_brand_preset(&mut self, ctx: &mut ViewContext<Self>) {
ThemeSettings::handle(ctx).update(ctx, |theme_settings, ctx| {
report_if_error!(theme_settings
.theme_kind
.set_value(SAMSUNG_BRAND_THEME_DARK, ctx));
report_if_error!(theme_settings.selected_system_themes.set_value(
SelectedSystemThemes {
light: SAMSUNG_BRAND_THEME_LIGHT,
dark: SAMSUNG_BRAND_THEME_DARK,
},
ctx,
));
report_if_error!(theme_settings.use_system_theme.set_value(true, ctx));
});
let ui_font_name = self.resolve_samsung_ui_font_name();
FontSettings::handle(ctx).update(ctx, |font_settings, ctx| {
report_if_error!(font_settings
.monospace_font_name
.set_value(DEFAULT_MONOSPACE_FONT_NAME.to_string(), ctx));
report_if_error!(font_settings
.ai_font_name
.set_value(DEFAULT_MONOSPACE_FONT_NAME.to_string(), ctx));
report_if_error!(font_settings
.match_ai_font_to_terminal_font
.set_value(true, ctx));
report_if_error!(font_settings
.ui_font_name
.set_value(ui_font_name.clone(), ctx));
});
self.update_font_dropdown(ctx);
ctx.notify();
}
fn set_thin_strokes(&mut self, value: &ThinStrokes, ctx: &mut ViewContext<Self>) {
FontSettings::handle(ctx).update(ctx, |font_settings, ctx| {
match font_settings.use_thin_strokes.set_value(*value, ctx) {
@@ -3773,6 +3906,101 @@ impl SettingsWidget for AIFontWidget {
}
}
#[derive(Default)]
struct UIFontWidget {}
impl SettingsWidget for UIFontWidget {
type View = AppearanceSettingsPageView;
fn search_terms(&self) -> &str {
"text ui font family"
}
fn render(
&self,
view: &Self::View,
appearance: &Appearance,
app: &AppContext,
) -> Box<dyn Element> {
Flex::column()
.with_child(render_body_item_label::<AppearancePageAction>(
"UI font".to_string(),
None,
None,
LocalOnlyIconState::for_setting(
UIFontName::storage_key(),
UIFontName::sync_to_cloud(),
&mut view.local_only_icon_tooltip_states.borrow_mut(),
app,
),
ToggleState::Enabled,
appearance,
))
.with_child(
Container::new(ChildView::new(&view.ui_font_family_dropdown).finish())
.with_margin_bottom(10.)
.finish(),
)
.finish()
}
}
#[derive(Default)]
struct BrandPresetWidget {
button_mouse_state: MouseStateHandle,
}
impl SettingsWidget for BrandPresetWidget {
type View = AppearanceSettingsPageView;
fn search_terms(&self) -> &str {
"samsung brand preset one-click"
}
fn render(
&self,
_view: &Self::View,
appearance: &Appearance,
_app: &AppContext,
) -> Box<dyn Element> {
let button = Hoverable::new(self.button_mouse_state.clone(), |hover_state| {
let border_width = if hover_state.is_hovered() { 1.0 } else { 0.0 };
Container::new(
Text::new(
"Apply Samsung-style preset",
appearance.ui_font_family(),
appearance.ui_font_size(),
)
.with_color(appearance.theme().active_ui_text_color().into())
.finish(),
)
.with_background(appearance.theme().surface_2())
.with_border(Border::all(border_width).with_border_fill(appearance.theme().accent()))
.with_corner_radius(CornerRadius::with_all(Radius::Pixels(6.)))
.with_padding_top(8. - border_width)
.with_padding_bottom(8. - border_width)
.with_padding_left(12. - border_width)
.with_padding_right(12. - border_width)
.finish()
})
.with_cursor(Cursor::PointingHand)
.on_click(move |ctx, _, _| {
ctx.dispatch_typed_action(AppearancePageAction::ApplySamsungBrandPreset);
})
.finish();
render_body_item::<AppearancePageAction>(
"Brand preset".into(),
None,
LocalOnlyIconState::Hidden,
ToggleState::Enabled,
appearance,
button,
Some("Apply Samsung-inspired themes and font defaults.".to_string()),
)
}
}
#[derive(Default)]
struct TerminalFontWidget {
line_height_button_state: MouseStateHandle,
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{Align, Clipped},
ui_components::components::{Coords, UiComponentStyles},
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
@@ -8,7 +8,7 @@ use crate::{
editor::{EditorView, Event as EditorEvent, SingleLineEditorOptions, TextOptions},
Appearance,
};
use warpui::{
use galaxyui::{
elements::{
Border, ChildView, Container, CornerRadius, CrossAxisAlignment, Expanded, Flex,
MouseStateHandle, Padding, ParentElement, Radius, Text,
@@ -7,9 +7,9 @@ use crate::{
ui_components::{blended_colors, icons::Icon},
};
use chrono::Local;
use warp_core::ui::appearance::Appearance;
use warp_graphql::queries::get_conversation_usage::ConversationUsage;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_graphql::queries::get_conversation_usage::ConversationUsage;
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex,
Hoverable, MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius,
@@ -129,7 +129,7 @@ impl UsageHistoryEntry {
};
let chevron = ConstrainedBox::new(
chevron_icon
.to_warpui_icon(appearance.theme().foreground())
.to_galaxyui_icon(appearance.theme().foreground())
.finish(),
)
.with_width(16.)
@@ -1,17 +1,17 @@
use std::sync::Arc;
use warp_core::report_error;
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxy_core::report_error;
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::auth::AuthStateProvider;
use crate::server::server_api::{auth::AuthClient, ServerApiProvider};
use warp_graphql::scalars::Time;
use galaxy_graphql::scalars::Time;
const PAGE_SIZE: i32 = 20;
pub struct UsageHistoryModel {
auth_client: Arc<dyn AuthClient>,
entries: Vec<warp_graphql::queries::get_conversation_usage::ConversationUsage>,
entries: Vec<galaxy_graphql::queries::get_conversation_usage::ConversationUsage>,
is_loading: bool,
// Whether the server indicated that there may be more entries to load.
has_more_entries: bool,
@@ -34,7 +34,7 @@ impl UsageHistoryModel {
}
}
pub fn entries(&self) -> &[warp_graphql::queries::get_conversation_usage::ConversationUsage] {
pub fn entries(&self) -> &[galaxy_graphql::queries::get_conversation_usage::ConversationUsage] {
&self.entries
}
+22 -22
View File
@@ -7,11 +7,11 @@ use std::cell::RefCell;
use std::collections::HashMap;
use std::sync::Arc;
use thousands::Separable;
use warp_core::ui::theme::Fill;
use warp_core::{features::FeatureFlag, ui::appearance::Appearance};
use warp_graphql::billing::AddonCreditsOption;
use warpui::prelude::ChildView;
use warpui::{
use galaxy_core::ui::theme::Fill;
use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance};
use galaxy_graphql::billing::AddonCreditsOption;
use galaxyui::prelude::ChildView;
use galaxyui::{
elements::{
Align, Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
Empty, Flex, FormattedTextElement, HighlightedHyperlink, Hoverable, HyperlinkUrl,
@@ -1505,7 +1505,7 @@ impl UsageWidget {
let theme = appearance.theme();
ConstrainedBox::new(
Icon::AlertTriangle
.to_warpui_icon(theme.ui_error_color().into())
.to_galaxyui_icon(theme.ui_error_color().into())
.finish(),
)
.with_height(16.)
@@ -1589,10 +1589,10 @@ impl UsageWidget {
fragment.text,
None,
maybe_action.map(|act| {
Box::new(move |ctx: &mut warpui::EventContext| {
Box::new(move |ctx: &mut galaxyui::EventContext| {
ctx.dispatch_typed_action(act.clone());
})
as Box<dyn Fn(&mut warpui::EventContext)>
as Box<dyn Fn(&mut galaxyui::EventContext)>
}),
self.exceed_limit_link_mouse_state.clone(),
)
@@ -1655,7 +1655,7 @@ impl UsageWidget {
.finish();
let icon = Container::new(
ConstrainedBox::new(Icon::Credits.to_warpui_icon(fg).finish())
ConstrainedBox::new(Icon::Credits.to_galaxyui_icon(fg).finish())
.with_height(16.)
.with_width(16.)
.finish(),
@@ -1719,10 +1719,10 @@ impl UsageWidget {
.with_hyperlink_font_color(theme.accent().into_solid())
.register_default_click_handlers_with_action_support(
|hyperlink_lens, event, ctx| match hyperlink_lens {
warpui::elements::HyperlinkLens::Url(url) => {
galaxyui::elements::HyperlinkLens::Url(url) => {
ctx.open_url(url);
}
warpui::elements::HyperlinkLens::Action(action_ref) => {
galaxyui::elements::HyperlinkLens::Action(action_ref) => {
if let Some(action) = action_ref
.as_any()
.downcast_ref::<BillingAndUsagePageAction>()
@@ -2267,7 +2267,7 @@ impl UsageWidget {
workspace_is_delinquent_due_to_payment_issue: bool,
appearance: &Appearance,
prorated_request_limits_info: Option<ProratedRequestLimitsInfo>,
) -> Box<dyn warpui::Element> {
) -> Box<dyn galaxyui::Element> {
let mut row = Flex::row();
let show_alert = workspace_is_delinquent_due_to_payment_issue
@@ -2294,7 +2294,7 @@ impl UsageWidget {
row.add_child(
ConstrainedBox::new(
Icon::AlertTriangle
.to_warpui_icon(appearance.theme().ui_error_color().into())
.to_galaxyui_icon(appearance.theme().ui_error_color().into())
.finish(),
)
.with_height(16.)
@@ -2361,7 +2361,7 @@ impl UsageWidget {
workspace_is_delinquent_due_to_payment_issue: bool,
appearance: &Appearance,
prorated_request_limits_info: Option<ProratedRequestLimitsInfo>,
) -> Box<dyn warpui::Element> {
) -> Box<dyn galaxyui::Element> {
let request_usage_details = Flex::column()
.with_cross_axis_alignment(CrossAxisAlignment::End)
.with_child(self.render_request_usage_count(
@@ -2642,7 +2642,7 @@ impl UsageWidget {
Container::new(
ConstrainedBox::new(
Icon::Conversation
.to_warpui_icon(
.to_galaxyui_icon(
blended_colors::text_sub(
appearance.theme(),
appearance.theme().surface_1(),
@@ -2708,7 +2708,7 @@ impl UsageWidget {
let icon = Container::new(
ConstrainedBox::new(
Icon::AlertCircle
.to_warpui_icon(blended_colors::text_sub(theme, theme.surface_1()).into())
.to_galaxyui_icon(blended_colors::text_sub(theme, theme.surface_1()).into())
.finish(),
)
.with_width(16.)
@@ -3243,10 +3243,10 @@ impl UsageWidget {
} else {
upgrade_cta = upgrade_cta.register_default_click_handlers_with_action_support(
|hyperlink_lens, event, ctx| match hyperlink_lens {
warpui::elements::HyperlinkLens::Url(url) => {
galaxyui::elements::HyperlinkLens::Url(url) => {
ctx.open_url(url);
}
warpui::elements::HyperlinkLens::Action(action_ref) => {
galaxyui::elements::HyperlinkLens::Action(action_ref) => {
if let Some(action) = action_ref
.as_any()
.downcast_ref::<BillingAndUsagePageAction>()
@@ -3419,7 +3419,7 @@ impl PlanWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Compare plans",
Icon::CoinsStacked.to_warpui_icon(appearance.theme().accent()),
Icon::CoinsStacked.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -3487,7 +3487,7 @@ impl PlanWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Manage billing",
Icon::CoinsStacked.to_warpui_icon(appearance.theme().accent()),
Icon::CoinsStacked.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -3548,7 +3548,7 @@ impl PlanWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Open admin panel",
Icon::Users.to_warpui_icon(appearance.theme().accent()),
Icon::Users.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -3589,7 +3589,7 @@ impl PlanWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Compare plans",
Icon::CoinsStacked.to_warpui_icon(appearance.theme().accent()),
Icon::CoinsStacked.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
+13 -13
View File
@@ -48,14 +48,14 @@ use pathfinder_color::ColorU;
use std::borrow::Cow;
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use warp_core::{
use galaxy_core::{
features::FeatureFlag,
report_if_error,
settings::ToggleableSetting as _,
ui::theme::{AnsiColorIdentifier, Fill as ThemeFill},
};
use warp_util::path::user_friendly_path;
use warpui::{
use galaxy_util::path::user_friendly_path;
use galaxyui::{
elements::{
ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Element, Empty,
Expanded, Fill, Flex, MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement,
@@ -1342,15 +1342,15 @@ impl CodePageWidget {
..Default::default()
})
.with_text_and_icon_label(
warpui::ui_components::button::TextAndIcon::new(
warpui::ui_components::button::TextAndIconAlignment::IconFirst,
galaxyui::ui_components::button::TextAndIcon::new(
galaxyui::ui_components::button::TextAndIconAlignment::IconFirst,
"Open project rules",
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
"bundled/svg/file-code-02.svg",
theme.foreground(),
),
warpui::elements::MainAxisSize::Min,
warpui::elements::MainAxisAlignment::Center,
galaxyui::elements::MainAxisSize::Min,
galaxyui::elements::MainAxisAlignment::Center,
pathfinder_geometry::vector::vec2f(14., 14.),
)
.with_inner_padding(4.),
@@ -1456,7 +1456,7 @@ impl CodePageWidget {
Container::new(
ConstrainedBox::new(
Icon::SlashCircle
.to_warpui_icon(ThemeFill::Solid(status_color))
.to_galaxyui_icon(ThemeFill::Solid(status_color))
.finish(),
)
.with_width(STATUS_ICON_SIZE)
@@ -1541,7 +1541,7 @@ impl CodePageWidget {
label_row.add_child(
Container::new(
ConstrainedBox::new(
status_icon.to_warpui_icon(ThemeFill::Solid(color)).finish(),
status_icon.to_galaxyui_icon(ThemeFill::Solid(color)).finish(),
)
.with_width(STATUS_ICON_SIZE)
.with_height(STATUS_ICON_SIZE)
@@ -1823,7 +1823,7 @@ impl CodePageWidget {
&self,
workspace_path: &Path,
server_type: LSPServerType,
server_model: Option<&warpui::ModelHandle<LspServerModel>>,
server_model: Option<&galaxyui::ModelHandle<LspServerModel>>,
is_enabled: bool,
mouse_states: LspServerRowMouseStates,
appearance: &Appearance,
@@ -2012,9 +2012,9 @@ impl CodePageWidget {
/// Gets the status color and text for an LSP server.
fn get_lsp_status_info(
&self,
server_model: Option<&warpui::ModelHandle<LspServerModel>>,
server_model: Option<&galaxyui::ModelHandle<LspServerModel>>,
app: &AppContext,
theme: &warp_core::ui::theme::WarpTheme,
theme: &galaxy_core::ui::theme::WarpTheme,
) -> (ColorU, &'static str) {
match server_model {
Some(model) => {
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{ChildView, Container, Dismiss, Empty},
ui_components::components::UiComponent,
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
@@ -5,8 +5,8 @@ use ai::index::full_source_code_embedding::manager::{
CodebaseIndexManager, CodebaseIndexManagerEvent,
};
use settings::Setting;
use warp_util::path::user_friendly_path;
use warpui::{
use galaxy_util::path::user_friendly_path;
use galaxyui::{
elements::{
Border, ChildView, ConstrainedBox, Container, CrossAxisAlignment, Flex, Hoverable,
MainAxisSize, MouseStateHandle, ParentElement, Text,
@@ -1,7 +1,7 @@
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use warp_core::ui::theme::AnsiColorIdentifier;
use galaxy_core::ui::theme::AnsiColorIdentifier;
use super::compute_candidate_paths;
use crate::workspace::tab_settings::{DirectoryTabColor, DirectoryTabColors};
+13 -13
View File
@@ -48,11 +48,11 @@ use crate::{
use instant::Instant;
use pathfinder_geometry::vector::vec2f;
use std::collections::HashMap;
use warp_core::ui::color::blend::Blend;
use warp_core::ui::theme::color::internal_colors;
use warp_editor::editor::NavigationKey;
use warp_graphql::scalars::time::ServerTimestamp;
use warpui::{
use galaxy_core::ui::color::blend::Blend;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_editor::editor::NavigationKey;
use galaxy_graphql::scalars::time::ServerTimestamp;
use galaxyui::{
elements::{
Align, Border, ChildAnchor, Clipped, ConstrainedBox, Container, CornerRadius,
CrossAxisAlignment, Element, Empty, Expanded, Flex, Hoverable, MainAxisAlignment,
@@ -78,7 +78,7 @@ use new_environment_button::NewEnvironmentButtonView;
#[allow(unused_imports)] // IntegrationsClient trait is used in fetch_github_repos
use {
crate::server::server_api::{integrations::IntegrationsClient, ServerApiProvider},
warp_graphql::queries::user_github_info::UserGithubInfoResult,
galaxy_graphql::queries::user_github_info::UserGithubInfoResult,
};
const PAGE_TITLE_TEXT: &str = "Environments";
@@ -929,7 +929,7 @@ impl TypedActionView for EnvironmentsPageView {
}
EnvironmentsPageAction::CopyEnvId(sync_id, env_id_string) => {
ctx.clipboard()
.write(warpui::clipboard::ClipboardContent::plain_text(
.write(galaxyui::clipboard::ClipboardContent::plain_text(
env_id_string.clone(),
));
// Track when this was copied for feedback
@@ -938,7 +938,7 @@ impl TypedActionView for EnvironmentsPageView {
let duration = COPY_FEEDBACK_DURATION;
ctx.spawn(
async move {
warpui::r#async::Timer::after(duration).await;
galaxyui::r#async::Timer::after(duration).await;
},
|me, _, ctx| {
ctx.notify();
@@ -999,8 +999,8 @@ impl TypedActionView for EnvironmentsPageView {
&mut self,
_action: &Self::Action,
_ctx: &mut ViewContext<Self>,
) -> warpui::accessibility::ActionAccessibilityContent {
warpui::accessibility::ActionAccessibilityContent::default()
) -> galaxyui::accessibility::ActionAccessibilityContent {
galaxyui::accessibility::ActionAccessibilityContent::default()
}
}
@@ -1241,7 +1241,7 @@ impl EnvironmentsPageWidget {
let search_icon = ConstrainedBox::new(
Icon::Search
.to_warpui_icon(blended_colors::text_sub(theme, theme.surface_2()).into())
.to_galaxyui_icon(blended_colors::text_sub(theme, theme.surface_2()).into())
.finish(),
)
.with_width(icon_size)
@@ -1543,7 +1543,7 @@ impl EnvironmentsPageWidget {
let theme = appearance.theme();
let build_icon = || {
Container::new(
ConstrainedBox::new(icon.to_warpui_icon(theme.active_ui_text_color()).finish())
ConstrainedBox::new(icon.to_galaxyui_icon(theme.active_ui_text_color()).finish())
.with_width(icon_size)
.with_height(icon_size)
.finish(),
@@ -1919,7 +1919,7 @@ impl EnvironmentsPageWidget {
let icon_color: ThemeFill = if is_card_hovered {
theme.foreground()
} else {
ThemeFill::Solid(warpui::color::ColorU::transparent_black())
ThemeFill::Solid(galaxyui::color::ColorU::transparent_black())
};
let should_render_share_button = list_scope == EnvironmentListScope::Personal
@@ -1,5 +1,5 @@
use warp_core::ui::appearance::Appearance;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{
elements::{
Border, Container, CornerRadius, DispatchEventResult, EventHandler, Flex,
MainAxisAlignment, MouseStateHandle, ParentElement as _, Radius, Text,
@@ -84,7 +84,7 @@ impl View for NewEnvironmentButtonView {
let is_focused = self.is_focused(app);
let trigger = {
warpui::elements::Hoverable::new(self.trigger_mouse_state.clone(), move |s| {
galaxyui::elements::Hoverable::new(self.trigger_mouse_state.clone(), move |s| {
let is_hovered = s.is_hovered();
let background = if is_hovered || is_focused {
Some(theme.surface_3())
@@ -19,10 +19,10 @@ use ai::index::full_source_code_embedding::manager::CodebaseIndexManager;
use instant::Instant;
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use warp_core::ui::appearance::Appearance;
use warpui::elements::Empty;
use warpui::platform::WindowStyle;
use warpui::{App, AppContext, Element, Entity, TypedActionView, View, WindowId};
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::Empty;
use galaxyui::platform::WindowStyle;
use galaxyui::{App, AppContext, Element, Entity, TypedActionView, View, WindowId};
fn make_test_environment(
name: &str,
@@ -45,8 +45,8 @@ fn make_test_environment_with_timestamps(
docker_image: &str,
github_repos: Vec<(String, String)>,
setup_commands: Vec<String>,
last_edited_ts: Option<warp_graphql::scalars::time::ServerTimestamp>,
last_used_ts: Option<warp_graphql::scalars::time::ServerTimestamp>,
last_edited_ts: Option<galaxy_graphql::scalars::time::ServerTimestamp>,
last_used_ts: Option<galaxy_graphql::scalars::time::ServerTimestamp>,
) -> EnvironmentDisplayData {
EnvironmentDisplayData {
id: SyncId::ClientId(ClientId::new()),
@@ -1329,7 +1329,7 @@ fn test_toolbar_renders_search_editor_view() {
#[test]
fn test_render_environment_card_with_last_used_never() {
use chrono::{Duration, Utc};
use warp_graphql::scalars::time::ServerTimestamp;
use galaxy_graphql::scalars::time::ServerTimestamp;
App::test((), |mut app| async move {
app.add_singleton_model(|_| Appearance::mock());
@@ -1400,7 +1400,7 @@ fn test_render_environment_card_with_last_used_never() {
#[test]
fn test_render_environment_card_with_last_used_timestamp() {
use chrono::{Duration, Utc};
use warp_graphql::scalars::time::ServerTimestamp;
use galaxy_graphql::scalars::time::ServerTimestamp;
App::test((), |mut app| async move {
app.add_singleton_model(|_| Appearance::mock());
+14 -14
View File
@@ -14,10 +14,10 @@ use crate::view_components::action_button::{ActionButton, ButtonSize, SecondaryT
use crate::TemplatableMCPServerManager;
use std::path::PathBuf;
use uuid::Uuid;
use warp_core::features::FeatureFlag;
use warpui::elements::ParentElement;
use warpui::SingletonEntity;
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxyui::elements::ParentElement;
use galaxyui::SingletonEntity;
use galaxyui::{
elements::{
ConstrainedBox, Container, CrossAxisAlignment, Flex, MainAxisAlignment, MainAxisSize,
Shrinkable, Text, Wrap,
@@ -380,10 +380,10 @@ impl View for ExecutionProfileView {
)
.with_background(appearance.theme().surface_2())
.with_border(
warpui::elements::Border::new(1.).with_border_fill(appearance.theme().outline()),
galaxyui::elements::Border::new(1.).with_border_fill(appearance.theme().outline()),
)
.with_corner_radius(warpui::elements::CornerRadius::with_all(
warpui::elements::Radius::Pixels(4.),
.with_corner_radius(galaxyui::elements::CornerRadius::with_all(
galaxyui::elements::Radius::Pixels(4.),
))
.with_horizontal_padding(16.)
.with_vertical_padding(12.)
@@ -439,11 +439,11 @@ where
)
.with_background(appearance.theme().surface_2())
.with_border(
warpui::elements::Border::all(1.)
galaxyui::elements::Border::all(1.)
.with_border_fill(appearance.theme().outline()),
)
.with_corner_radius(warpui::elements::CornerRadius::with_all(
warpui::elements::Radius::Pixels(3.),
.with_corner_radius(galaxyui::elements::CornerRadius::with_all(
galaxyui::elements::Radius::Pixels(3.),
))
.with_horizontal_padding(6.)
.with_vertical_padding(2.)
@@ -470,7 +470,7 @@ fn render_allowlist_denylist_row(
.with_child(
Container::new(
ConstrainedBox::new(
icon.to_warpui_icon(if is_ai_enabled {
icon.to_galaxyui_icon(if is_ai_enabled {
appearance
.theme()
.sub_text_color(appearance.theme().surface_1())
@@ -508,7 +508,7 @@ fn render_allowlist_denylist_row(
.finish(),
)
.with_margin_left(8.)
.with_border(warpui::elements::Border::left(1.).with_border_fill(appearance.theme().outline()))
.with_border(galaxyui::elements::Border::left(1.).with_border_fill(appearance.theme().outline()))
.with_padding_left(8.)
.finish()
}
@@ -573,7 +573,7 @@ fn render_model_line_with_icon(
.with_child(
Container::new(
ConstrainedBox::new(
icon.to_warpui_icon(if is_ai_enabled {
icon.to_galaxyui_icon(if is_ai_enabled {
appearance
.theme()
.sub_text_color(appearance.theme().surface_1())
@@ -634,7 +634,7 @@ fn render_permission_line_with_icon(
.with_child(
Container::new(
ConstrainedBox::new(
icon.to_warpui_icon(if is_ai_enabled {
icon.to_galaxyui_icon(if is_ai_enabled {
appearance
.theme()
.sub_text_color(appearance.theme().surface_1())
@@ -1,8 +1,8 @@
use std::{cell::RefCell, collections::HashMap};
use settings::{Setting, ToggleableSetting};
use warp_core::features::FeatureFlag;
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxyui::{
elements::{Flex, MouseStateHandle, ParentElement},
ui_components::{components::UiComponent, switch::SwitchStateHandle},
Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
@@ -275,7 +275,7 @@ impl View for ExternalEditorView {
"ExternalEditorView"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let appearance = Appearance::as_ref(app);
let default_editor = render_dropdown_item(
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{CrossAxisAlignment, Fill, Flex, ParentElement, Shrinkable},
presenter::ChildView,
ui_components::components::{Coords, UiComponent, UiComponentStyles},
@@ -207,7 +207,7 @@ impl View for StartupShellView {
}
/// Renders controls to change the default shell for new sessions.
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let appearance = Appearance::as_ref(app);
let ui_builder = appearance.ui_builder();
let theme = appearance.theme();
+2 -2
View File
@@ -1,7 +1,7 @@
use std::{cell::RefCell, collections::HashMap, time::Duration};
use settings::{Setting, ToggleableSetting};
use warpui::{
use galaxyui::{
elements::{
Container, CrossAxisAlignment, Flex, MainAxisAlignment, MouseStateHandle, ParentElement,
Text,
@@ -213,7 +213,7 @@ impl View for UndoCloseView {
impl TypedActionView for UndoCloseView {
type Action = Action;
fn handle_action(&mut self, action: &Self::Action, ctx: &mut warpui::ViewContext<Self>) {
fn handle_action(&mut self, action: &Self::Action, ctx: &mut galaxyui::ViewContext<Self>) {
match action {
Action::ToggleUndoCloseEnabled => {
UndoCloseSettings::handle(ctx).update(ctx, |settings, ctx| {
@@ -1,5 +1,5 @@
use itertools::Itertools;
use warpui::{
use galaxyui::{
elements::{Container, CrossAxisAlignment, Flex, ParentElement, Shrinkable},
presenter::ChildView,
ui_components::components::{Coords, UiComponent, UiComponentStyles},
@@ -126,7 +126,7 @@ impl View for WorkingDirectoryView {
"WorkingDirectoryView"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let appearance = Appearance::as_ref(app);
let ui_builder = appearance.ui_builder();
+16 -16
View File
@@ -5,14 +5,14 @@ use crate::terminal::input::OPEN_COMPLETIONS_KEYBINDING_NAME;
use crate::terminal::session_settings::WorkingDirectoryConfig;
use lazy_static::lazy_static;
use warp_core::context_flag::ContextFlag;
use warpui::platform::GraphicsBackend;
use warpui::rendering::GPUPowerPreference;
use warpui::{elements::DispatchEventResult, platform::Cursor};
use galaxy_core::context_flag::ContextFlag;
use galaxyui::platform::GraphicsBackend;
use galaxyui::rendering::GPUPowerPreference;
use galaxyui::{elements::DispatchEventResult, platform::Cursor};
#[cfg(target_os = "linux")]
use {
crate::settings::ForceX11, crate::settings::LinuxAppConfiguration,
warpui::platform::linux::windowing_system_is_customizable,
galaxyui::platform::linux::windowing_system_is_customizable,
};
use super::keybindings::KeyBindingModifyingState;
@@ -95,20 +95,20 @@ use std::collections::HashMap;
use std::sync::{Arc, Mutex};
use std::time::Duration;
use strum::IntoEnumIterator;
use warp_core::channel::ChannelState;
use warp_core::semantic_selection::{
use galaxy_core::channel::ChannelState;
use galaxy_core::semantic_selection::{
SemanticSelection, SemanticSelectionChangedEvent, SmartSelectEnabled,
};
use warpui::elements::{
use galaxyui::elements::{
Align, Border, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Dismiss,
Element, Empty, EventHandler, Fill, Flex, Hoverable, MainAxisAlignment, MainAxisSize,
MouseState, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
};
use warpui::keymap::{ContextPredicate, FixedBinding, Keystroke};
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::ui_components::switch::SwitchStateHandle;
use warpui::{
use galaxyui::keymap::{ContextPredicate, FixedBinding, Keystroke};
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::ui_components::switch::SwitchStateHandle;
use galaxyui::{
Action, AppContext, DisplayIdx, Entity, EventContext, ModelHandle, SingletonEntity, Tracked,
TypedActionView, View, ViewContext, ViewHandle, WindowId,
};
@@ -128,7 +128,7 @@ pub fn init_actions_from_parent_view<T: Action + Clone>(
context: &ContextPredicate,
builder: fn(SettingsAction) -> T,
) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
// Add all of the toggle settings from the Features Page that you want to show up on the Command Palette here.
let mut toggle_binding_pairs = vec![
@@ -1842,7 +1842,7 @@ impl TypedActionView for FeaturesPageView {
self.force_x11_changed = true;
// This is a workaround to make sure the user sees the new text that is added to the description after changing the setting.
// Without scrolling, the new description text gets cut off.
self.page.scroll_by(warpui::units::Pixels::new(40.));
self.page.scroll_by(galaxyui::units::Pixels::new(40.));
ctx.notify();
}
ToggleQuitOnLastWindowClosed => {
@@ -4037,7 +4037,7 @@ impl SettingsPageMeta for FeaturesPageView {
}
fn on_page_selected(&mut self, _: bool, ctx: &mut ViewContext<Self>) {
// On MacOS, we rely on [`warpui::platform::AppCallbacks::on_screen_changed`] to update and
// On MacOS, we rely on [`galaxyui::platform::AppCallbacks::on_screen_changed`] to update and
// notify on the [`DisplayCount`] model. However, no mechanism exists on Linux to trigger
// that callback. As a workaround, we check for updates here where quake mode is
// configured.
+6 -6
View File
@@ -27,9 +27,9 @@ use crate::{
};
use itertools::Itertools;
use warp_core::ui::theme::color::internal_colors;
use warpui::{elements::Wrap, units::Pixels};
use warpui::{
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::{elements::Wrap, units::Pixels};
use galaxyui::{
elements::{
Align, Border, ClippedScrollStateHandle, ClippedScrollable, Container, CornerRadius, Empty,
EventHandler, Fill, Flex, Hoverable, MouseState, MouseStateHandle, ParentElement, Radius,
@@ -40,11 +40,11 @@ use warpui::{
ui_components::components::{Coords, UiComponent, UiComponentStyles},
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
use warpui::{
use galaxyui::{
elements::{ConstrainedBox, DispatchEventResult},
presenter::ChildView,
};
use warpui::{
use galaxyui::{
elements::{CrossAxisAlignment, Text},
keymap::DescriptionContext,
};
@@ -376,7 +376,7 @@ impl KeybindingRow {
.with_margin_right(CLEAR_CANCEL_BUTTONS_SPACING)
.finish(),
)
.with_cross_axis_alignment(warpui::elements::CrossAxisAlignment::Center)
.with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Center)
.finish(),
)
.finish(),
+10 -10
View File
@@ -26,32 +26,32 @@ use lazy_static::lazy_static;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use std::sync::{Arc, Mutex};
use warp_core::features::FeatureFlag;
use warp_core::ui::icons::Icon;
use warp_core::{channel::ChannelState, context_flag::ContextFlag};
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::icons::Icon;
use galaxy_core::{channel::ChannelState, context_flag::ContextFlag};
use galaxyui::{
assets::asset_cache::AssetSource,
elements::{Border, Empty, MainAxisAlignment, MainAxisSize},
id,
platform::Cursor,
ui_components::switch::SwitchStateHandle,
};
use warpui::{
use galaxyui::{
elements::{
Align, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Element, Flex,
MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
},
Action, AppContext,
};
use warpui::{
use galaxyui::{
elements::{CacheOption, Image},
ui_components::{
button::{ButtonVariant, TextAndIcon, TextAndIconAlignment},
components::{Coords, UiComponent, UiComponentStyles},
},
};
use warpui::{fonts::Weight, keymap::ContextPredicate};
use warpui::{
use galaxyui::{fonts::Weight, keymap::ContextPredicate};
use galaxyui::{
Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
@@ -365,7 +365,7 @@ impl AccountWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Compare plans",
Icon::CoinsStacked.to_warpui_icon(appearance.theme().accent()),
Icon::CoinsStacked.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -621,7 +621,7 @@ impl SettingsWidget for AccountWidget {
self.render_anonymous_account_info(view.auth_state.as_ref(), appearance)
} else {
let profile_image_source = view.auth_state.user_photo_url().map(|url| {
asset_cache::url_source_with_persistence(url, &warp_core::paths::cache_dir())
asset_cache::url_source_with_persistence(url, &galaxy_core::paths::cache_dir())
});
self.render_account_info(
profile_image_source.as_ref(),
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{ChildView, Container, Dismiss, Empty},
ui_components::components::UiComponent,
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
@@ -8,14 +8,14 @@ use diesel::SqliteConnection;
use parking_lot::Mutex;
use pathfinder_geometry::vector::vec2f;
use uuid::Uuid;
use warp_core::{
use galaxy_core::{
send_telemetry_from_ctx,
ui::{appearance::Appearance, theme::color::internal_colors},
};
use warp_editor::{
use galaxy_editor::{
content::buffer::InitialBufferState, render::element::VerticalExpansionBehavior,
};
use warpui::{
use galaxyui::{
elements::{
Border, ChildAnchor, ChildView, Container, CornerRadius, CrossAxisAlignment, Flex,
MainAxisAlignment, MainAxisSize, MouseStateHandle, OffsetPositioning, ParentAnchor,
@@ -170,8 +170,8 @@ impl MCPServersEditPageView {
ctx,
)
.with_horizontal_scrollbar_appearance(
warpui::elements::new_scrollable::ScrollableAppearance::new(
warpui::elements::ScrollbarWidth::Auto,
galaxyui::elements::new_scrollable::ScrollableAppearance::new(
galaxyui::elements::ScrollbarWidth::Auto,
true,
),
);
@@ -11,11 +11,11 @@ use crate::settings_view::mcp_servers::style::{
};
use crate::view_components::dropdown::{Dropdown, DropdownItem};
use markdown_parser::parse_markdown;
use warpui::elements::Shrinkable;
use warpui::fonts::{Properties, Weight};
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::{
use galaxyui::elements::Shrinkable;
use galaxyui::fonts::{Properties, Weight};
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::{
elements::{
Align, Border, ChildView, ConstrainedBox, Container, CrossAxisAlignment, Empty, Flex,
FormattedTextElement, HighlightedHyperlink, Hoverable, MainAxisAlignment, MouseStateHandle,
@@ -24,7 +24,7 @@ use warpui::{
platform::Cursor,
AppContext, Element, Entity, FocusContext, TypedActionView, View, ViewHandle,
};
use warpui::{SingletonEntity, ViewContext};
use galaxyui::{SingletonEntity, ViewContext};
use crate::ai::mcp::{TemplatableMCPServer, TemplatableMCPServerManager, TemplateVariable};
@@ -32,9 +32,9 @@ use crate::ui_components::{
avatar::{Avatar, AvatarContent},
blended_colors,
};
use warpui::elements::{CornerRadius, Padding, Radius};
use galaxyui::elements::{CornerRadius, Padding, Radius};
use warp_core::ui::{
use galaxy_core::ui::{
color::coloru_with_opacity, external_product_icon::ExternalProductIcon, icons::Icon,
};
@@ -269,7 +269,7 @@ impl InstallationModalBody {
let mut icon = Container::new(
ConstrainedBox::new(
Icon::X
.to_warpui_icon(theme.active_ui_text_color())
.to_galaxyui_icon(theme.active_ui_text_color())
.finish(),
)
.with_width(16.)
@@ -411,7 +411,7 @@ impl InstallationModalBody {
fn render_source_indicator(is_shared: bool, appearance: &Appearance) -> Box<dyn Element> {
let info_icon = ConstrainedBox::new(
Icon::Info
.to_warpui_icon(appearance.theme().disabled_ui_text_color())
.to_galaxyui_icon(appearance.theme().disabled_ui_text_color())
.finish(),
)
.with_width(16.)
@@ -462,7 +462,7 @@ impl InstallationModalBody {
let corner_down_left_icon = Container::new(
ConstrainedBox::new(
Icon::CornerDownLeft
.to_warpui_icon(appearance.theme().active_ui_text_color())
.to_galaxyui_icon(appearance.theme().active_ui_text_color())
.finish(),
)
.with_width(appearance.monospace_font_size())
@@ -59,10 +59,10 @@ use std::cmp::Ordering;
use std::{collections::HashMap, path::PathBuf};
use strum::IntoEnumIterator;
use uuid::Uuid;
use warp_core::features::FeatureFlag;
use warp_core::send_telemetry_from_ctx;
use warp_core::ui::{appearance::AppearanceEvent, theme::color::internal_colors, Icon};
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::ui::{appearance::AppearanceEvent, theme::color::internal_colors, Icon};
use galaxyui::{
elements::{
Align, Border, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
Expanded, Fill, Flex, FormattedTextElement, HighlightedHyperlink, MainAxisAlignment,
@@ -1,6 +1,6 @@
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use pathfinder_color::ColorU;
use warp_core::{
use galaxy_core::{
features::FeatureFlag,
ui::{
external_product_icon::ExternalProductIcon,
@@ -8,7 +8,7 @@ use warp_core::{
theme::{color::internal_colors, AnsiColorIdentifier},
},
};
use warpui::{
use galaxyui::{
accessibility::ActionAccessibilityContent,
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Expanded, Fill, Flex,
@@ -524,7 +524,7 @@ impl ServerCardView {
.with_child(
Container::new(
ConstrainedBox::new(
chevron_icon.to_warpui_icon(text_color.into()).finish(),
chevron_icon.to_galaxyui_icon(text_color.into()).finish(),
)
.with_width(chevron_dimensions)
.with_height(chevron_dimensions)
@@ -561,7 +561,7 @@ impl ServerCardView {
.with_cross_axis_alignment(CrossAxisAlignment::Center)
.with_spacing(2.)
.with_child(
ConstrainedBox::new(icon.to_warpui_icon(chip_color.into()).finish())
ConstrainedBox::new(icon.to_galaxyui_icon(chip_color.into()).finish())
.with_width(style::TITLE_CHIP_FONT_SIZE)
.with_height(style::TITLE_CHIP_FONT_SIZE)
.finish(),
@@ -871,7 +871,7 @@ impl ServerCardView {
}
if self.render_options.show_add_icon {
let add_icon = warpui::elements::Icon::new(
let add_icon = galaxyui::elements::Icon::new(
Icon::Plus.into(),
blended_colors::text_main(appearance.theme(), appearance.theme().background()),
);
+2 -2
View File
@@ -1,5 +1,5 @@
use warp_core::ui::appearance::Appearance;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{
fonts::Weight,
ui_components::components::{Coords, UiComponentStyles},
};
@@ -8,16 +8,16 @@ use crate::ui_components::blended_colors;
use crate::util::time_format::format_approx_duration_from_now;
use chrono::{Local, TimeZone};
use uuid::Uuid;
use warp_core::ui::color::coloru_with_opacity;
use warp_core::ui::external_product_icon::ExternalProductIcon;
use warp_core::ui::icons::Icon;
use warp_core::ui::theme::color::internal_colors;
use warpui::elements::{Align, Empty, Padding, Shrinkable};
use warpui::fonts::{Properties, Weight};
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::SingletonEntity;
use warpui::{
use galaxy_core::ui::color::coloru_with_opacity;
use galaxy_core::ui::external_product_icon::ExternalProductIcon;
use galaxy_core::ui::icons::Icon;
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::elements::{Align, Empty, Padding, Shrinkable};
use galaxyui::fonts::{Properties, Weight};
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::SingletonEntity;
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable,
MainAxisAlignment, MouseStateHandle, ParentElement, Radius, Text,
@@ -129,7 +129,7 @@ impl UpdateModalBody {
let mut icon = Container::new(
ConstrainedBox::new(
Icon::X
.to_warpui_icon(theme.active_ui_text_color())
.to_galaxyui_icon(theme.active_ui_text_color())
.finish(),
)
.with_width(16.)
@@ -320,7 +320,7 @@ impl UpdateModalBody {
let corner_down_left_icon = Container::new(
ConstrainedBox::new(
Icon::CornerDownLeft
.to_warpui_icon(appearance.theme().active_ui_text_color())
.to_galaxyui_icon(appearance.theme().active_ui_text_color())
.finish(),
)
.with_width(appearance.monospace_font_size())
+1 -1
View File
@@ -1,6 +1,6 @@
use std::collections::HashMap;
use uuid::Uuid;
use warpui::{
use galaxyui::{
elements::{ChildView, Container},
ui_components::components::{Coords, UiComponentStyles},
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
+14 -14
View File
@@ -50,15 +50,15 @@ use std::collections::HashMap;
use std::path::PathBuf;
use std::str::FromStr;
use teams_page::{TeamsPageView, TeamsPageViewEvent};
use warp_core::send_telemetry_from_ctx;
use warp_core::{
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::{
channel::ChannelState, context_flag::ContextFlag, features::FeatureFlag,
settings::ToggleableSetting as _, ui::theme::color::internal_colors,
};
use warp_editor::editor::NavigationKey;
use galaxy_editor::editor::NavigationKey;
use warpify_page::{WarpifyPageAction, WarpifyPageView};
use warpui::Element;
use warpui::{
use galaxyui::Element;
use galaxyui::{
elements::{
Align, Border, ChildAnchor, ChildView, Clipped, ClippedScrollStateHandle,
ClippedScrollable, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
@@ -235,8 +235,8 @@ impl Display for SettingsSection {
SettingsSection::Keybindings => write!(f, "Keyboard shortcuts"),
SettingsSection::SharedBlocks => write!(f, "Shared blocks"),
SettingsSection::MCPServers => write!(f, "MCP Servers"),
SettingsSection::WarpDrive => write!(f, "Warp Drive"),
SettingsSection::WarpAgent => write!(f, "Warp Agent"),
SettingsSection::WarpDrive => write!(f, "Galaxy Drive"),
SettingsSection::WarpAgent => write!(f, "Galaxy Agent"),
SettingsSection::AgentProfiles => write!(f, "Profiles"),
SettingsSection::AgentMCPServers => write!(f, "MCP servers"),
SettingsSection::Knowledge => write!(f, "Knowledge"),
@@ -338,9 +338,9 @@ impl FromStr for SettingsSection {
"Shared blocks" => Ok(Self::SharedBlocks),
"Teams" => Ok(Self::Teams),
"Warpify" => Ok(Self::Warpify),
"WarpDrive" | "Warp Drive" => Ok(Self::WarpDrive),
"WarpDrive" | "Warp Drive" | "Galaxy Drive" => Ok(Self::WarpDrive),
// This page was called "Oz" at one point, keep for backward compatibility.
"Oz" | "Warp Agent" => Ok(Self::WarpAgent),
"Oz" | "Warp Agent" | "Galaxy Agent" => Ok(Self::WarpAgent),
"Profiles" | "AgentProfiles" => Ok(Self::AgentProfiles),
"MCP servers" | "AgentMCPServers" => Ok(Self::AgentMCPServers),
"Knowledge" => Ok(Self::Knowledge),
@@ -662,7 +662,7 @@ impl<T: Action + Clone> ToggleSettingActionPair<T> {
context_prefix: &ContextPredicate,
context_boolean_flag: &'static str,
) -> Self {
use warpui::keymap::macros::id;
use galaxyui::keymap::macros::id;
ToggleSettingActionPair {
descriptions: SettingActionPairDescriptions {
@@ -2198,7 +2198,7 @@ impl SettingsView {
Container::new(
ConstrainedBox::new(
icons::Icon::SearchSmall
.to_warpui_icon(appearance.theme().active_ui_text_color())
.to_galaxyui_icon(appearance.theme().active_ui_text_color())
.finish(),
)
.with_width(16.)
@@ -2641,16 +2641,16 @@ impl BackingView for SettingsView {
fn handle_pane_header_overflow_menu_action(
&mut self,
action: &Self::PaneHeaderOverflowMenuAction,
ctx: &mut warpui::ViewContext<Self>,
ctx: &mut galaxyui::ViewContext<Self>,
) {
self.handle_action(action, ctx)
}
fn close(&mut self, ctx: &mut warpui::ViewContext<Self>) {
fn close(&mut self, ctx: &mut galaxyui::ViewContext<Self>) {
ctx.emit(SettingsViewEvent::Pane(PaneEvent::Close));
}
fn focus_contents(&mut self, ctx: &mut warpui::ViewContext<Self>) {
fn focus_contents(&mut self, ctx: &mut galaxyui::ViewContext<Self>) {
ctx.focus(&self.search_editor)
}
+2 -2
View File
@@ -1,7 +1,7 @@
use crate::appearance::Appearance;
use crate::ui_components::icons::Icon;
use pathfinder_geometry::vector::vec2f;
use warpui::{
use galaxyui::{
elements::{Hoverable, MainAxisAlignment, MainAxisSize, MouseStateHandle},
ui_components::{
button::{ButtonVariant, TextAndIcon, TextAndIconAlignment},
@@ -80,7 +80,7 @@ impl SettingsUmbrella {
.with_text_and_icon_label(TextAndIcon::new(
TextAndIconAlignment::TextFirst,
self.label.to_string(),
chevron_icon.to_warpui_icon(text_color),
chevron_icon.to_galaxyui_icon(text_color),
MainAxisSize::Max,
MainAxisAlignment::SpaceBetween,
vec2f(16., 16.),
+1 -1
View File
@@ -4,7 +4,7 @@ use crate::{
PaneViewLocator,
};
use std::collections::HashMap;
use warpui::{Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WindowId};
use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WindowId};
use super::SettingsView;
struct SettingsPaneData {
@@ -10,18 +10,18 @@ use crate::{
};
use chrono::Utc;
use pathfinder_geometry::vector::vec2f;
use warp_core::features::FeatureFlag;
use warpui::elements::{
use galaxy_core::features::FeatureFlag;
use galaxyui::elements::{
Border, ChildView, ConstrainedBox, Container, CornerRadius, Empty, Fill, Flex,
MouseStateHandle, ParentElement, Radius, Text,
};
use warpui::elements::{CrossAxisAlignment, Expanded, MainAxisAlignment, MainAxisSize, Padding};
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::ui_components::segmented_control::{
use galaxyui::elements::{CrossAxisAlignment, Expanded, MainAxisAlignment, MainAxisSize, Padding};
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::ui_components::segmented_control::{
LabelConfig, RenderableOptionConfig, SegmentedControl,
};
use warpui::{
use galaxyui::{
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
@@ -108,7 +108,7 @@ pub enum CreateApiKeyModalAction {
pub enum CreateApiKeyModalEvent {
Close,
Created {
api_key: warp_graphql::queries::api_keys::ApiKeyProperties,
api_key: galaxy_graphql::queries::api_keys::ApiKeyProperties,
},
Error {
message: String,
@@ -260,7 +260,7 @@ impl CreateApiKeyModal {
let expires_at = match self.expiration.days() {
Some(days) => {
let t = Utc::now() + chrono::Duration::days(days);
Some(warp_graphql::scalars::Time::from(t))
Some(galaxy_graphql::scalars::Time::from(t))
}
None => None,
};
@@ -294,7 +294,7 @@ impl CreateApiKeyModal {
async move { server_api.create_api_key(final_name, team_id, expires_at).await },
|me, res, ctx| {
match res {
Ok(warp_graphql::mutations::generate_api_key::GenerateApiKeyResult::GenerateApiKeyOutput(output)) => {
Ok(galaxy_graphql::mutations::generate_api_key::GenerateApiKeyResult::GenerateApiKeyOutput(output)) => {
// Notify parent to append
ctx.emit(CreateApiKeyModalEvent::Created { api_key: output.api_key });
// Switch to success view and show raw key
@@ -303,13 +303,13 @@ impl CreateApiKeyModal {
me.raw_key = Some(output.raw_api_key);
ctx.notify();
}
Ok(warp_graphql::mutations::generate_api_key::GenerateApiKeyResult::UserFacingError(e)) => {
let msg = warp_graphql::client::get_user_facing_error_message(e);
Ok(galaxy_graphql::mutations::generate_api_key::GenerateApiKeyResult::UserFacingError(e)) => {
let msg = galaxy_graphql::client::get_user_facing_error_message(e);
me.request_state = RequestState::Idle;
ctx.emit(CreateApiKeyModalEvent::Error { message: msg });
ctx.notify();
}
Ok(warp_graphql::mutations::generate_api_key::GenerateApiKeyResult::Unknown) | Err(_) => {
Ok(galaxy_graphql::mutations::generate_api_key::GenerateApiKeyResult::Unknown) | Err(_) => {
me.request_state = RequestState::Idle;
ctx.emit(CreateApiKeyModalEvent::Error { message: "Failed to create API key. Please try again.".to_string() });
ctx.notify();
@@ -407,10 +407,10 @@ impl CreateApiKeyModal {
"Copy"
};
let copy_icon = if self.raw_key_copied {
warp_core::ui::icons::Icon::Check.to_warpui_icon(appearance.theme().background())
galaxy_core::ui::icons::Icon::Check.to_galaxyui_icon(appearance.theme().background())
} else {
warp_core::ui::icons::Icon::Copy
.to_warpui_icon(appearance.theme().active_ui_text_color())
galaxy_core::ui::icons::Icon::Copy
.to_galaxyui_icon(appearance.theme().active_ui_text_color())
};
let mut copy_button_builder = appearance
.ui_builder()
@@ -423,8 +423,8 @@ impl CreateApiKeyModal {
self.create_button_mouse_state.clone(),
)
.with_text_and_icon_label(
warpui::ui_components::button::TextAndIcon::new(
warpui::ui_components::button::TextAndIconAlignment::IconFirst,
galaxyui::ui_components::button::TextAndIcon::new(
galaxyui::ui_components::button::TextAndIconAlignment::IconFirst,
copy_label,
copy_icon,
MainAxisSize::Min,
@@ -647,7 +647,7 @@ impl TypedActionView for CreateApiKeyModal {
CreateApiKeyModalAction::CopyRawKey => {
let content = self.raw_key.clone().unwrap_or_default();
ctx.clipboard()
.write(warpui::clipboard::ClipboardContent::plain_text(content));
.write(galaxyui::clipboard::ClipboardContent::plain_text(content));
self.raw_key_copied = true;
// Success toast
let window_id = ctx.window_id();
@@ -1,6 +1,6 @@
use crate::server::{ids::ApiKeyUid, server_api::auth::AuthClient};
use warp_core::ui::appearance::Appearance;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{
elements::MouseStateHandle, ui_components::components::UiComponent, AppContext, Element,
Entity, SingletonEntity, TypedActionView, View, ViewContext,
};
@@ -51,7 +51,7 @@ impl ExpireApiKeyButton {
async move { server_api.expire_api_key(&uid_for_req).await },
move |me, res, ctx| match res {
Ok(
warp_graphql::mutations::expire_api_key::ExpireApiKeyResult::ExpireApiKeyOutput(
galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult::ExpireApiKeyOutput(
_output,
),
) => {
@@ -62,14 +62,14 @@ impl ExpireApiKeyButton {
ctx.notify();
}
Ok(
warp_graphql::mutations::expire_api_key::ExpireApiKeyResult::UserFacingError(e),
galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult::UserFacingError(e),
) => {
let _msg = warp_graphql::client::get_user_facing_error_message(e);
let _msg = galaxy_graphql::client::get_user_facing_error_message(e);
me.request_state = RequestState::Idle;
ctx.emit(ExpireApiKeyButtonEvent::ExpireApiKeyFailed { message: _msg });
ctx.notify();
}
Ok(warp_graphql::mutations::expire_api_key::ExpireApiKeyResult::Unknown)
Ok(galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult::Unknown)
| Err(_) => {
me.request_state = RequestState::Idle;
ctx.emit(ExpireApiKeyButtonEvent::ExpireApiKeyFailed {
+8 -8
View File
@@ -21,8 +21,8 @@ use crate::{
use chrono::{DateTime, Utc};
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use std::collections::HashMap;
use warp_core::features::FeatureFlag;
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxyui::{
elements::{
Align, Border, ChildView, ConstrainedBox, Container, CrossAxisAlignment, Element, Empty,
Expanded, Flex, FormattedTextElement, HighlightedHyperlink, MainAxisSize, MouseStateHandle,
@@ -85,10 +85,10 @@ impl PlatformPageView {
let uid = gql_key.uid.into_inner();
me.ensure_expire_button_for_key(ctx, uid.clone());
let scope = match gql_key.owner_type {
warp_graphql::object_permissions::OwnerType::User => {
galaxy_graphql::object_permissions::OwnerType::User => {
ApiKeyScope::Personal
}
warp_graphql::object_permissions::OwnerType::Team => {
galaxy_graphql::object_permissions::OwnerType::Team => {
ApiKeyScope::Team
}
};
@@ -141,7 +141,7 @@ impl PlatformPageView {
right: 24.,
}),
font_size: Some(16.),
font_weight: Some(warpui::fonts::Weight::Bold),
font_weight: Some(galaxyui::fonts::Weight::Bold),
..Default::default()
})
.with_body_style(UiComponentStyles {
@@ -212,8 +212,8 @@ impl PlatformPageView {
self.ensure_expire_button_for_key(ctx, uid.clone());
let scope = match api_key.owner_type {
warp_graphql::object_permissions::OwnerType::User => ApiKeyScope::Personal,
warp_graphql::object_permissions::OwnerType::Team => ApiKeyScope::Team,
galaxy_graphql::object_permissions::OwnerType::User => ApiKeyScope::Personal,
galaxy_graphql::object_permissions::OwnerType::Team => ApiKeyScope::Team,
};
let ui_key = APIKeyProperties::new(
uid,
@@ -645,7 +645,7 @@ impl PlatformPageWidget {
.with_child(
ConstrainedBox::new(
Icon::Key
.to_warpui_icon(appearance.theme().nonactive_ui_text_color())
.to_galaxyui_icon(appearance.theme().nonactive_ui_text_color())
.finish(),
)
.with_width(48.)
@@ -5,9 +5,9 @@ use crate::{
editor::{EditorView, PropagateAndNoOpNavigationKeys, SingleLineEditorOptions, TextOptions},
};
use regex::Regex;
use warp_editor::editor::NavigationKey;
use warpui::elements::{CrossAxisAlignment, Expanded, MainAxisSize};
use warpui::{
use galaxy_editor::editor::NavigationKey;
use galaxyui::elements::{CrossAxisAlignment, Expanded, MainAxisSize};
use galaxyui::{
elements::{ChildView, Container, Empty, Flex, MouseStateHandle, ParentElement, Text},
ui_components::{
button::ButtonVariant,
+15 -15
View File
@@ -6,28 +6,28 @@ use std::time::Duration;
use pathfinder_geometry::vector::vec2f;
use warp_core::ui::theme::color::internal_colors;
use warpui::r#async::{SpawnedFutureHandle, Timer};
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::r#async::{SpawnedFutureHandle, Timer};
use regex::Regex;
use settings::Setting as _;
use warp_core::context_flag::ContextFlag;
use warp_core::features::FeatureFlag;
use warp_core::ui::theme::WarpTheme;
use warpui::elements::{
use galaxy_core::context_flag::ContextFlag;
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::theme::WarpTheme;
use galaxyui::elements::{
Align, ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
Empty, Expanded, Flex, Hoverable, MainAxisAlignment, MainAxisSize, MouseStateHandle,
OffsetPositioning, ParentAnchor, ParentElement, ParentOffsetBounds, Radius, Rect, Shrinkable,
Stack, Text,
};
use warpui::keymap::ContextPredicate;
use warpui::platform::Cursor;
use warpui::ui_components::button::{ButtonVariant, TextAndIcon, TextAndIconAlignment};
use warpui::ui_components::{
use galaxyui::keymap::ContextPredicate;
use galaxyui::platform::Cursor;
use galaxyui::ui_components::button::{ButtonVariant, TextAndIcon, TextAndIconAlignment};
use galaxyui::ui_components::{
components::{Coords, UiComponent, UiComponentStyles},
switch::{SwitchStateHandle, TooltipConfig},
};
use warpui::{
use galaxyui::{
Action, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView,
UpdateModel, View, ViewContext, ViewHandle,
};
@@ -69,7 +69,7 @@ use super::{
};
use crate::modal::{Modal, ModalEvent, ModalViewState};
use warpui::fonts::Weight;
use galaxyui::fonts::Weight;
const FONT_SIZE: f32 = 12.;
@@ -1087,7 +1087,7 @@ impl SecretRedactionWidget {
let info_icon = Container::new(
ConstrainedBox::new(
Icon::Info
.to_warpui_icon(
.to_galaxyui_icon(
appearance
.theme()
.hint_text_color(appearance.theme().background()),
@@ -1127,7 +1127,7 @@ impl SecretRedactionWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
text,
Icon::Plus.to_warpui_icon(appearance.theme().active_ui_text_color()),
Icon::Plus.to_galaxyui_icon(appearance.theme().active_ui_text_color()),
MainAxisSize::Min,
MainAxisAlignment::SpaceBetween,
vec2f(16., 16.),
@@ -2040,6 +2040,6 @@ mod styles {
pub const DESCRIPTION_LINE_MARGIN_BOTTOM: f32 = 6.;
}
fn description_text_color(theme: &WarpTheme) -> warp_core::ui::theme::Fill {
fn description_text_color(theme: &WarpTheme) -> galaxy_core::ui::theme::Fill {
theme.sub_text_color(theme.surface_2())
}
+1 -1
View File
@@ -24,7 +24,7 @@ use crate::{
ui_components::blended_colors,
view_components::ToastFlavor,
};
use warpui::{
use galaxyui::{
clipboard::ClipboardContent,
elements::{
Align, Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Element, Fill,
+12 -12
View File
@@ -12,16 +12,16 @@ use crate::settings::SettingsFileError;
use crate::ui_components::icons::Icon;
use crate::WorkspaceAction;
use pathfinder_color::ColorU;
use warp_core::ui::color::coloru_with_opacity;
use warp_core::ui::theme::Fill;
use warpui::elements::{
use galaxy_core::ui::color::coloru_with_opacity;
use galaxy_core::ui::theme::Fill;
use galaxyui::elements::{
Border, Clipped, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox, Container,
CornerRadius, CrossAxisAlignment, Element, Empty, Expanded, Flex, Highlight, Hoverable,
MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius, ScrollbarWidth, Text,
Wrap,
};
use warpui::fonts::{FamilyId, Properties, Weight};
use warpui::platform::Cursor;
use galaxyui::fonts::{FamilyId, Properties, Weight};
use galaxyui::platform::Cursor;
/// Horizontal + vertical padding applied to the footer inside the sidebar.
const FOOTER_PADDING: f32 = 12.;
@@ -107,7 +107,7 @@ pub fn render_open_settings_file_button(
let ui_font_family = appearance.ui_font_family();
Hoverable::new(mouse_state, move |state| {
let icon = ConstrainedBox::new(Icon::Code2.to_warpui_icon(text_fill).finish())
let icon = ConstrainedBox::new(Icon::Code2.to_galaxyui_icon(text_fill).finish())
.with_width(FOOTER_ICON_SIZE)
.with_height(FOOTER_ICON_SIZE)
.finish();
@@ -186,7 +186,7 @@ pub fn render_settings_error_alert(
let alert_icon = ConstrainedBox::new(
Icon::AlertCircle
.to_warpui_icon(Fill::Solid(text_color))
.to_galaxyui_icon(Fill::Solid(text_color))
.finish(),
)
.with_width(FOOTER_ICON_SIZE)
@@ -205,7 +205,7 @@ pub fn render_settings_error_alert(
// action buttons below stay fixed and always actionable. Scrollbar thumb
// colors are derived from `text_color` (which already contrasts against
// the yellow alert background) so they remain visible in both themes.
// `ClippedScrollable` wants `warpui::elements::Fill` (not the theme
// `ClippedScrollable` wants `galaxyui::elements::Fill` (not the theme
// `Fill` used elsewhere in this file), so the three fills below are
// fully qualified to avoid an import alias.
let scrollable_text = ConstrainedBox::new(
@@ -213,9 +213,9 @@ pub fn render_settings_error_alert(
mouse_states.alert_text_scroll_state.clone(),
text_row,
ScrollbarWidth::Auto,
warpui::elements::Fill::Solid(coloru_with_opacity(text_color, 30)),
warpui::elements::Fill::Solid(coloru_with_opacity(text_color, 60)),
warpui::elements::Fill::None,
galaxyui::elements::Fill::Solid(coloru_with_opacity(text_color, 30)),
galaxyui::elements::Fill::Solid(coloru_with_opacity(text_color, 60)),
galaxyui::elements::Fill::None,
)
.finish(),
)
@@ -332,7 +332,7 @@ fn render_alert_action_button(
if let Some(icon) = icon {
row.add_child(
Container::new(
ConstrainedBox::new(icon.to_warpui_icon(Fill::Solid(text_color)).finish())
ConstrainedBox::new(icon.to_galaxyui_icon(Fill::Solid(text_color)).finish())
.with_width(ALERT_OZ_ICON_SIZE)
.with_height(ALERT_OZ_ICON_SIZE)
.finish(),
+14 -14
View File
@@ -32,11 +32,11 @@ use crate::{
view_components::{Dropdown, SubmittableTextInput},
};
use settings::Setting;
use warp_core::{
use galaxy_core::{
settings::SyncToCloud,
ui::{color::blend::Blend, theme::color::internal_colors},
};
use warpui::{
use galaxyui::{
elements::{
new_scrollable::{ClippedAxisConfiguration, DualAxisConfig, SingleAxisConfig},
Align, Border, ChildView, ClippedScrollStateHandle, ConstrainedBox, Container,
@@ -434,7 +434,7 @@ pub fn render_full_pane_width_ai_button(
.with_child(
ConstrainedBox::new(
Icon::ChevronRight
.to_warpui_icon(appearance.theme().main_text_color(icon_bg))
.to_galaxyui_icon(appearance.theme().main_text_color(icon_bg))
.finish(),
)
.with_width(16.)
@@ -654,7 +654,7 @@ pub fn render_body_item_label_internal<T: Clone + Action>(
if let Some(icon) = label_icon {
label.add_child(
Container::new(
ConstrainedBox::new(icon.to_warpui_icon(label_color).finish())
ConstrainedBox::new(icon.to_galaxyui_icon(label_color).finish())
.with_width(16.)
.with_height(16.)
.finish(),
@@ -942,7 +942,7 @@ pub(crate) fn render_settings_info_banner(
let icon = Container::new(
ConstrainedBox::new(
Icon::AlertCircle
.to_warpui_icon(appearance.theme().active_ui_text_color())
.to_galaxyui_icon(appearance.theme().active_ui_text_color())
.finish(),
)
.with_width(16.)
@@ -1179,7 +1179,7 @@ where
/// Structured contents of a settings tab page. This type breaks all the content into
/// [`SettingsWidget`]s.
pub(super) enum PageType<V: warpui::View> {
pub(super) enum PageType<V: galaxyui::View> {
/// A page where the contents cannot be separated for showing search results. If any part
/// matches the search query, the whole page must show. The whole page is one big
/// [`SettingsWidget`].
@@ -1259,7 +1259,7 @@ impl From<usize> for MatchData {
}
}
impl<V: warpui::View> PageType<V> {
impl<V: galaxyui::View> PageType<V> {
/// A page where the contents cannot be separated for showing search results. If any part
/// matches the search query, the whole page must show. The whole page is one big
/// [`SettingsWidget`].
@@ -1680,7 +1680,7 @@ impl<V: warpui::View> PageType<V> {
},
theme.nonactive_ui_detail().into(),
theme.active_ui_detail().into(),
warpui::elements::Fill::None,
galaxyui::elements::Fill::None,
)
.finish(),
vec![(
@@ -1707,7 +1707,7 @@ impl<V: warpui::View> PageType<V> {
},
theme.nonactive_ui_detail().into(),
theme.active_ui_detail().into(),
warpui::elements::Fill::None,
galaxyui::elements::Fill::None,
)
.finish(),
)],
@@ -1731,7 +1731,7 @@ impl<V: warpui::View> PageType<V> {
}
/// The results from a [`PageType`] with only matching [`SettingsWidget`]s.
pub(super) enum FilteredPageType<'a, V: warpui::View> {
pub(super) enum FilteredPageType<'a, V: galaxyui::View> {
Monolith {
widget: Option<&'a dyn SettingsWidget<View = V>>,
title: Option<&'static str>,
@@ -1755,13 +1755,13 @@ pub(super) enum FilteredPageType<'a, V: warpui::View> {
}
/// A grouping of related [`SettingsWidget`]s that fall under the same sub-header.
pub(super) struct Category<V: warpui::View> {
pub(super) struct Category<V: galaxyui::View> {
title: &'static str,
subtitle: Option<&'static str>,
widgets: Vec<Box<dyn SettingsWidget<View = V>>>,
}
impl<V: warpui::View> Category<V> {
impl<V: galaxyui::View> Category<V> {
pub(super) fn new(
title: &'static str,
widgets: Vec<Box<dyn SettingsWidget<View = V>>>,
@@ -1780,7 +1780,7 @@ impl<V: warpui::View> Category<V> {
}
/// A [`Category`] with only the results which match a search query.
pub(super) struct FilteredCategory<'a, V: warpui::View> {
pub(super) struct FilteredCategory<'a, V: galaxyui::View> {
pub(super) title: &'static str,
pub(super) subtitle: Option<&'static str>,
pub(super) widgets: Vec<&'a dyn SettingsWidget<View = V>>,
@@ -1790,7 +1790,7 @@ pub(super) struct FilteredCategory<'a, V: warpui::View> {
/// content to match against.
pub(super) trait SettingsWidget {
/// Which View (settings page) this widget belongs to.
type View: warpui::View;
type View: galaxyui::View;
fn static_widget_id() -> &'static str
where
+7 -7
View File
@@ -17,10 +17,10 @@ use anyhow::Result;
use chrono::{DateTime, FixedOffset, Local};
use pathfinder_geometry::vector::vec2f;
use std::sync::Arc;
use warp_core::ui::theme::color::internal_colors;
use warpui::ui_components::button::ButtonVariant;
use warpui::ui_components::components::{UiComponent, UiComponentStyles};
use warpui::{
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::{
clipboard::ClipboardContent,
elements::{
Align, ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
@@ -30,9 +30,9 @@ use warpui::{
ScrollableElement, Shrinkable, Stack, UniformList, UniformListState,
},
};
use warpui::{color::ColorU, elements::Radius};
use warpui::{elements::ScrollbarWidth, fonts::Weight};
use warpui::{
use galaxyui::{color::ColorU, elements::Radius};
use galaxyui::{elements::ScrollbarWidth, fonts::Weight};
use galaxyui::{
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
+5 -5
View File
@@ -1,14 +1,14 @@
use std::fmt::Display;
use warpui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::button::ButtonVariant;
use super::teams_page::TeamsPageAction;
use crate::cloud_object::model::persistence::CloudModel;
use crate::workspaces::team::Team;
use crate::Appearance;
use warpui::elements::MouseStateHandle;
use warpui::ui_components::components::UiComponent;
use warpui::ui_components::components::UiComponentStyles;
use warpui::Element;
use galaxyui::elements::MouseStateHandle;
use galaxyui::ui_components::components::UiComponent;
use galaxyui::ui_components::components::UiComponentStyles;
use galaxyui::Element;
/// The Tabs trait provides common functionality for an enum to be used as a tabs menu UI component.
/// It requires the trait-user to implement action_on_click() and label().
+10 -10
View File
@@ -58,10 +58,10 @@ use regex::Regex;
use serde::{Deserialize, Serialize};
use std::sync::Arc;
use std::{cmp::Ordering, collections::HashSet};
use warp_core::ui::theme::color::internal_colors;
use warpui::FocusContext;
use galaxy_core::ui::theme::color::internal_colors;
use galaxyui::FocusContext;
use warpui::{
use galaxyui::{
clipboard::ClipboardContent,
elements::{
Align, Border, ChildAnchor, ClippedScrollStateHandle, ConstrainedBox, Container,
@@ -1798,7 +1798,7 @@ impl TeamsWidget {
let currency_icon = Container::new(
ConstrainedBox::new(
Icon::CoinsStacked
.to_warpui_icon(appearance.theme().active_ui_text_color().with_opacity(90))
.to_galaxyui_icon(appearance.theme().active_ui_text_color().with_opacity(90))
.finish(),
)
.with_max_height(20.)
@@ -2063,7 +2063,7 @@ impl TeamsWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Contact support",
Icon::Phone.to_warpui_icon(appearance.theme().accent()),
Icon::Phone.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -2092,7 +2092,7 @@ impl TeamsWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Manage billing",
Icon::CoinsStacked.to_warpui_icon(appearance.theme().accent()),
Icon::CoinsStacked.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -2123,7 +2123,7 @@ impl TeamsWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
"Open admin panel",
Icon::Users.to_warpui_icon(appearance.theme().accent()),
Icon::Users.to_galaxyui_icon(appearance.theme().accent()),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
@@ -3254,7 +3254,7 @@ impl TeamsWidget {
Hoverable::new(handle.clone(), move |_mouse_state| {
Container::new(
ConstrainedBox::new(
icon.to_warpui_icon(
icon.to_galaxyui_icon(
appearance
.theme()
.active_ui_text_color()
@@ -3287,7 +3287,7 @@ impl TeamsWidget {
Container::new(
ConstrainedBox::new(
Icon::DotsVertical
.to_warpui_icon(
.to_galaxyui_icon(
appearance
.theme()
.active_ui_text_color()
@@ -3872,7 +3872,7 @@ impl TeamsWidget {
TextAndIcon::new(
TextAndIconAlignment::IconFirst,
text.to_string(),
Icon::CoinsStacked.to_warpui_icon(icon_color),
Icon::CoinsStacked.to_galaxyui_icon(icon_color),
MainAxisSize::Min,
MainAxisAlignment::Center,
vec2f(14., 14.),
+3 -3
View File
@@ -1,7 +1,7 @@
use serde_json::Value;
use strum_macros::EnumDiscriminants;
use strum_macros::EnumIter;
use warp_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
#[derive(Debug, EnumDiscriminants)]
#[strum_discriminants(derive(EnumIter))]
@@ -33,7 +33,7 @@ impl TelemetryEvent for SettingsTelemetryEvent {
}
fn event_descs() -> impl Iterator<Item = Box<dyn TelemetryEventDesc>> {
warp_core::telemetry::enum_events::<Self>()
galaxy_core::telemetry::enum_events::<Self>()
}
}
@@ -61,4 +61,4 @@ impl TelemetryEventDesc for SettingsTelemetryEventDiscriminants {
}
}
warp_core::register_telemetry_event!(SettingsTelemetryEvent);
galaxy_core::register_telemetry_event!(SettingsTelemetryEvent);
@@ -1,4 +1,4 @@
use warpui::{
use galaxyui::{
elements::{Align, Container, CrossAxisAlignment, Flex, MouseStateHandle, ParentElement, Text},
ui_components::{
button::ButtonVariant,
@@ -30,10 +30,10 @@ use log::debug;
#[cfg(not(target_family = "wasm"))]
use std::collections::HashMap;
use url::Url;
use warp_core::send_telemetry_from_ctx;
use warp_editor::editor::NavigationKey;
use warp_graphql::queries::user_github_info::UserGithubInfoResult;
use warpui::{
use galaxy_core::send_telemetry_from_ctx;
use galaxy_editor::editor::NavigationKey;
use galaxy_graphql::queries::user_github_info::UserGithubInfoResult;
use galaxyui::{
elements::{
Border, ChildAnchor, ChildView, Clipped, ClippedScrollStateHandle, ClippedScrollable,
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Dismiss, Element, Empty,
@@ -56,7 +56,7 @@ use warpui::{
const SUBMIT_BUTTON_FOCUSED: &str = "SubmitButtonFocused";
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -1413,7 +1413,7 @@ impl UpdateEnvironmentForm {
match result {
Ok(result) => match result {
warp_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::SuggestCloudEnvironmentImageOutput(output) => {
galaxy_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::SuggestCloudEnvironmentImageOutput(output) => {
let image = output.image;
let needs_custom_image = output.needs_custom_image;
let reason = output.reason;
@@ -1425,7 +1425,7 @@ impl UpdateEnvironmentForm {
ctx,
);
}
warp_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::SuggestCloudEnvironmentImageAuthRequiredOutput(output) => {
galaxy_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::SuggestCloudEnvironmentImageAuthRequiredOutput(output) => {
me.suggest_image_cache.insert(
key.clone(),
CachedSuggestImageResult::AuthRequired {
@@ -1437,7 +1437,7 @@ impl UpdateEnvironmentForm {
auth_url: output.auth_url,
};
}
warp_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::UserFacingError(_) => {
galaxy_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::UserFacingError(_) => {
let error_message = "Failed to suggest a Docker image".to_string();
send_telemetry_from_ctx!(
CloudAgentTelemetryEvent::ImageSuggestionFailed {
@@ -1450,7 +1450,7 @@ impl UpdateEnvironmentForm {
message: error_message,
};
}
warp_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::Unknown => {
galaxy_graphql::queries::suggest_cloud_environment_image::SuggestCloudEnvironmentImageResult::Unknown => {
let error_message = "Unknown response from suggestCloudEnvironmentImage".to_string();
send_telemetry_from_ctx!(
CloudAgentTelemetryEvent::ImageSuggestionFailed {
@@ -1987,7 +1987,7 @@ impl UpdateEnvironmentForm {
.with_child(
ConstrainedBox::new(
Icon::Github
.to_warpui_icon(theme.active_ui_text_color())
.to_galaxyui_icon(theme.active_ui_text_color())
.finish(),
)
.with_width(icon_size)
@@ -2104,7 +2104,7 @@ impl UpdateEnvironmentForm {
.with_child(
ConstrainedBox::new(
Icon::Refresh
.to_warpui_icon(theme.active_ui_text_color())
.to_galaxyui_icon(theme.active_ui_text_color())
.finish(),
)
.with_width(icon_size)
@@ -3085,7 +3085,7 @@ impl UpdateEnvironmentForm {
};
let icon_size = appearance.ui_font_size();
let icon = ConstrainedBox::new(Icon::Lightbulb.to_warpui_icon(text_fill).finish())
let icon = ConstrainedBox::new(Icon::Lightbulb.to_galaxyui_icon(text_fill).finish())
.with_width(icon_size)
.with_height(icon_size)
.finish();
@@ -3454,8 +3454,8 @@ impl TypedActionView for UpdateEnvironmentForm {
&mut self,
_action: &Self::Action,
_ctx: &mut ViewContext<Self>,
) -> warpui::accessibility::ActionAccessibilityContent {
warpui::accessibility::ActionAccessibilityContent::default()
) -> galaxyui::accessibility::ActionAccessibilityContent {
galaxyui::accessibility::ActionAccessibilityContent::default()
}
}
@@ -3464,7 +3464,7 @@ impl View for UpdateEnvironmentForm {
"UpdateEnvironmentForm"
}
fn keymap_context(&self, app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if self.submit_button.is_focused(app) {
context.set.insert(SUBMIT_BUTTON_FOCUSED);
@@ -18,10 +18,10 @@ use crate::workspaces::team_tester::TeamTesterStatus;
use crate::workspaces::user_workspaces::UserWorkspaces;
use crate::workspaces::workspace::Workspace;
use url::Url;
use warp_core::ui::appearance::Appearance;
use warpui::elements::{Empty, MouseStateHandle};
use warpui::platform::WindowStyle;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{Empty, MouseStateHandle};
use galaxyui::platform::WindowStyle;
use galaxyui::{
AddSingletonModel, App, AppContext, Element, Entity, SingletonEntity, TypedActionView, View,
WindowId,
};
+5 -5
View File
@@ -6,8 +6,8 @@ use super::{
LocalOnlyIconState, SettingsSection, ToggleState,
};
use crate::{appearance::Appearance, auth::AuthStateProvider, drive::settings::WarpDriveSettings};
use warp_core::{features::FeatureFlag, report_if_error, settings::ToggleableSetting as _};
use warpui::{
use galaxy_core::{features::FeatureFlag, report_if_error, settings::ToggleableSetting as _};
use galaxyui::{
elements::{Container, Element, Flex, MouseStateHandle, ParentElement, Shrinkable, Text},
fonts::Weight,
ui_components::{
@@ -160,8 +160,8 @@ impl SettingsWidget for WarpDriveHeaderWidget {
.with_style(UiComponentStyles {
font_size: Some(14.),
font_weight: Some(Weight::Semibold),
border_radius: Some(warpui::elements::CornerRadius::with_all(
warpui::elements::Radius::Pixels(4.),
border_radius: Some(galaxyui::elements::CornerRadius::with_all(
galaxyui::elements::Radius::Pixels(4.),
)),
padding: Some(Coords {
top: 8.,
@@ -182,7 +182,7 @@ impl SettingsWidget for WarpDriveHeaderWidget {
Container::new(
Flex::row()
.with_cross_axis_alignment(warpui::elements::CrossAxisAlignment::Center)
.with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Center)
.with_child(Shrinkable::new(1., message).finish())
.with_child(button)
.finish(),
+4 -4
View File
@@ -6,10 +6,10 @@ use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use regex::Regex;
use settings::{Setting, ToggleableSetting};
use strum::IntoEnumIterator;
use warp_core::features::FeatureFlag;
use warpui::elements::{FormattedTextElement, HighlightedHyperlink};
use warpui::keymap::ContextPredicate;
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxyui::elements::{FormattedTextElement, HighlightedHyperlink};
use galaxyui::keymap::ContextPredicate;
use galaxyui::{
elements::{Container, Flex, MouseStateHandle, ParentElement},
presenter::ChildView,
ui_components::{