first pass of merging in warp (doesn't build)
This commit is contained in:
@@ -1,23 +1,30 @@
|
||||
use super::{
|
||||
settings_page::{
|
||||
render_body_item, AdditionalInfo, MatchData, PageType, SettingsPageMeta,
|
||||
SettingsPageViewHandle, SettingsWidget,
|
||||
},
|
||||
LocalOnlyIconState, SettingsSection, ToggleState,
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxy_core::report_if_error;
|
||||
use galaxy_core::settings::ToggleableSetting as _;
|
||||
use warpui::elements::{
|
||||
Container, Element, Flex, MouseStateHandle, ParentElement, Shrinkable, Text,
|
||||
};
|
||||
use crate::{appearance::Appearance, auth::AuthStateProvider, drive::settings::WarpDriveSettings};
|
||||
use galaxy_core::{features::FeatureFlag, report_if_error, settings::ToggleableSetting as _};
|
||||
use galaxyui::fonts::Weight;
|
||||
use galaxyui::keymap::ContextPredicate;
|
||||
use galaxyui::ui_components::button::ButtonVariant;
|
||||
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
|
||||
use galaxyui::ui_components::switch::SwitchStateHandle;
|
||||
use galaxyui::{
|
||||
elements::{Container, Element, Flex, MouseStateHandle, ParentElement, Shrinkable, Text},
|
||||
fonts::Weight,
|
||||
ui_components::{
|
||||
button::ButtonVariant,
|
||||
components::{Coords, UiComponent, UiComponentStyles},
|
||||
switch::SwitchStateHandle,
|
||||
},
|
||||
AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
|
||||
id, Action, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
|
||||
};
|
||||
|
||||
use super::settings_page::{
|
||||
render_body_item, AdditionalInfo, MatchData, PageType, SettingsPageMeta,
|
||||
SettingsPageViewHandle, SettingsWidget,
|
||||
};
|
||||
use super::{
|
||||
flags, LocalOnlyIconState, SettingActionPairContexts, SettingActionPairDescriptions,
|
||||
SettingsAction, SettingsSection, ToggleSettingActionPair, ToggleState,
|
||||
};
|
||||
use crate::appearance::Appearance;
|
||||
use crate::auth::AuthStateProvider;
|
||||
use crate::drive::settings::WarpDriveSettings;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum WarpDriveSettingsPageAction {
|
||||
ToggleShowWarpDrive,
|
||||
@@ -25,6 +32,28 @@ pub enum WarpDriveSettingsPageAction {
|
||||
OpenUrl(String),
|
||||
}
|
||||
|
||||
pub fn init_actions_from_parent_view<T: Action + Clone>(
|
||||
app: &mut AppContext,
|
||||
context: &ContextPredicate,
|
||||
builder: fn(SettingsAction) -> T,
|
||||
) {
|
||||
ToggleSettingActionPair::add_toggle_setting_action_pairs_as_bindings(
|
||||
vec![ToggleSettingActionPair::custom(
|
||||
SettingActionPairDescriptions::new("Enable Warp Drive", "Disable Warp Drive"),
|
||||
builder(SettingsAction::WarpDrive(
|
||||
WarpDriveSettingsPageAction::ToggleShowWarpDrive,
|
||||
)),
|
||||
SettingActionPairContexts::new(
|
||||
context.clone() & !id!(flags::ENABLE_WARP_DRIVE) & !id!("IsAnonymousUser"),
|
||||
context.clone() & id!(flags::ENABLE_WARP_DRIVE) & !id!("IsAnonymousUser"),
|
||||
),
|
||||
None,
|
||||
)
|
||||
.with_enabled(|| FeatureFlag::OpenWarpNewSettingsModes.is_enabled())],
|
||||
app,
|
||||
);
|
||||
}
|
||||
|
||||
pub enum WarpDriveSettingsPageEvent {
|
||||
SignUp,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user