Remove unused code from storybook 2

Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
This commit is contained in:
Nate Butler 2023-10-18 16:27:34 -04:00
parent a35d350cbd
commit 3f076eeda6
4 changed files with 0 additions and 693 deletions

View file

@ -1,193 +0,0 @@
use gpui3::{
div, svg, view, Active, AppContext, Context, Element, ElementId, Hover, IntoAnyElement,
ParentElement, ScrollState, SharedString, Styled, View, ViewContext, WindowContext,
};
use ui::{theme, Theme};
pub struct CollabPanel {
scroll_state: ScrollState,
}
pub fn collab_panel(cx: &mut WindowContext) -> View<CollabPanel> {
view(cx.entity(|cx| CollabPanel::new(cx)), CollabPanel::render)
}
impl CollabPanel {
fn new(_: &mut AppContext) -> Self {
CollabPanel {
scroll_state: ScrollState::default(),
}
}
}
impl CollabPanel {
fn render(&mut self, cx: &mut ViewContext<Self>) -> impl Element<ViewState = Self> {
let theme = theme(cx);
// Panel
div()
.w_64()
.h_full()
.flex()
.flex_col()
.font("Courier")
.text_color(theme.middle.base.default.foreground)
.border_color(theme.middle.base.default.border)
.border()
.bg(theme.middle.base.default.background)
.child(
div()
.w_full()
.flex()
.flex_col()
.overflow_y_scroll(self.scroll_state.clone())
// List Container
// .child(
// div()
// .id(0)
// .on_click(|_, _, _| {
// dbg!("click!");
// })
// .fill(theme.lowest.base.default.background)
// .pb_1()
// .border_color(theme.lowest.base.default.border)
// .border_b()
// //:: https://tailwindcss.com/docs/hover-focus-and-other-states#styling-based-on-parent-state
// // .group()
// // List Section Header
// .child(self.list_section_header(0, "#CRDB 🗃️", true, theme))
// // List Item Large
// .child(self.list_item(
// "http://github.com/maxbrunsfeld.png?s=50",
// "maxbrunsfeld",
// theme,
// )),
// )
.child(
div()
.py_2()
.flex()
.flex_col()
.child(self.list_section_header(1, "CHANNELS", true, &theme)),
)
.child(
div()
.py_2()
.flex()
.flex_col()
.child(self.list_section_header(2, "CONTACTS", true, &theme))
.children(
std::iter::repeat_with(|| {
vec![
self.list_item(
"http://github.com/as-cii.png?s=50",
"as-cii",
&theme,
),
// self.list_item(
// "http://github.com/nathansobo.png?s=50",
// "nathansobo",
// theme,
// ),
// self.list_item(
// "http://github.com/maxbrunsfeld.png?s=50",
// "maxbrunsfeld",
// theme,
// ),
]
})
.take(1)
.flatten(),
),
),
)
.child(
div()
.h_7()
.px_2()
.border_t()
.border_color(theme.middle.variant.default.border)
.flex()
.items_center()
.child(
div()
.text_sm()
.text_color(theme.middle.variant.default.foreground)
.child("Find..."),
),
)
}
fn list_section_header(
&self,
id: impl Into<ElementId>,
label: impl IntoAnyElement<Self>,
expanded: bool,
theme: &Theme,
) -> impl Element<ViewState = Self> {
div()
.id(id)
.h_7()
.px_2()
.flex()
.justify_between()
.items_center()
.active(|style| style.bg(theme.highest.accent.default.background))
.child(div().flex().gap_1().text_sm().child(label))
.child(
div().flex().h_full().gap_1().items_center().child(
svg()
.path(if expanded {
"icons/caret_down.svg"
} else {
"icons/caret_up.svg"
})
.w_3p5()
.h_3p5()
.text_color(theme.middle.variant.default.foreground),
),
)
}
fn list_item(
&self,
avatar_uri: impl Into<SharedString>,
label: impl IntoAnyElement<Self>,
theme: &Theme,
) -> impl Element<ViewState = Self> {
div()
.group("")
.h_7()
.px_2()
.flex()
.items_center()
// .hover()
// .fill(theme.lowest.variant.hovered.background)
// .active()
// .fill(theme.lowest.variant.pressed.background)
.child(
div()
.flex()
.items_center()
.gap_1()
.text_sm()
.child(
div()
.id("avatar")
// .uri(avatar_uri)
.size_3p5()
.rounded_full()
.bg(theme.middle.positive.default.foreground)
.shadow()
.group_hover("", |style| {
style.bg(theme.middle.negative.default.foreground)
})
.hover(|style| style.bg(theme.middle.warning.default.foreground))
.group_active("", |style| {
style.bg(theme.middle.accent.default.foreground)
}),
)
.child(label),
)
}
}

View file

@ -1,12 +1,10 @@
#![allow(dead_code, unused_variables)] #![allow(dead_code, unused_variables)]
mod assets; mod assets;
mod collab_panel;
mod stories; mod stories;
mod story; mod story;
mod story_selector; mod story_selector;
mod themes; mod themes;
mod workspace;
use std::sync::Arc; use std::sync::Arc;
@ -23,7 +21,6 @@ use ui::themed;
use crate::assets::Assets; use crate::assets::Assets;
use crate::story_selector::StorySelector; use crate::story_selector::StorySelector;
use crate::workspace::workspace;
// gpui2::actions! { // gpui2::actions! {
// storybook, // storybook,

View file

@ -1,496 +0,0 @@
use crate::{
collab_panel::{collab_panel, CollabPanel},
themes::rose_pine,
};
use gpui3::{
div, img, svg, view, Context, Element, Hover, ParentElement, Styled, View, ViewContext,
WindowContext,
};
use ui::{theme, themed};
pub struct Workspace {
left_panel: View<CollabPanel>,
right_panel: View<CollabPanel>,
}
pub fn workspace(cx: &mut WindowContext) -> View<Workspace> {
view(cx.entity(|cx| Workspace::new(cx)), Workspace::render)
}
impl Workspace {
fn new(cx: &mut ViewContext<Self>) -> Self {
Self {
left_panel: collab_panel(cx),
right_panel: collab_panel(cx),
}
}
fn hover_test(&self, cx: &mut ViewContext<Self>) -> impl Element<ViewState = Self> {
let theme = theme(cx);
div().size_full().child(
div()
.group("")
.w_full()
.h_5()
.mt_10()
.bg(theme.middle.warning.default.foreground)
.flex()
.flex_row()
.justify_center()
.child(
div()
.size_5()
.bg(theme.middle.negative.default.foreground)
.group_hover("", |style| {
style.bg(theme.middle.positive.default.foreground)
})
.hover(|style| style.bg(theme.middle.variant.default.foreground)),
),
)
}
fn render(&mut self, cx: &mut ViewContext<Self>) -> impl Element<ViewState = Self> {
themed(rose_pine(), cx, |cx| {
// self.hover_test(cx)
let theme = theme(cx);
div()
.size_full()
.flex()
.flex_col()
.font("Courier")
.gap_0()
.justify_start()
.items_start()
.text_color(theme.lowest.base.default.foreground)
.bg(theme.middle.base.default.background)
.child(titlebar(cx))
.child(
div()
.flex_1()
.w_full()
.flex()
.flex_row()
.overflow_hidden()
.child(self.left_panel.clone())
.child(div().h_full().flex_1()), // .child(self.right_panel.clone()),
)
.child(statusbar::statusbar(cx))
})
}
}
struct Titlebar;
pub fn titlebar<S: 'static + Send + Sync>(cx: &mut ViewContext<S>) -> impl Element<ViewState = S> {
let ref mut this = Titlebar;
let theme = theme(cx);
div()
.flex()
.items_center()
.justify_between()
.w_full()
.h_8()
.bg(theme.lowest.base.default.background)
.child(this.left_group(cx))
.child(this.right_group(cx))
}
impl Titlebar {
fn render<V: 'static + Send + Sync>(
&mut self,
cx: &mut ViewContext<V>,
) -> impl Element<ViewState = V> {
let theme = theme(cx);
div()
.flex()
.items_center()
.justify_between()
.w_full()
.h_8()
.bg(theme.lowest.base.default.background)
.child(self.left_group(cx))
.child(self.right_group(cx))
}
fn left_group<S: 'static + Send + Sync>(
&mut self,
cx: &mut ViewContext<S>,
) -> impl Element<ViewState = S> {
let theme = theme(cx);
div()
.flex()
.items_center()
.h_full()
.gap_4()
.px_2()
// === Traffic Lights === //
.child(
div()
.flex()
.items_center()
.gap_2()
.child(
div().w_3().h_3().rounded_full().bg(theme
.lowest
.positive
.default
.foreground),
)
.child(
div().w_3().h_3().rounded_full().bg(theme
.lowest
.warning
.default
.foreground),
)
.child(
div().w_3().h_3().rounded_full().bg(theme
.lowest
.negative
.default
.foreground),
),
)
// === Project Info === //
.child(
div()
.flex()
.items_center()
.gap_1()
.child(
div()
.h_full()
.flex()
.items_center()
.justify_center()
.px_2()
.rounded_md()
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(div().text_sm().child("project")),
)
.child(
div()
.h_full()
.flex()
.items_center()
.justify_center()
.px_2()
.rounded_md()
.text_color(theme.lowest.variant.default.foreground)
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(
div()
.text_sm()
.text_decoration_1()
.text_decoration_wavy()
.child("branch"),
),
),
)
}
fn right_group<S: 'static + Send + Sync>(
&mut self,
cx: &mut ViewContext<S>,
) -> impl Element<ViewState = S> {
let theme = theme(cx);
div()
.flex()
.items_center()
.h_full()
.gap_3()
.px_2()
// === Actions === //
.child(
div().child(
div().flex().items_center().gap_1().child(
div().size_4().flex().items_center().justify_center().child(
svg()
.path("icons/exit.svg")
.size_4()
.text_color(theme.lowest.base.default.foreground),
),
),
),
)
.child(div().w_px().h_3().bg(theme.lowest.base.default.border))
// === Comms === //
.child(
div().child(
div()
.flex()
.items_center()
.gap_px()
.child(
div()
.px_2()
.py_1()
.rounded_md()
.h_full()
.flex()
.items_center()
.justify_center()
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(
svg()
.path("icons/mic.svg")
.size_3p5()
.text_color(theme.lowest.base.default.foreground),
),
)
.child(
div()
.px_2()
.py_1()
.rounded_md()
.h_full()
.flex()
.items_center()
.justify_center()
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(
svg()
.path("icons/speaker-loud.svg")
.size_3p5()
.text_color(theme.lowest.base.default.foreground),
),
)
.child(
div()
.px_2()
.py_1()
.rounded_md()
.h_full()
.flex()
.items_center()
.justify_center()
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(
svg()
.path("icons/desktop.svg")
.size_3p5()
.text_color(theme.lowest.base.default.foreground),
),
),
),
)
.child(div().w_px().h_3().bg(theme.lowest.base.default.border))
// User Group
.child(
div().child(
div()
.px_1()
.py_1()
.flex()
.items_center()
.justify_center()
.rounded_md()
.gap_0p5()
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(
img()
.uri("https://avatars.githubusercontent.com/u/1714999?v=4")
.size_4()
.rounded_md()
.bg(theme.middle.on.default.foreground),
)
.child(
svg()
.path("icons/caret_down.svg")
.w_2()
.h_2()
.text_color(theme.lowest.variant.default.foreground),
),
),
)
}
}
// ================================================================================ //
mod statusbar {
use super::*;
pub fn statusbar<S: 'static + Send + Sync>(
cx: &mut ViewContext<S>,
) -> impl Element<ViewState = S> {
let theme = theme(cx);
div()
.flex()
.items_center()
.justify_between()
.w_full()
.h_8()
.bg(theme.lowest.base.default.background)
// .child(left_group(cx))
// .child(right_group(cx))
}
fn left_group<V: 'static + Send + Sync>(
cx: &mut ViewContext<V>,
) -> impl Element<ViewState = V> {
let theme = theme(cx);
div()
.flex()
.items_center()
.h_full()
.gap_4()
.px_2()
// === Tools === //
.child(
div()
.flex()
.items_center()
.gap_1()
.child(
div()
.w_6()
.h_full()
.flex()
.items_center()
.justify_center()
.child(
svg()
.path("icons/project.svg")
.w_4()
.h_4()
.text_color(theme.lowest.base.default.foreground),
),
)
.child(
div()
.w_6()
.h_full()
.flex()
.items_center()
.justify_center()
.child(
svg()
.path("icons/conversations.svg")
.w_4()
.h_4()
.text_color(theme.lowest.base.default.foreground),
),
)
.child(
div()
.w_6()
.h_full()
.flex()
.items_center()
.justify_center()
.child(
svg()
.path("icons/file_icons/notebook.svg")
.w_4()
.h_4()
.text_color(theme.lowest.accent.default.foreground),
),
),
)
// === Diagnostics === //
.child(
div()
.flex()
.items_center()
.gap_2()
.child(
div()
.h_full()
.flex()
.items_center()
.justify_center()
.gap_0p5()
.px_1()
.text_color(theme.lowest.variant.default.foreground)
// .hover()
// .fill(theme.lowest.base.hovered.background)
// .active()
// .fill(theme.lowest.base.pressed.background)
.child(
svg()
.path("icons/error.svg")
.w_4()
.h_4()
.text_color(theme.lowest.negative.default.foreground),
)
.child(div().text_sm().child("2")),
)
.child(
div()
.text_sm()
.text_color(theme.lowest.variant.default.foreground)
.child("Something is wrong"),
),
)
}
fn right_group<S: 'static + Send + Sync>(
cx: &mut ViewContext<S>,
) -> impl Element<ViewState = S> {
let theme = theme(cx);
div()
.flex()
.items_center()
.h_full()
.gap_4()
.px_2()
// === Tools === //
.child(
div()
.flex()
.items_center()
.gap_1()
.child(
div()
.w_6()
.h_full()
.flex()
.items_center()
.justify_center()
.child(
svg()
.path("icons/check_circle.svg")
.w_4()
.h_4()
.text_color(theme.lowest.base.default.foreground),
),
)
.child(
div()
.w_6()
.h_full()
.flex()
.items_center()
.justify_center()
.child(
svg()
.path("icons/copilot.svg")
.w_4()
.h_4()
.text_color(theme.lowest.accent.default.foreground),
),
),
)
}
}

View file

@ -1,7 +1,6 @@
use std::marker::PhantomData; use std::marker::PhantomData;
use std::sync::Arc; use std::sync::Arc;
use gpui3::rems;
use gpui3::{DefiniteLength, Hsla, Interactive, MouseButton, WindowContext}; use gpui3::{DefiniteLength, Hsla, Interactive, MouseButton, WindowContext};
use crate::prelude::*; use crate::prelude::*;