diff --git a/.idea/.idea.Nebula/.idea/avalonia.xml b/.idea/.idea.Nebula/.idea/avalonia.xml index 473f82b..206214a 100644 --- a/.idea/.idea.Nebula/.idea/avalonia.xml +++ b/.idea/.idea.Nebula/.idea/avalonia.xml @@ -14,6 +14,7 @@ + diff --git a/Nebula.Launcher/Assets/star-full.png b/Nebula.Launcher/Assets/star-full.png new file mode 100644 index 0000000..56e2a3e Binary files /dev/null and b/Nebula.Launcher/Assets/star-full.png differ diff --git a/Nebula.Launcher/Assets/star.png b/Nebula.Launcher/Assets/star.png new file mode 100644 index 0000000..dc02027 Binary files /dev/null and b/Nebula.Launcher/Assets/star.png differ diff --git a/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs b/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs index 0bbe79a..768f8f5 100644 --- a/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs +++ b/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs @@ -143,6 +143,7 @@ public sealed partial class ContentBrowserViewModel : ViewModelBase if (path.Pathes.Count > 0 && (path.Pathes[0].StartsWith("ss14://") || path.Pathes[0].StartsWith("ss14s://"))) { ServerText = path.Pathes[0]; + path = new ContentPath(""); } if (string.IsNullOrEmpty(ServerText)) @@ -157,14 +158,14 @@ public sealed partial class ContentBrowserViewModel : ViewModelBase SelectedEntry = await CreateEntry(ServerText); } - _debugService.Debug(path.Path); + _debugService.Debug("Going to:" + path.Path); var oriPath = path.Clone(); try { if (SelectedEntry == null || !SelectedEntry.GetRoot().TryGetEntry(path, out var centry)) { - throw new Exception("Not found!"); + throw new Exception("Not found! " + oriPath.Path); } if (appendHistory) diff --git a/Nebula.Launcher/ViewModels/FavoriteServerListViewModel.cs b/Nebula.Launcher/ViewModels/FavoriteServerListViewModel.cs new file mode 100644 index 0000000..f202e9c --- /dev/null +++ b/Nebula.Launcher/ViewModels/FavoriteServerListViewModel.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.ObjectModel; +using Nebula.Shared.Models; + +namespace Nebula.Launcher.ViewModels; + +public class FavoriteServerListViewModel : ViewModelBase +{ + public FavoriteServerListViewModel() : base(){} + public FavoriteServerListViewModel(IServiceProvider provider) : base(provider){} + + public ObservableCollection Servers = new(); +} \ No newline at end of file diff --git a/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml b/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml index c02c0a1..451d2b2 100644 --- a/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml +++ b/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml @@ -13,44 +13,58 @@ - - - - - - - - - - + + + + + + + + + Padding="0,0,0,0"> @@ -71,5 +85,5 @@ - + diff --git a/Nebula.Launcher/Views/Pages/FavoriteServerListView.axaml b/Nebula.Launcher/Views/Pages/FavoriteServerListView.axaml new file mode 100644 index 0000000..c11ccaa --- /dev/null +++ b/Nebula.Launcher/Views/Pages/FavoriteServerListView.axaml @@ -0,0 +1,11 @@ + + Welcome to Avalonia! + diff --git a/Nebula.Launcher/Views/Pages/FavoriteServerListView.axaml.cs b/Nebula.Launcher/Views/Pages/FavoriteServerListView.axaml.cs new file mode 100644 index 0000000..02727b8 --- /dev/null +++ b/Nebula.Launcher/Views/Pages/FavoriteServerListView.axaml.cs @@ -0,0 +1,13 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; + +namespace Nebula.Launcher.Views.Pages; + +public partial class FavoriteServerListView : UserControl +{ + public FavoriteServerListView() + { + InitializeComponent(); + } +} \ No newline at end of file