Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though
This commit is contained in:
@@ -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,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);
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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.),
|
||||
|
||||
@@ -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};
|
||||
|
||||
@@ -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,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();
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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()),
|
||||
);
|
||||
|
||||
@@ -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,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,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
@@ -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.),
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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())
|
||||
}
|
||||
|
||||
@@ -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,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(),
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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().
|
||||
|
||||
@@ -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.),
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
@@ -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(),
|
||||
|
||||
@@ -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::{
|
||||
|
||||
Reference in New Issue
Block a user