Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add sass #8

Merged
merged 27 commits into from
Aug 23, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0c799d9
Use async blocks instead of closures
therustmonk Aug 11, 2019
205edee
Add build script to ui
therustmonk Aug 11, 2019
07efd96
Replace less with sass embedded compiler
therustmonk Aug 11, 2019
41b2e97
Use Compact format for SASS
therustmonk Aug 11, 2019
86f0a4c
Add block rule
therustmonk Aug 12, 2019
cbbd51a
Remove current widgets system
therustmonk Aug 12, 2019
7ff30d6
Add Grid layout to the protocol
therustmonk Aug 12, 2019
e3a886c
Implement Scene widget
therustmonk Aug 12, 2019
7dfd51e
Add Layout widget implementation with classes
therustmonk Aug 12, 2019
6524f58
Add DSL for containers
therustmonk Aug 12, 2019
3e01ec0
Add view_flex method to layout
therustmonk Aug 12, 2019
c082e53
Add a minimal grid
therustmonk Aug 14, 2019
1add4fb
Add baseline example
therustmonk Aug 14, 2019
8bce60f
Add app widget (empty)
therustmonk Aug 15, 2019
df49273
Add List and Icon
therustmonk Aug 15, 2019
c2221a1
Render ListItem
therustmonk Aug 15, 2019
d1a4d48
Add application layout
therustmonk Aug 17, 2019
660ef66
Add navigation bar to App layout
therustmonk Aug 17, 2019
4401c45
Move NavigationDrawer to a separate module
therustmonk Aug 17, 2019
3543464
Add styles for AppBar
therustmonk Aug 17, 2019
5752d1f
Add Vuetify as a submodule
therustmonk Aug 17, 2019
daecfc7
Use vuetify styles for navigation drawer
therustmonk Aug 18, 2019
eb5c6f7
Add Material Icon font
therustmonk Aug 18, 2019
c4dec49
Move AppBar to a separate module
therustmonk Aug 18, 2019
8619680
Add footer block to App
therustmonk Aug 18, 2019
4a2912f
Move Footer to a separate widget module
therustmonk Aug 18, 2019
6c37203
Activate styles for Footer
therustmonk Aug 18, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Move AppBar to a separate module
  • Loading branch information
therustmonk committed Aug 19, 2019
commit c4dec49da77c4b7a82e0edd3fbabeda3d736c7b2
13 changes: 1 addition & 12 deletions ui/src/widgets/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,22 +36,11 @@ impl Widget for Model {
// TODO: Check `dark` flag in app
v_application.push("theme--light");

let mut app_bar_style = String::new();
app_bar_style.push_str("margin-top: 0px;");
app_bar_style.push_str("transform: translateY(0px);");
app_bar_style.push_str("left: 256px;");
app_bar_style.push_str("right: 0px;");

html! {
<div class=v_application>
<div class="v-application--wrap">
<widgets::NavigationDrawer: navigation_drawer=self.app.navigation_drawer.clone() />
<div class="v-app-bar v-app-bar--fixed v-toolbar" style=app_bar_style>
<div class="v-toolbar__content">
<div class="v-app-bar__nav-icon" />
<div class="v-toolbar__title">{ &self.app.app_bar.title.caption }</div>
</div>
</div>
<widgets::AppBar: app_bar=self.app.app_bar.clone() />
<div class="v-content">
<widgets::Container: container=self.app.content.clone() />
</div>
Expand Down
57 changes: 57 additions & 0 deletions ui/src/widgets/app_bar.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
use crate::widgets::{self, Reqs, View, Widget, WidgetModel};
use yew::{html, Properties};

pub type AppBarWidget = WidgetModel<Model>;

pub struct Model {
app_bar: protocol::Bar,
}

#[derive(Properties, PartialEq, Clone)]
pub struct Props {
#[props(required)]
pub app_bar: protocol::Bar,
}

impl Widget for Model {
type Message = ();
type Properties = Props;

fn produce(props: &Self::Properties) -> Self {
Self {
app_bar: props.app_bar.clone(),
}
}

fn recompose(&mut self, props: &Self::Properties) -> Reqs {
self.app_bar = props.app_bar.to_owned();
None
}

fn main_view(&self) -> View<Self> {
let mut v_app_bar = vec!["v-app-bar"];
v_app_bar.push("v-app-bar--fixed");
v_app_bar.push("v-sheet");
v_app_bar.push("v-sheet--tile");
// TODO: Changeable
v_app_bar.push("theme--dark");
v_app_bar.push("v-toolbar");
// TODO: Changeable
v_app_bar.push("indigo");

let mut app_bar_style = String::new();
app_bar_style.push_str("margin-top: 0px;");
app_bar_style.push_str("transform: translateY(0px);");
app_bar_style.push_str("left: 256px;");
app_bar_style.push_str("right: 0px;");

html! {
<div class=v_app_bar style=app_bar_style>
<div class="v-toolbar__content" style="height: 64px;">
<div class="v-app-bar__nav-icon" />
<div class="v-toolbar__title">{ &self.app_bar.title.caption }</div>
</div>
</div>
}
}
}
4 changes: 3 additions & 1 deletion ui/src/widgets/list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ impl Model {
{ widgets::Icon::new(item.action.clone()).render() }
</div>
<div class="v-list-item__content">
{ &item.content.caption }
<div class="v-list-item__title">
{ &item.content.caption }
</div>
</div>
</div>
}
Expand Down
3 changes: 3 additions & 0 deletions ui/src/widgets/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ pub use welcome::WelcomeWidget as Welcome;
mod app;
pub use app::AppWidget as App;

mod app_bar;
pub use app_bar::AppBarWidget as AppBar;

mod container;
pub use container::ContainerWidget as Container;

Expand Down
3 changes: 2 additions & 1 deletion ui/styles/styles.sass
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
@import url('https://fonts.googleapis.com/icon?family=Material+Icons')
@import url('https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900%7CRoboto+Mono:500%7CMaterial+Icons')

@import './vuetify/packages/vuetify/src/styles/main.sass'
//@import './vuetify/packages/vuetify/src/components/VAlert/VAlert.sass'
@import './vuetify/packages/vuetify/src/components/VApp/VApp.sass'
Expand Down