From 77a113482384427b1b5f84d803fad12716e4c10e Mon Sep 17 00:00:00 2001 From: Cinka Date: Fri, 10 Jan 2025 12:28:29 +0300 Subject: [PATCH] - add: Content viewer --- .idea/.idea.Nebula/.idea/avalonia.xml | 1 + .../ViewModels/ContentBrowserViewModel.cs | 48 +++++++++++++++++++ .../Views/Pages/ContentBrowserView.axaml | 39 +++++++++++++++ .../Views/Pages/ContentBrowserView.axaml.cs | 20 ++++++++ .../Views/Pages/ServerListView.axaml | 2 +- 5 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs create mode 100644 Nebula.Launcher/Views/Pages/ContentBrowserView.axaml create mode 100644 Nebula.Launcher/Views/Pages/ContentBrowserView.axaml.cs diff --git a/.idea/.idea.Nebula/.idea/avalonia.xml b/.idea/.idea.Nebula/.idea/avalonia.xml index 99693f9..473f82b 100644 --- a/.idea/.idea.Nebula/.idea/avalonia.xml +++ b/.idea/.idea.Nebula/.idea/avalonia.xml @@ -13,6 +13,7 @@ + diff --git a/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs b/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs new file mode 100644 index 0000000..ea6a951 --- /dev/null +++ b/Nebula.Launcher/ViewModels/ContentBrowserViewModel.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.ObjectModel; +using CommunityToolkit.Mvvm.ComponentModel; +using Nebula.Launcher.ViewHelper; +using Nebula.Launcher.Views.Pages; +using Nebula.Shared.Models; + +namespace Nebula.Launcher.ViewModels; + +[ViewModelRegister(typeof(ContentBrowserView))] +public sealed partial class ContentBrowserViewModel : ViewModelBase +{ + public ObservableCollection Entries = new(); + + [ObservableProperty] private string _message = ""; + [ObservableProperty] private string _searchText = ""; + + + public ContentBrowserViewModel() : base() + { + + } + + public ContentBrowserViewModel(IServiceProvider provider) : base(provider) + { + } + + + public void OnBackEnter() + { + + } + + public void OnGoEnter() + { + + } +} + +public sealed class ContentEntry +{ + +} + +public sealed class ContentPath +{ + public RobustUrl ServerUrl; +} \ No newline at end of file diff --git a/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml b/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml new file mode 100644 index 0000000..ca5d0d7 --- /dev/null +++ b/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + diff --git a/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml.cs b/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml.cs new file mode 100644 index 0000000..b894891 --- /dev/null +++ b/Nebula.Launcher/Views/Pages/ContentBrowserView.axaml.cs @@ -0,0 +1,20 @@ +using Avalonia; +using Avalonia.Controls; +using Avalonia.Markup.Xaml; +using Nebula.Launcher.ViewModels; + +namespace Nebula.Launcher.Views.Pages; + +public partial class ContentBrowserView : UserControl +{ + public ContentBrowserView() + { + InitializeComponent(); + } + + public ContentBrowserView(ContentBrowserViewModel viewModel) + : this() + { + DataContext = viewModel; + } +} \ No newline at end of file diff --git a/Nebula.Launcher/Views/Pages/ServerListView.axaml b/Nebula.Launcher/Views/Pages/ServerListView.axaml index bce46df..cee5c84 100644 --- a/Nebula.Launcher/Views/Pages/ServerListView.axaml +++ b/Nebula.Launcher/Views/Pages/ServerListView.axaml @@ -15,7 +15,7 @@ - +