Started working on main page

This commit is contained in:
2025-11-12 20:12:03 +01:00
parent e0bf95060a
commit 969219137a
148 changed files with 1053 additions and 93 deletions

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AndroidProjectSystem">
<option name="providerId" value="RiderAndroidProjectSystem" />
</component>
</project>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="WorkTime.Mobile">
<option name="selectionMode" value="DROPDOWN" />
</SelectionState>
</selectionStates>
</component>
</project>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DeviceTable">
<option name="columnSorters">
<list>
<ColumnSorterState>
<option name="column" value="Name" />
<option name="order" value="ASCENDING" />
</ColumnSorterState>
</list>
</option>
</component>
</project>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.activity.activity">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.activity.activity/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.activity.activity/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.activity.activity-ktx">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.activity.activity-ktx/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.activity.activity-ktx/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.annotation.annotation">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.annotation/1.9.1.5/jar/androidx.annotation.annotation.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.annotation.annotation-experimental">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.annotation.annotation-experimental/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.annotation.annotation-experimental/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.annotation.annotation-jvm">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.annotation.jvm/1.9.1.5/jar/androidx.annotation.annotation-jvm.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.appcompat.appcompat">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.appcompat.appcompat/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.appcompat.appcompat/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.appcompat.appcompat-resources">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.appcompat.appcompat-resources/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.appcompat.appcompat-resources/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.arch.core.core-common">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.arch.core.common/2.2.0.18/jar/androidx.arch.core.core-common.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.arch.core.core-runtime">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.arch.core.core-runtime/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.arch.core.core-runtime/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.browser.browser">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.browser.browser/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.browser.browser/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.cardview.cardview">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.cardview.cardview/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.cardview.cardview/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.collection.collection">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.collection/1.5.0.3/jar/androidx.collection.collection.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.collection.collection-jvm">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.collection.jvm/1.5.0.3/jar/androidx.collection.collection-jvm.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.collection.collection-ktx">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.collection.ktx/1.5.0.3/jar/androidx.collection.collection-ktx.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.concurrent.concurrent-futures">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.concurrent.futures/1.3.0.1/jar/androidx.concurrent.concurrent-futures.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.constraintlayout.constraintlayout">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.constraintlayout.constraintlayout/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.constraintlayout.constraintlayout/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.constraintlayout.constraintlayout-core">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.constraintlayout.core/1.1.1.3/jar/androidx.constraintlayout.constraintlayout-core.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.coordinatorlayout.coordinatorlayout">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.coordinatorlayout.coordinatorlayout/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.coordinatorlayout.coordinatorlayout/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.core.core">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.core.core/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.core.core/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.core.core-ktx">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.core.core-ktx/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.core.core-ktx/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.core.core-viewtree">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.core.core-viewtree/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.core.core-viewtree/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.cursoradapter.cursoradapter">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.cursoradapter.cursoradapter/classes.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.customview.customview">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.customview.customview/classes.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.customview.customview-poolingcontainer">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.customview.customview-poolingcontainer/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.customview.customview-poolingcontainer/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.drawerlayout.drawerlayout">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.drawerlayout.drawerlayout/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.drawerlayout.drawerlayout/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.dynamicanimation.dynamicanimation">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.dynamicanimation.dynamicanimation/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.dynamicanimation.dynamicanimation/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.emoji2.emoji2">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.emoji2.emoji2/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.emoji2.emoji2/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.emoji2.emoji2-views-helper">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.emoji2.emoji2-views-helper/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.emoji2.emoji2-views-helper/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.exifinterface.exifinterface">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.exifinterface.exifinterface/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.exifinterface.exifinterface/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.fragment.fragment">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.fragment.fragment/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.fragment.fragment/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.fragment.fragment-ktx">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.fragment.fragment-ktx/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.fragment.fragment-ktx/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.interpolator.interpolator">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.interpolator.interpolator/classes.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-common">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.lifecycle.common/2.9.2.1/jar/androidx.lifecycle.lifecycle-common.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-common-jvm">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.lifecycle.common.jvm/2.9.2.1/jar/androidx.lifecycle.lifecycle-common-jvm.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-livedata">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-livedata/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-livedata/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-livedata-core">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-livedata-core/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-livedata-core/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-livedata-core-ktx">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-livedata-core-ktx/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-livedata-core-ktx/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-process">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-process/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-process/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-runtime-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-runtime-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-runtime-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-runtime-ktx-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-runtime-ktx-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-runtime-ktx-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-viewmodel-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-viewmodel-ktx">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-ktx/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-ktx/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-viewmodel-savedstate">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-savedstate/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-savedstate/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.lifecycle.lifecycle-viewmodel-savedstate-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-savedstate-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.lifecycle.lifecycle-viewmodel-savedstate-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.loader.loader">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.loader.loader/classes.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.navigation.navigation-common">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-common/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-common/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.navigation.navigation-common-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-common-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-common-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.navigation.navigation-fragment">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-fragment/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-fragment/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.navigation.navigation-runtime">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-runtime/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-runtime/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.navigation.navigation-runtime-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-runtime-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-runtime-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.navigation.navigation-ui">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-ui/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.navigation.navigation-ui/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.profileinstaller.profileinstaller">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.profileinstaller.profileinstaller/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.profileinstaller.profileinstaller/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.recyclerview.recyclerview">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.recyclerview.recyclerview/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.recyclerview.recyclerview/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.resourceinspection.resourceinspection-annotation">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.resourceinspection.annotation/1.0.1.22/jar/androidx.resourceinspection.resourceinspection-annotation.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.savedstate.savedstate">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.savedstate.savedstate/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.savedstate.savedstate/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.savedstate.savedstate-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.savedstate.savedstate-android/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.savedstate.savedstate-android/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.savedstate.savedstate-ktx">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.savedstate.savedstate-ktx/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.savedstate.savedstate-ktx/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.security.security-crypto">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.security.security-crypto/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.security.security-crypto/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.slidingpanelayout.slidingpanelayout">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.slidingpanelayout.slidingpanelayout/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.slidingpanelayout.slidingpanelayout/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.startup.startup-runtime">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.startup.startup-runtime/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.startup.startup-runtime/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.swiperefreshlayout.swiperefreshlayout">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.swiperefreshlayout.swiperefreshlayout/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.swiperefreshlayout.swiperefreshlayout/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.tracing.tracing">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.tracing.tracing/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.tracing.tracing/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.tracing.tracing-android">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.tracing.tracing-android/classes.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.transition.transition">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.transition.transition/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.transition.transition/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.vectordrawable.vectordrawable">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.vectordrawable.vectordrawable/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.vectordrawable.vectordrawable/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.vectordrawable.vectordrawable-animated">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.vectordrawable.vectordrawable-animated/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.vectordrawable.vectordrawable-animated/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.versionedparcelable.versionedparcelable">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.versionedparcelable.versionedparcelable/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.versionedparcelable.versionedparcelable/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.viewpager2.viewpager2">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.viewpager2.viewpager2/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.viewpager2.viewpager2/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.viewpager.viewpager">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.viewpager.viewpager/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.viewpager.viewpager/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="androidx.window.window">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.window.window/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/androidx.window.window/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.window.window-core">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.window.windowcore/1.4.0.1/jar/androidx.window.window-core.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="androidx.window.window-core-jvm">
<CLASSES>
<root url="jar://$USER_HOME$/.nuget/packages/xamarin.androidx.window.windowcore.jvm/1.4.0.1/jar/androidx.window.window-core-jvm.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="com.google.android.material.material">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/com.google.android.material.material/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/com.google.android.material.material/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,9 @@
<component name="libraryTable">
<library name="gifdecoder">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/gifdecoder/classes.jar" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="glide">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/glide/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/glide/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -0,0 +1,10 @@
<component name="libraryTable">
<library name="maui">
<CLASSES>
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/maui/classes.jar" />
<root url="file://$USER_HOME$/AppData/Local/Temp/JetBrains/xamarinAarPackages/maui/res" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</component>

View File

@@ -1,23 +0,0 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using WorkTime.Models;
namespace WorkTime.Database;
internal sealed class DatabaseContext(DbContextOptions<DatabaseContext> options) : DbContext(options) {
public DbSet<TimeEntry> Entries { get; set; }
}
internal sealed class DbMigrationService(IServiceProvider provider) : IHostedService {
public async Task StartAsync(CancellationToken cancellationToken) {
await using var scope = provider.CreateAsyncScope();
var context = scope.ServiceProvider.GetRequiredService<DatabaseContext>();
await context.Database.MigrateAsync(cancellationToken);
}
public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask;
}

View File

@@ -1,22 +0,0 @@
using WorkTime.Models;
using WorkTime.Models.Repositories;
namespace WorkTime.Database.Repositories;
internal sealed class TimeEntryRepository : ITimeEntryRepository {
public Task<IEnumerable<TimeEntry>> GetTimeEntries() {
throw new NotImplementedException();
}
public Task<IEnumerable<TimeEntry>> GetTimeEntries(DateOnly date) {
throw new NotImplementedException();
}
public Task AddTimeEntry(TimeEntry entry) {
throw new NotImplementedException();
}
public Task DeleteTimeEntry(Guid id) {
throw new NotImplementedException();
}
}

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="WorkTime.Mobile.Pages.CapturePage">
<ContentPage.Content>
<Label Text="Hello from Capture Page" />
</ContentPage.Content>
</ContentPage>

View File

@@ -1,13 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WorkTime.Mobile.Pages;
public partial class CapturePage : ContentPage {
public CapturePage() {
InitializeComponent();
}
}

View File

@@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AMaterialExtension_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbc69422f79664194a9e7abb519f2475371800_003F4b_003Fced41cf6_003FMaterialExtension_002Ecs_002Fz_003A2_002D1/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>

View File

@@ -1,8 +1,8 @@
<Solution> <Solution>
<Folder Name="/Modules/"> <Folder Name="/Modules/">
<Project Path="WorkTime.Database/WorkTime.Database.csproj" /> <Project Path="src/modules/WorkTime.Database/WorkTime.Database.csproj" />
<Project Path="WorkTime.Migrator/WorkTime.Migrator.csproj" /> <Project Path="src/modules/WorkTime.Migrator/WorkTime.Migrator.csproj" />
<Project Path="WorkTime.Models/WorkTime.Models.csproj" /> <Project Path="src/modules/WorkTime.Models/WorkTime.Models.csproj" />
</Folder> </Folder>
<Project Path="WorkTime.Mobile/WorkTime.Mobile.csproj" /> <Project Path="src/WorkTime.Mobile/WorkTime.Mobile.csproj" />
</Solution> </Solution>

7
global.json Normal file
View File

@@ -0,0 +1,7 @@
{
"sdk": {
"version": "10.0.0",
"rollForward": "latestMajor",
"allowPrerelease": true
}
}

View File

@@ -1,12 +1,14 @@
using MauiIcons.Core; using MauiIcons.Core;
using Microsoft.Extensions.DependencyInjection; using Microsoft.EntityFrameworkCore;
using WorkTime.Database;
namespace WorkTime.Mobile; namespace WorkTime.Mobile;
public partial class App : Application { public partial class App : Application {
public App() { public App(DatabaseContext context) {
InitializeComponent(); InitializeComponent();
_ = new MauiIcon(); _ = new MauiIcon();
context.Database.Migrate();
} }
protected override Window CreateWindow(IActivationState? activationState) { protected override Window CreateWindow(IActivationState? activationState) {

View File

@@ -20,6 +20,7 @@ public static class MauiProgram {
builder.Services.AddDatabase(FileSystem.AppDataDirectory); builder.Services.AddDatabase(FileSystem.AppDataDirectory);
builder.Services.AddTransient<CapturePageModel>();
builder.Services.AddTransient<SettingsPageModel>(); builder.Services.AddTransient<SettingsPageModel>();
#if DEBUG #if DEBUG

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:components="clr-namespace:WorkTime.Mobile.Pages.Components"
xmlns:pages="clr-namespace:WorkTime.Mobile.Pages"
xmlns:mi="http://www.aathifmahir.com/dotnet/2022/maui/icons"
xmlns:models="clr-namespace:WorkTime.Models;assembly=WorkTime.Models"
x:Class="WorkTime.Mobile.Pages.CapturePage"
x:DataType="pages:CapturePageModel">
<ContentPage.Content>
<Grid Margin="10" RowSpacing="10" RowDefinitions="Auto,*,Auto">
<components:DateSelector Grid.Row="0"
Command="{Binding LoadDateCommand}" />
<ScrollView Grid.Row="1">
<CollectionView ItemsSource="{Binding Entries}">
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="models:TimeEntry">
<HorizontalStackLayout Spacing="5">
<Label Text="{Binding Timestamp}" />
<Label Text="{Binding Type}" />
</HorizontalStackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
</ScrollView>
<HorizontalStackLayout Grid.Row="2" HorizontalOptions="Center" Spacing="20">
<Button Text="{Binding CurrentTypeName}"
Command="{Binding RegisterEntryCommand}" />
<Button mi:MauiIcon.Value="{mi:Material Icon=Add}" />
</HorizontalStackLayout>
</Grid>
</ContentPage.Content>
</ContentPage>

View File

@@ -0,0 +1,106 @@
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using WorkTime.Models;
using WorkTime.Models.Repositories;
namespace WorkTime.Mobile.Pages;
public partial class CapturePage : ContentPage {
private readonly CapturePageModel _model;
public CapturePage(CapturePageModel model) {
InitializeComponent();
BindingContext = model;
_model = model;
}
protected override void OnAppearing() {
base.OnAppearing();
if (_model.AppearingCommand.CanExecute(null))
_model.AppearingCommand.Execute(null);
}
}
public partial class CapturePageModel(ITimeEntryRepository entryRepository) : ObservableObject {
private DateOnly _currentDate = DateOnly.FromDateTime(DateTime.Now);
[ObservableProperty]
public partial ObservableCollection<TimeEntry> Entries { get; set; } = new();
[ObservableProperty]
public partial EntryType CurrentType { get; set; } = EntryType.Login;
public string CurrentTypeName => CurrentType switch {
EntryType.Login => "Einstempeln",
EntryType.LoginHome => "Einstempeln (mobA)",
EntryType.LoginTrip => "Dienstreise starten",
EntryType.Logout => "Ausstempeln",
EntryType.LogoutHome => "Ausstempeln (mobA)",
EntryType.LogoutTrip => "Dienstreise beenden",
_ => "UNKNOWN"
};
partial void OnCurrentTypeChanged(EntryType value) {
OnPropertyChanged(nameof(CurrentTypeName));
}
[RelayCommand]
public async Task LoadDate(DateOnly date) {
_currentDate = date;
Entries.Clear();
var result = await entryRepository.GetTimeEntries(date);
foreach (var entry in result) {
Entries.Add(entry);
}
UpdateCurrentType();
}
private void UpdateCurrentType() {
var last = Entries.LastOrDefault();
if (last is null) {
CurrentType = EntryType.Login;
return;
}
CurrentType = last.Type switch {
EntryType.Login => EntryType.Logout,
EntryType.LoginHome => EntryType.LogoutHome,
EntryType.LoginTrip => EntryType.LogoutTrip,
EntryType.Logout => EntryType.Login,
EntryType.LogoutHome => EntryType.LoginHome,
EntryType.LogoutTrip => EntryType.LoginTrip,
_ => EntryType.Login
};
}
[RelayCommand]
public async Task OnAppearing() {
await LoadDate(_currentDate);
}
[RelayCommand]
public async Task RegisterEntry(TimeEntry? entry = null) {
entry ??= new TimeEntry {
Timestamp = DateTime.Now,
Type = CurrentType
};
await entryRepository.AddTimeEntry(entry);
await LoadDate(_currentDate);
}
[RelayCommand]
public async Task DeleteEntry(Guid entryId) {
await entryRepository.DeleteTimeEntry(entryId);
await LoadDate(_currentDate);
}
}

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:components="clr-namespace:WorkTime.Mobile.Pages.Components"
x:Class="WorkTime.Mobile.Pages.Components.DateSelector"
x:DataType="components:DateSelector"
x:Name="Component">
<Grid ColumnDefinitions="*,Auto">
<Label Grid.Column="0"
Text="Tag"
VerticalOptions="Center" />
<DatePicker Grid.Column="1"
Date="{Binding CurrentDate, Source={x:Reference Component}}"
MaximumDate="{Binding MaxDate, Source={x:Reference Component}}"
DateSelected="OnDateSelected"/>
</Grid>
</ContentView>

View File

@@ -0,0 +1,48 @@
using CommunityToolkit.Mvvm.Input;
namespace WorkTime.Mobile.Pages.Components;
public partial class DateSelector : ContentView {
public static readonly BindableProperty CurrentDateProperty = BindableProperty.Create(
nameof(CurrentDate),
typeof(DateTime),
typeof(DateSelector),
DateTime.Now);
public static readonly BindableProperty MaxDateProperty = BindableProperty.Create(
nameof(MaxDate),
typeof(DateTime),
typeof(DateSelector),
DateTime.Now);
public static readonly BindableProperty CommandProperty = BindableProperty.Create(
nameof(Command),
typeof(IRelayCommand<DateOnly>),
typeof(DateSelector));
public DateTime CurrentDate {
get => (DateTime)GetValue(CurrentDateProperty);
set => SetValue(CurrentDateProperty, value);
}
public DateTime MaxDate {
get => (DateTime)GetValue(MaxDateProperty);
set => SetValue(MaxDateProperty, value);
}
public IRelayCommand<DateOnly>? Command {
get => (IRelayCommand<DateOnly>)GetValue(CommandProperty);
set => SetValue(CommandProperty, value);
}
public DateSelector() {
InitializeComponent();
}
private void OnDateSelected(object? sender, DateChangedEventArgs e) {
var date = DateOnly.FromDateTime(CurrentDate);
Command?.Execute(date);
}
}

Some files were not shown because too many files have changed in this diff Show More