diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/avalonia.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/avalonia.xml index ea8c315..c7ac0c0 100644 --- a/src/.idea/.idea.AvaloniaInside.Shell/.idea/avalonia.xml +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/avalonia.xml @@ -8,6 +8,27 @@ + + + + + + + + + + + + + + + + + + + + + @@ -24,6 +45,7 @@ + diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/android_support_multidex.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/android_support_multidex.xml new file mode 100644 index 0000000..a695de2 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/android_support_multidex.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_activity_activity.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_activity_activity.xml new file mode 100644 index 0000000..f9c4041 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_activity_activity.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation.xml new file mode 100644 index 0000000..7fd1a19 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation_experimental.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation_experimental.xml new file mode 100644 index 0000000..9c3fbbd --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation_experimental.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation_jvm.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation_jvm.xml new file mode 100644 index 0000000..bf38a7f --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_annotation_annotation_jvm.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_appcompat_appcompat.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_appcompat_appcompat.xml new file mode 100644 index 0000000..72460ec --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_appcompat_appcompat.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_appcompat_appcompat_resources.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_appcompat_appcompat_resources.xml new file mode 100644 index 0000000..aaa23cf --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_appcompat_appcompat_resources.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_arch_core_core_common.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_arch_core_core_common.xml new file mode 100644 index 0000000..affac6b --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_arch_core_core_common.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_arch_core_core_runtime.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_arch_core_core_runtime.xml new file mode 100644 index 0000000..9bcac3c --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_arch_core_core_runtime.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_collection_collection.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_collection_collection.xml new file mode 100644 index 0000000..1a451c4 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_collection_collection.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_collection_collection_jvm.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_collection_collection_jvm.xml new file mode 100644 index 0000000..91a5ff7 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_collection_collection_jvm.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_concurrent_concurrent_futures.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_concurrent_concurrent_futures.xml new file mode 100644 index 0000000..d484047 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_concurrent_concurrent_futures.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core.xml new file mode 100644 index 0000000..d937f68 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core_ktx.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core_ktx.xml new file mode 100644 index 0000000..3203bb9 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core_ktx.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core_splashscreen.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core_splashscreen.xml new file mode 100644 index 0000000..241ff29 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_core_core_splashscreen.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_cursoradapter_cursoradapter.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_cursoradapter_cursoradapter.xml new file mode 100644 index 0000000..2e5715c --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_cursoradapter_cursoradapter.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_customview_customview.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_customview_customview.xml new file mode 100644 index 0000000..5d66dac --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_customview_customview.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_documentfile_documentfile.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_documentfile_documentfile.xml new file mode 100644 index 0000000..dfcc871 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_documentfile_documentfile.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_drawerlayout_drawerlayout.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_drawerlayout_drawerlayout.xml new file mode 100644 index 0000000..cfb80eb --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_drawerlayout_drawerlayout.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_emoji2_emoji2.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_emoji2_emoji2.xml new file mode 100644 index 0000000..868b903 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_emoji2_emoji2.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml new file mode 100644 index 0000000..4e0be82 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_emoji2_emoji2_views_helper.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_fragment_fragment.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_fragment_fragment.xml new file mode 100644 index 0000000..0084d5f --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_fragment_fragment.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_interpolator_interpolator.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_interpolator_interpolator.xml new file mode 100644 index 0000000..c36b6fb --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_interpolator_interpolator.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_common.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_common.xml new file mode 100644 index 0000000..ce36d1b --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_common.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml new file mode 100644 index 0000000..78c1a81 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_livedata_core.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_process.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_process.xml new file mode 100644 index 0000000..6d3d921 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_process.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_runtime.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_runtime.xml new file mode 100644 index 0000000..0e0047b --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_runtime.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel.xml new file mode 100644 index 0000000..5df892f --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml new file mode 100644 index 0000000..c3b9579 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_lifecycle_lifecycle_viewmodel_savedstate.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_loader_loader.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_loader_loader.xml new file mode 100644 index 0000000..0a78fd0 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_loader_loader.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_profileinstaller_profileinstaller.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_profileinstaller_profileinstaller.xml new file mode 100644 index 0000000..d708c14 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_profileinstaller_profileinstaller.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml new file mode 100644 index 0000000..b4b5b32 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_resourceinspection_resourceinspection_annotation.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_savedstate_savedstate.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_savedstate_savedstate.xml new file mode 100644 index 0000000..8643e82 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_savedstate_savedstate.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_startup_startup_runtime.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_startup_startup_runtime.xml new file mode 100644 index 0000000..820ea4a --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_startup_startup_runtime.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_tracing_tracing.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_tracing_tracing.xml new file mode 100644 index 0000000..89165ca --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_tracing_tracing.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_vectordrawable_vectordrawable.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_vectordrawable_vectordrawable.xml new file mode 100644 index 0000000..cefc0db --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_vectordrawable_vectordrawable.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml new file mode 100644 index 0000000..8b4cfd3 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_vectordrawable_vectordrawable_animated.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml new file mode 100644 index 0000000..e6779dd --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_versionedparcelable_versionedparcelable.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_viewpager_viewpager.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_viewpager_viewpager.xml new file mode 100644 index 0000000..c7a9bc3 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/androidx_viewpager_viewpager.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/guava_listenablefuture.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/guava_listenablefuture.xml new file mode 100644 index 0000000..3807ee6 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/guava_listenablefuture.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_annotations_24_0_0.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_annotations_24_0_0.xml new file mode 100644 index 0000000..01b9077 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_annotations_24_0_0.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_annotations_24_0_1.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_annotations_24_0_1.xml new file mode 100644 index 0000000..8af7bcc --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_annotations_24_0_1.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_8_0.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_8_0.xml new file mode 100644 index 0000000..d61cadb --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_8_0.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_9_10.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_9_10.xml new file mode 100644 index 0000000..c93b751 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_1_9_10.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_8_0.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_8_0.xml new file mode 100644 index 0000000..3f01560 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_8_0.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml new file mode 100644 index 0000000..238e12b --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_common_1_9_10.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml new file mode 100644 index 0000000..6706051 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_9_10.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml new file mode 100644 index 0000000..59ee76c --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_9_10.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml new file mode 100644 index 0000000..a27f6b0 --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_android_1_7_3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml new file mode 100644 index 0000000..8d5c42e --- /dev/null +++ b/src/.idea/.idea.AvaloniaInside.Shell/.idea/libraries/org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_7_3.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/AvaloniaInside.Shell.sln b/src/AvaloniaInside.Shell.sln index b234e8c..62a7f2e 100644 --- a/src/AvaloniaInside.Shell.sln +++ b/src/AvaloniaInside.Shell.sln @@ -23,6 +23,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{50F7051E ..\README.md = ..\README.md EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShellBottomCustomNavigator", "Example\ShellBottomCustomNavigator\ShellBottomCustomNavigator\ShellBottomCustomNavigator.csproj", "{6D8FCCDB-C66B-4B81-9555-725E1EE912B8}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShellBottomCustomNavigator.Android", "Example\ShellBottomCustomNavigator\ShellBottomCustomNavigator.Android\ShellBottomCustomNavigator.Android.csproj", "{4CEAC589-3446-4370-9357-C362E03DB56E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShellBottomCustomNavigator.Desktop", "Example\ShellBottomCustomNavigator\ShellBottomCustomNavigator.Desktop\ShellBottomCustomNavigator.Desktop.csproj", "{6FAADB02-7185-463E-8C93-5DAEE90EF782}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShellBottomCustomNavigator.iOS", "Example\ShellBottomCustomNavigator\ShellBottomCustomNavigator.iOS\ShellBottomCustomNavigator.iOS.csproj", "{C77D28D8-7583-40FE-9EA7-6E8B5F902A8B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ShellBottomCustomNavigator.Browser", "Example\ShellBottomCustomNavigator\ShellBottomCustomNavigator.Browser\ShellBottomCustomNavigator.Browser.csproj", "{58D15C4F-ADC5-4550-9224-365FFB38955D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -55,6 +65,26 @@ Global {75883514-564B-4EBA-83D8-68FD9FDB0CB2}.Debug|Any CPU.Deploy.0 = Debug|Any CPU {75883514-564B-4EBA-83D8-68FD9FDB0CB2}.Release|Any CPU.ActiveCfg = Release|Any CPU {75883514-564B-4EBA-83D8-68FD9FDB0CB2}.Release|Any CPU.Build.0 = Release|Any CPU + {6D8FCCDB-C66B-4B81-9555-725E1EE912B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6D8FCCDB-C66B-4B81-9555-725E1EE912B8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6D8FCCDB-C66B-4B81-9555-725E1EE912B8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6D8FCCDB-C66B-4B81-9555-725E1EE912B8}.Release|Any CPU.Build.0 = Release|Any CPU + {4CEAC589-3446-4370-9357-C362E03DB56E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4CEAC589-3446-4370-9357-C362E03DB56E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CEAC589-3446-4370-9357-C362E03DB56E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4CEAC589-3446-4370-9357-C362E03DB56E}.Release|Any CPU.Build.0 = Release|Any CPU + {6FAADB02-7185-463E-8C93-5DAEE90EF782}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6FAADB02-7185-463E-8C93-5DAEE90EF782}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6FAADB02-7185-463E-8C93-5DAEE90EF782}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6FAADB02-7185-463E-8C93-5DAEE90EF782}.Release|Any CPU.Build.0 = Release|Any CPU + {C77D28D8-7583-40FE-9EA7-6E8B5F902A8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C77D28D8-7583-40FE-9EA7-6E8B5F902A8B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C77D28D8-7583-40FE-9EA7-6E8B5F902A8B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C77D28D8-7583-40FE-9EA7-6E8B5F902A8B}.Release|Any CPU.Build.0 = Release|Any CPU + {58D15C4F-ADC5-4550-9224-365FFB38955D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {58D15C4F-ADC5-4550-9224-365FFB38955D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {58D15C4F-ADC5-4550-9224-365FFB38955D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {58D15C4F-ADC5-4550-9224-365FFB38955D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -65,6 +95,11 @@ Global {721FC232-3B13-492D-A96B-C6784FEDB10C} = {A495BEFD-2260-489E-A8F3-003EF9603D43} {E2E23F24-CC66-4940-91EA-68C28DC04602} = {A495BEFD-2260-489E-A8F3-003EF9603D43} {75883514-564B-4EBA-83D8-68FD9FDB0CB2} = {A495BEFD-2260-489E-A8F3-003EF9603D43} + {6D8FCCDB-C66B-4B81-9555-725E1EE912B8} = {A495BEFD-2260-489E-A8F3-003EF9603D43} + {4CEAC589-3446-4370-9357-C362E03DB56E} = {A495BEFD-2260-489E-A8F3-003EF9603D43} + {6FAADB02-7185-463E-8C93-5DAEE90EF782} = {A495BEFD-2260-489E-A8F3-003EF9603D43} + {C77D28D8-7583-40FE-9EA7-6E8B5F902A8B} = {A495BEFD-2260-489E-A8F3-003EF9603D43} + {58D15C4F-ADC5-4550-9224-365FFB38955D} = {A495BEFD-2260-489E-A8F3-003EF9603D43} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {10F59C6F-508A-4C41-820B-AAC163C9FDB2} diff --git a/src/Example/ShellBottomCustomNavigator/.gitignore b/src/Example/ShellBottomCustomNavigator/.gitignore new file mode 100644 index 0000000..8afdcb6 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/.gitignore @@ -0,0 +1,454 @@ +## 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/master/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# Tye +.tye/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +## +## Visual studio for Mac +## + + +# globs +Makefile.in +*.userprefs +*.usertasks +config.make +config.status +aclocal.m4 +install-sh +autom4te.cache/ +*.tar.gz +tarballs/ +test-results/ + +# Mac bundle stuff +*.dmg +*.app + +# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# JetBrains Rider +.idea/ +*.sln.iml + +## +## Visual Studio Code +## +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json diff --git a/src/Example/ShellBottomCustomNavigator/Directory.Build.props b/src/Example/ShellBottomCustomNavigator/Directory.Build.props new file mode 100644 index 0000000..74d63f7 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/Directory.Build.props @@ -0,0 +1,6 @@ + + + enable + 11.0.7 + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Icon.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Icon.png new file mode 100644 index 0000000..41a2a61 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Icon.png differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/MainActivity.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/MainActivity.cs new file mode 100644 index 0000000..d235bbd --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/MainActivity.cs @@ -0,0 +1,23 @@ +using Android.App; +using Android.Content.PM; +using Avalonia; +using Avalonia.Android; +using Avalonia.ReactiveUI; + +namespace ShellBottomCustomNavigator.Android; + +[Activity( + Label = "ShellBottomCustomNavigator.Android", + Theme = "@style/MyTheme.NoActionBar", + Icon = "@drawable/icon", + MainLauncher = true, + ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode)] +public class MainActivity : AvaloniaMainActivity +{ + protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) + { + return base.CustomizeAppBuilder(builder) + .WithInterFont() + .UseReactiveUI(); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Properties/AndroidManifest.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Properties/AndroidManifest.xml new file mode 100644 index 0000000..6c0a263 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/AboutResources.txt b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/AboutResources.txt new file mode 100644 index 0000000..c2bca97 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.axml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.axml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "R" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the R class would expose: + +public class R { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main +to reference the layout/main.axml file, or R.strings.first_string to reference the first +string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-night-v31/avalonia_anim.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-night-v31/avalonia_anim.xml new file mode 100644 index 0000000..dde4b5a --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-night-v31/avalonia_anim.xml @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-v31/avalonia_anim.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-v31/avalonia_anim.xml new file mode 100644 index 0000000..94f27d9 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-v31/avalonia_anim.xml @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable/splash_screen.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable/splash_screen.xml new file mode 100644 index 0000000..2e920b4 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable/splash_screen.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-night/colors.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-night/colors.xml new file mode 100644 index 0000000..3d47b6f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-night/colors.xml @@ -0,0 +1,4 @@ + + + #212121 + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-v31/styles.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-v31/styles.xml new file mode 100644 index 0000000..d5ecec4 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-v31/styles.xml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/colors.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/colors.xml new file mode 100644 index 0000000..59279d5 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/colors.xml @@ -0,0 +1,4 @@ + + + #FFFFFF + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/styles.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/styles.xml new file mode 100644 index 0000000..6e534de --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/styles.xml @@ -0,0 +1,12 @@ + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/ShellBottomCustomNavigator.Android.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/ShellBottomCustomNavigator.Android.csproj new file mode 100644 index 0000000..fe8c064 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/ShellBottomCustomNavigator.Android.csproj @@ -0,0 +1,29 @@ + + + Exe + net8.0-android + 21 + enable + com.CompanyName.ShellBottomCustomNavigator + 1 + 1.0 + apk + False + + + + + Resources\drawable\Icon.png + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/Logo.svg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/Logo.svg new file mode 100644 index 0000000..9685a23 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/Logo.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/app.css b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/app.css new file mode 100644 index 0000000..a424538 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/app.css @@ -0,0 +1,74 @@ +:root { + --sat: env(safe-area-inset-top); + --sar: env(safe-area-inset-right); + --sab: env(safe-area-inset-bottom); + --sal: env(safe-area-inset-left); +} + +/* HTML styles for the splash screen */ + +.highlight { + color: white; + font-size: 2.5rem; + display: block; +} + +.purple { + color: #8b44ac; +} + +.icon { + opacity: 0.05; + height: 35%; + width: 35%; + position: absolute; + background-repeat: no-repeat; + right: 0px; + bottom: 0px; + margin-right: 3%; + margin-bottom: 5%; + z-index: 5000; + background-position: right bottom; + pointer-events: none; +} + +#avalonia-splash a { + color: whitesmoke; + text-decoration: none; +} + +.center { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; +} + +#avalonia-splash { + position: relative; + height: 100%; + width: 100%; + color: whitesmoke; + background: #1b2a4e; + font-family: 'Nunito', sans-serif; + background-position: center; + background-size: cover; + background-repeat: no-repeat; + justify-content: center; + align-items: center; +} + +.splash-close { + animation: fadeout 0.25s linear forwards; +} + +@keyframes fadeout { + 0% { + opacity: 100%; + } + + 100% { + opacity: 0; + visibility: collapse; + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/favicon.ico b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/favicon.ico new file mode 100644 index 0000000..da8d49f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/favicon.ico differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/index.html b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/index.html new file mode 100644 index 0000000..a5b9b0c --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/index.html @@ -0,0 +1,30 @@ + + + + + ShellBottomCustomNavigator.Browser + + + + + + + + + + +
+
+
+

+ Powered by + Avalonia UI +

+
+ Avalonia Logo +
+
+ + + + \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/main.js b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/main.js new file mode 100644 index 0000000..0dbe2e4 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/main.js @@ -0,0 +1,13 @@ +import { dotnet } from './dotnet.js' + +const is_browser = typeof window != "undefined"; +if (!is_browser) throw new Error(`Expected to be running in a browser`); + +const dotnetRuntime = await dotnet + .withDiagnosticTracing(false) + .withApplicationArgumentsFromQuery() + .create(); + +const config = dotnetRuntime.getConfig(); + +await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]); \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Program.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Program.cs new file mode 100644 index 0000000..83b77a7 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Program.cs @@ -0,0 +1,19 @@ +using System.Runtime.Versioning; +using System.Threading.Tasks; +using Avalonia; +using Avalonia.Browser; +using Avalonia.ReactiveUI; +using ShellBottomCustomNavigator; + +[assembly: SupportedOSPlatform("browser")] + +internal sealed partial class Program +{ + private static Task Main(string[] args) => BuildAvaloniaApp() + .WithInterFont() + .UseReactiveUI() + .StartBrowserAppAsync("out"); + + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure(); +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Properties/launchSettings.json b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Properties/launchSettings.json new file mode 100644 index 0000000..bf2b532 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Properties/launchSettings.json @@ -0,0 +1,13 @@ +{ + "profiles": { + "ShellBottomCustomNavigator.Browser": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + }, + "applicationUrl": "https://localhost:5001;http://localhost:5000", + "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/debug?browser={browserInspectUri}" + } + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/ShellBottomCustomNavigator.Browser.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/ShellBottomCustomNavigator.Browser.csproj new file mode 100644 index 0000000..3c3aa50 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/ShellBottomCustomNavigator.Browser.csproj @@ -0,0 +1,21 @@ + + + net8.0 + browser-wasm + AppBundle\main.js + Exe + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/runtimeconfig.template.json b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/runtimeconfig.template.json new file mode 100644 index 0000000..c6990ba --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/runtimeconfig.template.json @@ -0,0 +1,11 @@ +{ + "wasmHostProperties": { + "perHostConfig": [ + { + "name": "browser", + "html-path": "index.html", + "Host": "browser" + } + ] + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/Program.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/Program.cs new file mode 100644 index 0000000..f7e8418 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/Program.cs @@ -0,0 +1,25 @@ +using System; +using Avalonia; +using Avalonia.ReactiveUI; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Desktop; + +sealed class Program +{ + // Initialization code. Don't use any Avalonia, third-party APIs or any + // SynchronizationContext-reliant code before AppMain is called: things aren't initialized + // yet and stuff might break. + [STAThread] + public static void Main(string[] args) => BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .WithInterFont() + .LogToTrace() + .UseReactiveUI() + .UseShell(); +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/ShellBottomCustomNavigator.Desktop.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/ShellBottomCustomNavigator.Desktop.csproj new file mode 100644 index 0000000..e06faf3 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/ShellBottomCustomNavigator.Desktop.csproj @@ -0,0 +1,25 @@ + + + WinExe + + net8.0 + enable + true + + + + app.manifest + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/app.manifest b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/app.manifest new file mode 100644 index 0000000..d75e229 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/app.manifest @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/AppDelegate.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/AppDelegate.cs new file mode 100644 index 0000000..759995f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/AppDelegate.cs @@ -0,0 +1,25 @@ +using Foundation; +using UIKit; +using Avalonia; +using Avalonia.Controls; +using Avalonia.iOS; +using Avalonia.Media; +using Avalonia.ReactiveUI; + +namespace ShellBottomCustomNavigator.iOS; + +// The UIApplicationDelegate for the application. This class is responsible for launching the +// User Interface of the application, as well as listening (and optionally responding) to +// application events from iOS. +[Register("AppDelegate")] +#pragma warning disable CA1711 // Identifiers should not have incorrect suffix +public partial class AppDelegate : AvaloniaAppDelegate +#pragma warning restore CA1711 // Identifiers should not have incorrect suffix +{ + protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) + { + return base.CustomizeAppBuilder(builder) + .WithInterFont() + .UseReactiveUI(); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Entitlements.plist b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Entitlements.plist new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Entitlements.plist @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Info.plist b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Info.plist new file mode 100644 index 0000000..7aa282d --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Info.plist @@ -0,0 +1,43 @@ + + + + + CFBundleDisplayName + ShellBottomCustomNavigator + CFBundleIdentifier + companyName.ShellBottomCustomNavigator + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + MinimumOSVersion + 13.0 + UIDeviceFamily + + 1 + 2 + + UILaunchStoryboardName + LaunchScreen + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Main.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Main.cs new file mode 100644 index 0000000..b041e18 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Main.cs @@ -0,0 +1,14 @@ +using UIKit; + +namespace ShellBottomCustomNavigator.iOS; + +public class Application +{ + // 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)); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Resources/LaunchScreen.xib b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Resources/LaunchScreen.xib new file mode 100644 index 0000000..9cf8b87 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Resources/LaunchScreen.xib @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/ShellBottomCustomNavigator.iOS.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/ShellBottomCustomNavigator.iOS.csproj new file mode 100644 index 0000000..ebb73cf --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/ShellBottomCustomNavigator.iOS.csproj @@ -0,0 +1,17 @@ + + + Exe + net8.0-ios + 13.0 + enable + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.sln b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.sln new file mode 100644 index 0000000..ae18379 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.sln @@ -0,0 +1,54 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32811.315 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator", "ShellBottomCustomNavigator\ShellBottomCustomNavigator.csproj", "{EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.Desktop", "ShellBottomCustomNavigator.Desktop\ShellBottomCustomNavigator.Desktop.csproj", "{ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.Browser", "ShellBottomCustomNavigator.Browser\ShellBottomCustomNavigator.Browser.csproj", "{1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.iOS", "ShellBottomCustomNavigator.iOS\ShellBottomCustomNavigator.iOS.csproj", "{EBD9022F-BC83-4846-9A11-6F7F3772DC64}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.Android", "ShellBottomCustomNavigator.Android\ShellBottomCustomNavigator.Android.csproj", "{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3DA99C4E-89E3-4049-9C22-0A7EC60D83D8}" + ProjectSection(SolutionItems) = preProject + Directory.Build.props = Directory.Build.props + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.Build.0 = Release|Any CPU + {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.Build.0 = Release|Any CPU + {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.Build.0 = Release|Any CPU + {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.Build.0 = Release|Any CPU + {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {83CB65B8-011F-4ED7-BCD3-A6CFA935EF7E} + EndGlobalSection +EndGlobal diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml new file mode 100644 index 0000000..d48c664 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml.cs new file mode 100644 index 0000000..04143d2 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml.cs @@ -0,0 +1,40 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; +using Projektanker.Icons.Avalonia; +using Projektanker.Icons.Avalonia.FontAwesome; +using ShellBottomCustomNavigator.ViewModels; +using ShellBottomCustomNavigator.Views; + +namespace ShellBottomCustomNavigator; + +public partial class App : Application +{ + public override void Initialize() + { + IconProvider.Current + .Register(); + + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + desktop.MainWindow = new MainWindow + { + DataContext = new MainViewModel() + }; + } + else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform) + { + singleViewPlatform.MainView = new MainView + { + DataContext = new MainViewModel() + }; + } + + base.OnFrameworkInitializationCompleted(); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/Icons/truck-fast-solid.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/Icons/truck-fast-solid.png new file mode 100644 index 0000000..6d9b431 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/Icons/truck-fast-solid.png differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/avalonia-logo.ico b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/avalonia-logo.ico new file mode 100644 index 0000000..da8d49f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/avalonia-logo.ico differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/Donna_Moore.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/Donna_Moore.jpg new file mode 100644 index 0000000..5450653 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/Donna_Moore.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1000.jpg new file mode 100644 index 0000000..913e2bc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1000.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1001.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1001.jpg new file mode 100644 index 0000000..913e2bc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1001.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1002.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1002.jpg new file mode 100644 index 0000000..913e2bc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1002.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1003.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1003.jpg new file mode 100644 index 0000000..913e2bc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1003.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1007.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1007.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1007.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1010.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1010.jpg new file mode 100644 index 0000000..f08b42e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1010.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1011.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1011.jpg new file mode 100644 index 0000000..f08b42e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1011.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1020.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1020.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1020.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1021.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1021.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1021.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1022.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1022.jpg new file mode 100644 index 0000000..f0ad322 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1022.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1023.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1023.jpg new file mode 100644 index 0000000..f0ad322 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1023.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1030.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1030.jpg new file mode 100644 index 0000000..982af03 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1030.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1031.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1031.jpg new file mode 100644 index 0000000..982af03 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1031.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1032.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1032.jpg new file mode 100644 index 0000000..04b1536 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1032.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1035.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1035.jpg new file mode 100644 index 0000000..d898367 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1035.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1036.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1036.jpg new file mode 100644 index 0000000..855ad73 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1036.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1037.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1037.jpg new file mode 100644 index 0000000..04b1536 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1037.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1040.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1040.jpg new file mode 100644 index 0000000..e3c77df Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1040.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1041.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1041.jpg new file mode 100644 index 0000000..b947564 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1041.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1042.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1042.jpg new file mode 100644 index 0000000..b8b16b1 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1042.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1050.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1050.jpg new file mode 100644 index 0000000..18cbe54 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1050.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1051.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1051.jpg new file mode 100644 index 0000000..aea5c63 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1051.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1052.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1052.jpg new file mode 100644 index 0000000..2c97261 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1052.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1055.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1055.jpg new file mode 100644 index 0000000..4b0c565 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1055.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1056.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1056.jpg new file mode 100644 index 0000000..653474a Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1056.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1060.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1060.jpg new file mode 100644 index 0000000..ebad8d0 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1060.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1061.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1061.jpg new file mode 100644 index 0000000..4391415 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1061.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1062.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1062.jpg new file mode 100644 index 0000000..ac8ada2 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1062.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1063.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1063.jpg new file mode 100644 index 0000000..62b6d3f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1063.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1064.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1064.jpg new file mode 100644 index 0000000..2828e4b Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1064.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1065.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1065.jpg new file mode 100644 index 0000000..babb2f1 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1065.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1066.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1066.jpg new file mode 100644 index 0000000..15945de Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1066.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1067.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1067.jpg new file mode 100644 index 0000000..3e4c9f4 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1067.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1068.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1068.jpg new file mode 100644 index 0000000..8c13f36 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1068.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1069.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1069.jpg new file mode 100644 index 0000000..9b11b77 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1069.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1070.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1070.jpg new file mode 100644 index 0000000..c036e66 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1070.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1071.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1071.jpg new file mode 100644 index 0000000..c036e66 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1071.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1072.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1072.jpg new file mode 100644 index 0000000..dd04a46 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1072.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1073.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1073.jpg new file mode 100644 index 0000000..dd04a46 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1073.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1080.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1080.jpg new file mode 100644 index 0000000..d40da13 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1080.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1081.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1081.jpg new file mode 100644 index 0000000..d40da13 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1081.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1082.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1082.jpg new file mode 100644 index 0000000..80ef1fc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1082.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1083.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1083.jpg new file mode 100644 index 0000000..80ef1fc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1083.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1085.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1085.jpg new file mode 100644 index 0000000..61ecdaf Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1085.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1090.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1090.jpg new file mode 100644 index 0000000..d3ddb55 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1090.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1091.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1091.jpg new file mode 100644 index 0000000..898b20b Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1091.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1092.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1092.jpg new file mode 100644 index 0000000..d3ddb55 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1092.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1095.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1095.jpg new file mode 100644 index 0000000..71e41cf Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1095.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1096.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1096.jpg new file mode 100644 index 0000000..7a77b4f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1096.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1097.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1097.jpg new file mode 100644 index 0000000..4b22e53 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1097.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1100.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1100.jpg new file mode 100644 index 0000000..4b605c1 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1100.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1101.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1101.jpg new file mode 100644 index 0000000..5737952 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1101.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1102.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1102.jpg new file mode 100644 index 0000000..1f88bea Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1102.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1103.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1103.jpg new file mode 100644 index 0000000..da09dcc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1103.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1104.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1104.jpg new file mode 100644 index 0000000..4b605c1 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1104.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1105.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1105.jpg new file mode 100644 index 0000000..5737952 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1105.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1106.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1106.jpg new file mode 100644 index 0000000..1f88bea Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1106.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1107.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1107.jpg new file mode 100644 index 0000000..da09dcc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1107.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1110.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1110.jpg new file mode 100644 index 0000000..a02ed75 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1110.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1111.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1111.jpg new file mode 100644 index 0000000..a02ed75 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1111.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1112.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1112.jpg new file mode 100644 index 0000000..66f04a4 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1112.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1113.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1113.jpg new file mode 100644 index 0000000..8392225 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1113.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1114.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1114.jpg new file mode 100644 index 0000000..fe37829 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1114.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1115.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1115.jpg new file mode 100644 index 0000000..9ec7441 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1115.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1116.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1116.jpg new file mode 100644 index 0000000..9ec7441 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1116.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1117.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1117.jpg new file mode 100644 index 0000000..9ec7441 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1117.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1118.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1118.jpg new file mode 100644 index 0000000..70542e5 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1118.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1119.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1119.jpg new file mode 100644 index 0000000..a2b3930 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1119.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1120.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1120.jpg new file mode 100644 index 0000000..f6157a4 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1120.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1137.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1137.jpg new file mode 100644 index 0000000..855ad73 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1137.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1138.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1138.jpg new file mode 100644 index 0000000..788c000 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1138.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1210.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1210.jpg new file mode 100644 index 0000000..257d5eb Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1210.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1251.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1251.jpg new file mode 100644 index 0000000..da40954 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1251.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1252.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1252.jpg new file mode 100644 index 0000000..5deae23 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1252.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1253.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1253.jpg new file mode 100644 index 0000000..775cb12 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1253.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1254.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1254.jpg new file mode 100644 index 0000000..2659039 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1254.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1255.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1255.jpg new file mode 100644 index 0000000..2fe0457 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1255.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1256.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1256.jpg new file mode 100644 index 0000000..287abab Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1256.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1257.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1257.jpg new file mode 100644 index 0000000..e2b2ee9 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1257.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1258.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1258.jpg new file mode 100644 index 0000000..22a7ec4 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1258.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1500.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1500.jpg new file mode 100644 index 0000000..257d5eb Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1500.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1501.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1501.jpg new file mode 100644 index 0000000..257d5eb Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1501.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1502.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1502.jpg new file mode 100644 index 0000000..1e5d2c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1502.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1600.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1600.jpg new file mode 100644 index 0000000..257d5eb Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1600.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1601.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1601.jpg new file mode 100644 index 0000000..257d5eb Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1601.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1602.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1602.jpg new file mode 100644 index 0000000..1e5d2c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1602.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1603.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1603.jpg new file mode 100644 index 0000000..1e5d2c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1603.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2000.jpg new file mode 100644 index 0000000..7b60f3b Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2000.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2001.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2001.jpg new file mode 100644 index 0000000..a6975b2 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2001.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2002.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2002.jpg new file mode 100644 index 0000000..a6975b2 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2002.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2020.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2020.jpg new file mode 100644 index 0000000..7d7a7c6 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2020.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2025.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2025.jpg new file mode 100644 index 0000000..c2dc494 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2025.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2026.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2026.jpg new file mode 100644 index 0000000..51bff3b Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2026.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2027.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2027.jpg new file mode 100644 index 0000000..524a49b Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2027.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100-large.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100-large.jpg new file mode 100644 index 0000000..81c4bab Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100-large.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100.jpg new file mode 100644 index 0000000..f5feb4e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6101.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6101.jpg new file mode 100644 index 0000000..f5feb4e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6101.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6102.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6102.jpg new file mode 100644 index 0000000..f5feb4e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6102.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6110.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6110.jpg new file mode 100644 index 0000000..10f93fa Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6110.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6111.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6111.jpg new file mode 100644 index 0000000..7b60f3b Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6111.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120-large.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120-large.jpg new file mode 100644 index 0000000..d98350f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120-large.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120.jpg new file mode 100644 index 0000000..98568e8 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6121.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6121.jpg new file mode 100644 index 0000000..5c64415 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6121.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6122.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6122.jpg new file mode 100644 index 0000000..3e9679d Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6122.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6123.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6123.jpg new file mode 100644 index 0000000..3e9679d Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6123.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6130.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6130.jpg new file mode 100644 index 0000000..b87341f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6130.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6131.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6131.jpg new file mode 100644 index 0000000..996ff0f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6131.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6132.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6132.jpg new file mode 100644 index 0000000..04b1536 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6132.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7000.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7000.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7010.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7010.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7010.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7020.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7020.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7020.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7030.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7030.jpg new file mode 100644 index 0000000..347e0c3 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7030.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777-large.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777-large.jpg new file mode 100644 index 0000000..a22e9a2 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777-large.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777.jpg new file mode 100644 index 0000000..e77e1be Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8000.jpg new file mode 100644 index 0000000..bf3184a Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8000.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8001.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8001.jpg new file mode 100644 index 0000000..87720aa Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8001.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8002.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8002.jpg new file mode 100644 index 0000000..913e2bc Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8002.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8003.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8003.jpg new file mode 100644 index 0000000..f08b42e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8003.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9991.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9991.jpg new file mode 100644 index 0000000..83f940f Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9991.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9992.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9992.jpg new file mode 100644 index 0000000..6fd9583 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9992.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9993.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9993.jpg new file mode 100644 index 0000000..dfee60a Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9993.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9994.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9994.jpg new file mode 100644 index 0000000..6b8d07e Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9994.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9995.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9995.jpg new file mode 100644 index 0000000..0b113b9 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9995.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9996.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9996.jpg new file mode 100644 index 0000000..72c754c Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9996.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9997.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9997.jpg new file mode 100644 index 0000000..065cbda Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9997.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9998.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9998.jpg new file mode 100644 index 0000000..f0ad322 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9998.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9999.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9999.jpg new file mode 100644 index 0000000..b0720ab Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9999.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/John_Miller.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/John_Miller.png new file mode 100644 index 0000000..9504c70 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/John_Miller.png differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/PF-1000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/PF-1000.jpg new file mode 100644 index 0000000..e27e20c Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/PF-1000.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273303_low_jpg_srgb.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273303_low_jpg_srgb.jpg new file mode 100644 index 0000000..931957c Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273303_low_jpg_srgb.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273537_low_jpg_srgb.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273537_low_jpg_srgb.jpg new file mode 100644 index 0000000..c598b2a Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273537_low_jpg_srgb.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/274731_high_jpg_eci_rgb.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/274731_high_jpg_eci_rgb.jpg new file mode 100644 index 0000000..8f478bb Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/274731_high_jpg_eci_rgb.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/johnDoe.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/johnDoe.png new file mode 100644 index 0000000..6da9836 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/johnDoe.png differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants.jpg new file mode 100644 index 0000000..0d713da Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants_small.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants_small.jpg new file mode 100644 index 0000000..6462043 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants_small.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/elephant.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/elephant.jpg new file mode 100644 index 0000000..489db21 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/elephant.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/flatFish.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/flatFish.jpg new file mode 100644 index 0000000..c0a8d18 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/flatFish.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/horses.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/horses.jpg new file mode 100644 index 0000000..9f4894d Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/horses.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/screw.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/screw.jpg new file mode 100644 index 0000000..7200587 Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/screw.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/omid-img.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/omid-img.jpg new file mode 100644 index 0000000..f5535ec Binary files /dev/null and b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/omid-img.jpg differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Converters/BitmapAssetValueConverter.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Converters/BitmapAssetValueConverter.cs new file mode 100644 index 0000000..ec97ead --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Converters/BitmapAssetValueConverter.cs @@ -0,0 +1,30 @@ +using System; +using System.Globalization; +using Avalonia.Data.Converters; +using Avalonia.Media.Imaging; +using ShellBottomCustomNavigator.Helpers; + +namespace ShellBottomCustomNavigator.Converters; + +public class BitmapAssetValueConverter : IValueConverter +{ + public static BitmapAssetValueConverter Instance = new BitmapAssetValueConverter(); + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value == null) + return null; + + if (value is string rawUri && targetType.IsAssignableFrom(typeof(Bitmap))) + { + return rawUri.GetBitmapFromAssets(); + } + + throw new NotSupportedException(); + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helper.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helper.cs new file mode 100644 index 0000000..f94dca3 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helper.cs @@ -0,0 +1,18 @@ +using Avalonia.Controls; +using Avalonia.VisualTree; + +namespace ShellBottomCustomNavigator; +public static class Helper +{ + public static void SetCarouselToTabControl(Carousel carousel, bool v) + { + var tabControl = carousel.FindAncestorOfType(); + if (tabControl == null) + { + carousel.AttachedToVisualTree += delegate { SetCarouselToTabControl(carousel, true); }; + return; + } + + carousel.ItemsSource = tabControl.Items; + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helpers/ImageHelper.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helpers/ImageHelper.cs new file mode 100644 index 0000000..e8b3b23 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helpers/ImageHelper.cs @@ -0,0 +1,33 @@ +using System; +using Avalonia; +using Avalonia.Media.Imaging; +using Avalonia.Platform; +using Splat; + +namespace ShellBottomCustomNavigator.Helpers; + +public static class ImageHelper +{ + public static Bitmap? GetBitmapFromAssets(this string rawUri) + { + Uri uri; + + // Allow for assembly overrides + if (rawUri.StartsWith("avares://")) + { + uri = new Uri(rawUri); + } + else + { + var assemblyName = typeof(ImageHelper).Assembly.GetName().Name; + uri = new Uri($"avares://{assemblyName}/{rawUri.TrimStart('/')}"); + } + + + //var assets = Locator.Current.GetService(); + using var asset = AssetLoader.Open(uri); + + return new Bitmap(asset); + } + +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/DummyPlace.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/DummyPlace.cs new file mode 100644 index 0000000..8fede11 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/DummyPlace.cs @@ -0,0 +1,24 @@ +using System; +using System.IO; +using System.Reflection; +using Newtonsoft.Json; + +namespace ShellBottomCustomNavigator.Models; + +public static class DummyPlace +{ + public static ProductDto[] Products { get; } + + public static string GetProductsJson() + { + var assembly = Assembly.GetExecutingAssembly(); + using var stream = assembly.GetManifestResourceStream("ShellBottomCustomNavigator.Resources.Products.json"); + using var reader = new StreamReader(stream); + return reader.ReadToEnd(); + } + + static DummyPlace() + { + Products = JsonConvert.DeserializeObject(GetProductsJson()) ?? throw new Exception("Where is my resource?!"); + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/ProductDto.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/ProductDto.cs new file mode 100644 index 0000000..be45086 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/ProductDto.cs @@ -0,0 +1,57 @@ +using Newtonsoft.Json; + +namespace ShellBottomCustomNavigator.Models; + +public partial class ProductDto +{ + [JsonProperty("ProductId")] + public string ProductId { get; set; } + + [JsonProperty("Category")] + public string Category { get; set; } + + [JsonProperty("MainCategory")] + public string MainCategory { get; set; } + + [JsonProperty("SupplierName")] + public string SupplierName { get; set; } + + [JsonProperty("Weight")] + public string Weight { get; set; } + + [JsonProperty("WeightUnit")] + public string WeightUnit { get; set; } + + [JsonProperty("ShortDescription")] + public string ShortDescription { get; set; } + + [JsonProperty("Name")] + public string Name { get; set; } + + [JsonProperty("PictureUrl")] + public string PictureUrl { get; set; } + + [JsonProperty("Status")] + public string Status { get; set; } + + [JsonProperty("Price")] + // [JsonConverter(typeof(ParseStringConverter))] + public decimal Price { get; set; } + + [JsonProperty("DimensionWidth")] + // [JsonConverter(typeof(ParseStringConverter))] + public double DimensionWidth { get; set; } + + [JsonProperty("DimensionDepth")] + // [JsonConverter(typeof(ParseStringConverter))] + public double DimensionDepth { get; set; } + + [JsonProperty("DimensionHeight")] + public double DimensionHeight { get; set; } + + [JsonProperty("Unit")] + public string Unit { get; set; } + + [JsonProperty("CurrencyCode")] + public string CurrencyCode { get; set; } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Resources/Products.json b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Resources/Products.json new file mode 100644 index 0000000..38fd104 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Resources/Products.json @@ -0,0 +1,2217 @@ +[ + { + "ProductId": "HT-1000", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Very Best Screens", + "Weight": "4.2", + "WeightUnit": "KG", + "ShortDescription": "Notebook Basic 15 with 2,80 GHz quad core, 15\" LCD, 4 GB DDR3 RAM, 500 GB Hard Disc, Windows 8 Pro", + "Name": "Notebook Basic 15", + "PictureUrl": "/Assets/images/HT-1000.jpg", + "Status": "A", + "Price": "956", + "DimensionWidth": "30", + "DimensionDepth": "18", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + + }, + { + "ProductId": "HT-1001", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Very Best Screens", + "Weight": "4.5", + "WeightUnit": "KG", + "ShortDescription": "Notebook Basic 17 with 2,80 GHz quad core, 17\" LCD, 4 GB DDR3 RAM, 500 GB Hard Disc, Windows 8 Pro", + "Name": "Notebook Basic 17", + "PictureUrl": "/Assets/images/HT-1001.jpg", + "Status": "A", + "Price": "1249", + "DimensionWidth": "29", + "DimensionDepth": "17", + "DimensionHeight": "3.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1002", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Very Best Screens", + "Weight": "4.2", + "WeightUnit": "KG", + "ShortDescription": "Notebook Basic 18 with 2,80 GHz quad core, 18\" LCD, 8 GB DDR3 RAM, 1000 GB Hard Disc, Windows 8 Pro", + "Name": "Notebook Basic 18", + "PictureUrl": "/Assets/images/HT-1002.jpg", + "Status": "A", + "Price": "1570", + "DimensionWidth": "28", + "DimensionDepth": "19", + "DimensionHeight": "2.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1003", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Smartcards", + "Weight": "4.2", + "WeightUnit": "KG", + "ShortDescription": "Notebook Basic 19 with 2,80 GHz quad core, 19\" LCD, 8 GB DDR3 RAM, 1000 GB Hard Disc, Windows 8 Pro", + "Name": "Notebook Basic 19", + "PictureUrl": "/Assets/images/HT-1003.jpg", + "Status": "A", + "Price": "1650", + "DimensionWidth": "32", + "DimensionDepth": "21", + "DimensionHeight": "4", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1007", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.2", + "WeightUnit": "KG", + "ShortDescription": "Digital Organizer with State-of-the-Art Storage Encryption", + "Name": "ITelO Vault", + "PictureUrl": "/Assets/images/HT-1007.jpg", + "Status": "D", + "Price": "299", + "DimensionWidth": "32", + "DimensionDepth": "22", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1010", + "Category": "AC", + "MainCategory": "Computer Systems", + "SupplierName": "Very Best Screens", + "Weight": "4.3", + "WeightUnit": "KG", + "ShortDescription": "Notebook Professional 15 with 2,80 GHz quad core, 15\" Multitouch LCD, 8 GB DDR3 RAM, 500 GB SSD - DVD-Writer (DVD-R/+R/-RW/-RAM),Windows 8 Pro", + "Name": "Notebook Professional 15", + "PictureUrl": "/Assets/images/HT-1010.jpg", + "Status": "A", + "Price": "1999", + "DimensionWidth": "33", + "DimensionDepth": "20", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1011", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Very Best Screens", + "Weight": "4.1", + "WeightUnit": "KG", + "ShortDescription": "Notebook Professional 17 with 2,80 GHz quad core, 17\" Multitouch LCD, 8 GB DDR3 RAM, 500 GB SSD - DVD-Writer (DVD-R/+R/-RW/-RAM),Windows 8 Pro", + "Name": "Notebook Professional 17", + "PictureUrl": "/Assets/images/HT-1011.jpg", + "Status": "O", + "Price": "2299", + "DimensionWidth": "33", + "DimensionDepth": "23", + "DimensionHeight": "2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1020", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.16", + "WeightUnit": "KG", + "ShortDescription": "Digital Organizer with State-of-the-Art Encryption for Storage and Network Communications", + "Name": "ITelO Vault Net", + "PictureUrl": "/Assets/images/HT-1020.jpg", + "Status": "O", + "Price": "459", + "DimensionWidth": "10", + "DimensionDepth": "1.8", + "DimensionHeight": "17", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1021", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.18", + "WeightUnit": "KG", + "ShortDescription": "Digital Organizer with State-of-the-Art Encryption for Storage and Secure Stellite Link", + "Name": "ITelO Vault SAT", + "PictureUrl": "/Assets/images/HT-1021.jpg", + "Status": "D", + "Price": "149", + "DimensionWidth": "11", + "DimensionDepth": "1.7", + "DimensionHeight": "18", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1022", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.2", + "WeightUnit": "KG", + "ShortDescription": "32 GB Digital Assistant with high-resolution color screen", + "Name": "Comfort Easy", + "PictureUrl": "/Assets/images/HT-1022.jpg", + "Status": "A", + "Price": "1679", + "DimensionWidth": "84", + "DimensionDepth": "1.5", + "DimensionHeight": "14", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1023", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.8", + "WeightUnit": "KG", + "ShortDescription": "64 GB Digital Assistant with high-resolution color screen and synthesized voice output", + "Name": "Comfort Senior", + "PictureUrl": "/Assets/images/HT-1023.jpg", + "Status": "A", + "Price": "512", + "DimensionWidth": "80", + "DimensionDepth": "1.6", + "DimensionHeight": "13", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1030", + "Category": "FT", + "MainCategory": "Computer Components", + "SupplierName": "Very Best Screens", + "Weight": "21", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 1920 x 1080 @ 85Hz, Dot Pitch: 0.27mm", + "Name": "Ergo Screen E-I", + "PictureUrl": "/Assets/images/HT-1030.jpg", + "Status": "D", + "Price": "230", + "DimensionWidth": "37", + "DimensionDepth": "12", + "DimensionHeight": "36", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1031", + "Category": "FT", + "MainCategory": "Computer Components", + "SupplierName": "Very Best Screens", + "Weight": "21", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 1920 x 1200 @ 85Hz, Dot Pitch: 0.26mm", + "Name": "Ergo Screen E-II", + "PictureUrl": "/Assets/images/HT-1031.jpg", + "Status": "O", + "Price": "285", + "DimensionWidth": "40.8", + "DimensionDepth": "19", + "DimensionHeight": "43", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1032", + "Category": "FT", + "MainCategory": "Computer Components", + "SupplierName": "Very Best Screens", + "Weight": "21", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 2560 x 1440 @ 85Hz, Dot Pitch: 0.25mm", + "Name": "Ergo Screen E-III", + "PictureUrl": "/Assets/images/HT-1032.jpg", + "Status": "A", + "Price": "345", + "DimensionWidth": "40.8", + "DimensionDepth": "19", + "DimensionHeight": "43", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1035", + "Category": "FT", + "MainCategory": "Computer Components", + "SupplierName": "Very Best Screens", + "Weight": "14", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 1600 x 1200 @ 85Hz, Dot Pitch: 0.24mm", + "Name": "Flat Basic", + "PictureUrl": "/Assets/images/HT-1035.jpg", + "Status": "A", + "Price": "399", + "DimensionWidth": "39", + "DimensionDepth": "20", + "DimensionHeight": "41", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1036", + "Category": "FT", + "MainCategory": "Computer Components", + "SupplierName": "Very Best Screens", + "Weight": "15", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 2048 x 1080 @ 85Hz, Dot Pitch: 0.26mm", + "Name": "Flat Future", + "PictureUrl": "/Assets/images/HT-1036.jpg", + "Status": "O", + "Price": "430", + "DimensionWidth": "45", + "DimensionDepth": "26", + "DimensionHeight": "46", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1037", + "Category": "FT", + "MainCategory": "Computer Components", + "SupplierName": "Very Best Screens", + "Weight": "17", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 2016 x 1512 @ 85Hz, Dot Pitch: 0.24mm", + "Name": "Flat XL", + "PictureUrl": "/Assets/images/HT-1037.jpg", + "Status": "A", + "Price": "1230", + "DimensionWidth": "54.5", + "DimensionDepth": "22.1", + "DimensionHeight": "39.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1040", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Alpha Printers", + "Weight": "32", + "WeightUnit": "KG", + "ShortDescription": "Print 2400 dpi image quality color documents at speeds of up to 32 ppm (color) or 36 ppm (monochrome), letter/A4. Powerful 500 MHz processor, 512MB of memory", + "Name": "Laser Professional Eco", + "PictureUrl": "/Assets/images/HT-1040.jpg", + "Status": "A", + "Price": "830", + "DimensionWidth": "51", + "DimensionDepth": "46", + "DimensionHeight": "30", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1041", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Alpha Printers", + "Weight": "23", + "WeightUnit": "KG", + "ShortDescription": "Up to 22 ppm color or 24 ppm monochrome A4/letter, powerful 500 MHz processor and 128MB of memory", + "Name": "Laser Basic", + "PictureUrl": "/Assets/images/HT-1041.jpg", + "Status": "A", + "Price": "490", + "DimensionWidth": "48", + "DimensionDepth": "42", + "DimensionHeight": "26", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1042", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Alpha Printers", + "Weight": "17", + "WeightUnit": "KG", + "ShortDescription": "Print up to 25 ppm letter and 24 ppm A4 color or monochrome, with a first-page-out-time of less than 13 seconds for monochrome and less than 15 seconds for color", + "Name": "Laser Allround", + "PictureUrl": "/Assets/images/HT-1042.jpg", + "Status": "A", + "Price": "349", + "DimensionWidth": "53", + "DimensionDepth": "50", + "DimensionHeight": "65", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1050", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Alpha Printers", + "Weight": "3", + "WeightUnit": "KG", + "ShortDescription": "4800 dpi x 1200 dpi - up to 35 ppm (mono) / up to 34 ppm (color) - capacity: 250 sheets - Hi-Speed USB, Ethernet", + "Name": "Ultra Jet Super Color", + "PictureUrl": "/Assets/images/HT-1050.jpg", + "Status": "A", + "Price": "139", + "DimensionWidth": "41", + "DimensionDepth": "41", + "DimensionHeight": "28", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1051", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Printer for All", + "Weight": "1.9", + "WeightUnit": "KG", + "ShortDescription": "1000 dpi x 1000 dpi - up to 35 ppm (mono) / up to 34 ppm (color) - capacity: 250 sheets - Hi-Speed USB - excellent dimensions for the small office", + "Name": "Ultra Jet Mobile", + "PictureUrl": "/Assets/images/HT-1051.jpg", + "Status": "A", + "Price": "99", + "DimensionWidth": "46", + "DimensionDepth": "32", + "DimensionHeight": "25", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1052", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Printer for All", + "Weight": "18", + "WeightUnit": "KG", + "ShortDescription": "4800 dpi x 1200 dpi - up to 35 ppm (mono) / up to 34 ppm (color) - capacity: 250 sheets - Hi-Speed USB2.0, Ethernet", + "Name": "Ultra Jet Super Highspeed", + "PictureUrl": "/Assets/images/HT-1052.jpg", + "Status": "A", + "Price": "170", + "DimensionWidth": "41", + "DimensionDepth": "41", + "DimensionHeight": "28", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1055", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Printer for All", + "Weight": "6.3", + "WeightUnit": "KG", + "ShortDescription": "1000 dpi x 1000 dpi - up to 16 ppm (mono) / up to 15 ppm (color)- capacity 80 sheets - scanner (216 x 297 mm, 1200dpi x 2400dpi)", + "Name": "Multi Print", + "PictureUrl": "/Assets/images/HT-1055.jpg", + "Status": "A", + "Price": "99", + "DimensionWidth": "55", + "DimensionDepth": "45", + "DimensionHeight": "29", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1056", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Printer for All", + "Weight": "4.3", + "WeightUnit": "KG", + "ShortDescription": "1200 dpi x 1200 dpi - up to 25 ppm (mono) / up to 24 ppm (color)- capacity 80 sheets - scanner (216 x 297 mm, 2400dpi x 4800dpi, high resolution)", + "Name": "Multi Color", + "PictureUrl": "/Assets/images/HT-1056.jpg", + "Status": "A", + "Price": "119", + "DimensionWidth": "51", + "DimensionDepth": "41.3", + "DimensionHeight": "22", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1060", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "0.09", + "WeightUnit": "KG", + "ShortDescription": "Cordless Optical USB MI, Laptop, Color: Black, Plug&Play", + "Name": "Cordless Mouse", + "PictureUrl": "/Assets/images/HT-1060.jpg", + "Status": "O", + "Price": "9", + "DimensionWidth": "6", + "DimensionDepth": "14.5", + "DimensionHeight": "3.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1061", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "0.09", + "WeightUnit": "KG", + "ShortDescription": "Optical USB, PS/2 Mouse, Color: Blue, 3-button-functionality (incl. Scroll wheel)", + "Name": "Speed Mouse", + "PictureUrl": "/Assets/images/HT-1061.jpg", + "Status": "D", + "Price": "7", + "DimensionWidth": "7", + "DimensionDepth": "15", + "DimensionHeight": "3.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1062", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "0.03", + "WeightUnit": "KG", + "ShortDescription": "Optical USB Mouse, Color: Red, 5-button-functionality(incl. Scroll wheel), Plug&Play", + "Name": "Track Mouse", + "PictureUrl": "/Assets/images/HT-1062.jpg", + "Status": "O", + "Price": "11", + "DimensionWidth": "3", + "DimensionDepth": "7", + "DimensionHeight": "4", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1063", + "Category": "KB", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "2.1", + "WeightUnit": "KG", + "ShortDescription": "Ergonomic USB Keyboard for Desktop, Plug&Play", + "Name": "Ergonomic Keyboard", + "PictureUrl": "/Assets/images/HT-1063.jpg", + "Status": "D", + "Price": "14", + "DimensionWidth": "50", + "DimensionDepth": "21", + "DimensionHeight": "3.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1064", + "Category": "KB", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "1.8", + "WeightUnit": "KG", + "ShortDescription": "Corded Keyboard with special keys for Internet Usability, USB", + "Name": "Internet Keyboard", + "PictureUrl": "/Assets/images/HT-1064.jpg", + "Status": "A", + "Price": "16", + "DimensionWidth": "52", + "DimensionDepth": "25", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1065", + "Category": "KB", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "2.3", + "WeightUnit": "KG", + "ShortDescription": "Corded Ergonomic Keyboard with special keys for Media Usability, USB", + "Name": "Media Keyboard", + "PictureUrl": "/Assets/images/HT-1065.jpg", + "Status": "A", + "Price": "26", + "DimensionWidth": "51.4", + "DimensionDepth": "23", + "DimensionHeight": "4", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1066", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "80", + "WeightUnit": "G", + "ShortDescription": "Nice mouse pad with ITelO Logo", + "Name": "Mousepad", + "PictureUrl": "/Assets/images/HT-1066.jpg", + "Status": "A", + "Price": "6.99", + "DimensionWidth": "15", + "DimensionDepth": "6", + "DimensionHeight": "0.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1067", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Oxynum", + "Weight": "80", + "WeightUnit": "G", + "ShortDescription": "Ergonomic mouse pad with ITelO Logo", + "Name": "Ergo Mousepad", + "PictureUrl": "/Assets/images/HT-1067.jpg", + "Status": "O", + "Price": "8.99", + "DimensionWidth": "15", + "DimensionDepth": "6", + "DimensionHeight": "0.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1068", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "90", + "WeightUnit": "G", + "ShortDescription": "ITelO Mousepad Special Edition", + "Name": "Designer Mousepad", + "PictureUrl": "/Assets/images/HT-1068.jpg", + "Status": "A", + "Price": "12.99", + "DimensionWidth": "24", + "DimensionDepth": "24", + "DimensionHeight": "0.6", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1069", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Fasttech", + "Weight": "45", + "WeightUnit": "G", + "ShortDescription": "Universal card reader", + "Name": "Universal card reader", + "PictureUrl": "/Assets/images/HT-1069.jpg", + "Status": "O", + "Price": "14", + "DimensionWidth": "6", + "DimensionDepth": "6", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1070", + "Category": "GC", + "MainCategory": "Computer Components", + "SupplierName": "Ultrasonic United", + "Weight": "0.255", + "WeightUnit": "KG", + "ShortDescription": "Proctra X: PCI-E GDDR5 3072MB", + "Name": "Proctra X", + "PictureUrl": "/Assets/images/HT-1070.jpg", + "Status": "A", + "Price": "70.9", + "DimensionWidth": "22", + "DimensionDepth": "35", + "DimensionHeight": "17", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1071", + "Category": "GC", + "MainCategory": "Computer Components", + "SupplierName": "Ultrasonic United", + "Weight": "0.3", + "WeightUnit": "KG", + "ShortDescription": "Gladiator XLN: PCI-E GDDR5 3072MB DVI Out, TV Out low-noise", + "Name": "Gladiator MX", + "PictureUrl": "/Assets/images/HT-1071.jpg", + "Status": "A", + "Price": "81.7", + "DimensionWidth": "22", + "DimensionDepth": "35", + "DimensionHeight": "17", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1072", + "Category": "GC", + "MainCategory": "Computer Components", + "SupplierName": "Ultrasonic United", + "Weight": "0.4", + "WeightUnit": "KG", + "ShortDescription": "Hurricane GX: PCI-E 691 GFLOPS game-optimized", + "Name": "Hurricane GX", + "PictureUrl": "/Assets/images/HT-1072.jpg", + "Status": "A", + "Price": "101.2", + "DimensionWidth": "22", + "DimensionDepth": "35", + "DimensionHeight": "17", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1073", + "Category": "GC", + "MainCategory": "Computer Components", + "SupplierName": "Smartcards", + "Weight": "0.4", + "WeightUnit": "KG", + "ShortDescription": "Hurricane GX/LN: PCI-E 691 GFLOPS game-optimized, low-noise.", + "Name": "Hurricane GX/LN", + "PictureUrl": "/Assets/images/HT-1073.jpg", + "Status": "A", + "Price": "139.99", + "DimensionWidth": "22", + "DimensionDepth": "35", + "DimensionHeight": "17", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1080", + "Category": "SC", + "MainCategory": "Printers and Scanners", + "SupplierName": "Printer for All", + "Weight": "2.3", + "WeightUnit": "KG", + "ShortDescription": "Flatbed scanner - 9.600 × 9.600 dpi - 216 x 297 mm - Hi-Speed USB - Bluetooth", + "Name": "Photo Scan", + "PictureUrl": "/Assets/images/HT-1080.jpg", + "Status": "A", + "Price": "129", + "DimensionWidth": "34", + "DimensionDepth": "48", + "DimensionHeight": "5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1081", + "Category": "SC", + "MainCategory": "Printers and Scanners", + "SupplierName": "Printer for All", + "Weight": "2.4", + "WeightUnit": "KG", + "ShortDescription": "Flatbed scanner - 9.600 × 9.600 dpi - 216 x 297 mm - SCSI for backward compatibility", + "Name": "Power Scan", + "PictureUrl": "/Assets/images/HT-1081.jpg", + "Status": "A", + "Price": "89", + "DimensionWidth": "31", + "DimensionDepth": "43", + "DimensionHeight": "7", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1082", + "Category": "SC", + "MainCategory": "Printers and Scanners", + "SupplierName": "Printer for All", + "Weight": "3.2", + "WeightUnit": "KG", + "ShortDescription": "Flatbed scanner - Letter - 2400 dpi x 2400 dpi - 216 x 297 mm - add-on module", + "Name": "Jet Scan Professional", + "PictureUrl": "/Assets/images/HT-1082.jpg", + "Status": "A", + "Price": "169", + "DimensionWidth": "33", + "DimensionDepth": "41", + "DimensionHeight": "12", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1083", + "Category": "SC", + "MainCategory": "Printers and Scanners", + "SupplierName": "Printer for All", + "Weight": "3.2", + "WeightUnit": "KG", + "ShortDescription": "Flatbed scanner - A4 - 2400 dpi x 2400 dpi - 216 x 297 mm - add-on module", + "Name": "Jet Scan Professional", + "PictureUrl": "/Assets/images/HT-1083.jpg", + "Status": "A", + "Price": "189", + "DimensionWidth": "35", + "DimensionDepth": "40", + "DimensionHeight": "10", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1085", + "Category": "PR", + "MainCategory": "SC", + "SupplierName": "Alpha Printers", + "Weight": "23.2", + "WeightUnit": "KG", + "ShortDescription": "Copymaster", + "Name": "Copymaster", + "PictureUrl": "/Assets/images/HT-1085.jpg", + "Status": "A", + "Price": "1499", + "DimensionWidth": "45", + "DimensionDepth": "42", + "DimensionHeight": "22", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1090", + "Category": "SP", + "MainCategory": "Computer Components", + "SupplierName": "Speaker Experts", + "Weight": "3", + "WeightUnit": "KG", + "ShortDescription": "PC multimedia speakers - 5 Watt (Total)", + "Name": "Surround Sound", + "PictureUrl": "/Assets/images/HT-1090.jpg", + "Status": "A", + "Price": "39", + "DimensionWidth": "12", + "DimensionDepth": "10", + "DimensionHeight": "16", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1091", + "Category": "SP", + "MainCategory": "Computer Components", + "SupplierName": "Speaker Experts", + "Weight": "1.4", + "WeightUnit": "KG", + "ShortDescription": "PC multimedia speakers - 10 Watt (Total) - 2-way", + "Name": "Blaster Extreme", + "PictureUrl": "/Assets/images/HT-1091.jpg", + "Status": "A", + "Price": "26", + "DimensionWidth": "13", + "DimensionDepth": "11", + "DimensionHeight": "17.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1092", + "Category": "SP", + "MainCategory": "Computer Components", + "SupplierName": "Speaker Experts", + "Weight": "2.1", + "WeightUnit": "KG", + "ShortDescription": "PC multimedia speakers - optimized for Blutooth/A2DP", + "Name": "Sound Booster", + "PictureUrl": "/Assets/images/HT-1092.jpg", + "Status": "A", + "Price": "45", + "DimensionWidth": "12.4", + "DimensionDepth": "10.4", + "DimensionHeight": "18.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1100", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Technocom", + "Weight": "1.2", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, Office Applications (word processing, spreadsheet, presentations)", + "Name": "Smart Office", + "PictureUrl": "/Assets/images/HT-1100.jpg", + "Status": "D", + "Price": "89.9", + "DimensionWidth": "15", + "DimensionDepth": "6.5", + "DimensionHeight": "2.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1101", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Technocom", + "Weight": "0.8", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, Image editing, processing", + "Name": "Smart Design", + "PictureUrl": "/Assets/images/HT-1101.jpg", + "Status": "O", + "Price": "79.9", + "DimensionWidth": "14", + "DimensionDepth": "6.7", + "DimensionHeight": "24", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1102", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Technocom", + "Weight": "0.8", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, Network Software Utilities, Useful Applications and Documentation", + "Name": "Smart Network", + "PictureUrl": "/Assets/images/HT-1102.jpg", + "Status": "A", + "Price": "69", + "DimensionWidth": "16", + "DimensionDepth": "6", + "DimensionHeight": "27", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1103", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Technocom", + "Weight": "0.8", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, different Multimedia applications, playing music, watching DVDs, only with this Smart package", + "Name": "Smart Multimedia", + "PictureUrl": "/Assets/images/HT-1103.jpg", + "Status": "A", + "Price": "77", + "DimensionWidth": "11", + "DimensionDepth": "3.4", + "DimensionHeight": "22", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1104", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Technocom", + "Weight": "1.1", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, various games for amusement, logic, action, jump&run", + "Name": "Smart Games", + "PictureUrl": "/Assets/images/HT-1104.jpg", + "Status": "O", + "Price": "55", + "DimensionWidth": "10", + "DimensionDepth": "3", + "DimensionHeight": "30", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1105", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Brainsoft", + "Weight": "0.7", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, highly recommended for internet users as anti-virus protection", + "Name": "Smart Internet Antivirus", + "PictureUrl": "/Assets/images/HT-1105.jpg", + "Status": "A", + "Price": "29", + "DimensionWidth": "16", + "DimensionDepth": "4", + "DimensionHeight": "21", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1106", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Brainsoft", + "Weight": "0.9", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, recommended for internet users, protect your PC against cyber-crime", + "Name": "Smart Firewall", + "PictureUrl": "/Assets/images/HT-1106.jpg", + "Status": "A", + "Price": "34", + "DimensionWidth": "17.9", + "DimensionDepth": "4.2", + "DimensionHeight": "23.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1107", + "Category": "SW", + "MainCategory": "Software", + "SupplierName": "Brainsoft", + "Weight": "0.5", + "WeightUnit": "KG", + "ShortDescription": "Complete package, 1 User, bring your money in your mind, see what you have and what you want", + "Name": "Smart Money", + "PictureUrl": "/Assets/images/HT-1107.jpg", + "Status": "D", + "Price": "29.9", + "DimensionWidth": "12", + "DimensionDepth": "1.5", + "DimensionHeight": "19", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1110", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Red Point Stores", + "Weight": "0.03", + "WeightUnit": "KG", + "ShortDescription": "Robust 3m anti-burglary protection for your laptop computer", + "Name": "PC Lock", + "PictureUrl": "/Assets/images/HT-1110.jpg", + "Status": "A", + "Price": "8.9", + "DimensionWidth": "20", + "DimensionDepth": "8", + "DimensionHeight": "4.3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1111", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Red Point Stores", + "Weight": "0.02", + "WeightUnit": "KG", + "ShortDescription": "Robust 1m anti-burglary protection for your desktop computer", + "Name": "Notebook Lock", + "PictureUrl": "/Assets/images/HT-1111.jpg", + "Status": "A", + "Price": "6.9", + "DimensionWidth": "31", + "DimensionDepth": "9", + "DimensionHeight": "7", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1112", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Red Point Stores", + "Weight": "0.075", + "WeightUnit": "KG", + "ShortDescription": "Color webcam, color, High-Speed USB", + "Name": "Web cam reality", + "PictureUrl": "/Assets/images/HT-1112.jpg", + "Status": "A", + "Price": "39", + "DimensionWidth": "9", + "DimensionDepth": "8.2", + "DimensionHeight": "1.3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1113", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Red Point Stores", + "Weight": "0.05", + "WeightUnit": "KG", + "ShortDescription": "10 separately packed screen wipes", + "Name": "Screen clean", + "PictureUrl": "/Assets/images/HT-1113.jpg", + "Status": "A", + "Price": "2.3", + "DimensionWidth": "2", + "DimensionDepth": "2", + "DimensionHeight": "0.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1114", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Red Point Stores", + "Weight": "1.8", + "WeightUnit": "KG", + "ShortDescription": "Notebook bag, plenty of room for stationery and writing materials", + "Name": "Fabric bag professional", + "PictureUrl": "/Assets/images/HT-1114.jpg", + "Status": "A", + "Price": "31", + "DimensionWidth": "42", + "DimensionDepth": "32", + "DimensionHeight": "7", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1115", + "Category": "TC", + "MainCategory": "Computer Components", + "SupplierName": "Red Point Stores", + "Weight": "0.45", + "WeightUnit": "KG", + "ShortDescription": "Wireless DSL Router (available in blue, black and silver)", + "Name": "Wireless DSL Router", + "PictureUrl": "/Assets/images/HT-1115.jpg", + "Status": "O", + "Price": "49", + "DimensionWidth": "19.3", + "DimensionDepth": "18", + "DimensionHeight": "5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1116", + "Category": "TC", + "MainCategory": "Computer Components", + "SupplierName": "Red Point Stores", + "Weight": "0.45", + "WeightUnit": "KG", + "ShortDescription": "Wireless DSL Router / Repeater (available in blue, black and silver)", + "Name": "Wireless DSL Router / Repeater", + "PictureUrl": "/Assets/images/HT-1116.jpg", + "Status": "A", + "Price": "59", + "DimensionWidth": "19.3", + "DimensionDepth": "18", + "DimensionHeight": "5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1117", + "Category": "TC", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.45", + "WeightUnit": "KG", + "ShortDescription": "Wireless DSL Router / Repeater and Print Server (available in blue, black and silver)", + "Name": "Wireless DSL Router / Repeater and Print Server", + "PictureUrl": "/Assets/images/HT-1117.jpg", + "Status": "O", + "Price": "69", + "DimensionWidth": "19.3", + "DimensionDepth": "18", + "DimensionHeight": "5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1118", + "Category": "CSA", + "MainCategory": "Computer Systems", + "SupplierName": "Technocom", + "Weight": "0.015", + "WeightUnit": "KG", + "ShortDescription": "USB 2.0 High-Speed 64 GB", + "Name": "USB Stick", + "PictureUrl": "/Assets/images/HT-1118.jpg", + "Status": "A", + "Price": "35", + "DimensionWidth": "1.5", + "DimensionDepth": "8.7", + "DimensionHeight": "1.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1120", + "Category": "KB", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "1", + "WeightUnit": "KG", + "ShortDescription": "Cordless Bluetooth Keyboard with English keys", + "Name": "Cordless Bluetooth Keyboard, english international", + "PictureUrl": "/Assets/images/HT-1120.jpg", + "Status": "A", + "Price": "29", + "DimensionWidth": "51.4", + "DimensionDepth": "23", + "DimensionHeight": "4", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1137", + "Category": "FS", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "18", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution max. 2048 × 1536 @ 85Hz, Dot Pitch: 0.24mm", + "Name": "Flat XXL", + "PictureUrl": "/Assets/images/HT-1137.jpg", + "Status": "A", + "Price": "1430", + "DimensionWidth": "54", + "DimensionDepth": "22", + "DimensionHeight": "38", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1138", + "Category": "MI", + "MainCategory": "Computer Components", + "SupplierName": "Technocom", + "Weight": "0.02", + "WeightUnit": "KG", + "ShortDescription": "Portable pocket Mouse with retracting cord", + "Name": "Pocket Mouse", + "PictureUrl": "/Assets/images/HT-1138.jpg", + "Status": "A", + "Price": "23", + "DimensionWidth": "0.3", + "DimensionDepth": "0.5", + "DimensionHeight": "1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1210", + "Category": "DC", + "MainCategory": "Computer Systems", + "SupplierName": "Technocom", + "Weight": "2.3", + "WeightUnit": "KG", + "ShortDescription": "PC Power Station with 3,4 Ghz quad-core, 32 GB DDR3 SDRAM, feels like a PC, Windows 8 Pro", + "Name": "PC Power Station", + "PictureUrl": "/Assets/images/HT-1210.jpg", + "Status": "A", + "Price": "2399", + "DimensionWidth": "28", + "DimensionDepth": "31", + "DimensionHeight": "43", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1500", + "Category": "SV", + "MainCategory": "Computer Systems", + "SupplierName": "Technocom", + "Weight": "18", + "WeightUnit": "KG", + "ShortDescription": "Dual socket, quad-core processing server with 1333 MHz Front Side Bus with 10Gb connectivity", + "Name": "Server Basic", + "PictureUrl": "/Assets/images/HT-1500.jpg", + "Status": "A", + "Price": "5000", + "DimensionWidth": "34", + "DimensionDepth": "35", + "DimensionHeight": "23", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1501", + "Category": "SV", + "MainCategory": "Computer Systems", + "SupplierName": "Technocom", + "Weight": "25", + "WeightUnit": "KG", + "ShortDescription": "Dual socket, quad-core processing server with 1644 MHz Front Side Bus with 10Gb connectivity", + "Name": "Server Professional", + "PictureUrl": "/Assets/images/HT-1501.jpg", + "Status": "O", + "Price": "15000", + "DimensionWidth": "29", + "DimensionDepth": "30", + "DimensionHeight": "27", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1502", + "Category": "SV", + "MainCategory": "Computer Systems", + "SupplierName": "Technocom", + "Weight": "35", + "WeightUnit": "KG", + "ShortDescription": "Dual socket, quad-core processing server with 1644 MHz Front Side Bus with 100Gb connectivity", + "Name": "Server Power Pro", + "PictureUrl": "/Assets/images/HT-1502.jpg", + "Status": "A", + "Price": "25000", + "DimensionWidth": "22", + "DimensionDepth": "27.3", + "DimensionHeight": "37", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6130", + "Category": "FST", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Very Best Screens", + "Weight": "2.6", + "WeightUnit": "KG", + "ShortDescription": "32-inch, 1366x768 Pixel, 16:9, HDTV ready", + "Name": "Flat Watch HD32", + "PictureUrl": "/Assets/images/HT-6130.jpg", + "Status": "A", + "Price": "1459", + "DimensionWidth": "78", + "DimensionDepth": "22.1", + "DimensionHeight": "55", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6131", + "Category": "FST", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Very Best Screens", + "Weight": "2.2", + "WeightUnit": "KG", + "ShortDescription": "37-inch, 1366x768 Pixel, 16:9, HDTV ready", + "Name": "Flat Watch HD37", + "PictureUrl": "/Assets/images/HT-6131.jpg", + "Status": "A", + "Price": "1199", + "DimensionWidth": "99.1", + "DimensionDepth": "26", + "DimensionHeight": "61", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6132", + "Category": "FST", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Very Best Screens", + "Weight": "1.8", + "WeightUnit": "KG", + "ShortDescription": "41-inch, 1366x768 Pixel, 16:9, HDTV ready", + "Name": "Flat Watch HD41", + "PictureUrl": "/Assets/images/HT-6132.jpg", + "Status": "A", + "Price": "899", + "DimensionWidth": "128", + "DimensionDepth": "23", + "DimensionHeight": "79.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-7030", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "0.5", + "WeightUnit": "KG", + "ShortDescription": "Our new multifunctional Handheld with phone function in platinum", + "Name": "Platinberry", + "PictureUrl": "/Assets/images/HT-7030.jpg", + "Status": "D", + "Price": "549", + "DimensionWidth": "8.1", + "DimensionDepth": "13", + "DimensionHeight": "12.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-7020", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "0.5", + "WeightUnit": "KG", + "ShortDescription": "Our new multifunctional Handheld with phone function in gold", + "Name": "Goldberry", + "PictureUrl": "/Assets/images/HT-7020.jpg", + "Status": "A", + "Price": "549", + "DimensionWidth": "8.1", + "DimensionDepth": "13", + "DimensionHeight": "12.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-7010", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "0.5", + "WeightUnit": "KG", + "ShortDescription": "Our new multifunctional Handheld with phone function in silver", + "Name": "Silverberry", + "PictureUrl": "/Assets/images/HT-7010.jpg", + "Status": "A", + "Price": "549", + "DimensionWidth": "8.1", + "DimensionDepth": "13", + "DimensionHeight": "12.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-7000", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "0.5", + "WeightUnit": "KG", + "ShortDescription": "Our new multifunctional Handheld with phone function in copper", + "Name": "Copperberry", + "PictureUrl": "/Assets/images/HT-7000.jpg", + "Status": "A", + "Price": "549", + "DimensionWidth": "8.1", + "DimensionDepth": "13", + "DimensionHeight": "12.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1095", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "80", + "WeightUnit": "G", + "ShortDescription": "5.1 Headset, 40 Hz-20 kHz, Wireless", + "Name": "Lovely Sound 5.1 Wireless", + "PictureUrl": "/Assets/images/HT-1095.jpg", + "Status": "A", + "Price": "49", + "DimensionWidth": "24", + "DimensionDepth": "19", + "DimensionHeight": "23", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1096", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "130", + "WeightUnit": "G", + "ShortDescription": "5.1 Headset, 40 Hz-20 kHz, 3m cable", + "Name": "Lovely Sound 5.1", + "PictureUrl": "/Assets/images/HT-1096.jpg", + "Status": "A", + "Price": "39", + "DimensionWidth": "25", + "DimensionDepth": "17", + "DimensionHeight": "19", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1097", + "Category": "AC", + "MainCategory": "Computer Components", + "SupplierName": "Fasttech", + "Weight": "60", + "WeightUnit": "G", + "ShortDescription": "5.1 Headset, 40 Hz-20 kHz, 1m cable", + "Name": "Lovely Sound Stereo", + "PictureUrl": "/Assets/images/HT-1097.jpg", + "Status": "A", + "Price": "29", + "DimensionWidth": "21.3", + "DimensionDepth": "2.4", + "DimensionHeight": "19.7", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6123", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Fasttech", + "Weight": "267", + "WeightUnit": "G", + "ShortDescription": "MP3-Player with 80 GB SSD and Color Display, can play movies", + "Name": "Power Pro Player 80", + "PictureUrl": "/Assets/images/HT-6123.jpg", + "Status": "A", + "Price": "299", + "DimensionWidth": "4", + "DimensionDepth": "6", + "DimensionHeight": "0.8", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6122", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Fasttech", + "Weight": "266", + "WeightUnit": "G", + "ShortDescription": "MP3-Player with 40 GB HDD and Color Display, can play movies", + "Name": "Power Pro Player 40", + "PictureUrl": "/Assets/images/HT-6122.jpg", + "Status": "A", + "Price": "167", + "DimensionWidth": "5.1", + "DimensionDepth": "8", + "DimensionHeight": "9.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6121", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Fasttech", + "Weight": "134", + "WeightUnit": "G", + "ShortDescription": "ITelo Jog-Mate 64 GB HDD and Color Display, can play movies", + "Name": "ITelo Jog-Mate", + "PictureUrl": "/Assets/images/HT-6121.jpg", + "Status": "A", + "Price": "63", + "DimensionWidth": "5.1", + "DimensionDepth": "8", + "DimensionHeight": "9.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6120", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Fasttech", + "Weight": "134", + "WeightUnit": "G", + "ShortDescription": "64 GB USB Music-on-a-Stick", + "Name": "ITelo MusicStick", + "PictureUrl": "/Assets/images/HT-6120.jpg", + "Status": "A", + "Price": "45", + "DimensionWidth": "1.5", + "DimensionDepth": "6", + "DimensionHeight": "1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6111", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Fasttech", + "Weight": "3.1", + "WeightUnit": "KG", + "ShortDescription": "160 GB HDD, CD-RW, DVD+R/RW, DVD-R/RW, MPEG 2 (Video-DVD), MPEG 4, VCD, SVCD, DivX, Xvid", + "Name": "Record Movie", + "PictureUrl": "/Assets/images/HT-6111.jpg", + "Status": "O", + "Price": "288", + "DimensionWidth": "38", + "DimensionDepth": "26", + "DimensionHeight": "6.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6110", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Fasttech", + "Weight": "2.4", + "WeightUnit": "KG", + "ShortDescription": "CD-RW, DVD+R/RW, DVD-R/RW, MPEG 2 (Video-DVD), MPEG 4, VCD, SVCD, DivX, Xvid", + "Name": "Play Movie", + "PictureUrl": "/Assets/images/HT-6110.jpg", + "Status": "O", + "Price": "130", + "DimensionWidth": "37", + "DimensionDepth": "24", + "DimensionHeight": "6", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6102", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Technocom", + "Weight": "2.5", + "WeightUnit": "KG", + "ShortDescription": "1080p, DLP max. 12,3 Meter, 3D-ready", + "Name": "Beam Breaker B-3", + "PictureUrl": "/Assets/images/HT-6102.jpg", + "Status": "A", + "Price": "889", + "DimensionWidth": "30.4", + "DimensionDepth": "23.1", + "DimensionHeight": "23", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6101", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Technocom", + "Weight": "2", + "WeightUnit": "KG", + "ShortDescription": "1080p, DLP max.9,34 Meter, 2D-ready", + "Name": "Beam Breaker B-2", + "PictureUrl": "/Assets/images/HT-6101.jpg", + "Status": "A", + "Price": "679", + "DimensionWidth": "30.4", + "DimensionDepth": "23.1", + "DimensionHeight": "23", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-2002", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Technocom", + "Weight": "0.72", + "WeightUnit": "KG", + "ShortDescription": "9\" LCD Screen, storage holds up to 8 hours, 2 speakers included", + "Name": "Portable DVD Player with 9\" LCD Monitor", + "PictureUrl": "/Assets/images/HT-2002.jpg", + "Status": "D", + "Price": "853.99", + "DimensionWidth": "21", + "DimensionDepth": "16.5", + "DimensionHeight": "14", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-6100", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Titanium", + "Weight": "1.7", + "WeightUnit": "KG", + "ShortDescription": "720p, DLP Projector max. 8,45 Meter, 2D", + "Name": "Beam Breaker B-1", + "PictureUrl": "/Assets/images/HT-6100.jpg", + "Status": "O", + "Price": "469", + "DimensionWidth": "30.4", + "DimensionDepth": "23.1", + "DimensionHeight": "23", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-2027", + "Category": "AC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "0.15", + "WeightUnit": "KG", + "ShortDescription": "Removable jewel case labels, zero residues (100)", + "Name": "Removable CD/DVD Laser Labels", + "PictureUrl": "/Assets/images/HT-2027.jpg", + "Status": "A", + "Price": "8.99", + "DimensionWidth": "5.5", + "DimensionDepth": "2", + "DimensionHeight": "2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-2026", + "Category": "AC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "0.2", + "WeightUnit": "KG", + "ShortDescription": "Quality cables for notebooks and projectors", + "Name": "Audio/Video Cable Kit - 4m", + "PictureUrl": "/Assets/images/HT-2026.jpg", + "Status": "D", + "Price": "29.99", + "DimensionWidth": "21", + "DimensionDepth": "10.2", + "DimensionHeight": "13", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-2025", + "Category": "AC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "0.65", + "WeightUnit": "KG", + "ShortDescription": "Organizer and protective case for 264 CDs and DVDs", + "Name": "CD/DVD case: 264 sleeves", + "PictureUrl": "/Assets/images/HT-2025.jpg", + "Status": "A", + "Price": "44.99", + "DimensionWidth": "13", + "DimensionDepth": "13", + "DimensionHeight": "20", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-2001", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Titanium", + "Weight": "0.84", + "WeightUnit": "KG", + "ShortDescription": "10\" LCD Screen, storage battery holds up to 8 hours", + "Name": "10\" Portable DVD player", + "PictureUrl": "/Assets/images/HT-2001.jpg", + "Status": "A", + "Price": "449.99", + "DimensionWidth": "24", + "DimensionDepth": "19.5", + "DimensionHeight": "29", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-2000", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Titanium", + "Weight": "0.79", + "WeightUnit": "KG", + "ShortDescription": "7\" LCD Screen, storage battery holds up to 6 hours!", + "Name": "7\" Widescreen Portable DVD Player w MP3", + "PictureUrl": "/Assets/images/HT-2000.jpg", + "Status": "O", + "Price": "249.99", + "DimensionWidth": "21.4", + "DimensionDepth": "19", + "DimensionHeight": "27.6", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1603", + "Category": "DC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "6.8", + "WeightUnit": "KG", + "ShortDescription": "3,4 Ghz quad core, 16 GB DDR3 SDRAM, 4000 GB Hard Disc, Graphic Card: Hurricane GX, Windows 8", + "Name": "Gaming Monster Pro", + "PictureUrl": "/Assets/images/HT-1603.jpg", + "Status": "A", + "Price": "1700", + "DimensionWidth": "27", + "DimensionDepth": "28", + "DimensionHeight": "42", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1602", + "Category": "DC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "5.9", + "WeightUnit": "KG", + "ShortDescription": "3,4 Ghz quad core, 8 GB DDR3 SDRAM, 2000 GB Hard Disc, Graphic Card: Gladiator MX, Windows 8", + "Name": "Gaming Monster", + "PictureUrl": "/Assets/images/HT-1602.jpg", + "Status": "A", + "Price": "1200", + "DimensionWidth": "26.5", + "DimensionDepth": "34", + "DimensionHeight": "47", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1601", + "Category": "DC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "5.3", + "WeightUnit": "KG", + "ShortDescription": "2,8 Ghz dual core, 4 GB DDR3 SDRAM, 1000 GB Hard Disc, Graphic Card: Gladiator MX, Windows 8", + "Name": "Family PC Pro", + "PictureUrl": "/Assets/images/HT-1601.jpg", + "Status": "A", + "Price": "900", + "DimensionWidth": "25", + "DimensionDepth": "31.7", + "DimensionHeight": "40.2", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1600", + "Category": "DC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "4.8", + "WeightUnit": "KG", + "ShortDescription": "2,8 Ghz dual core, 4 GB DDR3 SDRAM, 500 GB Hard Disc, Graphic Card: Proctra X, Windows 8", + "Name": "Family PC Basic", + "PictureUrl": "/Assets/images/HT-1600.jpg", + "Status": "O", + "Price": "600", + "DimensionWidth": "21.4", + "DimensionDepth": "29", + "DimensionHeight": "38", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1119", + "Category": "AC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "88", + "WeightUnit": "G", + "ShortDescription": "Universal Travel Adapter", + "Name": "Travel Adapter", + "PictureUrl": "/Assets/images/HT-1119.jpg", + "Status": "A", + "Price": "79", + "DimensionWidth": "2", + "DimensionDepth": "3.1", + "DimensionHeight": "3.9", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-8000", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "4", + "WeightUnit": "KG", + "ShortDescription": "Notebook with 2,80 GHz dual core, 4 GB DDR3 SDRAM, 500 GB Hard Disc, Windows 8", + "Name": "ITelO FlexTop I4000", + "PictureUrl": "/Assets/images/HT-8000.jpg", + "Status": "A", + "Price": "799", + "DimensionWidth": "31", + "DimensionDepth": "19", + "DimensionHeight": "3.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-8001", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "4.2", + "WeightUnit": "KG", + "ShortDescription": "Notebook with 2,80 GHz dual core, 8 GB DDR3 SDRAM, 500 GB Hard Disc, Windows 8", + "Name": "ITelO FlexTop I6300c", + "PictureUrl": "/Assets/images/HT-8001.jpg", + "Status": "A", + "Price": "799", + "DimensionWidth": "32", + "DimensionDepth": "20", + "DimensionHeight": "3.4", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-8002", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "3.5", + "WeightUnit": "KG", + "ShortDescription": "Notebook with 2,80 GHz quad core, 4 GB DDR3 SDRAM, 1000 GB Hard Disc, Windows 8", + "Name": "ITelO FlexTop I9100", + "PictureUrl": "/Assets/images/HT-8002.jpg", + "Status": "A", + "Price": "1199", + "DimensionWidth": "38", + "DimensionDepth": "21", + "DimensionHeight": "4.1", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-8003", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "3.8", + "WeightUnit": "KG", + "ShortDescription": "Notebook with 2,80 GHz quad core, 8 GB DDR3 SDRAM, 1000 GB Hard Disc, Windows 8", + "Name": "ITelO FlexTop I9800", + "PictureUrl": "/Assets/images/HT-8003.jpg", + "Status": "A", + "Price": "1388", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "PF-1000", + "Category": "AC", + "MainCategory": "Computer Systems", + "SupplierName": "Titanium", + "Weight": "0.01", + "WeightUnit": "KG", + "ShortDescription": "Flyer for our product palette", + "Name": "Flyer", + "PictureUrl": "/Assets/images/PF-1000.jpg", + "Status": "A", + "Price": "0", + "DimensionWidth": "46", + "DimensionDepth": "30", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9999", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Titanium", + "Weight": "3.8", + "WeightUnit": "KG", + "ShortDescription": "10.1-inch Multitouch HD Screen (1280 x 800), 16GB Internal Memory, Wireless N Wi-Fi; Bluetooth, GPS Enabled, 1GHz Dual-Core Processor", + "Name": "Maxi Tablet", + "PictureUrl": "/Assets/images/HT-9999.jpg", + "Status": "A", + "Price": "749", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9998", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Titanium", + "Weight": "0.75", + "WeightUnit": "KG", + "ShortDescription": "5 Megapixel Camera, Wi-Fi 802.11 b/g/n, Bluetooth, GPS A-GPS support", + "Name": "Smartphone Beta", + "PictureUrl": "/Assets/images/HT-9998.jpg", + "Status": "A", + "Price": "699", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9997", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Titanium", + "Weight": "3.8", + "WeightUnit": "KG", + "ShortDescription": "6-Inch E Ink Screen, Access To e-book Store, Adjustable Font Styles and Sizes, Stores Up To 1,000 Books", + "Name": "e-Book Reader ReadMe", + "PictureUrl": "/Assets/images/HT-9997.jpg", + "Status": "A", + "Price": "633", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9996", + "Category": "AC", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Titanium", + "Weight": "0.03", + "WeightUnit": "KG", + "ShortDescription": "Stylish tablet pouch, protects from scratches, color: black", + "Name": "Tablet Pouch", + "PictureUrl": "/Assets/images/HT-9996.jpg", + "Status": "A", + "Price": "20", + "DimensionWidth": "25", + "DimensionDepth": "40", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9995", + "Category": "AC", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Titanium", + "Weight": "0.02", + "WeightUnit": "KG", + "ShortDescription": "Durable high quality plastic bump-sleeve, lightweight, protects from scratches, rubber coating, multiple colors available, Accurate design and cut-outs for your device, snap-on design", + "Name": "Smartphone Cover", + "PictureUrl": "/Assets/images/HT-9995.jpg", + "Status": "A", + "Price": "15", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9994", + "Category": "AC", + "MainCategory": "TV, Video & HiFi", + "SupplierName": "Ultrasonic United", + "Weight": "3.8", + "WeightUnit": "KG", + "ShortDescription": "1920x1080 Full HD, image stabilization reduces blur, 27x Optical / 32x Extended Zoom, wide angle Lens, 2.7\" wide LCD display", + "Name": "Camcorder View", + "PictureUrl": "/Assets/images/HT-9994.jpg", + "Status": "A", + "Price": "1388", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "27", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9993", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "3.8", + "WeightUnit": "KG", + "ShortDescription": "7 inch 1280x800 HD display (216 ppi), Quad-core processor, 16 GB internal storage, 4325 mAh battery (Up to 8 hours of active use)", + "Name": "Mini Tablet", + "PictureUrl": "/Assets/images/HT-9993.jpg", + "Status": "A", + "Price": "833", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9992", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "0.75", + "WeightUnit": "KG", + "ShortDescription": "7 inch 1280x800 HD display (216 ppi), Quad-core processor, 16 GB internal storage (actual formatted capacity will be less), 4325 mAh battery (Up to 8 hours of active use), white or black", + "Name": "Smartphone Alpha", + "PictureUrl": "/Assets/images/HT-9992.jpg", + "Status": "A", + "Price": "599", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-9991", + "Category": "AC", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "0.02", + "WeightUnit": "KG", + "ShortDescription": "Button Clasp, Quality Material, 100% Leather, compatible with many smartphone models", + "Name": "Smartphone Leather Case", + "PictureUrl": "/Assets/images/HT-9991.jpg", + "Status": "A", + "Price": "25", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1251", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Ultrasonic United", + "Weight": "4.2", + "WeightUnit": "KG", + "ShortDescription": "Flexible Laptop with 2,5 GHz Quad Core, 15\" HD TN, 16 GB DDR SDRAM, 256 GB SSD, Windows 10 Pro", + "Name": "Astro Laptop 1516", + "PictureUrl": "/Assets/images/HT-1251.jpg", + "Status": "A", + "Price": "989", + "DimensionWidth": "30", + "DimensionDepth": "18", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1252", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "0.75", + "WeightUnit": "KG", + "ShortDescription": "6 inch 1280x800 HD display (216 ppi), Quad-core processor, 8 GB internal storage (actual formatted capacity will be less), 3050 mAh battery (Up to 8 hours of active use), grey or black", + "Name": "Astro Phone 6", + "PictureUrl": "/Assets/images/HT-1252.jpg", + "Status": "A", + "Price": "649", + "DimensionWidth": "8", + "DimensionDepth": "6", + "DimensionHeight": "1.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1253", + "Category": "LT", + "MainCategory": "Computer Systems", + "SupplierName": "Ultrasonic United", + "Weight": "4.2", + "WeightUnit": "KG", + "ShortDescription": "Flexible Laptop with 2,5 GHz Dual Core, 14\" HD+ TN, 8 GB DDR SDRAM, 324 GB SSD, Windows 10 Pro", + "Name": "Benda Laptop 1408", + "PictureUrl": "/Assets/images/HT-1253.jpg", + "Status": "A", + "Price": "976", + "DimensionWidth": "30", + "DimensionDepth": "18", + "DimensionHeight": "3", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1254", + "Category": "FS", + "MainCategory": "Computer Components", + "SupplierName": "Ultrasonic United", + "Weight": "15", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution Widescreen max. 1920 x 1080 @ 85Hz, Dot Pitch: 0.27mm, HDMI, D-Sub", + "Name": "Bending Screen 21HD", + "PictureUrl": "/Assets/images/HT-1254.jpg", + "Status": "A", + "Price": "250", + "DimensionWidth": "37", + "DimensionDepth": "12", + "DimensionHeight": "36", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1255", + "Category": "FS", + "MainCategory": "Computer Components", + "SupplierName": "Ultrasonic United", + "Weight": "16", + "WeightUnit": "KG", + "ShortDescription": "Optimum Hi-Resolution Widescreen max. 2048 x 1080 @ 85Hz, Dot Pitch: 0.27mm, HDMI, D-Sub", + "Name": "Broad Screen 22HD", + "PictureUrl": "/Assets/images/HT-1255.jpg", + "Status": "O", + "Price": "270", + "DimensionWidth": "39", + "DimensionDepth": "12", + "DimensionHeight": "38", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1256", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "0.75", + "WeightUnit": "KG", + "ShortDescription": "7 inch 1280x800 HD display (216 ppi), Quad-core processor, 16 GB internal storage (actual formatted capacity will be less), 4325 mAh battery (Up to 8 hours of active use), white or black", + "Name": "Cerdik Phone 7", + "PictureUrl": "/Assets/images/HT-1256.jpg", + "Status": "A", + "Price": "549", + "DimensionWidth": "9", + "DimensionDepth": "15", + "DimensionHeight": "1.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1257", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "2.8", + "WeightUnit": "KG", + "ShortDescription": "10.5-inch Multitouch HD Screen (1280 x 800), 16GB Internal Memory, Wireless N Wi-Fi; Bluetooth, GPS Enabled, 1GHz Dual-Core Processor", + "Name": "Cepat Tablet 10.5", + "PictureUrl": "/Assets/images/HT-1257.jpg", + "Status": "A", + "Price": "549", + "DimensionWidth": "48", + "DimensionDepth": "31", + "DimensionHeight": "4.5", + "Unit": "cm", + "CurrencyCode": "EUR" + }, + { + "ProductId": "HT-1258", + "Category": "ST", + "MainCategory": "Smartphones & Tablets", + "SupplierName": "Ultrasonic United", + "Weight": "2.5", + "WeightUnit": "KG", + "ShortDescription": "8-inch Multitouch HD Screen (2000 x 1500) 32GB Internal Memory, Wireless N Wi-Fi, Bluetooth, GPS Enabled, 1.5 GHz Quad-Core Processor", + "Name": "Cepat Tablet 8", + "PictureUrl": "/Assets/images/HT-1258.jpg", + "Status": "A", + "Price": "529", + "DimensionWidth": "38", + "DimensionDepth": "21", + "DimensionHeight": "3.5", + "Unit": "cm", + "CurrencyCode": "EUR" + } +] diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Roots.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Roots.xml new file mode 100644 index 0000000..a46568f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Roots.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ShellBottomCustomNavigator.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ShellBottomCustomNavigator.csproj new file mode 100644 index 0000000..765b923 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ShellBottomCustomNavigator.csproj @@ -0,0 +1,49 @@ + + + net8.0 + enable + latest + false + + + + + + + + + + + + + + + + + + + + + + + + + + + PetsTabControlView.axaml + Code + + + ProfileView.axaml + Code + + + DogView.axaml + Code + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Styles.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Styles.axaml new file mode 100644 index 0000000..526dd69 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Styles.axaml @@ -0,0 +1,189 @@ + + + + + M0,0 L100,0 C95.167503,0 91.135628,3.4278221 90.203163,7.9846497 L90.152122,8.2704506 89.963921,9.1416779 C85.813438,27.384438 69.496498,41 50,41 30.5035,41 14.186564,27.384438 10.036079,9.1416779 L9.8478823,8.2704926 9.7968359,7.9846497 C8.8643732,3.4278221 4.8324914,0,0,0 z + + + + White + Gray + Blue + + + + + + + + + + + #001E39 + Silver + LightSkyBlue + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewLocator.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewLocator.cs new file mode 100644 index 0000000..a71b983 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewLocator.cs @@ -0,0 +1,30 @@ +using System; +using Avalonia.Controls; +using Avalonia.Controls.Templates; +using ShellBottomCustomNavigator.ViewModels; + +namespace ShellBottomCustomNavigator; + +public class ViewLocator : IDataTemplate +{ + public Control? Build(object? data) + { + if (data is null) + return null; + + var name = data.GetType().FullName!.Replace("ViewModel", "View", StringComparison.Ordinal); + var type = Type.GetType(name); + + if (type != null) + { + return (Control)Activator.CreateInstance(type)!; + } + + return new TextBlock { Text = "Not Found: " + name }; + } + + public bool Match(object? data) + { + return data is ViewModelBase; + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/HomePageViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/HomePageViewModel.cs new file mode 100644 index 0000000..33beafd --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/HomePageViewModel.cs @@ -0,0 +1,32 @@ +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; +using AvaloniaInside.Shell; +using ReactiveUI; + +namespace ShellBottomCustomNavigator.ViewModels; + +public class HomePageViewModel : ViewModelBase +{ + private readonly INavigator _navigationService; + + public ICommand NavigateToSecondPage { get; set; } + public ICommand ShowDialogCommand { get; set; } + + public HomePageViewModel(INavigator navigationService) + { + _navigationService = navigationService; + NavigateToSecondPage = ReactiveCommand.CreateFromTask(Navigate); + ShowDialogCommand = ReactiveCommand.CreateFromTask(ShowDialog); + } + + private Task ShowDialog(CancellationToken cancellationToken) + { + return _navigationService.NavigateAsync("/main/home/confirmation", cancellationToken); + } + + private Task Navigate() + { + return _navigationService.NavigateAsync("/second"); + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/MainViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/MainViewModel.cs new file mode 100644 index 0000000..6899d1a --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/MainViewModel.cs @@ -0,0 +1,20 @@ +using Avalonia.Animation; +using AvaloniaInside.Shell.Platform; +using ReactiveUI; + +namespace ShellBottomCustomNavigator.ViewModels; + +public class MainViewModel : ViewModelBase +{ + public string Greeting => "Welcome to Avalonia!"; + + private IPageTransition _currentTransition = PlatformSetup.TransitionForPage; + public IPageTransition CurrentTransition + { + get => _currentTransition; + set + { + this.RaiseAndSetIfChanged(ref _currentTransition, value); + } + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/SettingViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/SettingViewModel.cs new file mode 100644 index 0000000..738b082 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/SettingViewModel.cs @@ -0,0 +1,54 @@ +using Avalonia.Animation; +using Avalonia.Collections; +using AvaloniaInside.Shell.Platform; +using AvaloniaInside.Shell.Platform.Android; +using AvaloniaInside.Shell.Platform.Ios; +using AvaloniaInside.Shell.Platform.Windows; +using ReactiveUI; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.ViewModels; +public class SettingViewModel : ViewModelBase +{ + public class TransitionItem + { + public string Name { get; set; } + public IPageTransition Transition { get; set; } + } + + public AvaloniaList Transitions { get; } + + private TransitionItem _currentTransition; + public TransitionItem CurrentTransition + { + get => _currentTransition; + set + { + this.RaiseAndSetIfChanged(ref _currentTransition, value); + if (MainViewModel != null) + MainViewModel.CurrentTransition = value.Transition; + } + } + + public MainViewModel? MainViewModel { get; internal set; } + + public SettingViewModel() + { + Transitions = new AvaloniaList + { + new TransitionItem{ Name = "Android Default", Transition = AndroidDefaultPageSlide.Instance }, + new TransitionItem{ Name = "Android Material", Transition = MaterialListPageSlide.Instance }, + new TransitionItem{ Name = "iOS", Transition = DefaultIosPageSlide.Instance }, + new TransitionItem{ Name = "Windows EntranceNavigation", Transition = EntranceNavigationTransition.Instance }, + new TransitionItem{ Name = "Windows DrillInNavigation", Transition = DrillInNavigationTransition.Instance }, + new TransitionItem{ Name = "Windows ListSlideNavigation", Transition = ListSlideNavigationTransition.Instance }, + }; + + CurrentTransition = Transitions.FirstOrDefault(f => f.Transition == PlatformSetup.TransitionForPage); + } + +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs new file mode 100644 index 0000000..9185629 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs @@ -0,0 +1,59 @@ +using System.Collections.ObjectModel; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; +using AvaloniaInside.Shell; +using ReactiveUI; +using ShellBottomCustomNavigator.Models; + +namespace ShellBottomCustomNavigator.ViewModels.ShopViewModels; + +public class ProductCatalogFilterViewModel : ViewModelBase +{ + private readonly INavigator _navigationService; + private string? _selectedCategory; + + public ICommand CloseCommand { get; } + public ICommand ClearCommand { get; } + + public ProductCatalogFilterViewModel(INavigator navigationService) + { + _navigationService = navigationService; + var items = DummyPlace.Products.Select(s => s.MainCategory) + .Distinct() + .Order(); + Categories = new ObservableCollection(items); + + CloseCommand = ReactiveCommand.CreateFromTask(CloseAsync); + ClearCommand = ReactiveCommand.CreateFromTask(ClearAsync); + } + + private Task CloseAsync(CancellationToken cancellationToken) + { + return _navigationService.BackAsync(cancellationToken) ?? Task.CompletedTask; + } + + private Task ClearAsync(CancellationToken cancellationToken) + { + return _navigationService.BackAsync(string.Empty, cancellationToken); + } + + public ObservableCollection Categories { get; } + + public string? SelectedCategory + { + get => _selectedCategory; + set + { + this.RaiseAndSetIfChanged(ref _selectedCategory, value); + _ = _navigationService.BackAsync(value); + } + } + + public void SetSelectedCategory(string? selected) + { + _selectedCategory = selected; + this.RaisePropertyChanged(nameof(SelectedCategory)); + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogViewModel.cs new file mode 100644 index 0000000..dadbabe --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogViewModel.cs @@ -0,0 +1,60 @@ +using System.Collections.ObjectModel; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; +using AvaloniaInside.Shell; +using DynamicData; +using ReactiveUI; +using ShellBottomCustomNavigator.Models; + +namespace ShellBottomCustomNavigator.ViewModels.ShopViewModels; + +public class ProductCatalogViewModel : ViewModelBase +{ + private readonly INavigator _navigationService; + private string? _selectedCategory; + + public ObservableCollection Products { get; } + public ICommand FilterCommand { get; } + + public string? SelectedCategory + { + get => _selectedCategory; + set + { + this.RaiseAndSetIfChanged(ref _selectedCategory, value); + this.RaisePropertyChanged(nameof(Title)); + } + } + + public string? Title => string.IsNullOrEmpty(SelectedCategory) ? "Products" : SelectedCategory; + + public ProductCatalogViewModel(INavigator navigationService) + { + _navigationService = navigationService; + Products = new ObservableCollection(DummyPlace.Products); + FilterCommand = ReactiveCommand.CreateFromTask(FilterAsync); + } + + private async Task FilterAsync(CancellationToken cancellationToken) + { + var result = await _navigationService + .NavigateAndWaitAsync("/main/product/filter", _selectedCategory, cancellationToken); + + if (result.HasArgument) + UpdateSelectedCategory(result.As()); + } + + private void UpdateSelectedCategory(string? selectedCategory) + { + if (selectedCategory == string.Empty) selectedCategory = null; + + var filtered = selectedCategory == null + ? DummyPlace.Products + : DummyPlace.Products.Where(w => w.MainCategory == selectedCategory); + Products.Clear(); + Products.AddRange(filtered); + SelectedCategory = selectedCategory; + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductDetailViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductDetailViewModel.cs new file mode 100644 index 0000000..e480db8 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductDetailViewModel.cs @@ -0,0 +1,17 @@ +using ShellBottomCustomNavigator.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.ViewModels.ShopViewModels; +public class ProductDetailViewModel : ViewModelBase +{ + public ProductDto Product { get; set; } + + public ProductDetailViewModel(ProductDto product) + { + Product = product; + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ViewModelBase.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..a56269f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ViewModelBase.cs @@ -0,0 +1,7 @@ +using ReactiveUI; + +namespace ShellBottomCustomNavigator.ViewModels; + +public class ViewModelBase : ReactiveObject +{ +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/WelcomeViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/WelcomeViewModel.cs new file mode 100644 index 0000000..ae224d5 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/WelcomeViewModel.cs @@ -0,0 +1,29 @@ +using AvaloniaInside.Shell; +using ReactiveUI; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace ShellBottomCustomNavigator.ViewModels; + +public class WelcomeViewModel +{ + private readonly INavigator _navigationService; + public ICommand OpenCommand { get; set; } + + public WelcomeViewModel(INavigator navigationService) + { + _navigationService = navigationService; + OpenCommand = ReactiveCommand.CreateFromTask(OpenAsync); + } + + private Task OpenAsync(CancellationToken cancellationToken) + { + return _navigationService.NavigateAsync("/main", cancellationToken); + } +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml new file mode 100644 index 0000000..2e69a7f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml.cs new file mode 100644 index 0000000..79427a0 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml.cs @@ -0,0 +1,21 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Views; + +public partial class CatView : Page +{ + public CatView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public string Icon => "fa-solid fa-cat"; +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml new file mode 100644 index 0000000..d41cf05 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml.cs new file mode 100644 index 0000000..0ad3734 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml.cs @@ -0,0 +1,21 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Views; + +public partial class DogView : Page +{ + public DogView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public string Icon => "fa-solid fa-dog"; +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/FontIconImageSource.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/FontIconImageSource.cs new file mode 100644 index 0000000..83da87e --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/FontIconImageSource.cs @@ -0,0 +1,74 @@ +using Avalonia.Media; +using Avalonia; +using Projektanker.Icons.Avalonia; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.Views; +internal class FontIconImageSource : DrawingImage +{ + public static readonly StyledProperty ValueProperty = + AvaloniaProperty.Register(nameof(Value)); + + public static readonly StyledProperty BrushProperty = + AvaloniaProperty.Register(nameof(Brush)); + + public static readonly StyledProperty PenProperty = + AvaloniaProperty.Register(nameof(Pen)); + + public string Value + { + get => GetValue(ValueProperty); + set => SetValue(ValueProperty, value); + } + + public IBrush? Brush + { + get => GetValue(BrushProperty); + set => SetValue(BrushProperty, value); + } + + public IPen? Pen + { + get => GetValue(PenProperty); + set => SetValue(PenProperty, value); + } + + private GeometryDrawing GetGeometryDrawing() + { + if (Drawing is GeometryDrawing geometryDrawing) + return geometryDrawing; + + Drawing = geometryDrawing = new GeometryDrawing(); + return geometryDrawing; + } + + protected override void OnPropertyChanged(AvaloniaPropertyChangedEventArgs change) + { + base.OnPropertyChanged(change); + if (change.Property == ValueProperty) + { + HandleValueChanged(); + } + else if (change.Property == BrushProperty || change.Property == PenProperty) + { + HandleBrushChanged(); + } + } + + private void HandleBrushChanged() + { + var geometry = GetGeometryDrawing(); + geometry.Brush = Brush; + geometry.Pen = Pen; + } + + private void HandleValueChanged() + { + var iconModel = IconProvider.Current.GetIcon(Value); + GetGeometryDrawing().Geometry = StreamGeometry.Parse(iconModel.Path); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml new file mode 100644 index 0000000..57e22d6 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml.cs new file mode 100644 index 0000000..38be81a --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml.cs @@ -0,0 +1,28 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; +using System.Threading; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.Views; + +public partial class HomePage : Page +{ + public HomePage() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public override Task InitialiseAsync(CancellationToken cancellationToken) + { + DataContext = new ViewModels.HomePageViewModel(Navigator); + return Task.CompletedTask; + } + + public string Icon => "fa-solid fa-house"; +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml new file mode 100644 index 0000000..4e48fdd --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml.cs new file mode 100644 index 0000000..e03f2cc --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml.cs @@ -0,0 +1,40 @@ +using System; +using Avalonia.Controls; +using Avalonia.Controls.Primitives; +using Avalonia.Markup.Xaml; +using Avalonia.Styling; + +namespace ShellBottomCustomNavigator.Views; + +public partial class MainTabControl : TabControl, IStyleable +{ + public Type StyleKey => typeof(TabControl); + private Grid _circle; + public MainTabControl() + { + InitializeComponent(); + + var aaa = Styles; + + this.SelectionChanged += (sender, args) => + { + if (_circle == null) return; + int idx = SelectedIndex; + Canvas.SetLeft(_circle, idx * 80); + }; + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + protected override void OnApplyTemplate(TemplateAppliedEventArgs e) + { + base.OnApplyTemplate(e); + + _circle = e.NameScope.Get("PART_Circle"); + this.SelectedIndex = 0; + } +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml new file mode 100644 index 0000000..be295d0 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml.cs new file mode 100644 index 0000000..0c54076 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml.cs @@ -0,0 +1,20 @@ +using Avalonia.Controls; +using Avalonia.Interactivity; + +namespace ShellBottomCustomNavigator.Views; + +public partial class MainView : UserControl +{ + public static MainView Current { get; private set; } + public MainView() + { + Current = this; + InitializeComponent(); + } + + protected override void OnLoaded(RoutedEventArgs e) + { + Current = this; + base.OnLoaded(e); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml new file mode 100644 index 0000000..d6a9cc0 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml.cs new file mode 100644 index 0000000..422cf95 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace ShellBottomCustomNavigator.Views; + +public partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml new file mode 100644 index 0000000..a653323 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml.cs new file mode 100644 index 0000000..eb68301 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml.cs @@ -0,0 +1,24 @@ +using System; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using Avalonia.Styling; + +namespace ShellBottomCustomNavigator.Views; + +public partial class PetsTabControlView : TabControl, IStyleable +{ + public Type StyleKey => typeof(TabControl); + + public PetsTabControlView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public string Icon => "fa-solid fa-paw"; +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml new file mode 100644 index 0000000..e6b667d --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml @@ -0,0 +1,10 @@ + + Welcome to Avalonia! + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml.cs new file mode 100644 index 0000000..fb45492 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml.cs @@ -0,0 +1,21 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Views; + +public partial class ProfileView : Page +{ + public ProfileView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public string Icon => "fa-solid fa-user"; +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml new file mode 100644 index 0000000..a14f3d3 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml @@ -0,0 +1,10 @@ + + Welcome to Avalonia! + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml.cs new file mode 100644 index 0000000..a4b8852 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml.cs @@ -0,0 +1,19 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Views; + +public partial class SecondView : Page +{ + public SecondView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml new file mode 100644 index 0000000..9319b4a --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml.cs new file mode 100644 index 0000000..3f60b89 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml.cs @@ -0,0 +1,34 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; +using ShellBottomCustomNavigator.ViewModels; +using System.Threading; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.Views; + +public partial class SettingView : Page +{ + public SettingView() + { + InitializeComponent(); + } + + public override Task InitialiseAsync(CancellationToken cancellationToken) + { + DataContext = new SettingViewModel() + { + MainViewModel = (MainViewModel)MainView.Current.DataContext + }; + + return base.InitialiseAsync(cancellationToken); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public string Icon => "fa-solid fa-user"; +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml new file mode 100644 index 0000000..b896d1f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml @@ -0,0 +1,23 @@ + + + + + + + Are you sure you want to close it? + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml.cs new file mode 100644 index 0000000..acb2184 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml.cs @@ -0,0 +1,24 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Views.ShopViews; + +public partial class ConfirmationCloseView : Page +{ + public ConfirmationCloseView() + { + InitializeComponent(); + } + + private void NoClick(object? sender, Avalonia.Interactivity.RoutedEventArgs e) + { + Navigator.BackAsync(false); + } + + private void YesClick(object? sender, Avalonia.Interactivity.RoutedEventArgs e) + { + Navigator.BackAsync(true); + } +} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml new file mode 100644 index 0000000..7426623 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml.cs new file mode 100644 index 0000000..572d91f --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml.cs @@ -0,0 +1,36 @@ +using System.Threading; +using System.Threading.Tasks; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; +using ShellBottomCustomNavigator.ViewModels.ShopViewModels; + +namespace ShellBottomCustomNavigator.Views.ShopViews; + +public partial class ProductCatalogFilterView : Page +{ + public ProductCatalogFilterViewModel ViewModel { get; internal set; } + + public ProductCatalogFilterView() + { + InitializeComponent(); + } + + public override Task InitialiseAsync(CancellationToken cancellationToken) + { + DataContext = ViewModel = new ProductCatalogFilterViewModel(Navigator); + return base.InitialiseAsync(cancellationToken); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public override Task ArgumentAsync(object args, CancellationToken cancellationToken) + { + if (args is string selectedCategory) + ViewModel.SetSelectedCategory(selectedCategory == string.Empty ? null : selectedCategory); + return Task.CompletedTask; + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml new file mode 100644 index 0000000..c99626b --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml.cs new file mode 100644 index 0000000..100c5df --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml.cs @@ -0,0 +1,31 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; +using ShellBottomCustomNavigator.ViewModels.ShopViewModels; +using System.Threading; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.Views.ShopViews; + +public partial class ProductCatalogView : Page +{ + public ProductCatalogView() + { + InitializeComponent(); + } + + public override Task InitialiseAsync(CancellationToken cancellationToken) + { + DataContext = new ProductCatalogViewModel(Navigator); + + return base.InitialiseAsync(cancellationToken); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + public string Icon => "fa-solid fa-tag"; +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml new file mode 100644 index 0000000..2998439 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml.cs new file mode 100644 index 0000000..cb1a2c0 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml.cs @@ -0,0 +1,33 @@ +using Avalonia.Controls; +using AvaloniaInside.Shell; +using ShellBottomCustomNavigator.Models; +using ShellBottomCustomNavigator.ViewModels.ShopViewModels; +using System.Threading; +using System.Threading.Tasks; + +namespace ShellBottomCustomNavigator.Views.ShopViews; +public partial class ProductDetailView : Page +{ + public ProductDetailView() + { + InitializeComponent(); + } + + public override Task ArgumentAsync(object args, CancellationToken cancellationToken) + { + if (args is not ProductDto dto) return Task.CompletedTask; + + DataContext = new ProductDetailViewModel(dto); + return Task.CompletedTask; + } + + public override async Task OnNavigatingAsync(NaviagatingEventArgs args, CancellationToken cancellationToken) + { + if (args.Navigate == NavigateType.Pop) + { + var result = await Navigator.NavigateAndWaitAsync("/main/product/confirmation"); + if (result.Argument is bool v) + args.Cancel = !v; + } + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/StarsControl.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/StarsControl.cs new file mode 100644 index 0000000..064300d --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/StarsControl.cs @@ -0,0 +1,8 @@ +using Avalonia.Controls; + +namespace ShellBottomCustomNavigator.Views.ShopViews; + +public class StarsControl : Control +{ + +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml new file mode 100644 index 0000000..7ec4b7c --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml @@ -0,0 +1,41 @@ + + + + + + + Lorem ipsum dolor sit amet, + consectetur adipiscing elit, + sed do eiusmod tempor incididunt + ut labore et dolore magna aliqua. + Ut enim ad minim veniam, + quis nostrud exercitation ullamco + laboris nisi ut aliquip + ex ea commodo consequat. + Duis aute irure dolor in + reprehenderit in voluptate velit + esse cillum dolore eu + fugiat nulla pariatur. + Excepteur sint occaecat cupidatat + non proident, sunt in + culpa qui officia deserunt + mollit anim id est laborum. + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml.cs new file mode 100644 index 0000000..40b0509 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml.cs @@ -0,0 +1,30 @@ +using Avalonia.Controls; +using Avalonia.Interactivity; +using Avalonia.Markup.Xaml; +using AvaloniaInside.Shell; + +namespace ShellBottomCustomNavigator.Views; + +public partial class SimpleDialog : Page +{ + public SimpleDialog() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + private void OkButton_OnClick(object? sender, RoutedEventArgs e) + { + Navigator?.BackAsync(); + } + + private void CancelButton_OnClick(object? sender, RoutedEventArgs e) + { + Navigator?.BackAsync(); + } +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml new file mode 100644 index 0000000..551a365 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml.cs new file mode 100644 index 0000000..9eaaac4 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml.cs @@ -0,0 +1,21 @@ +using System.Threading; +using System.Threading.Tasks; +using AvaloniaInside.Shell; +using ShellBottomCustomNavigator.ViewModels; + +namespace ShellBottomCustomNavigator.Views +{ + public partial class WelcomeView : Page + { + public WelcomeView() + { + InitializeComponent(); + } + + public override Task InitialiseAsync(CancellationToken cancellationToken) + { + DataContext = new WelcomeViewModel(Navigator); + return base.InitialiseAsync(cancellationToken); + } + } +} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml new file mode 100644 index 0000000..ddb1aa8 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml.cs new file mode 100644 index 0000000..85f64c7 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml.cs @@ -0,0 +1,22 @@ +using System; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace ShellBottomCustomNavigator.Views.Widgets; + +public partial class CalendarWidgetView : UserControl +{ + public string JustNow => DateTime.Now.ToString("dd MMMM yyyy"); + + public CalendarWidgetView() + { + InitializeComponent(); + DataContext = this; + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml new file mode 100644 index 0000000..1339b31 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml.cs new file mode 100644 index 0000000..f3f6b96 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace ShellBottomCustomNavigator.Views.Widgets; + +public partial class UserProfileWidgetView : UserControl +{ + public UserProfileWidgetView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml new file mode 100644 index 0000000..1320f99 --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml.cs new file mode 100644 index 0000000..942006c --- /dev/null +++ b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml.cs @@ -0,0 +1,18 @@ +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace ShellBottomCustomNavigator.Views.Widgets; + +public partial class WeatherView : UserControl +{ + public WeatherView() + { + InitializeComponent(); + } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } +} + diff --git a/src/Example/ShellExample/ShellExample/Styles.axaml b/src/Example/ShellExample/ShellExample/Styles.axaml index dd66a59..f838fc6 100644 --- a/src/Example/ShellExample/ShellExample/Styles.axaml +++ b/src/Example/ShellExample/ShellExample/Styles.axaml @@ -1,8 +1,6 @@ + xmlns:local="clr-namespace:ShellExample"> @@ -47,13 +45,13 @@ @@ -80,8 +78,7 @@ SelectedItem="{TemplateBinding SelectedContent}" local:Helper.CarouselToTabControl="true" ItemTemplate="{TemplateBinding SelectedContentTemplate}" - PageTransition="{x:Static PlatformSetup.TransitionForTab}"> - + PageTransition="{x:Static PlatformSetup.TransitionForTab}" /> @@ -89,14 +86,14 @@