diff --git a/Cargo.lock b/Cargo.lock index abd507e..23c8ad3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -910,7 +910,7 @@ dependencies = [ "gdk4", "gio", "glib", - "glib-build-tools", + "glib-build-tools 0.16.3", "gtk4", "libadwaita", "serde", diff --git a/kifu/core/src/ui/launch_screen.rs b/kifu/core/src/ui/launch_screen.rs index 3696423..158c485 100644 --- a/kifu/core/src/ui/launch_screen.rs +++ b/kifu/core/src/ui/launch_screen.rs @@ -1,14 +1,18 @@ -use crate::{ - ui::types; -}; +use crate::ui::{home, library_view, HomeView, LibraryView}; use serde::{Deserialize, Serialize}; use typeshare::typeshare; +#[typeshare] #[derive(Clone, Debug, Serialize, Deserialize)] -pub enum LaunchScreenView { - CreateGame(CreateGameView) +pub struct LaunchScreenView { + home: HomeView, + library: LibraryView, } // This will be called when the Kifu application starts. -pub fn launch_screen() -> LaunchScreenView { +pub fn launch_screen_view() -> LaunchScreenView { + LaunchScreenView { + home: home(vec![].into_iter()), + library: library_view(), + } } diff --git a/kifu/core/src/ui/library_view.rs b/kifu/core/src/ui/library_view.rs new file mode 100644 index 0000000..a7c040d --- /dev/null +++ b/kifu/core/src/ui/library_view.rs @@ -0,0 +1,10 @@ +use serde::{Deserialize, Serialize}; +use typeshare::typeshare; + +#[typeshare] +#[derive(Clone, Debug, Serialize, Deserialize)] +pub struct LibraryView; + +pub fn library_view() -> LibraryView { + LibraryView +} diff --git a/kifu/core/src/ui/mod.rs b/kifu/core/src/ui/mod.rs index e9b5b7d..308ac55 100644 --- a/kifu/core/src/ui/mod.rs +++ b/kifu/core/src/ui/mod.rs @@ -4,8 +4,11 @@ pub use elements::{action::Action, game_preview::GamePreviewElement, menu::Menu} mod playing_field; pub use playing_field::{playing_field, PlayingFieldView}; -// mod launch_screen; -// pub use launch_screen::{launch_screen, LaunchScreenView}; +mod launch_screen; +pub use launch_screen::{launch_screen_view, LaunchScreenView}; + +mod library_view; +pub use library_view::{library_view, LibraryView}; mod home; pub use home::{home, HomeView, HotseatPlayerElement, PlayerElement};