diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..1ff0c42
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,63 @@
+###############################################################################
+# Set default behavior to automatically normalize line endings.
+###############################################################################
+* text=auto
+
+###############################################################################
+# Set default behavior for command prompt diff.
+#
+# This is need for earlier builds of msysgit that does not have it on by
+# default for csharp files.
+# Note: This is only used by command line
+###############################################################################
+#*.cs diff=csharp
+
+###############################################################################
+# Set the merge driver for project and solution files
+#
+# Merging from the command prompt will add diff markers to the files if there
+# are conflicts (Merging from VS is not affected by the settings below, in VS
+# the diff markers are never inserted). Diff markers may cause the following
+# file extensions to fail to load in VS. An alternative would be to treat
+# these files as binary and thus will always conflict and require user
+# intervention with every merge. To do so, just uncomment the entries below
+###############################################################################
+#*.sln merge=binary
+#*.csproj merge=binary
+#*.vbproj merge=binary
+#*.vcxproj merge=binary
+#*.vcproj merge=binary
+#*.dbproj merge=binary
+#*.fsproj merge=binary
+#*.lsproj merge=binary
+#*.wixproj merge=binary
+#*.modelproj merge=binary
+#*.sqlproj merge=binary
+#*.wwaproj merge=binary
+
+###############################################################################
+# behavior for image files
+#
+# image files are treated as binary by default.
+###############################################################################
+#*.jpg binary
+#*.png binary
+#*.gif binary
+
+###############################################################################
+# diff behavior for common document formats
+#
+# Convert binary document formats to text before diffing them. This feature
+# is only available from the command line. Turn it on by uncommenting the
+# entries below.
+###############################################################################
+#*.doc diff=astextplain
+#*.DOC diff=astextplain
+#*.docx diff=astextplain
+#*.DOCX diff=astextplain
+#*.dot diff=astextplain
+#*.DOT diff=astextplain
+#*.pdf diff=astextplain
+#*.PDF diff=astextplain
+#*.rtf diff=astextplain
+#*.RTF diff=astextplain
diff --git a/.gitignore b/.gitignore
index ca1c7a3..9491a2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,7 @@
-# ---> VisualStudio
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
-## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.rsuser
@@ -30,6 +29,7 @@ x86/
bld/
[Bb]in/
[Oo]bj/
+[Oo]ut/
[Ll]og/
[Ll]ogs/
@@ -91,7 +91,6 @@ StyleCopReport.xml
*.tmp_proj
*_wpftmp.csproj
*.log
-*.tlog
*.vspscc
*.vssscc
.builds
@@ -295,17 +294,6 @@ node_modules/
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
*.vbw
-# Visual Studio 6 auto-generated project file (contains which files were open etc.)
-*.vbp
-
-# Visual Studio 6 workspace and project file (working project files containing files to include in project)
-*.dsw
-*.dsp
-
-# Visual Studio 6 technical files
-*.ncb
-*.aps
-
# Visual Studio LightSwitch build output
**/*.HTMLClient/GeneratedArtifacts
**/*.DesktopClient/GeneratedArtifacts
@@ -362,9 +350,6 @@ ASALocalRun/
# Local History for Visual Studio
.localhistory/
-# Visual Studio History (VSHistory) files
-.vshistory/
-
# BeatPulse healthcheck temp database
healthchecksdb
@@ -375,26 +360,4 @@ MigrationBackup/
.ionide/
# Fody - auto-generated XML schema
-FodyWeavers.xsd
-
-# VS Code files for those working on multiple tools
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-*.code-workspace
-
-# Local History for Visual Studio Code
-.history/
-
-# Windows Installer files from build outputs
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
-
-# JetBrains Rider
-*.sln.iml
-
+FodyWeavers.xsd
\ No newline at end of file
diff --git a/LivreLand.sln b/LivreLand.sln
new file mode 100644
index 0000000..e8410e1
--- /dev/null
+++ b/LivreLand.sln
@@ -0,0 +1,27 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31611.283
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LivreLand", "LivreLand\LivreLand.csproj", "{0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0E95A11F-0D16-4CC3-82CD-E3BE44C28B2B}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572}
+ EndGlobalSection
+EndGlobal
diff --git a/LivreLand/App.xaml b/LivreLand/App.xaml
new file mode 100644
index 0000000..67ba9dd
--- /dev/null
+++ b/LivreLand/App.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/App.xaml.cs b/LivreLand/App.xaml.cs
new file mode 100644
index 0000000..b1e853c
--- /dev/null
+++ b/LivreLand/App.xaml.cs
@@ -0,0 +1,11 @@
+namespace LivreLand;
+
+public partial class App : Application
+{
+ public App()
+ {
+ InitializeComponent();
+
+ MainPage = new AppShell();
+ }
+}
diff --git a/LivreLand/AppShell.xaml b/LivreLand/AppShell.xaml
new file mode 100644
index 0000000..cacb6af
--- /dev/null
+++ b/LivreLand/AppShell.xaml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/AppShell.xaml.cs b/LivreLand/AppShell.xaml.cs
new file mode 100644
index 0000000..cae19f0
--- /dev/null
+++ b/LivreLand/AppShell.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand;
+
+public partial class AppShell : Shell
+{
+ public AppShell()
+ {
+ InitializeComponent();
+ }
+}
diff --git a/LivreLand/LivreLand.csproj b/LivreLand/LivreLand.csproj
new file mode 100644
index 0000000..e6c03fc
--- /dev/null
+++ b/LivreLand/LivreLand.csproj
@@ -0,0 +1,135 @@
+
+
+
+ net7.0-android;net7.0-ios;net7.0-maccatalyst
+ $(TargetFrameworks);net7.0-windows10.0.19041.0
+
+
+ Exe
+ LivreLand
+ true
+ true
+ enable
+
+
+ LivreLand
+
+
+ com.companyname.livreland
+ 37616142-0e75-42d0-a753-f14d8c41cbad
+
+
+ 1.0
+ 1
+
+ 11.0
+ 13.1
+ 21.0
+ 10.0.17763.0
+ 10.0.17763.0
+ 6.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+
+
diff --git a/LivreLand/MauiProgram.cs b/LivreLand/MauiProgram.cs
new file mode 100644
index 0000000..80c2ed8
--- /dev/null
+++ b/LivreLand/MauiProgram.cs
@@ -0,0 +1,26 @@
+using CommunityToolkit.Maui;
+using Microsoft.Extensions.Logging;
+
+namespace LivreLand;
+
+public static class MauiProgram
+{
+ public static MauiApp CreateMauiApp()
+ {
+ var builder = MauiApp.CreateBuilder();
+ builder
+ .UseMauiApp()
+ .UseMauiCommunityToolkit()
+ .ConfigureFonts(fonts =>
+ {
+ fonts.AddFont("SF-Compact-Display-Black.otf", "SFCompactDisplayBlack");
+ fonts.AddFont("SF-Compact-Display-Bold.otf", "SFCompactDisplayBold");
+ });
+
+#if DEBUG
+ builder.Logging.AddDebug();
+#endif
+
+ return builder.Build();
+ }
+}
diff --git a/LivreLand/Model/BookModel.cs b/LivreLand/Model/BookModel.cs
new file mode 100644
index 0000000..50b5a53
--- /dev/null
+++ b/LivreLand/Model/BookModel.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LivreLand.Model
+{
+ public class BookModel
+ {
+ public string Title { get; private set; }
+ public string Author { get; private set; }
+ public string State { get; private set; }
+ public int Rating { get; private set; }
+
+ public BookModel(string title, string author, string state, int rating)
+ {
+ Title = title;
+ Author = author;
+ State = state;
+ Rating = rating;
+ }
+ }
+}
diff --git a/LivreLand/Platforms/Android/AndroidManifest.xml b/LivreLand/Platforms/Android/AndroidManifest.xml
new file mode 100644
index 0000000..e9937ad
--- /dev/null
+++ b/LivreLand/Platforms/Android/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/Platforms/Android/MainActivity.cs b/LivreLand/Platforms/Android/MainActivity.cs
new file mode 100644
index 0000000..f38f816
--- /dev/null
+++ b/LivreLand/Platforms/Android/MainActivity.cs
@@ -0,0 +1,10 @@
+using Android.App;
+using Android.Content.PM;
+using Android.OS;
+
+namespace LivreLand;
+
+[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
+public class MainActivity : MauiAppCompatActivity
+{
+}
diff --git a/LivreLand/Platforms/Android/MainApplication.cs b/LivreLand/Platforms/Android/MainApplication.cs
new file mode 100644
index 0000000..7afd48e
--- /dev/null
+++ b/LivreLand/Platforms/Android/MainApplication.cs
@@ -0,0 +1,15 @@
+using Android.App;
+using Android.Runtime;
+
+namespace LivreLand;
+
+[Application]
+public class MainApplication : MauiApplication
+{
+ public MainApplication(IntPtr handle, JniHandleOwnership ownership)
+ : base(handle, ownership)
+ {
+ }
+
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
diff --git a/LivreLand/Platforms/Android/Resources/values/colors.xml b/LivreLand/Platforms/Android/Resources/values/colors.xml
new file mode 100644
index 0000000..c04d749
--- /dev/null
+++ b/LivreLand/Platforms/Android/Resources/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #512BD4
+ #2B0B98
+ #2B0B98
+
\ No newline at end of file
diff --git a/LivreLand/Platforms/MacCatalyst/AppDelegate.cs b/LivreLand/Platforms/MacCatalyst/AppDelegate.cs
new file mode 100644
index 0000000..1dcb205
--- /dev/null
+++ b/LivreLand/Platforms/MacCatalyst/AppDelegate.cs
@@ -0,0 +1,9 @@
+using Foundation;
+
+namespace LivreLand;
+
+[Register("AppDelegate")]
+public class AppDelegate : MauiUIApplicationDelegate
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
diff --git a/LivreLand/Platforms/MacCatalyst/Info.plist b/LivreLand/Platforms/MacCatalyst/Info.plist
new file mode 100644
index 0000000..c96dd0a
--- /dev/null
+++ b/LivreLand/Platforms/MacCatalyst/Info.plist
@@ -0,0 +1,30 @@
+
+
+
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/appicon.appiconset
+
+
diff --git a/LivreLand/Platforms/MacCatalyst/Program.cs b/LivreLand/Platforms/MacCatalyst/Program.cs
new file mode 100644
index 0000000..085828d
--- /dev/null
+++ b/LivreLand/Platforms/MacCatalyst/Program.cs
@@ -0,0 +1,15 @@
+using ObjCRuntime;
+using UIKit;
+
+namespace LivreLand;
+
+public class Program
+{
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(AppDelegate));
+ }
+}
diff --git a/LivreLand/Platforms/Tizen/Main.cs b/LivreLand/Platforms/Tizen/Main.cs
new file mode 100644
index 0000000..4a318b4
--- /dev/null
+++ b/LivreLand/Platforms/Tizen/Main.cs
@@ -0,0 +1,16 @@
+using System;
+using Microsoft.Maui;
+using Microsoft.Maui.Hosting;
+
+namespace LivreLand;
+
+class Program : MauiApplication
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+
+ static void Main(string[] args)
+ {
+ var app = new Program();
+ app.Run(args);
+ }
+}
diff --git a/LivreLand/Platforms/Tizen/tizen-manifest.xml b/LivreLand/Platforms/Tizen/tizen-manifest.xml
new file mode 100644
index 0000000..acce79e
--- /dev/null
+++ b/LivreLand/Platforms/Tizen/tizen-manifest.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+ maui-appicon-placeholder
+
+
+
+
+ http://tizen.org/privilege/internet
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/Platforms/Windows/App.xaml b/LivreLand/Platforms/Windows/App.xaml
new file mode 100644
index 0000000..d16103e
--- /dev/null
+++ b/LivreLand/Platforms/Windows/App.xaml
@@ -0,0 +1,8 @@
+
+
+
diff --git a/LivreLand/Platforms/Windows/App.xaml.cs b/LivreLand/Platforms/Windows/App.xaml.cs
new file mode 100644
index 0000000..7065501
--- /dev/null
+++ b/LivreLand/Platforms/Windows/App.xaml.cs
@@ -0,0 +1,24 @@
+using Microsoft.UI.Xaml;
+
+// To learn more about WinUI, the WinUI project structure,
+// and more about our project templates, see: http://aka.ms/winui-project-info.
+
+namespace LivreLand.WinUI;
+
+///
+/// Provides application-specific behavior to supplement the default Application class.
+///
+public partial class App : MauiWinUIApplication
+{
+ ///
+ /// Initializes the singleton application object. This is the first line of authored code
+ /// executed, and as such is the logical equivalent of main() or WinMain().
+ ///
+ public App()
+ {
+ this.InitializeComponent();
+ }
+
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
+
diff --git a/LivreLand/Platforms/Windows/Package.appxmanifest b/LivreLand/Platforms/Windows/Package.appxmanifest
new file mode 100644
index 0000000..de6be55
--- /dev/null
+++ b/LivreLand/Platforms/Windows/Package.appxmanifest
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+ $placeholder$
+ User Name
+ $placeholder$.png
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/Platforms/Windows/app.manifest b/LivreLand/Platforms/Windows/app.manifest
new file mode 100644
index 0000000..87f1013
--- /dev/null
+++ b/LivreLand/Platforms/Windows/app.manifest
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+ true/PM
+ PerMonitorV2, PerMonitor
+
+
+
diff --git a/LivreLand/Platforms/iOS/AppDelegate.cs b/LivreLand/Platforms/iOS/AppDelegate.cs
new file mode 100644
index 0000000..1dcb205
--- /dev/null
+++ b/LivreLand/Platforms/iOS/AppDelegate.cs
@@ -0,0 +1,9 @@
+using Foundation;
+
+namespace LivreLand;
+
+[Register("AppDelegate")]
+public class AppDelegate : MauiUIApplicationDelegate
+{
+ protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();
+}
diff --git a/LivreLand/Platforms/iOS/Info.plist b/LivreLand/Platforms/iOS/Info.plist
new file mode 100644
index 0000000..0004a4f
--- /dev/null
+++ b/LivreLand/Platforms/iOS/Info.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ LSRequiresIPhoneOS
+
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ arm64
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ UISupportedInterfaceOrientations~ipad
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+ XSAppIconAssets
+ Assets.xcassets/appicon.appiconset
+
+
diff --git a/LivreLand/Platforms/iOS/Program.cs b/LivreLand/Platforms/iOS/Program.cs
new file mode 100644
index 0000000..085828d
--- /dev/null
+++ b/LivreLand/Platforms/iOS/Program.cs
@@ -0,0 +1,15 @@
+using ObjCRuntime;
+using UIKit;
+
+namespace LivreLand;
+
+public class Program
+{
+ // This is the main entry point of the application.
+ static void Main(string[] args)
+ {
+ // if you want to use a different Application Delegate class from "AppDelegate"
+ // you can specify it here.
+ UIApplication.Main(args, null, typeof(AppDelegate));
+ }
+}
diff --git a/LivreLand/Properties/launchSettings.json b/LivreLand/Properties/launchSettings.json
new file mode 100644
index 0000000..edf8aad
--- /dev/null
+++ b/LivreLand/Properties/launchSettings.json
@@ -0,0 +1,8 @@
+{
+ "profiles": {
+ "Windows Machine": {
+ "commandName": "MsixPackage",
+ "nativeDebugging": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/Resources/AppIcon/appicon.png b/LivreLand/Resources/AppIcon/appicon.png
new file mode 100644
index 0000000..8d1c2a6
Binary files /dev/null and b/LivreLand/Resources/AppIcon/appicon.png differ
diff --git a/LivreLand/Resources/AppIcon/appiconfg.svg b/LivreLand/Resources/AppIcon/appiconfg.svg
new file mode 100644
index 0000000..21dfb25
--- /dev/null
+++ b/LivreLand/Resources/AppIcon/appiconfg.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Fonts/SF-Compact-Display-Black.otf b/LivreLand/Resources/Fonts/SF-Compact-Display-Black.otf
new file mode 100644
index 0000000..50b4041
Binary files /dev/null and b/LivreLand/Resources/Fonts/SF-Compact-Display-Black.otf differ
diff --git a/LivreLand/Resources/Fonts/SF-Compact-Display-Bold.otf b/LivreLand/Resources/Fonts/SF-Compact-Display-Bold.otf
new file mode 100644
index 0000000..85f73ea
Binary files /dev/null and b/LivreLand/Resources/Fonts/SF-Compact-Display-Bold.otf differ
diff --git a/LivreLand/Resources/Images/arrow_forward.svg b/LivreLand/Resources/Images/arrow_forward.svg
new file mode 100644
index 0000000..c8bee21
--- /dev/null
+++ b/LivreLand/Resources/Images/arrow_forward.svg
@@ -0,0 +1,3 @@
+
diff --git a/LivreLand/Resources/Images/arrow_up_arrow_down.svg b/LivreLand/Resources/Images/arrow_up_arrow_down.svg
new file mode 100644
index 0000000..65d5982
--- /dev/null
+++ b/LivreLand/Resources/Images/arrow_up_arrow_down.svg
@@ -0,0 +1,4 @@
+
diff --git a/LivreLand/Resources/Images/bar_code_fill.svg b/LivreLand/Resources/Images/bar_code_fill.svg
new file mode 100644
index 0000000..55ae1e6
--- /dev/null
+++ b/LivreLand/Resources/Images/bar_code_fill.svg
@@ -0,0 +1,23 @@
+
+
+
+
diff --git a/LivreLand/Resources/Images/binoculars.svg b/LivreLand/Resources/Images/binoculars.svg
new file mode 100644
index 0000000..f9e53c2
--- /dev/null
+++ b/LivreLand/Resources/Images/binoculars.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/binoculars_fill.svg b/LivreLand/Resources/Images/binoculars_fill.svg
new file mode 100644
index 0000000..8117a78
--- /dev/null
+++ b/LivreLand/Resources/Images/binoculars_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/book.svg b/LivreLand/Resources/Images/book.svg
new file mode 100644
index 0000000..0aa4dc3
--- /dev/null
+++ b/LivreLand/Resources/Images/book.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/book_closed.svg b/LivreLand/Resources/Images/book_closed.svg
new file mode 100644
index 0000000..75cdb22
--- /dev/null
+++ b/LivreLand/Resources/Images/book_closed.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/book_closed_fill.svg b/LivreLand/Resources/Images/book_closed_fill.svg
new file mode 100644
index 0000000..f52aaef
--- /dev/null
+++ b/LivreLand/Resources/Images/book_closed_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/book_fill.svg b/LivreLand/Resources/Images/book_fill.svg
new file mode 100644
index 0000000..6e796fb
--- /dev/null
+++ b/LivreLand/Resources/Images/book_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/bookmark.svg b/LivreLand/Resources/Images/bookmark.svg
new file mode 100644
index 0000000..25c75b6
--- /dev/null
+++ b/LivreLand/Resources/Images/bookmark.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/bookmark_fill.svg b/LivreLand/Resources/Images/bookmark_fill.svg
new file mode 100644
index 0000000..49644ff
--- /dev/null
+++ b/LivreLand/Resources/Images/bookmark_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/bookmark_red.png b/LivreLand/Resources/Images/bookmark_red.png
new file mode 100644
index 0000000..e0988a4
Binary files /dev/null and b/LivreLand/Resources/Images/bookmark_red.png differ
diff --git a/LivreLand/Resources/Images/books_vertical.svg b/LivreLand/Resources/Images/books_vertical.svg
new file mode 100644
index 0000000..1f2b0c5
--- /dev/null
+++ b/LivreLand/Resources/Images/books_vertical.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/books_vertical_fill.svg b/LivreLand/Resources/Images/books_vertical_fill.svg
new file mode 100644
index 0000000..77b3ca7
--- /dev/null
+++ b/LivreLand/Resources/Images/books_vertical_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/calendar.svg b/LivreLand/Resources/Images/calendar.svg
new file mode 100644
index 0000000..fcc591e
--- /dev/null
+++ b/LivreLand/Resources/Images/calendar.svg
@@ -0,0 +1,20 @@
+
diff --git a/LivreLand/Resources/Images/calendar_badge_clock.svg b/LivreLand/Resources/Images/calendar_badge_clock.svg
new file mode 100644
index 0000000..f11056d
--- /dev/null
+++ b/LivreLand/Resources/Images/calendar_badge_clock.svg
@@ -0,0 +1,14 @@
+
diff --git a/LivreLand/Resources/Images/chevron_right.svg b/LivreLand/Resources/Images/chevron_right.svg
new file mode 100644
index 0000000..27b277e
--- /dev/null
+++ b/LivreLand/Resources/Images/chevron_right.svg
@@ -0,0 +1,3 @@
+
diff --git a/LivreLand/Resources/Images/couverture_la_horde_du_contrevent.png b/LivreLand/Resources/Images/couverture_la_horde_du_contrevent.png
new file mode 100644
index 0000000..7334175
Binary files /dev/null and b/LivreLand/Resources/Images/couverture_la_horde_du_contrevent.png differ
diff --git a/LivreLand/Resources/Images/dotnet_bot.svg b/LivreLand/Resources/Images/dotnet_bot.svg
new file mode 100644
index 0000000..abfaff2
--- /dev/null
+++ b/LivreLand/Resources/Images/dotnet_bot.svg
@@ -0,0 +1,93 @@
+
diff --git a/LivreLand/Resources/Images/eyeglasses.svg b/LivreLand/Resources/Images/eyeglasses.svg
new file mode 100644
index 0000000..26953a6
--- /dev/null
+++ b/LivreLand/Resources/Images/eyeglasses.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/folder.svg b/LivreLand/Resources/Images/folder.svg
new file mode 100644
index 0000000..646a119
--- /dev/null
+++ b/LivreLand/Resources/Images/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Images/gear.svg b/LivreLand/Resources/Images/gear.svg
new file mode 100644
index 0000000..dd46511
--- /dev/null
+++ b/LivreLand/Resources/Images/gear.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/heart.svg b/LivreLand/Resources/Images/heart.svg
new file mode 100644
index 0000000..d89020b
--- /dev/null
+++ b/LivreLand/Resources/Images/heart.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/heart_fill.svg b/LivreLand/Resources/Images/heart_fill.svg
new file mode 100644
index 0000000..4193d69
--- /dev/null
+++ b/LivreLand/Resources/Images/heart_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/keyboard_fill.svg b/LivreLand/Resources/Images/keyboard_fill.svg
new file mode 100644
index 0000000..a34a078
--- /dev/null
+++ b/LivreLand/Resources/Images/keyboard_fill.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Images/list_bullet.svg b/LivreLand/Resources/Images/list_bullet.svg
new file mode 100644
index 0000000..0db7f0d
--- /dev/null
+++ b/LivreLand/Resources/Images/list_bullet.svg
@@ -0,0 +1,8 @@
+
diff --git a/LivreLand/Resources/Images/magnifying_glass.svg b/LivreLand/Resources/Images/magnifying_glass.svg
new file mode 100644
index 0000000..1671ed1
--- /dev/null
+++ b/LivreLand/Resources/Images/magnifying_glass.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/person.svg b/LivreLand/Resources/Images/person.svg
new file mode 100644
index 0000000..60288d8
--- /dev/null
+++ b/LivreLand/Resources/Images/person.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/person_2.svg b/LivreLand/Resources/Images/person_2.svg
new file mode 100644
index 0000000..d78e22b
--- /dev/null
+++ b/LivreLand/Resources/Images/person_2.svg
@@ -0,0 +1,12 @@
+
diff --git a/LivreLand/Resources/Images/person_2_fill.svg b/LivreLand/Resources/Images/person_2_fill.svg
new file mode 100644
index 0000000..845c893
--- /dev/null
+++ b/LivreLand/Resources/Images/person_2_fill.svg
@@ -0,0 +1,12 @@
+
diff --git a/LivreLand/Resources/Images/person_3.svg b/LivreLand/Resources/Images/person_3.svg
new file mode 100644
index 0000000..b1e182d
--- /dev/null
+++ b/LivreLand/Resources/Images/person_3.svg
@@ -0,0 +1,13 @@
+
diff --git a/LivreLand/Resources/Images/person_3_fill.svg b/LivreLand/Resources/Images/person_3_fill.svg
new file mode 100644
index 0000000..147b413
--- /dev/null
+++ b/LivreLand/Resources/Images/person_3_fill.svg
@@ -0,0 +1,13 @@
+
diff --git a/LivreLand/Resources/Images/person_badge_clock.svg b/LivreLand/Resources/Images/person_badge_clock.svg
new file mode 100644
index 0000000..6e40337
--- /dev/null
+++ b/LivreLand/Resources/Images/person_badge_clock.svg
@@ -0,0 +1,13 @@
+
diff --git a/LivreLand/Resources/Images/person_badge_clock_fill.svg b/LivreLand/Resources/Images/person_badge_clock_fill.svg
new file mode 100644
index 0000000..f23f9c5
--- /dev/null
+++ b/LivreLand/Resources/Images/person_badge_clock_fill.svg
@@ -0,0 +1,13 @@
+
diff --git a/LivreLand/Resources/Images/person_fill.svg b/LivreLand/Resources/Images/person_fill.svg
new file mode 100644
index 0000000..b6ae969
--- /dev/null
+++ b/LivreLand/Resources/Images/person_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/plus.svg b/LivreLand/Resources/Images/plus.svg
new file mode 100644
index 0000000..23b1e66
--- /dev/null
+++ b/LivreLand/Resources/Images/plus.svg
@@ -0,0 +1,3 @@
+
diff --git a/LivreLand/Resources/Images/qr_bar_code_fill.svg b/LivreLand/Resources/Images/qr_bar_code_fill.svg
new file mode 100644
index 0000000..cf529aa
--- /dev/null
+++ b/LivreLand/Resources/Images/qr_bar_code_fill.svg
@@ -0,0 +1,19 @@
+
diff --git a/LivreLand/Resources/Images/rounded_plus.svg b/LivreLand/Resources/Images/rounded_plus.svg
new file mode 100644
index 0000000..e45aa7f
--- /dev/null
+++ b/LivreLand/Resources/Images/rounded_plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Images/sparkles.svg b/LivreLand/Resources/Images/sparkles.svg
new file mode 100644
index 0000000..ac2ceaf
--- /dev/null
+++ b/LivreLand/Resources/Images/sparkles.svg
@@ -0,0 +1,12 @@
+
diff --git a/LivreLand/Resources/Images/star_fill.svg b/LivreLand/Resources/Images/star_fill.svg
new file mode 100644
index 0000000..ac2baa3
--- /dev/null
+++ b/LivreLand/Resources/Images/star_fill.svg
@@ -0,0 +1,4 @@
+
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Images/sunglasses.svg b/LivreLand/Resources/Images/sunglasses.svg
new file mode 100644
index 0000000..e2a4eac
--- /dev/null
+++ b/LivreLand/Resources/Images/sunglasses.svg
@@ -0,0 +1,11 @@
+
diff --git a/LivreLand/Resources/Images/tag.svg b/LivreLand/Resources/Images/tag.svg
new file mode 100644
index 0000000..c5287a4
--- /dev/null
+++ b/LivreLand/Resources/Images/tag.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/tag_fill.svg b/LivreLand/Resources/Images/tag_fill.svg
new file mode 100644
index 0000000..4c29412
--- /dev/null
+++ b/LivreLand/Resources/Images/tag_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/text_book_closed.svg b/LivreLand/Resources/Images/text_book_closed.svg
new file mode 100644
index 0000000..6829324
--- /dev/null
+++ b/LivreLand/Resources/Images/text_book_closed.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/text_book_closed_fill.svg b/LivreLand/Resources/Images/text_book_closed_fill.svg
new file mode 100644
index 0000000..e2a470f
--- /dev/null
+++ b/LivreLand/Resources/Images/text_book_closed_fill.svg
@@ -0,0 +1,10 @@
+
diff --git a/LivreLand/Resources/Images/tray_2.svg b/LivreLand/Resources/Images/tray_2.svg
new file mode 100644
index 0000000..b37930e
--- /dev/null
+++ b/LivreLand/Resources/Images/tray_2.svg
@@ -0,0 +1,12 @@
+
diff --git a/LivreLand/Resources/Images/tray_2_fill.svg b/LivreLand/Resources/Images/tray_2_fill.svg
new file mode 100644
index 0000000..5cfb219
--- /dev/null
+++ b/LivreLand/Resources/Images/tray_2_fill.svg
@@ -0,0 +1,12 @@
+
diff --git a/LivreLand/Resources/Raw/AboutAssets.txt b/LivreLand/Resources/Raw/AboutAssets.txt
new file mode 100644
index 0000000..15d6244
--- /dev/null
+++ b/LivreLand/Resources/Raw/AboutAssets.txt
@@ -0,0 +1,15 @@
+Any raw assets you want to be deployed with your application can be placed in
+this directory (and child directories). Deployment of the asset to your application
+is automatically handled by the following `MauiAsset` Build Action within your `.csproj`.
+
+
+
+These files will be deployed with you package and will be accessible using Essentials:
+
+ async Task LoadMauiAsset()
+ {
+ using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt");
+ using var reader = new StreamReader(stream);
+
+ var contents = reader.ReadToEnd();
+ }
diff --git a/LivreLand/Resources/Splash/splash.svg b/LivreLand/Resources/Splash/splash.svg
new file mode 100644
index 0000000..21dfb25
--- /dev/null
+++ b/LivreLand/Resources/Splash/splash.svg
@@ -0,0 +1,8 @@
+
+
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Styles/Colors.xaml b/LivreLand/Resources/Styles/Colors.xaml
new file mode 100644
index 0000000..65a06bf
--- /dev/null
+++ b/LivreLand/Resources/Styles/Colors.xaml
@@ -0,0 +1,54 @@
+
+
+
+
+ #e1e1e1
+ #5b5b5b
+ #f8f8f8
+ #f2f0f6
+ #c9c9cb
+
+ #f5f5f5
+
+ #fd0342
+
+ #512BD4
+ #DFD8F7
+ #2B0B98
+ White
+ Black
+ #E1E1E1
+ #C8C8C8
+ #ACACAC
+ #919191
+ #6E6E6E
+ #404040
+ #212121
+ #141414
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ #F7B548
+ #FFD590
+ #FFE5B9
+ #28C2D1
+ #7BDDEF
+ #C3F2F4
+ #3E8EED
+ #72ACF1
+ #A7CBF6
+
+
\ No newline at end of file
diff --git a/LivreLand/Resources/Styles/Styles.xaml b/LivreLand/Resources/Styles/Styles.xaml
new file mode 100644
index 0000000..9ed4778
--- /dev/null
+++ b/LivreLand/Resources/Styles/Styles.xaml
@@ -0,0 +1,461 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ALirePlusTardView.xaml b/LivreLand/View/ALirePlusTardView.xaml
new file mode 100644
index 0000000..e390f05
--- /dev/null
+++ b/LivreLand/View/ALirePlusTardView.xaml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/ALirePlusTardView.xaml.cs b/LivreLand/View/ALirePlusTardView.xaml.cs
new file mode 100644
index 0000000..0b16014
--- /dev/null
+++ b/LivreLand/View/ALirePlusTardView.xaml.cs
@@ -0,0 +1,22 @@
+using LivreLand.Model;
+
+namespace LivreLand.View;
+
+public partial class ALirePlusTardView : ContentPage
+{
+ public List ALirePlusTardBooks { get; set; } = new List()
+ {
+ new BookModel("La horde du contrevent","Alain Damasio","Non lu", 0),
+ };
+
+ public ALirePlusTardView()
+ {
+ BindingContext = this;
+ InitializeComponent();
+ }
+
+ void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView());
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/BibliothequeView.xaml b/LivreLand/View/BibliothequeView.xaml
new file mode 100644
index 0000000..033ed69
--- /dev/null
+++ b/LivreLand/View/BibliothequeView.xaml
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/BibliothequeView.xaml.cs b/LivreLand/View/BibliothequeView.xaml.cs
new file mode 100644
index 0000000..3ec6237
--- /dev/null
+++ b/LivreLand/View/BibliothequeView.xaml.cs
@@ -0,0 +1,69 @@
+using System.Windows.Input;
+
+namespace LivreLand.View;
+
+public partial class BibliothequeView : ContentPage
+{
+ public ICommand TousNavigationCommand { get; }
+ public ICommand EmpruntsPretsNavigationCommand { get; }
+ public ICommand ALirePlusTardNavigationCommand { get; }
+ public ICommand StatutLectureNavigationCommand { get; }
+ public ICommand FavorisNavigationCommand { get; }
+ public ICommand AuteurNavigationCommand { get; }
+ public ICommand DatePublicationNavigationCommand { get; }
+ public ICommand NoteNavigationCommand { get; }
+
+ public BibliothequeView()
+ {
+ TousNavigationCommand = new Command(TousNavigation);
+ EmpruntsPretsNavigationCommand = new Command(EmpruntsPretsNavigation);
+ ALirePlusTardNavigationCommand = new Command(ALirePlusTardNavigation);
+ StatutLectureNavigationCommand = new Command(StatutLectureNavigation);
+ FavorisNavigationCommand = new Command(FavorisNavigation);
+ AuteurNavigationCommand = new Command(AuteurNavigation);
+ DatePublicationNavigationCommand = new Command(DatePublicationNavigation);
+ NoteNavigationCommand = new Command(NoteNavigation);
+ InitializeComponent();
+ }
+
+ //Gestion de la navigation temporaire
+ private async void TousNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new TousView());
+ }
+
+ private async void EmpruntsPretsNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new EmpruntsPretsView());
+ }
+
+ private async void ALirePlusTardNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new ALirePlusTardView());
+ }
+
+ private async void StatutLectureNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new StatutLectureView());
+ }
+
+ private async void AuteurNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new FiltrageAuteurView());
+ }
+
+ private async void FavorisNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new FavorisView());
+ }
+
+ private async void DatePublicationNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new FiltrageDateView());
+ }
+
+ private async void NoteNavigation()
+ {
+ await App.Current.MainPage.Navigation.PushAsync(new FiltrageNoteView());
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/AlphabetVerticalMenuView.xaml b/LivreLand/View/ContentViews/AlphabetVerticalMenuView.xaml
new file mode 100644
index 0000000..5ad406d
--- /dev/null
+++ b/LivreLand/View/ContentViews/AlphabetVerticalMenuView.xaml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/AlphabetVerticalMenuView.xaml.cs b/LivreLand/View/ContentViews/AlphabetVerticalMenuView.xaml.cs
new file mode 100644
index 0000000..fd0574a
--- /dev/null
+++ b/LivreLand/View/ContentViews/AlphabetVerticalMenuView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class AlphabetVerticalMenuView : ContentView
+{
+ public AlphabetVerticalMenuView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/DetailsLivreButtonView.xaml b/LivreLand/View/ContentViews/DetailsLivreButtonView.xaml
new file mode 100644
index 0000000..c3f045c
--- /dev/null
+++ b/LivreLand/View/ContentViews/DetailsLivreButtonView.xaml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/DetailsLivreButtonView.xaml.cs b/LivreLand/View/ContentViews/DetailsLivreButtonView.xaml.cs
new file mode 100644
index 0000000..6914d46
--- /dev/null
+++ b/LivreLand/View/ContentViews/DetailsLivreButtonView.xaml.cs
@@ -0,0 +1,23 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class DetailsLivreButtonView : ContentView
+{
+ public static readonly BindableProperty ButtonTitleProperty = BindableProperty.Create(nameof(ButtonTitle), typeof(string), typeof(DetailsLivreButtonView), string.Empty);
+ public string ButtonTitle
+ {
+ get => (string)GetValue(DetailsLivreButtonView.ButtonTitleProperty);
+ set => SetValue(DetailsLivreButtonView.ButtonTitleProperty, value);
+ }
+
+ public static readonly BindableProperty ButtonIconProperty = BindableProperty.Create(nameof(ButtonIcon), typeof(string), typeof(DetailsLivreButtonView), string.Empty);
+ public string ButtonIcon
+ {
+ get => (string)GetValue(DetailsLivreButtonView.ButtonIconProperty);
+ set => SetValue(DetailsLivreButtonView.ButtonIconProperty, value);
+ }
+
+ public DetailsLivreButtonView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/EmpruntsPretsButtonView.xaml b/LivreLand/View/ContentViews/EmpruntsPretsButtonView.xaml
new file mode 100644
index 0000000..198507b
--- /dev/null
+++ b/LivreLand/View/ContentViews/EmpruntsPretsButtonView.xaml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/EmpruntsPretsButtonView.xaml.cs b/LivreLand/View/ContentViews/EmpruntsPretsButtonView.xaml.cs
new file mode 100644
index 0000000..d5b25f8
--- /dev/null
+++ b/LivreLand/View/ContentViews/EmpruntsPretsButtonView.xaml.cs
@@ -0,0 +1,46 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class EmpruntsPretsButtonView : ContentView
+{
+ public EmpruntsPretsButtonView()
+ {
+ InitializeComponent();
+ }
+
+ public void OnPretsClicked(object sender, EventArgs e)
+ {
+ if (App.Current.PlatformAppTheme == AppTheme.Light)
+ {
+ pretsClicked.BackgroundColor = Colors.Transparent;
+ pretsClicked.IsEnabled = false;
+ empruntsButton.BackgroundColor = Colors.White;
+ empruntsButton.IsEnabled = true;
+ }
+ else
+ {
+ pretsClicked.BackgroundColor = Colors.Transparent;
+ pretsClicked.IsEnabled = false;
+ empruntsButton.BackgroundColor = Colors.Black;
+ empruntsButton.IsEnabled = true;
+ }
+ }
+
+ public void OnEmpruntsClicked(object sender, EventArgs e)
+ {
+ if (App.Current.PlatformAppTheme == AppTheme.Light)
+ {
+ pretsClicked.BackgroundColor = Colors.White;
+ pretsClicked.IsEnabled = true;
+ empruntsButton.BackgroundColor = Colors.Transparent;
+ empruntsButton.IsEnabled = false;
+ }
+ else
+ {
+ pretsClicked.BackgroundColor = Colors.Black;
+ pretsClicked.IsEnabled = true;
+ empruntsButton.BackgroundColor = Colors.Transparent;
+ empruntsButton.IsEnabled = false;
+ }
+
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/HomeButtonView.xaml b/LivreLand/View/ContentViews/HomeButtonView.xaml
new file mode 100644
index 0000000..245bfde
--- /dev/null
+++ b/LivreLand/View/ContentViews/HomeButtonView.xaml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/HomeButtonView.xaml.cs b/LivreLand/View/ContentViews/HomeButtonView.xaml.cs
new file mode 100644
index 0000000..48d44da
--- /dev/null
+++ b/LivreLand/View/ContentViews/HomeButtonView.xaml.cs
@@ -0,0 +1,54 @@
+using Microsoft.Maui.Graphics;
+using System.Windows.Input;
+
+namespace LivreLand.View.ContentViews;
+
+public partial class HomeButtonView : ContentView
+{
+ public static readonly BindableProperty ButtonTitleProperty = BindableProperty.Create(nameof(ButtonTitle), typeof(string), typeof(HomeButtonView), string.Empty);
+ public string ButtonTitle
+ {
+ get => (string)GetValue(HomeButtonView.ButtonTitleProperty);
+ set => SetValue(HomeButtonView.ButtonTitleProperty, value);
+ }
+
+ public static readonly BindableProperty ButtonIconProperty = BindableProperty.Create(nameof(ButtonIcon), typeof(string), typeof(HomeButtonView), string.Empty);
+ public string ButtonIcon
+ {
+ get => (string)GetValue(HomeButtonView.ButtonIconProperty);
+ set => SetValue(HomeButtonView.ButtonIconProperty, value);
+ }
+
+ public static readonly BindableProperty ButtonNumberProperty = BindableProperty.Create(nameof(ButtonNumber), typeof(string), typeof(HomeButtonView), string.Empty);
+ public string ButtonNumber
+ {
+ get => (string)GetValue(HomeButtonView.ButtonNumberProperty);
+ set => SetValue(HomeButtonView.ButtonNumberProperty, value);
+ }
+
+ public static readonly BindableProperty ButtonRedIconVisibleProperty = BindableProperty.Create(nameof(ButtonRedIconVisible), typeof(Boolean), typeof(HomeButtonView), true);
+ public Boolean ButtonRedIconVisible
+ {
+ get => (Boolean)GetValue(HomeButtonView.ButtonRedIconVisibleProperty);
+ set => SetValue(HomeButtonView.ButtonRedIconVisibleProperty, value);
+ }
+
+ public static readonly BindableProperty ButtonBlackIconVisibleProperty = BindableProperty.Create(nameof(ButtonBlackIconVisible), typeof(Boolean), typeof(HomeButtonView), true);
+ public Boolean ButtonBlackIconVisible
+ {
+ get => (Boolean)GetValue(HomeButtonView.ButtonBlackIconVisibleProperty);
+ set => SetValue(HomeButtonView.ButtonBlackIconVisibleProperty, value);
+ }
+
+ public static readonly BindableProperty ButtonTappedCommandProperty = BindableProperty.Create(nameof(ButtonTappedCommand), typeof(ICommand), typeof(HomeButtonView));
+ public ICommand ButtonTappedCommand
+ {
+ get { return (ICommand)GetValue(ButtonTappedCommandProperty); }
+ set { SetValue(ButtonTappedCommandProperty, value); }
+ }
+
+ public HomeButtonView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/LetterVerticalMenuView.xaml b/LivreLand/View/ContentViews/LetterVerticalMenuView.xaml
new file mode 100644
index 0000000..6ae90b6
--- /dev/null
+++ b/LivreLand/View/ContentViews/LetterVerticalMenuView.xaml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/LetterVerticalMenuView.xaml.cs b/LivreLand/View/ContentViews/LetterVerticalMenuView.xaml.cs
new file mode 100644
index 0000000..7ebbb0d
--- /dev/null
+++ b/LivreLand/View/ContentViews/LetterVerticalMenuView.xaml.cs
@@ -0,0 +1,24 @@
+using CommunityToolkit.Maui.Views;
+
+namespace LivreLand.View.ContentViews;
+
+public partial class LetterVerticalMenuView : ContentView
+{
+ public static readonly BindableProperty ButtonLetterProperty = BindableProperty.Create(nameof(ButtonLetter), typeof(string), typeof(LetterVerticalMenuView), string.Empty);
+ public string ButtonLetter
+ {
+ get => (string)GetValue(LetterVerticalMenuView.ButtonLetterProperty);
+ set => SetValue(LetterVerticalMenuView.ButtonLetterProperty, value);
+ }
+
+ public LetterVerticalMenuView()
+ {
+ InitializeComponent();
+ }
+
+ public void OnLetterTapped(object sender, TappedEventArgs e)
+ {
+ var plusPopup = new PopupLetterView(letterText.Text);
+ App.Current.MainPage.ShowPopup(plusPopup);
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/PopupHomePlusButtonView.xaml b/LivreLand/View/ContentViews/PopupHomePlusButtonView.xaml
new file mode 100644
index 0000000..e3c7480
--- /dev/null
+++ b/LivreLand/View/ContentViews/PopupHomePlusButtonView.xaml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/PopupHomePlusButtonView.xaml.cs b/LivreLand/View/ContentViews/PopupHomePlusButtonView.xaml.cs
new file mode 100644
index 0000000..11b931d
--- /dev/null
+++ b/LivreLand/View/ContentViews/PopupHomePlusButtonView.xaml.cs
@@ -0,0 +1,12 @@
+using CommunityToolkit.Maui.Views;
+
+namespace LivreLand.View.ContentViews;
+
+public partial class PopupHomePlusButtonView : Popup
+{
+ public PopupHomePlusButtonView()
+ {
+ InitializeComponent();
+ Size = new Size(0.8 * (DeviceDisplay.Current.MainDisplayInfo.Width / DeviceDisplay.Current.MainDisplayInfo.Density), 0.5 * (DeviceDisplay.Current.MainDisplayInfo.Width / DeviceDisplay.Current.MainDisplayInfo.Density));
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/PopupLetterView.xaml b/LivreLand/View/ContentViews/PopupLetterView.xaml
new file mode 100644
index 0000000..2ee8442
--- /dev/null
+++ b/LivreLand/View/ContentViews/PopupLetterView.xaml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/PopupLetterView.xaml.cs b/LivreLand/View/ContentViews/PopupLetterView.xaml.cs
new file mode 100644
index 0000000..a4ec1ad
--- /dev/null
+++ b/LivreLand/View/ContentViews/PopupLetterView.xaml.cs
@@ -0,0 +1,11 @@
+using CommunityToolkit.Maui.Views;
+
+namespace LivreLand.View.ContentViews;
+
+public partial class PopupLetterView : Popup
+{
+ public PopupLetterView(string letter)
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/SearchBarView.xaml b/LivreLand/View/ContentViews/SearchBarView.xaml
new file mode 100644
index 0000000..ae11fdf
--- /dev/null
+++ b/LivreLand/View/ContentViews/SearchBarView.xaml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/SearchBarView.xaml.cs b/LivreLand/View/ContentViews/SearchBarView.xaml.cs
new file mode 100644
index 0000000..2ed3cf3
--- /dev/null
+++ b/LivreLand/View/ContentViews/SearchBarView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class SearchBarView : ContentView
+{
+ public SearchBarView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/SeparatorBigCutStartView.xaml b/LivreLand/View/ContentViews/SeparatorBigCutStartView.xaml
new file mode 100644
index 0000000..45470a7
--- /dev/null
+++ b/LivreLand/View/ContentViews/SeparatorBigCutStartView.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/SeparatorBigCutStartView.xaml.cs b/LivreLand/View/ContentViews/SeparatorBigCutStartView.xaml.cs
new file mode 100644
index 0000000..bb2d591
--- /dev/null
+++ b/LivreLand/View/ContentViews/SeparatorBigCutStartView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class SeparatorBigCutStartView : ContentView
+{
+ public SeparatorBigCutStartView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/SeparatorCutStartView.xaml b/LivreLand/View/ContentViews/SeparatorCutStartView.xaml
new file mode 100644
index 0000000..4811708
--- /dev/null
+++ b/LivreLand/View/ContentViews/SeparatorCutStartView.xaml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/SeparatorCutStartView.xaml.cs b/LivreLand/View/ContentViews/SeparatorCutStartView.xaml.cs
new file mode 100644
index 0000000..169de98
--- /dev/null
+++ b/LivreLand/View/ContentViews/SeparatorCutStartView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class SeparatorCutStartView : ContentView
+{
+ public SeparatorCutStartView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/SeparatorEntireView.xaml b/LivreLand/View/ContentViews/SeparatorEntireView.xaml
new file mode 100644
index 0000000..00e85c7
--- /dev/null
+++ b/LivreLand/View/ContentViews/SeparatorEntireView.xaml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/SeparatorEntireView.xaml.cs b/LivreLand/View/ContentViews/SeparatorEntireView.xaml.cs
new file mode 100644
index 0000000..398c898
--- /dev/null
+++ b/LivreLand/View/ContentViews/SeparatorEntireView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class SeparatorEntireView : ContentView
+{
+ public SeparatorEntireView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/ContentViews/StarNotationView.xaml b/LivreLand/View/ContentViews/StarNotationView.xaml
new file mode 100644
index 0000000..51b7752
--- /dev/null
+++ b/LivreLand/View/ContentViews/StarNotationView.xaml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/ContentViews/StarNotationView.xaml.cs b/LivreLand/View/ContentViews/StarNotationView.xaml.cs
new file mode 100644
index 0000000..9f1ff37
--- /dev/null
+++ b/LivreLand/View/ContentViews/StarNotationView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View.ContentViews;
+
+public partial class StarNotationView : ContentView
+{
+ public StarNotationView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/DetailsLivreView.xaml b/LivreLand/View/DetailsLivreView.xaml
new file mode 100644
index 0000000..ede55af
--- /dev/null
+++ b/LivreLand/View/DetailsLivreView.xaml
@@ -0,0 +1,293 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/DetailsLivreView.xaml.cs b/LivreLand/View/DetailsLivreView.xaml.cs
new file mode 100644
index 0000000..bc22177
--- /dev/null
+++ b/LivreLand/View/DetailsLivreView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View;
+
+public partial class DetailsLivreView : ContentPage
+{
+ public DetailsLivreView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/EmpruntsPretsView.xaml b/LivreLand/View/EmpruntsPretsView.xaml
new file mode 100644
index 0000000..7d8a7d6
--- /dev/null
+++ b/LivreLand/View/EmpruntsPretsView.xaml
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/EmpruntsPretsView.xaml.cs b/LivreLand/View/EmpruntsPretsView.xaml.cs
new file mode 100644
index 0000000..525c674
--- /dev/null
+++ b/LivreLand/View/EmpruntsPretsView.xaml.cs
@@ -0,0 +1,27 @@
+using LivreLand.Model;
+
+namespace LivreLand.View;
+
+public partial class EmpruntsPretsView : ContentPage
+{
+ public List AntoineBooks { get; set; } = new List()
+ {
+ new BookModel("The Wake","Scott Snyder","Termin", 0),
+ };
+
+ public List AudreyPoucletBooks { get; set; } = new List()
+ {
+ new BookModel("Les feux de Cibola","James S. A. Corey","Termin", 0),
+ };
+
+ public EmpruntsPretsView()
+ {
+ BindingContext = this;
+ InitializeComponent();
+ }
+
+ void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView());
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/FavorisView.xaml b/LivreLand/View/FavorisView.xaml
new file mode 100644
index 0000000..eb0bfc5
--- /dev/null
+++ b/LivreLand/View/FavorisView.xaml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/FavorisView.xaml.cs b/LivreLand/View/FavorisView.xaml.cs
new file mode 100644
index 0000000..b4e5a7a
--- /dev/null
+++ b/LivreLand/View/FavorisView.xaml.cs
@@ -0,0 +1,23 @@
+using LivreLand.Model;
+
+namespace LivreLand.View;
+
+public partial class FavorisView : ContentPage
+{
+ public List FavorisBooks { get; set; } = new List()
+ {
+ new BookModel("La zone du dehors","Alain Damasio","Termin", 0),
+ new BookModel("Le problme trois corps","Cixin Liu","Termin", 0)
+ };
+
+ public FavorisView()
+ {
+ BindingContext = this;
+ InitializeComponent();
+ }
+
+ void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView());
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/FiltrageAuteurView.xaml b/LivreLand/View/FiltrageAuteurView.xaml
new file mode 100644
index 0000000..be8e244
--- /dev/null
+++ b/LivreLand/View/FiltrageAuteurView.xaml
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/FiltrageAuteurView.xaml.cs b/LivreLand/View/FiltrageAuteurView.xaml.cs
new file mode 100644
index 0000000..5fa2528
--- /dev/null
+++ b/LivreLand/View/FiltrageAuteurView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View;
+
+public partial class FiltrageAuteurView : ContentPage
+{
+ public FiltrageAuteurView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/FiltrageDateView.xaml b/LivreLand/View/FiltrageDateView.xaml
new file mode 100644
index 0000000..4cd31eb
--- /dev/null
+++ b/LivreLand/View/FiltrageDateView.xaml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/FiltrageDateView.xaml.cs b/LivreLand/View/FiltrageDateView.xaml.cs
new file mode 100644
index 0000000..97ff4b4
--- /dev/null
+++ b/LivreLand/View/FiltrageDateView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View;
+
+public partial class FiltrageDateView : ContentPage
+{
+ public FiltrageDateView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/FiltrageNoteView.xaml b/LivreLand/View/FiltrageNoteView.xaml
new file mode 100644
index 0000000..e8eb5ae
--- /dev/null
+++ b/LivreLand/View/FiltrageNoteView.xaml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/FiltrageNoteView.xaml.cs b/LivreLand/View/FiltrageNoteView.xaml.cs
new file mode 100644
index 0000000..08cc4a4
--- /dev/null
+++ b/LivreLand/View/FiltrageNoteView.xaml.cs
@@ -0,0 +1,9 @@
+namespace LivreLand.View;
+
+public partial class FiltrageNoteView : ContentPage
+{
+ public FiltrageNoteView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/HeaderHome.xaml b/LivreLand/View/HeaderHome.xaml
new file mode 100644
index 0000000..c7b9740
--- /dev/null
+++ b/LivreLand/View/HeaderHome.xaml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/HeaderHome.xaml.cs b/LivreLand/View/HeaderHome.xaml.cs
new file mode 100644
index 0000000..1d484e1
--- /dev/null
+++ b/LivreLand/View/HeaderHome.xaml.cs
@@ -0,0 +1,18 @@
+using CommunityToolkit.Maui.Views;
+using LivreLand.View.ContentViews;
+
+namespace LivreLand.View;
+
+public partial class HeaderHome : ContentView
+{
+ public HeaderHome()
+ {
+ InitializeComponent();
+ }
+
+ public void OnPlusClicked(object sender, EventArgs e)
+ {
+ var plusPopup = new PopupHomePlusButtonView();
+ App.Current.MainPage.ShowPopup(plusPopup);
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/HeaderPage.xaml b/LivreLand/View/HeaderPage.xaml
new file mode 100644
index 0000000..4997d9d
--- /dev/null
+++ b/LivreLand/View/HeaderPage.xaml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LivreLand/View/HeaderPage.xaml.cs b/LivreLand/View/HeaderPage.xaml.cs
new file mode 100644
index 0000000..db61ef9
--- /dev/null
+++ b/LivreLand/View/HeaderPage.xaml.cs
@@ -0,0 +1,60 @@
+using LivreLand.View.ContentViews;
+using Microsoft.Maui.ApplicationModel;
+using Microsoft.Maui.Graphics;
+using CommunityToolkit.Maui.Views;
+
+namespace LivreLand.View;
+
+public partial class HeaderPage : ContentView
+{
+ public static readonly BindableProperty HeaderTitleProperty = BindableProperty.Create(nameof(HeaderTitle), typeof(string), typeof(HeaderPage), string.Empty);
+ public string HeaderTitle
+ {
+ get => (string)GetValue(HeaderPage.HeaderTitleProperty);
+ set => SetValue(HeaderPage.HeaderTitleProperty, value);
+ }
+
+ public static readonly BindableProperty HeaderBackButtonTextProperty = BindableProperty.Create(nameof(HeaderBackButtonText), typeof(string), typeof(HeaderPage), string.Empty);
+ public string HeaderBackButtonText
+ {
+ get => (string)GetValue(HeaderPage.HeaderBackButtonTextProperty);
+ set => SetValue(HeaderPage.HeaderBackButtonTextProperty, value);
+ }
+
+ public static readonly BindableProperty HeaderPlusButtonVisibleProperty = BindableProperty.Create(nameof(HeaderPlusButtonVisible), typeof(bool), typeof(HeaderPage), true);
+ public bool HeaderPlusButtonVisible
+ {
+ get => (bool)GetValue(HeaderPage.HeaderPlusButtonVisibleProperty);
+ set => SetValue(HeaderPage.HeaderPlusButtonVisibleProperty, value);
+ }
+
+ public static readonly BindableProperty HeaderSwitchButtonVisibleProperty = BindableProperty.Create(nameof(HeaderSwitchButtonVisible), typeof(bool), typeof(HeaderPage), true);
+ public bool HeaderSwitchButtonVisible
+ {
+ get => (bool)GetValue(HeaderPage.HeaderSwitchButtonVisibleProperty);
+ set => SetValue(HeaderPage.HeaderSwitchButtonVisibleProperty, value);
+ }
+
+ public static readonly BindableProperty HeaderColorProperty = BindableProperty.Create(nameof(HeaderColor), typeof(Color), typeof(HeaderPage), Colors.White);
+ public Color HeaderColor
+ {
+ get => (Color)GetValue(HeaderPage.HeaderColorProperty);
+ set => SetValue(HeaderPage.HeaderColorProperty, value);
+ }
+
+ public HeaderPage()
+ {
+ InitializeComponent();
+ }
+
+ public void OnBackButtonTapped(object sender, EventArgs e)
+ {
+ App.Current.MainPage.Navigation.PopAsync();
+ }
+
+ public void OnPlusClicked(object sender, EventArgs e)
+ {
+ var plusPopup = new PopupHomePlusButtonView();
+ App.Current.MainPage.ShowPopup(plusPopup);
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/StatutLectureView.xaml b/LivreLand/View/StatutLectureView.xaml
new file mode 100644
index 0000000..3ae497a
--- /dev/null
+++ b/LivreLand/View/StatutLectureView.xaml
@@ -0,0 +1,217 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/StatutLectureView.xaml.cs b/LivreLand/View/StatutLectureView.xaml.cs
new file mode 100644
index 0000000..9c9c276
--- /dev/null
+++ b/LivreLand/View/StatutLectureView.xaml.cs
@@ -0,0 +1,30 @@
+using LivreLand.Model;
+
+namespace LivreLand.View;
+
+public partial class StatutLectureView : ContentPage
+{
+ public List NonLuBooks { get; set; } = new List()
+ {
+ new BookModel("La horde du contrevent","Alain Damasio","Non lu", 0),
+ };
+
+ public List TermineBooks { get; set; } = new List()
+ {
+ new BookModel("La zone du dehors","Alain Damasio","Termin", 0),
+ new BookModel("L'quateur d'Einstein","Cixin Liu","Termin", 0),
+ new BookModel("La fort sombre","Cixin Liu","Termin", 0),
+ new BookModel("Le problme trois corps","Cixin Liu","Termin", 0)
+ };
+
+ public StatutLectureView()
+ {
+ BindingContext = this;
+ InitializeComponent();
+ }
+
+ void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView());
+ }
+}
\ No newline at end of file
diff --git a/LivreLand/View/TousView.xaml b/LivreLand/View/TousView.xaml
new file mode 100644
index 0000000..2d923c8
--- /dev/null
+++ b/LivreLand/View/TousView.xaml
@@ -0,0 +1,219 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LivreLand/View/TousView.xaml.cs b/LivreLand/View/TousView.xaml.cs
new file mode 100644
index 0000000..6610a6e
--- /dev/null
+++ b/LivreLand/View/TousView.xaml.cs
@@ -0,0 +1,30 @@
+using LivreLand.Model;
+
+namespace LivreLand.View;
+
+public partial class TousView : ContentPage
+{
+ public List DamasioBooks { get; set; } = new List()
+ {
+ new BookModel("La horde du contrevent","Alain Damasio","Non lu", 0),
+ new BookModel("La zone du dehors","Alain Damasio","Termin", 0),
+ };
+
+ public List LiuBooks { get; set; } = new List()
+ {
+ new BookModel("L'quateur d'Einstein","Cixin Liu","Termin", 0),
+ new BookModel("La fort sombre","Cixin Liu","Termin", 0),
+ new BookModel("Le problme trois corps","Cixin Liu","Termin", 0)
+ };
+
+ public TousView()
+ {
+ BindingContext = this;
+ InitializeComponent();
+ }
+
+ void OnSelectionChanged(object sender, SelectionChangedEventArgs e)
+ {
+ App.Current.MainPage.Navigation.PushAsync(new DetailsLivreView());
+ }
+}
\ No newline at end of file