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/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/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/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/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/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/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/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/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 @@