Detailed changes
@@ -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> {
@@ -1,6 +1,6 @@
-use crate::theme::theme;
-use crate::ui::prelude::*;
use gpui3::Div;
+use ui::prelude::*;
+use ui::theme;
pub struct Story {}
@@ -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")]
@@ -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,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! {
@@ -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::*;
@@ -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.
@@ -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())
}