Move UI out of storybook2 and into ui2

This commit is contained in:
Marshall Bowers
2023-10-06 17:07:59 -04:00
parent 1cf5cdbeca
commit bcad2f4e9e
26 changed files with 51 additions and 78 deletions
+1 -1
View File
@@ -1,8 +1,8 @@
use crate::theme::{theme, Theme};
use gpui3::{
div, img, svg, view, AppContext, Context, Element, IntoAnyElement, ParentElement, ScrollState,
SharedString, StyleHelpers, View, ViewContext, WindowContext,
};
use ui::{theme, Theme};
pub struct CollabPanel {
scroll_state: ScrollState,
@@ -1,7 +1,7 @@
use std::marker::PhantomData;
use crate::ui::prelude::*;
use crate::ui::{Label, Panel};
use ui::prelude::*;
use ui::{Label, Panel};
use crate::story::Story;
@@ -1,7 +1,7 @@
use std::marker::PhantomData;
use crate::ui::prelude::*;
use crate::ui::Avatar;
use ui::prelude::*;
use ui::Avatar;
use crate::story::Story;
@@ -1,9 +1,8 @@
use std::marker::PhantomData;
use strum::IntoEnumIterator;
use crate::ui::prelude::*;
use crate::ui::{Icon, IconElement};
use ui::prelude::*;
use ui::{Icon, IconElement};
use crate::story::Story;
@@ -1,7 +1,7 @@
use std::marker::PhantomData;
use crate::ui::prelude::*;
use crate::ui::Label;
use ui::prelude::*;
use ui::Label;
use crate::story::Story;
@@ -1,10 +1,10 @@
use std::marker::PhantomData;
use strum::IntoEnumIterator;
use ui::prelude::*;
use crate::story::Story;
use crate::story_selector::{ComponentStory, ElementStory};
use crate::ui::prelude::*;
#[derive(Element)]
pub struct KitchenSinkStory<S: 'static + Send + Sync + Clone> {
+2 -2
View File
@@ -1,6 +1,6 @@
use crate::theme::theme;
use crate::ui::prelude::*;
use gpui3::Div;
use ui::prelude::*;
use ui::theme;
pub struct Story {}
+1 -1
View File
@@ -7,7 +7,7 @@ use clap::ValueEnum;
use gpui3::AnyElement;
use strum::{EnumIter, EnumString, IntoEnumIterator};
use crate::ui::prelude::*;
use ui::prelude::*;
#[derive(Debug, PartialEq, Eq, Clone, Copy, strum::Display, EnumString, EnumIter)]
#[strum(serialize_all = "snake_case")]
+2 -4
View File
@@ -5,9 +5,7 @@ mod collab_panel;
mod stories;
mod story;
mod story_selector;
mod theme;
mod themes;
mod ui;
mod workspace;
use std::sync::Arc;
@@ -18,12 +16,12 @@ use gpui3::{
};
use log::LevelFilter;
use simplelog::SimpleLogger;
use ui::prelude::*;
use ui::themed;
use crate::assets::Assets;
use crate::story_selector::StorySelector;
use crate::theme::themed;
use crate::themes::rose_pine_dawn;
use crate::ui::prelude::*;
use crate::workspace::workspace;
// gpui2::actions! {
+1 -1
View File
@@ -1,5 +1,5 @@
use crate::theme::Theme;
use gpui3::serde_json::{self, json};
use ui::Theme;
pub fn rose_pine() -> Theme {
serde_json::from_value(json! {
-12
View File
@@ -1,12 +0,0 @@
mod children;
mod components;
mod element_ext;
mod elements;
pub mod prelude;
mod tokens;
pub use children::*;
pub use components::*;
pub use element_ext::*;
pub use elements::*;
pub use tokens::*;
+7 -7
View File
@@ -1,14 +1,14 @@
use crate::ui::prelude::*;
use crate::ui::{Panel, Stack};
use crate::{
collab_panel::{collab_panel, CollabPanel},
theme::{theme, themed},
themes::rose_pine_dawn,
};
use gpui3::{
div, img, svg, view, Context, Element, ParentElement, RootView, StyleHelpers, View,
ViewContext, WindowContext,
};
use ui::prelude::*;
use ui::{theme, themed, Panel, Stack};
use crate::{
collab_panel::{collab_panel, CollabPanel},
themes::rose_pine_dawn,
};
pub struct Workspace {
left_panel: View<CollabPanel, Self>,
@@ -3,8 +3,8 @@ use std::marker::PhantomData;
use gpui3::{div, Div, Hsla, WindowContext};
use crate::theme::theme;
use crate::ui::prelude::*;
use crate::ui::{
use crate::prelude::*;
use crate::{
h_stack, token, v_stack, Avatar, Icon, IconColor, IconElement, IconSize, Label, LabelColor,
LabelSize,
};
@@ -2,9 +2,8 @@ use std::marker::PhantomData;
use gpui3::AbsoluteLength;
use crate::themes::rose_pine_dawn;
use crate::ui::prelude::*;
use crate::ui::{token, v_stack};
use crate::{prelude::*, theme};
use crate::{token, v_stack};
#[derive(Default, Debug, PartialEq, Eq, Hash, Clone, Copy)]
pub enum PanelAllowedSides {
@@ -103,7 +102,7 @@ impl<S: 'static + Send + Sync> Panel<S> {
fn render(&mut self, cx: &mut ViewContext<S>) -> impl Element<State = S> {
let token = token();
let theme = rose_pine_dawn();
let theme = theme(cx);
let panel_base;
let current_width = self.width.unwrap_or(self.initial_width);
@@ -3,7 +3,7 @@ use std::marker::PhantomData;
use gpui3::{img, ArcCow};
use crate::theme::theme;
use crate::ui::prelude::*;
use crate::prelude::*;
#[derive(Element, Clone)]
pub struct Avatar<S: 'static + Send + Sync> {
@@ -5,7 +5,7 @@ use gpui3::{svg, Hsla};
use strum::EnumIter;
use crate::theme::{theme, Theme};
use crate::ui::prelude::*;
use crate::prelude::*;
#[derive(Default, PartialEq, Copy, Clone)]
pub enum IconSize {
@@ -4,7 +4,7 @@ use gpui3::{Hsla, WindowContext};
use smallvec::SmallVec;
use crate::theme::theme;
use crate::ui::prelude::*;
use crate::prelude::*;
#[derive(Default, PartialEq, Copy, Clone)]
pub enum LabelColor {
@@ -1,6 +1,6 @@
use gpui3::{div, Div};
use crate::ui::prelude::*;
use crate::prelude::*;
pub trait Stack: StyleHelpers {
/// Horizontally stacks elements.
+16 -12
View File
@@ -1,14 +1,18 @@
pub fn add(left: usize, right: usize) -> usize {
left + right
}
#![allow(dead_code, unused_variables)]
#[cfg(test)]
mod tests {
use super::*;
mod children;
mod components;
mod element_ext;
mod elements;
pub mod prelude;
mod theme;
mod tokens;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}
pub use children::*;
pub use components::*;
pub use element_ext::*;
pub use elements::*;
pub use prelude::*;
pub use tokens::*;
pub use crate::theme::*;
@@ -3,7 +3,7 @@ pub use gpui3::{
WindowContext,
};
pub use crate::ui::{HackyChildren, HackyChildrenPayload, ElementExt};
pub use crate::{HackyChildren, HackyChildrenPayload, ElementExt};
use gpui3::{hsla, rgb, Hsla};
use strum::EnumIter;
@@ -1,5 +1,6 @@
use std::collections::HashMap;
use std::fmt;
use std::sync::Arc;
use std::{collections::HashMap, fmt};
use gpui3::{
BorrowAppContext, Bounds, Element, Hsla, LayoutId, Pixels, Result, ViewContext, WindowContext,
@@ -176,22 +177,6 @@ impl<E: Element> Element for Themed<E> {
}
}
// fn preferred_theme<V: 'static>(cx: &AppContext) -> Theme {
// settings::get::<ThemeSettings>(cx)
// .theme
// .deserialized_base_theme
// .lock()
// .get_or_insert_with(|| {
// let theme: Theme =
// serde_json::from_value(settings::get::<ThemeSettings>(cx).theme.base_theme.clone())
// .unwrap();
// Box::new(theme)
// })
// .downcast_ref::<Theme>()
// .unwrap()
// .clone()
// }
pub fn theme(cx: &WindowContext) -> Arc<Theme> {
Arc::new(cx.state::<Theme>().clone())
}