diff --git a/README.md b/README.md index ce2cf7e..fa2fda4 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ We welcome feedback, suggestions, and contributions from anyone who is intereste To use AvaloniaInside.Shell in your Avalonia project, you can install the package via NuGet using the following command in the Package Manager Console: ```bash -dotnet add package AvaloniaInside.Shell --version 1.3.2.2 +dotnet add package AvaloniaInside.Shell --version 1.3.3 ``` Alternatively, you can also install the package through Visual Studio's NuGet Package Manager. @@ -32,7 +32,6 @@ public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure() .UsePlatformDetect() .LogToTrace() - .UseReactiveUI() .UseShell(); ``` diff --git a/src/AvaloniaInside.Shell.sln b/src/AvaloniaInside.Shell.sln index 3c281f4..be6e816 100644 --- a/src/AvaloniaInside.Shell.sln +++ b/src/AvaloniaInside.Shell.sln @@ -24,16 +24,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{50F7051E Directory.Packages.props = Directory.Packages.props 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 @@ -66,26 +56,6 @@ 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 @@ -96,11 +66,6 @@ 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/AvaloniaInside.Shell/AppBuilderExtensions.cs b/src/AvaloniaInside.Shell/AppBuilderExtensions.cs index 353a705..ebf1084 100644 --- a/src/AvaloniaInside.Shell/AppBuilderExtensions.cs +++ b/src/AvaloniaInside.Shell/AppBuilderExtensions.cs @@ -1,43 +1,45 @@ using System; using Avalonia; using AvaloniaInside.Shell.Presenters; -using Splat; namespace AvaloniaInside.Shell; public static class AppBuilderExtensions { public static AppBuilder UseShell(this AppBuilder builder, Func? viewLocatorFactory = null) => - builder.AfterPlatformServicesSetup(_ => Locator.RegisterResolverCallbackChanged(() => + builder.AfterPlatformServicesSetup(_ => { - if (Locator.CurrentMutable is null) - { - return; - } - - Locator.CurrentMutable.Register(); - Locator.CurrentMutable.Register(); + AvaloniaLocator.CurrentMutable + .Bind().ToSingleton() + .Bind().ToSingleton(); if (viewLocatorFactory is null) { - Locator.CurrentMutable.Register(); + AvaloniaLocator.CurrentMutable + .Bind().ToSingleton(); } - - Locator.CurrentMutable.Register(() => - new DefaultNavigationUpdateStrategy(Locator.Current.GetService()!)); - Locator.CurrentMutable.Register(() => - { - var viewLocator = viewLocatorFactory != null ? viewLocatorFactory.Invoke() : Locator.Current.GetService()!; - var registrar = Locator.Current.GetService()!; - return new Navigator( - registrar, - new RelativeNavigateStrategy(registrar), - Locator.Current.GetService()!, - viewLocator + AvaloniaLocator.CurrentMutable + .Bind() + .ToFunc(() => + new DefaultNavigationUpdateStrategy( + AvaloniaLocator.CurrentMutable.GetService()!)); + + + AvaloniaLocator.CurrentMutable + .Bind() + .ToFunc(() => + { + var viewLocator = viewLocatorFactory != null ? viewLocatorFactory.Invoke() : AvaloniaLocator.CurrentMutable.GetService()!; + var registrar = AvaloniaLocator.CurrentMutable.GetService()!; + return new Navigator( + registrar, + new RelativeNavigateStrategy(registrar), + AvaloniaLocator.CurrentMutable.GetService()!, + viewLocator ); - }); - })); + }); + }); public static AppBuilder UseShell(this AppBuilder builder, Func viewFactory) => builder.UseShell(() => new DelegateNavigationViewLocator(viewFactory)); diff --git a/src/AvaloniaInside.Shell/AvaloniaInside.Shell.csproj b/src/AvaloniaInside.Shell/AvaloniaInside.Shell.csproj index 35dcff5..0a7ef2c 100644 --- a/src/AvaloniaInside.Shell/AvaloniaInside.Shell.csproj +++ b/src/AvaloniaInside.Shell/AvaloniaInside.Shell.csproj @@ -1,9 +1,9 @@ - net8.0;net9.0 + net8.0;net9.0;net10.0 enable latest - 1.3.2.2 + 1.3.3 Shell view for Avalonia Shell reduces the complexity of mobile/desktop application development by providing the fundamental features that most applications require AvaloniaInside @@ -13,6 +13,8 @@ avalonia,shell README.md True + true + true true @@ -24,7 +26,6 @@ - diff --git a/src/AvaloniaInside.Shell/Navigator.Attach.cs b/src/AvaloniaInside.Shell/Navigator.Attach.cs index bdc31bd..8f8b70c 100644 --- a/src/AvaloniaInside.Shell/Navigator.Attach.cs +++ b/src/AvaloniaInside.Shell/Navigator.Attach.cs @@ -1,36 +1,34 @@ using Avalonia; using Avalonia.Input; -using System; namespace AvaloniaInside.Shell; public partial class Navigator { - static Navigator() - { - ToProperty.Changed.Subscribe(HandleToChanged); - } - #region To Property public static readonly AttachedProperty ToProperty = - AvaloniaProperty.RegisterAttached("To"); + AvaloniaProperty.RegisterAttached( + "To", + coerce: HandleToChanged); - private static void HandleToChanged(AvaloniaPropertyChangedEventArgs e) + private static BindingNavigate HandleToChanged(AvaloniaObject obj, BindingNavigate value) { - try - { - if (e.Sender is ICommandSource commandSource) - { - if (e.NewValue is { HasValue: true } v) - { - ((dynamic)commandSource).Command = v.Value; - v.Value.Sender = e.Sender; - } - } - } - catch { /*IGNORE*/ } - } + try + { + if (obj is ICommandSource commandSource) + { + ((dynamic)commandSource).Command = value; + value.Sender = obj; + } + } + catch + { + /*IGNORE*/ + } + + return value; + } public static BindingNavigate GetTo(AvaloniaObject element) => element.GetValue(ToProperty); diff --git a/src/AvaloniaInside.Shell/ShellView.cs b/src/AvaloniaInside.Shell/ShellView.cs index 3fa6aee..90df858 100644 --- a/src/AvaloniaInside.Shell/ShellView.cs +++ b/src/AvaloniaInside.Shell/ShellView.cs @@ -12,8 +12,6 @@ using Avalonia.Input; using Avalonia.Interactivity; using AvaloniaInside.Shell.Platform; -using ReactiveUI; -using Splat; namespace AvaloniaInside.Shell; @@ -338,12 +336,12 @@ public static void SetEnableSafeAreaForRight(AvaloniaObject element, bool parame public ShellView() { - Navigator = Locator.Current + Navigator = AvaloniaLocator.CurrentMutable .GetService() ?? throw new ArgumentException("Cannot find INavigationService"); Navigator.RegisterShell(this); - BackCommand = ReactiveCommand.CreateFromTask(BackActionAsync); - SideMenuCommand = ReactiveCommand.CreateFromTask(MenuActionAsync); + BackCommand = new SimpleAsyncCommand(BackActionAsync); + SideMenuCommand = new SimpleAsyncCommand(MenuActionAsync); var isMobile = OperatingSystem.IsAndroid() || OperatingSystem.IsIOS(); if (!isMobile) diff --git a/src/AvaloniaInside.Shell/SimpleAsyncCommand.cs b/src/AvaloniaInside.Shell/SimpleAsyncCommand.cs new file mode 100644 index 0000000..5e85064 --- /dev/null +++ b/src/AvaloniaInside.Shell/SimpleAsyncCommand.cs @@ -0,0 +1,62 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Input; + +namespace AvaloniaInside.Shell; + +public class SimpleAsyncCommand : ICommand +{ + private readonly Func _execute; + private readonly Func? _canExecute; + private bool _isExecuting; + + public SimpleAsyncCommand(Func execute, Func? canExecute = null) + : this((_, _) => execute(), canExecute == null ? null : _ => canExecute()) + { + } + + public SimpleAsyncCommand(Func execute, Func? canExecute = null) + : this((param, _) => execute(param), canExecute) + { + } + + public SimpleAsyncCommand(Func execute, Func? canExecute = null) + : this((_, ct) => execute(ct), canExecute == null ? null : _ => canExecute()) + { + } + + public SimpleAsyncCommand(Func execute, Func? canExecute = null) + { + _execute = execute ?? throw new ArgumentNullException(nameof(execute)); + _canExecute = canExecute; + } + + public bool CanExecute(object? parameter) => !_isExecuting && (_canExecute?.Invoke(parameter) ?? true); + + public void Execute(object? parameter) + { + // Fire-and-forget from ICommand.Execute (void). Use a safe, observed task. + _ = ExecuteAsync(parameter, CancellationToken.None); + } + + public event EventHandler? CanExecuteChanged; + + public async Task ExecuteAsync(object? parameter, CancellationToken cancellationToken) + { + if (_isExecuting) return; + + try + { + _isExecuting = true; + CanExecuteChanged?.Invoke(this, EventArgs.Empty); + + await _execute(parameter, cancellationToken).ConfigureAwait(false); + } + finally + { + _isExecuting = false; + CanExecuteChanged?.Invoke(this, EventArgs.Empty); + } + } +} diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 56f6c64..0f19340 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -1,5 +1,5 @@ - 11.2.5 + 11.3.12 diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 3af1919..e292b75 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -1,22 +1,20 @@ - - true - true - - - - - - - - - - - - - - - - - - + + true + true + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/.gitignore b/src/Example/ShellBottomCustomNavigator/.gitignore deleted file mode 100644 index 8afdcb6..0000000 --- a/src/Example/ShellBottomCustomNavigator/.gitignore +++ /dev/null @@ -1,454 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.rsuser -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Mono auto generated files -mono_crash.* - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -[Ww][Ii][Nn]32/ -[Aa][Rr][Mm]/ -[Aa][Rr][Mm]64/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ -[Ll]ogs/ - -# Visual Studio 2015/2017 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# Visual Studio 2017 auto generated files -Generated\ Files/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUnit -*.VisualState.xml -TestResult.xml -nunit-*.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# Benchmark Results -BenchmarkDotNet.Artifacts/ - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ - -# Tye -.tye/ - -# ASP.NET Scaffolding -ScaffoldingReadMe.txt - -# StyleCop -StyleCopReport.xml - -# Files built by Visual Studio -*_i.c -*_p.c -*_h.h -*.ilk -*.meta -*.obj -*.iobj -*.pch -*.pdb -*.ipdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*_wpftmp.csproj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# Visual Studio Trace Files -*.e2e - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# AxoCover is a Code Coverage Tool -.axoCover/* -!.axoCover/settings.json - -# Coverlet is a free, cross platform Code Coverage Tool -coverage*.json -coverage*.xml -coverage*.info - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# Note: Comment the next line if you want to checkin your web deploy settings, -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# NuGet Symbol Packages -*.snupkg -# The packages folder can be ignored because of Package Restore -**/[Pp]ackages/* -# except build/, which is used as an MSBuild target. -!**/[Pp]ackages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/[Pp]ackages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt -*.appx -*.appxbundle -*.appxupload - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!?*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Including strong name files can present a security risk -# (https://github.com/github/gitignore/pull/2483#issue-259490424) -#*.snk - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm -ServiceFabricBackup/ -*.rptproj.bak - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings -*.rptproj.rsuser -*- [Bb]ackup.rdl -*- [Bb]ackup ([0-9]).rdl -*- [Bb]ackup ([0-9][0-9]).rdl - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat -node_modules/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# CodeRush personal settings -.cr/personal - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Tabs Studio -*.tss - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -# OpenCover UI analysis results -OpenCover/ - -# Azure Stream Analytics local run output -ASALocalRun/ - -# MSBuild Binary and Structured Log -*.binlog - -# NVidia Nsight GPU debugger configuration file -*.nvuser - -# MFractors (Xamarin productivity tool) working folder -.mfractor/ - -# Local History for Visual Studio -.localhistory/ - -# BeatPulse healthcheck temp database -healthchecksdb - -# Backup folder for Package Reference Convert tool in Visual Studio 2017 -MigrationBackup/ - -# Ionide (cross platform F# VS Code tools) working folder -.ionide/ - -# Fody - auto-generated XML schema -FodyWeavers.xsd - -## -## Visual studio for Mac -## - - -# globs -Makefile.in -*.userprefs -*.usertasks -config.make -config.status -aclocal.m4 -install-sh -autom4te.cache/ -*.tar.gz -tarballs/ -test-results/ - -# Mac bundle stuff -*.dmg -*.app - -# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore -# General -.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore -# Windows thumbnail cache files -Thumbs.db -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# JetBrains Rider -.idea/ -*.sln.iml - -## -## Visual Studio Code -## -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Icon.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Icon.png deleted file mode 100644 index 41a2a61..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Icon.png and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/MainActivity.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/MainActivity.cs deleted file mode 100644 index 4f9e311..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/MainActivity.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Android.App; -using Android.Content.PM; -using Avalonia; -using Avalonia.Android; -using Avalonia.ReactiveUI; -using AvaloniaInside.Shell; - -namespace ShellBottomCustomNavigator.Android; - -[Activity( - Label = "ShellBottomCustomNavigator.Android", - Theme = "@style/MyTheme.NoActionBar", - Icon = "@drawable/icon", - MainLauncher = true, - ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode)] -public class MainActivity : AvaloniaMainActivity -{ - protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) - { - return base.CustomizeAppBuilder(builder) - .WithInterFont() - .UseShell() - .UseReactiveUI(); - } -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Properties/AndroidManifest.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Properties/AndroidManifest.xml deleted file mode 100644 index 6c0a263..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Properties/AndroidManifest.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/AboutResources.txt b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/AboutResources.txt deleted file mode 100644 index c2bca97..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/AboutResources.txt +++ /dev/null @@ -1,44 +0,0 @@ -Images, layout descriptions, binary blobs and string dictionaries can be included -in your application as resource files. Various Android APIs are designed to -operate on the resource IDs instead of dealing with images, strings or binary blobs -directly. - -For example, a sample Android app that contains a user interface layout (main.axml), -an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) -would keep its resources in the "Resources" directory of the application: - -Resources/ - drawable/ - icon.png - - layout/ - main.axml - - values/ - strings.xml - -In order to get the build system to recognize Android resources, set the build action to -"AndroidResource". The native Android APIs do not operate directly with filenames, but -instead operate on resource IDs. When you compile an Android application that uses resources, -the build system will package the resources for distribution and generate a class called "R" -(this is an Android convention) that contains the tokens for each one of the resources -included. For example, for the above Resources layout, this is what the R class would expose: - -public class R { - public class drawable { - public const int icon = 0x123; - } - - public class layout { - public const int main = 0x456; - } - - public class strings { - public const int first_string = 0xabc; - public const int second_string = 0xbcd; - } -} - -You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main -to reference the layout/main.axml file, or R.strings.first_string to reference the first -string in the dictionary file values/strings.xml. \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-night-v31/avalonia_anim.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-night-v31/avalonia_anim.xml deleted file mode 100644 index dde4b5a..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-night-v31/avalonia_anim.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-v31/avalonia_anim.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-v31/avalonia_anim.xml deleted file mode 100644 index 94f27d9..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable-v31/avalonia_anim.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable/splash_screen.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable/splash_screen.xml deleted file mode 100644 index 2e920b4..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/drawable/splash_screen.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-night/colors.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-night/colors.xml deleted file mode 100644 index 3d47b6f..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-night/colors.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #212121 - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-v31/styles.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-v31/styles.xml deleted file mode 100644 index d5ecec4..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values-v31/styles.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/colors.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/colors.xml deleted file mode 100644 index 59279d5..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/colors.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #FFFFFF - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/styles.xml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/styles.xml deleted file mode 100644 index 6e534de..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/Resources/values/styles.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/ShellBottomCustomNavigator.Android.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/ShellBottomCustomNavigator.Android.csproj deleted file mode 100644 index 19b5850..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Android/ShellBottomCustomNavigator.Android.csproj +++ /dev/null @@ -1,29 +0,0 @@ - - - Exe - net8.0-android - 21 - enable - com.CompanyName.ShellBottomCustomNavigator - 1 - 1.0 - apk - False - - - - - Resources\drawable\Icon.png - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/Logo.svg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/Logo.svg deleted file mode 100644 index 9685a23..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/Logo.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/app.css b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/app.css deleted file mode 100644 index a424538..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/app.css +++ /dev/null @@ -1,74 +0,0 @@ -:root { - --sat: env(safe-area-inset-top); - --sar: env(safe-area-inset-right); - --sab: env(safe-area-inset-bottom); - --sal: env(safe-area-inset-left); -} - -/* HTML styles for the splash screen */ - -.highlight { - color: white; - font-size: 2.5rem; - display: block; -} - -.purple { - color: #8b44ac; -} - -.icon { - opacity: 0.05; - height: 35%; - width: 35%; - position: absolute; - background-repeat: no-repeat; - right: 0px; - bottom: 0px; - margin-right: 3%; - margin-bottom: 5%; - z-index: 5000; - background-position: right bottom; - pointer-events: none; -} - -#avalonia-splash a { - color: whitesmoke; - text-decoration: none; -} - -.center { - display: flex; - justify-content: center; - align-items: center; - height: 100vh; -} - -#avalonia-splash { - position: relative; - height: 100%; - width: 100%; - color: whitesmoke; - background: #1b2a4e; - font-family: 'Nunito', sans-serif; - background-position: center; - background-size: cover; - background-repeat: no-repeat; - justify-content: center; - align-items: center; -} - -.splash-close { - animation: fadeout 0.25s linear forwards; -} - -@keyframes fadeout { - 0% { - opacity: 100%; - } - - 100% { - opacity: 0; - visibility: collapse; - } -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/favicon.ico b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/favicon.ico deleted file mode 100644 index da8d49f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/favicon.ico and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/index.html b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/index.html deleted file mode 100644 index a5b9b0c..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/index.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - ShellBottomCustomNavigator.Browser - - - - - - - - - - -
-
-
-

- Powered by - Avalonia UI -

-
- Avalonia Logo -
-
- - - - \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/main.js b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/main.js deleted file mode 100644 index 0dbe2e4..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/AppBundle/main.js +++ /dev/null @@ -1,13 +0,0 @@ -import { dotnet } from './dotnet.js' - -const is_browser = typeof window != "undefined"; -if (!is_browser) throw new Error(`Expected to be running in a browser`); - -const dotnetRuntime = await dotnet - .withDiagnosticTracing(false) - .withApplicationArgumentsFromQuery() - .create(); - -const config = dotnetRuntime.getConfig(); - -await dotnetRuntime.runMainAndExit(config.mainAssemblyName, [window.location.search]); \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Program.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Program.cs deleted file mode 100644 index dd4bcb1..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Program.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Runtime.Versioning; -using System.Threading.Tasks; -using Avalonia; -using Avalonia.Browser; -using Avalonia.ReactiveUI; -using AvaloniaInside.Shell; -using ShellBottomCustomNavigator; - -[assembly: SupportedOSPlatform("browser")] - -internal sealed partial class Program -{ - private static Task Main(string[] args) => BuildAvaloniaApp() - .WithInterFont() - .UseReactiveUI() - .UseShell() - .StartBrowserAppAsync("out"); - - public static AppBuilder BuildAvaloniaApp() - => AppBuilder.Configure(); -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Properties/launchSettings.json b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Properties/launchSettings.json deleted file mode 100644 index bf2b532..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/Properties/launchSettings.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "profiles": { - "ShellBottomCustomNavigator.Browser": { - "commandName": "Project", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "applicationUrl": "https://localhost:5001;http://localhost:5000", - "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/debug?browser={browserInspectUri}" - } - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/ShellBottomCustomNavigator.Browser.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/ShellBottomCustomNavigator.Browser.csproj deleted file mode 100644 index cb28ff7..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/ShellBottomCustomNavigator.Browser.csproj +++ /dev/null @@ -1,22 +0,0 @@ - - - net8.0-browser - browser-wasm - Exe - true - AppBundle\main.js - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/runtimeconfig.template.json b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/runtimeconfig.template.json deleted file mode 100644 index c6990ba..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Browser/runtimeconfig.template.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "wasmHostProperties": { - "perHostConfig": [ - { - "name": "browser", - "html-path": "index.html", - "Host": "browser" - } - ] - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/Program.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/Program.cs deleted file mode 100644 index f7e8418..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/Program.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using Avalonia; -using Avalonia.ReactiveUI; -using AvaloniaInside.Shell; - -namespace ShellBottomCustomNavigator.Desktop; - -sealed class Program -{ - // Initialization code. Don't use any Avalonia, third-party APIs or any - // SynchronizationContext-reliant code before AppMain is called: things aren't initialized - // yet and stuff might break. - [STAThread] - public static void Main(string[] args) => BuildAvaloniaApp() - .StartWithClassicDesktopLifetime(args); - - // Avalonia configuration, don't remove; also used by visual designer. - public static AppBuilder BuildAvaloniaApp() - => AppBuilder.Configure() - .UsePlatformDetect() - .WithInterFont() - .LogToTrace() - .UseReactiveUI() - .UseShell(); -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/ShellBottomCustomNavigator.Desktop.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/ShellBottomCustomNavigator.Desktop.csproj deleted file mode 100644 index 0f26b48..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/ShellBottomCustomNavigator.Desktop.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - WinExe - - net8.0 - enable - true - - - - app.manifest - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/app.manifest b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/app.manifest deleted file mode 100644 index d75e229..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.Desktop/app.manifest +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/AppDelegate.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/AppDelegate.cs deleted file mode 100644 index c917df7..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/AppDelegate.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Foundation; -using UIKit; -using Avalonia; -using Avalonia.Controls; -using Avalonia.iOS; -using Avalonia.Media; -using Avalonia.ReactiveUI; -using AvaloniaInside.Shell; - -namespace ShellBottomCustomNavigator.iOS; - -// The UIApplicationDelegate for the application. This class is responsible for launching the -// User Interface of the application, as well as listening (and optionally responding) to -// application events from iOS. -[Register("AppDelegate")] -#pragma warning disable CA1711 // Identifiers should not have incorrect suffix -public partial class AppDelegate : AvaloniaAppDelegate -#pragma warning restore CA1711 // Identifiers should not have incorrect suffix -{ - protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) - { - return base.CustomizeAppBuilder(builder) - .WithInterFont() - .UseShell() - .UseReactiveUI(); - } -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Entitlements.plist b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Entitlements.plist deleted file mode 100644 index 0c67376..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Entitlements.plist +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Info.plist b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Info.plist deleted file mode 100644 index 7aa282d..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - CFBundleDisplayName - ShellBottomCustomNavigator - CFBundleIdentifier - companyName.ShellBottomCustomNavigator - CFBundleShortVersionString - 1.0 - CFBundleVersion - 1.0 - LSRequiresIPhoneOS - - MinimumOSVersion - 13.0 - UIDeviceFamily - - 1 - 2 - - UILaunchStoryboardName - LaunchScreen - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Main.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Main.cs deleted file mode 100644 index b041e18..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Main.cs +++ /dev/null @@ -1,14 +0,0 @@ -using UIKit; - -namespace ShellBottomCustomNavigator.iOS; - -public class Application -{ - // This is the main entry point of the application. - static void Main(string[] args) - { - // if you want to use a different Application Delegate class from "AppDelegate" - // you can specify it here. - UIApplication.Main(args, null, typeof(AppDelegate)); - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Resources/LaunchScreen.xib b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Resources/LaunchScreen.xib deleted file mode 100644 index 9cf8b87..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/Resources/LaunchScreen.xib +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/ShellBottomCustomNavigator.iOS.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/ShellBottomCustomNavigator.iOS.csproj deleted file mode 100644 index f36f18c..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.iOS/ShellBottomCustomNavigator.iOS.csproj +++ /dev/null @@ -1,17 +0,0 @@ - - - Exe - net8.0-ios - 13.0 - enable - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.sln b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.sln deleted file mode 100644 index ae18379..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator.sln +++ /dev/null @@ -1,54 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.3.32811.315 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator", "ShellBottomCustomNavigator\ShellBottomCustomNavigator.csproj", "{EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.Desktop", "ShellBottomCustomNavigator.Desktop\ShellBottomCustomNavigator.Desktop.csproj", "{ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.Browser", "ShellBottomCustomNavigator.Browser\ShellBottomCustomNavigator.Browser.csproj", "{1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.iOS", "ShellBottomCustomNavigator.iOS\ShellBottomCustomNavigator.iOS.csproj", "{EBD9022F-BC83-4846-9A11-6F7F3772DC64}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellBottomCustomNavigator.Android", "ShellBottomCustomNavigator.Android\ShellBottomCustomNavigator.Android.csproj", "{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3DA99C4E-89E3-4049-9C22-0A7EC60D83D8}" - ProjectSection(SolutionItems) = preProject - Directory.Build.props = Directory.Build.props - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.Build.0 = Release|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.Build.0 = Release|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.Build.0 = Release|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.Build.0 = Release|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {83CB65B8-011F-4ED7-BCD3-A6CFA935EF7E} - EndGlobalSection -EndGlobal diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml deleted file mode 100644 index d48c664..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml.cs deleted file mode 100644 index 04143d2..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/App.axaml.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Avalonia; -using Avalonia.Controls.ApplicationLifetimes; -using Avalonia.Markup.Xaml; -using Projektanker.Icons.Avalonia; -using Projektanker.Icons.Avalonia.FontAwesome; -using ShellBottomCustomNavigator.ViewModels; -using ShellBottomCustomNavigator.Views; - -namespace ShellBottomCustomNavigator; - -public partial class App : Application -{ - public override void Initialize() - { - IconProvider.Current - .Register(); - - AvaloniaXamlLoader.Load(this); - } - - public override void OnFrameworkInitializationCompleted() - { - if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) - { - desktop.MainWindow = new MainWindow - { - DataContext = new MainViewModel() - }; - } - else if (ApplicationLifetime is ISingleViewApplicationLifetime singleViewPlatform) - { - singleViewPlatform.MainView = new MainView - { - DataContext = new MainViewModel() - }; - } - - base.OnFrameworkInitializationCompleted(); - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/Icons/truck-fast-solid.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/Icons/truck-fast-solid.png deleted file mode 100644 index 6d9b431..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/Icons/truck-fast-solid.png and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/avalonia-logo.ico b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/avalonia-logo.ico deleted file mode 100644 index da8d49f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/avalonia-logo.ico and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/Donna_Moore.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/Donna_Moore.jpg deleted file mode 100644 index 5450653..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/Donna_Moore.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1000.jpg deleted file mode 100644 index 913e2bc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1000.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1001.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1001.jpg deleted file mode 100644 index 913e2bc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1001.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1002.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1002.jpg deleted file mode 100644 index 913e2bc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1002.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1003.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1003.jpg deleted file mode 100644 index 913e2bc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1003.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1007.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1007.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1007.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1010.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1010.jpg deleted file mode 100644 index f08b42e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1010.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1011.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1011.jpg deleted file mode 100644 index f08b42e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1011.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1020.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1020.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1020.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1021.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1021.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1021.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1022.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1022.jpg deleted file mode 100644 index f0ad322..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1022.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1023.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1023.jpg deleted file mode 100644 index f0ad322..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1023.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1030.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1030.jpg deleted file mode 100644 index 982af03..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1030.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1031.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1031.jpg deleted file mode 100644 index 982af03..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1031.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1032.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1032.jpg deleted file mode 100644 index 04b1536..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1032.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1035.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1035.jpg deleted file mode 100644 index d898367..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1035.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1036.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1036.jpg deleted file mode 100644 index 855ad73..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1036.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1037.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1037.jpg deleted file mode 100644 index 04b1536..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1037.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1040.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1040.jpg deleted file mode 100644 index e3c77df..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1040.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1041.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1041.jpg deleted file mode 100644 index b947564..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1041.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1042.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1042.jpg deleted file mode 100644 index b8b16b1..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1042.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1050.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1050.jpg deleted file mode 100644 index 18cbe54..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1050.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1051.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1051.jpg deleted file mode 100644 index aea5c63..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1051.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1052.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1052.jpg deleted file mode 100644 index 2c97261..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1052.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1055.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1055.jpg deleted file mode 100644 index 4b0c565..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1055.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1056.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1056.jpg deleted file mode 100644 index 653474a..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1056.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1060.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1060.jpg deleted file mode 100644 index ebad8d0..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1060.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1061.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1061.jpg deleted file mode 100644 index 4391415..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1061.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1062.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1062.jpg deleted file mode 100644 index ac8ada2..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1062.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1063.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1063.jpg deleted file mode 100644 index 62b6d3f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1063.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1064.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1064.jpg deleted file mode 100644 index 2828e4b..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1064.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1065.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1065.jpg deleted file mode 100644 index babb2f1..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1065.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1066.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1066.jpg deleted file mode 100644 index 15945de..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1066.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1067.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1067.jpg deleted file mode 100644 index 3e4c9f4..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1067.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1068.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1068.jpg deleted file mode 100644 index 8c13f36..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1068.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1069.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1069.jpg deleted file mode 100644 index 9b11b77..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1069.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1070.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1070.jpg deleted file mode 100644 index c036e66..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1070.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1071.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1071.jpg deleted file mode 100644 index c036e66..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1071.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1072.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1072.jpg deleted file mode 100644 index dd04a46..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1072.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1073.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1073.jpg deleted file mode 100644 index dd04a46..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1073.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1080.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1080.jpg deleted file mode 100644 index d40da13..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1080.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1081.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1081.jpg deleted file mode 100644 index d40da13..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1081.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1082.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1082.jpg deleted file mode 100644 index 80ef1fc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1082.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1083.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1083.jpg deleted file mode 100644 index 80ef1fc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1083.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1085.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1085.jpg deleted file mode 100644 index 61ecdaf..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1085.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1090.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1090.jpg deleted file mode 100644 index d3ddb55..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1090.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1091.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1091.jpg deleted file mode 100644 index 898b20b..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1091.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1092.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1092.jpg deleted file mode 100644 index d3ddb55..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1092.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1095.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1095.jpg deleted file mode 100644 index 71e41cf..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1095.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1096.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1096.jpg deleted file mode 100644 index 7a77b4f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1096.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1097.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1097.jpg deleted file mode 100644 index 4b22e53..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1097.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1100.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1100.jpg deleted file mode 100644 index 4b605c1..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1100.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1101.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1101.jpg deleted file mode 100644 index 5737952..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1101.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1102.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1102.jpg deleted file mode 100644 index 1f88bea..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1102.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1103.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1103.jpg deleted file mode 100644 index da09dcc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1103.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1104.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1104.jpg deleted file mode 100644 index 4b605c1..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1104.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1105.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1105.jpg deleted file mode 100644 index 5737952..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1105.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1106.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1106.jpg deleted file mode 100644 index 1f88bea..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1106.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1107.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1107.jpg deleted file mode 100644 index da09dcc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1107.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1110.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1110.jpg deleted file mode 100644 index a02ed75..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1110.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1111.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1111.jpg deleted file mode 100644 index a02ed75..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1111.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1112.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1112.jpg deleted file mode 100644 index 66f04a4..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1112.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1113.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1113.jpg deleted file mode 100644 index 8392225..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1113.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1114.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1114.jpg deleted file mode 100644 index fe37829..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1114.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1115.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1115.jpg deleted file mode 100644 index 9ec7441..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1115.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1116.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1116.jpg deleted file mode 100644 index 9ec7441..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1116.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1117.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1117.jpg deleted file mode 100644 index 9ec7441..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1117.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1118.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1118.jpg deleted file mode 100644 index 70542e5..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1118.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1119.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1119.jpg deleted file mode 100644 index a2b3930..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1119.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1120.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1120.jpg deleted file mode 100644 index f6157a4..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1120.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1137.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1137.jpg deleted file mode 100644 index 855ad73..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1137.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1138.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1138.jpg deleted file mode 100644 index 788c000..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1138.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1210.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1210.jpg deleted file mode 100644 index 257d5eb..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1210.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1251.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1251.jpg deleted file mode 100644 index da40954..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1251.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1252.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1252.jpg deleted file mode 100644 index 5deae23..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1252.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1253.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1253.jpg deleted file mode 100644 index 775cb12..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1253.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1254.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1254.jpg deleted file mode 100644 index 2659039..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1254.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1255.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1255.jpg deleted file mode 100644 index 2fe0457..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1255.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1256.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1256.jpg deleted file mode 100644 index 287abab..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1256.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1257.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1257.jpg deleted file mode 100644 index e2b2ee9..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1257.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1258.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1258.jpg deleted file mode 100644 index 22a7ec4..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1258.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1500.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1500.jpg deleted file mode 100644 index 257d5eb..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1500.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1501.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1501.jpg deleted file mode 100644 index 257d5eb..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1501.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1502.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1502.jpg deleted file mode 100644 index 1e5d2c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1502.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1600.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1600.jpg deleted file mode 100644 index 257d5eb..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1600.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1601.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1601.jpg deleted file mode 100644 index 257d5eb..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1601.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1602.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1602.jpg deleted file mode 100644 index 1e5d2c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1602.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1603.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1603.jpg deleted file mode 100644 index 1e5d2c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-1603.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2000.jpg deleted file mode 100644 index 7b60f3b..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2000.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2001.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2001.jpg deleted file mode 100644 index a6975b2..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2001.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2002.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2002.jpg deleted file mode 100644 index a6975b2..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2002.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2020.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2020.jpg deleted file mode 100644 index 7d7a7c6..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2020.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2025.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2025.jpg deleted file mode 100644 index c2dc494..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2025.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2026.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2026.jpg deleted file mode 100644 index 51bff3b..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2026.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2027.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2027.jpg deleted file mode 100644 index 524a49b..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-2027.jpg and /dev/null 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 deleted file mode 100644 index 81c4bab..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100-large.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100.jpg deleted file mode 100644 index f5feb4e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6100.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6101.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6101.jpg deleted file mode 100644 index f5feb4e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6101.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6102.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6102.jpg deleted file mode 100644 index f5feb4e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6102.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6110.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6110.jpg deleted file mode 100644 index 10f93fa..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6110.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6111.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6111.jpg deleted file mode 100644 index 7b60f3b..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6111.jpg and /dev/null 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 deleted file mode 100644 index d98350f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120-large.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120.jpg deleted file mode 100644 index 98568e8..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6120.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6121.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6121.jpg deleted file mode 100644 index 5c64415..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6121.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6122.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6122.jpg deleted file mode 100644 index 3e9679d..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6122.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6123.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6123.jpg deleted file mode 100644 index 3e9679d..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6123.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6130.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6130.jpg deleted file mode 100644 index b87341f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6130.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6131.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6131.jpg deleted file mode 100644 index 996ff0f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6131.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6132.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6132.jpg deleted file mode 100644 index 04b1536..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-6132.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7000.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7000.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7010.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7010.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7010.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7020.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7020.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7020.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7030.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7030.jpg deleted file mode 100644 index 347e0c3..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7030.jpg and /dev/null 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 deleted file mode 100644 index a22e9a2..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777-large.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777.jpg deleted file mode 100644 index e77e1be..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-7777.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8000.jpg deleted file mode 100644 index bf3184a..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8000.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8001.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8001.jpg deleted file mode 100644 index 87720aa..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8001.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8002.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8002.jpg deleted file mode 100644 index 913e2bc..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8002.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8003.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8003.jpg deleted file mode 100644 index f08b42e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-8003.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9991.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9991.jpg deleted file mode 100644 index 83f940f..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9991.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9992.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9992.jpg deleted file mode 100644 index 6fd9583..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9992.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9993.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9993.jpg deleted file mode 100644 index dfee60a..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9993.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9994.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9994.jpg deleted file mode 100644 index 6b8d07e..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9994.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9995.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9995.jpg deleted file mode 100644 index 0b113b9..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9995.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9996.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9996.jpg deleted file mode 100644 index 72c754c..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9996.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9997.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9997.jpg deleted file mode 100644 index 065cbda..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9997.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9998.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9998.jpg deleted file mode 100644 index f0ad322..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9998.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9999.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9999.jpg deleted file mode 100644 index b0720ab..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/HT-9999.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/John_Miller.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/John_Miller.png deleted file mode 100644 index 9504c70..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/John_Miller.png and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/PF-1000.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/PF-1000.jpg deleted file mode 100644 index e27e20c..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/PF-1000.jpg and /dev/null 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 deleted file mode 100644 index 931957c..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273303_low_jpg_srgb.jpg and /dev/null 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 deleted file mode 100644 index c598b2a..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/273537_low_jpg_srgb.jpg and /dev/null 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 deleted file mode 100644 index 8f478bb..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/bigimgs/274731_high_jpg_eci_rgb.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/johnDoe.png b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/johnDoe.png deleted file mode 100644 index 6da9836..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/johnDoe.png and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants.jpg deleted file mode 100644 index 0d713da..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants.jpg and /dev/null 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 deleted file mode 100644 index 6462043..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/ALotOfElephants_small.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/elephant.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/elephant.jpg deleted file mode 100644 index 489db21..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/elephant.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/flatFish.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/flatFish.jpg deleted file mode 100644 index c0a8d18..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/flatFish.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/horses.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/horses.jpg deleted file mode 100644 index 9f4894d..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/nature/horses.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/screw.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/screw.jpg deleted file mode 100644 index 7200587..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/images/screw.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/omid-img.jpg b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/omid-img.jpg deleted file mode 100644 index f5535ec..0000000 Binary files a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Assets/omid-img.jpg and /dev/null differ diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Converters/BitmapAssetValueConverter.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Converters/BitmapAssetValueConverter.cs deleted file mode 100644 index ec97ead..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Converters/BitmapAssetValueConverter.cs +++ /dev/null @@ -1,30 +0,0 @@ -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 deleted file mode 100644 index f94dca3..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helper.cs +++ /dev/null @@ -1,18 +0,0 @@ -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 deleted file mode 100644 index e8b3b23..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Helpers/ImageHelper.cs +++ /dev/null @@ -1,33 +0,0 @@ -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 deleted file mode 100644 index 8fede11..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/DummyPlace.cs +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index be45086..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Models/ProductDto.cs +++ /dev/null @@ -1,57 +0,0 @@ -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 deleted file mode 100644 index 38fd104..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Resources/Products.json +++ /dev/null @@ -1,2217 +0,0 @@ -[ - { - "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 deleted file mode 100644 index a46568f..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Roots.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ShellBottomCustomNavigator.csproj b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ShellBottomCustomNavigator.csproj deleted file mode 100644 index c92f5fb..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ShellBottomCustomNavigator.csproj +++ /dev/null @@ -1,49 +0,0 @@ - - - net8.0 - enable - latest - false - - - - - - - - - - - - - - - - - - - - - - - - - - - PetsTabControlView.axaml - Code - - - ProfileView.axaml - Code - - - DogView.axaml - Code - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Styles.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Styles.axaml deleted file mode 100644 index e723cff..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Styles.axaml +++ /dev/null @@ -1,189 +0,0 @@ - - - - - M0,0 L100,0 C95.167503,0 91.135628,3.4278221 90.203163,7.9846497 L90.152122,8.2704506 89.963921,9.1416779 C85.813438,27.384438 69.496498,41 50,41 30.5035,41 14.186564,27.384438 10.036079,9.1416779 L9.8478823,8.2704926 9.7968359,7.9846497 C8.8643732,3.4278221 4.8324914,0,0,0 z - - - - White - Gray - Blue - - - - - - - - - - - #001E39 - Silver - LightSkyBlue - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewLocator.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewLocator.cs deleted file mode 100644 index a71b983..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewLocator.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System; -using Avalonia.Controls; -using Avalonia.Controls.Templates; -using ShellBottomCustomNavigator.ViewModels; - -namespace ShellBottomCustomNavigator; - -public class ViewLocator : IDataTemplate -{ - public Control? Build(object? data) - { - if (data is null) - return null; - - var name = data.GetType().FullName!.Replace("ViewModel", "View", StringComparison.Ordinal); - var type = Type.GetType(name); - - if (type != null) - { - return (Control)Activator.CreateInstance(type)!; - } - - return new TextBlock { Text = "Not Found: " + name }; - } - - public bool Match(object? data) - { - return data is ViewModelBase; - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/HomePageViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/HomePageViewModel.cs deleted file mode 100644 index 33beafd..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/HomePageViewModel.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using System.Windows.Input; -using AvaloniaInside.Shell; -using ReactiveUI; - -namespace ShellBottomCustomNavigator.ViewModels; - -public class HomePageViewModel : ViewModelBase -{ - private readonly INavigator _navigationService; - - public ICommand NavigateToSecondPage { get; set; } - public ICommand ShowDialogCommand { get; set; } - - public HomePageViewModel(INavigator navigationService) - { - _navigationService = navigationService; - NavigateToSecondPage = ReactiveCommand.CreateFromTask(Navigate); - ShowDialogCommand = ReactiveCommand.CreateFromTask(ShowDialog); - } - - private Task ShowDialog(CancellationToken cancellationToken) - { - return _navigationService.NavigateAsync("/main/home/confirmation", cancellationToken); - } - - private Task Navigate() - { - return _navigationService.NavigateAsync("/second"); - } -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/MainViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/MainViewModel.cs deleted file mode 100644 index 6899d1a..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/MainViewModel.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Avalonia.Animation; -using AvaloniaInside.Shell.Platform; -using ReactiveUI; - -namespace ShellBottomCustomNavigator.ViewModels; - -public class MainViewModel : ViewModelBase -{ - public string Greeting => "Welcome to Avalonia!"; - - private IPageTransition _currentTransition = PlatformSetup.TransitionForPage; - public IPageTransition CurrentTransition - { - get => _currentTransition; - set - { - this.RaiseAndSetIfChanged(ref _currentTransition, value); - } - } -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/SettingViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/SettingViewModel.cs deleted file mode 100644 index 738b082..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/SettingViewModel.cs +++ /dev/null @@ -1,54 +0,0 @@ -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 deleted file mode 100644 index 9185629..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs +++ /dev/null @@ -1,59 +0,0 @@ -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 deleted file mode 100644 index dadbabe..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductCatalogViewModel.cs +++ /dev/null @@ -1,60 +0,0 @@ -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 deleted file mode 100644 index e480db8..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ShopViewModels/ProductDetailViewModel.cs +++ /dev/null @@ -1,17 +0,0 @@ -using ShellBottomCustomNavigator.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace ShellBottomCustomNavigator.ViewModels.ShopViewModels; -public class ProductDetailViewModel : ViewModelBase -{ - public ProductDto Product { get; set; } - - public ProductDetailViewModel(ProductDto product) - { - Product = product; - } -} diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ViewModelBase.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ViewModelBase.cs deleted file mode 100644 index a56269f..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/ViewModelBase.cs +++ /dev/null @@ -1,7 +0,0 @@ -using ReactiveUI; - -namespace ShellBottomCustomNavigator.ViewModels; - -public class ViewModelBase : ReactiveObject -{ -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/WelcomeViewModel.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/WelcomeViewModel.cs deleted file mode 100644 index ae224d5..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/ViewModels/WelcomeViewModel.cs +++ /dev/null @@ -1,29 +0,0 @@ -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 deleted file mode 100644 index 2e69a7f..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml.cs deleted file mode 100644 index 79427a0..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/CatView.axaml.cs +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index d41cf05..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml.cs deleted file mode 100644 index 0ad3734..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/DogView.axaml.cs +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index 83da87e..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/FontIconImageSource.cs +++ /dev/null @@ -1,74 +0,0 @@ -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 deleted file mode 100644 index 57e22d6..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml.cs deleted file mode 100644 index 38be81a..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/HomePage.axaml.cs +++ /dev/null @@ -1,28 +0,0 @@ -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 deleted file mode 100644 index 4e48fdd..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml.cs deleted file mode 100644 index 17f8681..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainTabControl.axaml.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using Avalonia.Controls; -using Avalonia.Controls.Primitives; -using Avalonia.Markup.Xaml; -using Avalonia.Styling; - -namespace ShellBottomCustomNavigator.Views; - -public partial class MainTabControl : TabControl -{ - protected override Type StyleKeyOverride => typeof(TabControl); - - private Grid _circle; - public MainTabControl() - { - InitializeComponent(); - - var aaa = Styles; - - this.SelectionChanged += (sender, args) => - { - if (_circle == null) return; - int idx = SelectedIndex; - Canvas.SetLeft(_circle, idx * 80); - }; - } - - private void InitializeComponent() - { - AvaloniaXamlLoader.Load(this); - } - - protected override void OnApplyTemplate(TemplateAppliedEventArgs e) - { - base.OnApplyTemplate(e); - - _circle = e.NameScope.Get("PART_Circle"); - this.SelectedIndex = 0; - } -} - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml deleted file mode 100644 index be295d0..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml.cs deleted file mode 100644 index 0c54076..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainView.axaml.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Avalonia.Controls; -using Avalonia.Interactivity; - -namespace ShellBottomCustomNavigator.Views; - -public partial class MainView : UserControl -{ - public static MainView Current { get; private set; } - public MainView() - { - Current = this; - InitializeComponent(); - } - - protected override void OnLoaded(RoutedEventArgs e) - { - Current = this; - base.OnLoaded(e); - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml deleted file mode 100644 index d6a9cc0..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml.cs deleted file mode 100644 index 422cf95..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/MainWindow.axaml.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Avalonia.Controls; - -namespace ShellBottomCustomNavigator.Views; - -public partial class MainWindow : Window -{ - public MainWindow() - { - InitializeComponent(); - } -} \ No newline at end of file diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml deleted file mode 100644 index a653323..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml.cs deleted file mode 100644 index 115c845..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/PetsTabControlView.axaml.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using Avalonia.Controls; -using Avalonia.Markup.Xaml; -using Avalonia.Styling; - -namespace ShellBottomCustomNavigator.Views; - -public partial class PetsTabControlView : TabControl -{ - protected override Type StyleKeyOverride => 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 deleted file mode 100644 index e6b667d..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml +++ /dev/null @@ -1,10 +0,0 @@ - - Welcome to Avalonia! - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml.cs deleted file mode 100644 index fb45492..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ProfileView.axaml.cs +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index a14f3d3..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml +++ /dev/null @@ -1,10 +0,0 @@ - - Welcome to Avalonia! - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml.cs deleted file mode 100644 index a4b8852..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SecondView.axaml.cs +++ /dev/null @@ -1,19 +0,0 @@ -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 deleted file mode 100644 index 9319b4a..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml.cs deleted file mode 100644 index 3f60b89..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SettingView.axaml.cs +++ /dev/null @@ -1,34 +0,0 @@ -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 deleted file mode 100644 index b896d1f..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - 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 deleted file mode 100644 index acb2184..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ConfirmationCloseView.axaml.cs +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index 7426623..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml.cs deleted file mode 100644 index 572d91f..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogFilterView.axaml.cs +++ /dev/null @@ -1,36 +0,0 @@ -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 deleted file mode 100644 index c99626b..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml.cs deleted file mode 100644 index 100c5df..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductCatalogView.axaml.cs +++ /dev/null @@ -1,31 +0,0 @@ -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 deleted file mode 100644 index 2998439..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml.cs deleted file mode 100644 index cb1a2c0..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/ProductDetailView.axaml.cs +++ /dev/null @@ -1,33 +0,0 @@ -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 deleted file mode 100644 index 064300d..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/ShopViews/StarsControl.cs +++ /dev/null @@ -1,8 +0,0 @@ -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 deleted file mode 100644 index 7ec4b7c..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - 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 deleted file mode 100644 index 40b0509..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/SimpleDialog.axaml.cs +++ /dev/null @@ -1,30 +0,0 @@ -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 deleted file mode 100644 index 551a365..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml.cs deleted file mode 100644 index 9eaaac4..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/WelcomeView.axaml.cs +++ /dev/null @@ -1,21 +0,0 @@ -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 deleted file mode 100644 index ddb1aa8..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml.cs deleted file mode 100644 index 85f64c7..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/CalendarWidgetView.axaml.cs +++ /dev/null @@ -1,22 +0,0 @@ -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 deleted file mode 100644 index 1339b31..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml.cs deleted file mode 100644 index f3f6b96..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/UserProfileWidgetView.axaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -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 deleted file mode 100644 index 1320f99..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml.cs b/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml.cs deleted file mode 100644 index 942006c..0000000 --- a/src/Example/ShellBottomCustomNavigator/ShellBottomCustomNavigator/Views/Widgets/WeatherView.axaml.cs +++ /dev/null @@ -1,18 +0,0 @@ -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.Android/MainActivity.cs b/src/Example/ShellExample/ShellExample.Android/MainActivity.cs index 8e5726f..f861cfb 100644 --- a/src/Example/ShellExample/ShellExample.Android/MainActivity.cs +++ b/src/Example/ShellExample/ShellExample.Android/MainActivity.cs @@ -2,7 +2,6 @@ using Android.Content.PM; using Avalonia; using Avalonia.Android; -using Avalonia.ReactiveUI; using AvaloniaInside.Shell; namespace ShellExample.Android; @@ -16,7 +15,6 @@ protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) { return base.CustomizeAppBuilder(builder) //.WithInterFont() - .UseReactiveUI() .UseShell(); } } diff --git a/src/Example/ShellExample/ShellExample.Android/ShellExample.Android.csproj b/src/Example/ShellExample/ShellExample.Android/ShellExample.Android.csproj index 736f66a..3f6d75a 100644 --- a/src/Example/ShellExample/ShellExample.Android/ShellExample.Android.csproj +++ b/src/Example/ShellExample/ShellExample.Android/ShellExample.Android.csproj @@ -1,7 +1,7 @@ Exe - net8.0-android + net10.0-android 21 enable com.CompanyName.ShellExample diff --git a/src/Example/ShellExample/ShellExample.Desktop/Program.cs b/src/Example/ShellExample/ShellExample.Desktop/Program.cs index f05156b..29a6e2d 100644 --- a/src/Example/ShellExample/ShellExample.Desktop/Program.cs +++ b/src/Example/ShellExample/ShellExample.Desktop/Program.cs @@ -1,6 +1,5 @@ using System; using Avalonia; -using Avalonia.ReactiveUI; using AvaloniaInside.Shell; namespace ShellExample.Desktop; @@ -19,6 +18,5 @@ public static AppBuilder BuildAvaloniaApp() => AppBuilder.Configure() .UsePlatformDetect() .LogToTrace() - .UseReactiveUI() .UseShell(); } diff --git a/src/Example/ShellExample/ShellExample.Desktop/ShellExample.Desktop.csproj b/src/Example/ShellExample/ShellExample.Desktop/ShellExample.Desktop.csproj index 020f651..ca78b51 100644 --- a/src/Example/ShellExample/ShellExample.Desktop/ShellExample.Desktop.csproj +++ b/src/Example/ShellExample/ShellExample.Desktop/ShellExample.Desktop.csproj @@ -1,7 +1,7 @@  WinExe - net8.0 + net10.0 enable true diff --git a/src/Example/ShellExample/ShellExample.Web/Program.cs b/src/Example/ShellExample/ShellExample.Web/Program.cs index eb30266..e88f947 100644 --- a/src/Example/ShellExample/ShellExample.Web/Program.cs +++ b/src/Example/ShellExample/ShellExample.Web/Program.cs @@ -1,6 +1,5 @@ using System.Runtime.Versioning; using Avalonia; -using Avalonia.ReactiveUI; using ShellExample; using Avalonia.Browser; using AvaloniaInside.Shell; @@ -10,7 +9,6 @@ internal partial class Program { private static void Main(string[] args) => BuildAvaloniaApp() - .UseReactiveUI() .UseShell() .StartBrowserAppAsync("out"); diff --git a/src/Example/ShellExample/ShellExample.Web/ShellExample.Web.csproj b/src/Example/ShellExample/ShellExample.Web/ShellExample.Web.csproj index 0d3e573..4c20049 100644 --- a/src/Example/ShellExample/ShellExample.Web/ShellExample.Web.csproj +++ b/src/Example/ShellExample/ShellExample.Web/ShellExample.Web.csproj @@ -1,6 +1,6 @@  - net8.0-browser + net10.0-browser browser-wasm Exe true diff --git a/src/Example/ShellExample/ShellExample.iOS/AppDelegate.cs b/src/Example/ShellExample/ShellExample.iOS/AppDelegate.cs index c575914..9eedc1c 100644 --- a/src/Example/ShellExample/ShellExample.iOS/AppDelegate.cs +++ b/src/Example/ShellExample/ShellExample.iOS/AppDelegate.cs @@ -1,7 +1,6 @@ using Foundation; using Avalonia; using Avalonia.iOS; -using Avalonia.ReactiveUI; using AvaloniaInside.Shell; namespace ShellExample.iOS; @@ -15,7 +14,6 @@ public partial class AppDelegate : AvaloniaAppDelegate protected override AppBuilder CustomizeAppBuilder(AppBuilder builder) { return builder - .UseReactiveUI() .UseShell(); } } diff --git a/src/Example/ShellExample/ShellExample.iOS/ShellExample.iOS.csproj b/src/Example/ShellExample/ShellExample.iOS/ShellExample.iOS.csproj index faeb48c..d38ca61 100644 --- a/src/Example/ShellExample/ShellExample.iOS/ShellExample.iOS.csproj +++ b/src/Example/ShellExample/ShellExample.iOS/ShellExample.iOS.csproj @@ -1,7 +1,7 @@  Exe - net8.0-ios + net10.0-ios 13.0 automatic enable @@ -11,6 +11,9 @@ + + iPhone Developer + diff --git a/src/Example/ShellExample/ShellExample.sln b/src/Example/ShellExample/ShellExample.sln deleted file mode 100644 index 9d1d620..0000000 --- a/src/Example/ShellExample/ShellExample.sln +++ /dev/null @@ -1,55 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.3.32811.315 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellExample", "ShellExample\ShellExample.csproj", "{EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellExample.Desktop", "ShellExample.Desktop\ShellExample.Desktop.csproj", "{ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellExample.Web", "ShellExample.Web\ShellExample.Web.csproj", "{1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellExample.iOS", "ShellExample.iOS\ShellExample.iOS.csproj", "{EBD9022F-BC83-4846-9A11-6F7F3772DC64}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ShellExample.Android", "ShellExample.Android\ShellExample.Android.csproj", "{7AD1DAC8-7FBE-49D5-8614-7321233DB82E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3DA99C4E-89E3-4049-9C22-0A7EC60D83D8}" - ProjectSection(SolutionItems) = preProject - Directory.Build.props = Directory.Build.props - global.json = global.json - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EBFA8512-1EA5-4D8C-B4AC-AB5B48A6D568}.Release|Any CPU.Build.0 = Release|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ABC31E74-02FF-46EB-B3B2-4E6AE43B456C}.Release|Any CPU.Build.0 = Release|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1C1A049E-235C-4CD0-B6FA-D53AC418F4DA}.Release|Any CPU.Build.0 = Release|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EBD9022F-BC83-4846-9A11-6F7F3772DC64}.Release|Any CPU.Build.0 = Release|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7AD1DAC8-7FBE-49D5-8614-7321233DB82E}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {83CB65B8-011F-4ED7-BCD3-A6CFA935EF7E} - EndGlobalSection -EndGlobal diff --git a/src/Example/ShellExample/ShellExample/ShellExample.csproj b/src/Example/ShellExample/ShellExample/ShellExample.csproj index 9400a42..8102cb8 100644 --- a/src/Example/ShellExample/ShellExample/ShellExample.csproj +++ b/src/Example/ShellExample/ShellExample/ShellExample.csproj @@ -1,6 +1,6 @@  - net8.0 + net10.0 enable latest @@ -13,7 +13,6 @@ - diff --git a/src/Example/ShellExample/ShellExample/ViewModels/HomePageViewModel.cs b/src/Example/ShellExample/ShellExample/ViewModels/HomePageViewModel.cs index 8ee3426..1099aba 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/HomePageViewModel.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/HomePageViewModel.cs @@ -2,7 +2,6 @@ using System.Threading.Tasks; using System.Windows.Input; using AvaloniaInside.Shell; -using ReactiveUI; namespace ShellExample.ViewModels; @@ -16,8 +15,8 @@ public class HomePageViewModel : ViewModelBase public HomePageViewModel(INavigator navigationService) { _navigationService = navigationService; - NavigateToSecondPage = ReactiveCommand.CreateFromTask(Navigate); - ShowDialogCommand = ReactiveCommand.CreateFromTask(ShowDialog); + NavigateToSecondPage = new SimpleAsyncCommand(Navigate); + ShowDialogCommand = new SimpleAsyncCommand(ShowDialog); } private Task ShowDialog(CancellationToken cancellationToken) diff --git a/src/Example/ShellExample/ShellExample/ViewModels/MainViewModel.cs b/src/Example/ShellExample/ShellExample/ViewModels/MainViewModel.cs index 8bfb6c2..61692cf 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/MainViewModel.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/MainViewModel.cs @@ -1,6 +1,5 @@ using Avalonia.Animation; using AvaloniaInside.Shell.Platform; -using ReactiveUI; namespace ShellExample.ViewModels; @@ -14,7 +13,7 @@ public IPageTransition CurrentTransition get => _currentTransition; set { - this.RaiseAndSetIfChanged(ref _currentTransition, value); + SetField(ref _currentTransition, value); } } } diff --git a/src/Example/ShellExample/ShellExample/ViewModels/SettingViewModel.cs b/src/Example/ShellExample/ShellExample/ViewModels/SettingViewModel.cs index fd8bddd..62a8014 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/SettingViewModel.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/SettingViewModel.cs @@ -4,7 +4,6 @@ using AvaloniaInside.Shell.Platform.Android; using AvaloniaInside.Shell.Platform.Ios; using AvaloniaInside.Shell.Platform.Windows; -using ReactiveUI; using System.Linq; namespace ShellExample.ViewModels; @@ -24,7 +23,7 @@ public TransitionItem CurrentTransition get => _currentTransition; set { - this.RaiseAndSetIfChanged(ref _currentTransition, value); + SetField(ref _currentTransition, value); if (MainViewModel != null) MainViewModel.CurrentTransition = value.Transition; } diff --git a/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs b/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs index a19392f..f2a51d7 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogFilterViewModel.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using System.Windows.Input; using AvaloniaInside.Shell; -using DynamicData; -using ReactiveUI; using ShellExample.Models; namespace ShellExample.ViewModels.ShopViewModels; @@ -25,10 +23,11 @@ public ProductCatalogFilterViewModel(INavigator navigationService) .Distinct() .OrderBy(o=>o); Categories = new ObservableCollection(); - Categories.AddRange(items); + foreach (var item in items) + Categories.Add(item); - CloseCommand = ReactiveCommand.CreateFromTask(CloseAsync); - ClearCommand = ReactiveCommand.CreateFromTask(ClearAsync); + CloseCommand = new SimpleAsyncCommand(CloseAsync); + ClearCommand = new SimpleAsyncCommand(ClearAsync); } private Task CloseAsync(CancellationToken cancellationToken) @@ -48,7 +47,7 @@ public string? SelectedCategory get => _selectedCategory; set { - this.RaiseAndSetIfChanged(ref _selectedCategory, value); + SetField(ref _selectedCategory, value); _ = _navigationService.BackAsync(value); } } @@ -56,6 +55,6 @@ public string? SelectedCategory public void SetSelectedCategory(string? selected) { _selectedCategory = selected; - this.RaisePropertyChanged(nameof(SelectedCategory)); + OnPropertyChanged(nameof(SelectedCategory)); } } diff --git a/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogViewModel.cs b/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogViewModel.cs index 1f43647..b6eeac5 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogViewModel.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/ShopViewModels/ProductCatalogViewModel.cs @@ -4,8 +4,6 @@ using System.Threading.Tasks; using System.Windows.Input; using AvaloniaInside.Shell; -using DynamicData; -using ReactiveUI; using ShellExample.Models; namespace ShellExample.ViewModels.ShopViewModels; @@ -23,8 +21,8 @@ public string? SelectedCategory get => _selectedCategory; set { - this.RaiseAndSetIfChanged(ref _selectedCategory, value); - this.RaisePropertyChanged(nameof(Title)); + SetField(ref _selectedCategory, value); + OnPropertyChanged(nameof(Title)); } } @@ -34,7 +32,7 @@ public ProductCatalogViewModel(INavigator navigationService) { _navigationService = navigationService; Products = new ObservableCollection(DummyPlace.Products); - FilterCommand = ReactiveCommand.CreateFromTask(FilterAsync); + FilterCommand = new SimpleAsyncCommand(FilterAsync); } private async Task FilterAsync(CancellationToken cancellationToken) @@ -54,7 +52,8 @@ private void UpdateSelectedCategory(string? selectedCategory) ? DummyPlace.Products : DummyPlace.Products.Where(w => w.MainCategory == selectedCategory); Products.Clear(); - Products.AddRange(filtered); + foreach (var item in filtered) + Products.Add(item); SelectedCategory = selectedCategory; } } diff --git a/src/Example/ShellExample/ShellExample/ViewModels/ViewModelBase.cs b/src/Example/ShellExample/ShellExample/ViewModels/ViewModelBase.cs index bef6e5a..5195bd0 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/ViewModelBase.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/ViewModelBase.cs @@ -1,7 +1,23 @@ -using ReactiveUI; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.CompilerServices; namespace ShellExample.ViewModels; -public class ViewModelBase : ReactiveObject +public class ViewModelBase : INotifyPropertyChanged { + public event PropertyChangedEventHandler? PropertyChanged; + + protected virtual void OnPropertyChanged([CallerMemberName] string? propertyName = null) + { + PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); + } + + protected bool SetField(ref T field, T value, [CallerMemberName] string? propertyName = null) + { + if (EqualityComparer.Default.Equals(field, value)) return false; + field = value; + OnPropertyChanged(propertyName); + return true; + } } diff --git a/src/Example/ShellExample/ShellExample/ViewModels/WelcomeViewModel.cs b/src/Example/ShellExample/ShellExample/ViewModels/WelcomeViewModel.cs index 7bfad94..ebaaa16 100644 --- a/src/Example/ShellExample/ShellExample/ViewModels/WelcomeViewModel.cs +++ b/src/Example/ShellExample/ShellExample/ViewModels/WelcomeViewModel.cs @@ -1,5 +1,4 @@ using AvaloniaInside.Shell; -using ReactiveUI; using System.Threading; using System.Threading.Tasks; using System.Windows.Input; @@ -14,7 +13,7 @@ internal class WelcomeViewModel public WelcomeViewModel(INavigator navigationService) { _navigationService = navigationService; - OpenCommand = ReactiveCommand.CreateFromTask(OpenAsync); + OpenCommand = new SimpleAsyncCommand(OpenAsync); } private Task OpenAsync(CancellationToken cancellationToken)