added Main Navigation,

added vendor notes and scripts
This commit is contained in:
2026-08-13 23:49:59 +02:00
parent 6155cb96f1
commit 41b07530b1
18 changed files with 409 additions and 39 deletions
+2
View File
@@ -0,0 +1,2 @@
/HarmonyWinUI/obj
/HarmonyWinUI/bin
+40 -6
View File
@@ -31,18 +31,52 @@
<PublishTrimmed>false</PublishTrimmed> <PublishTrimmed>false</PublishTrimmed>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<None Remove="Pages\Dashboard.xaml" />
<None Remove="Pages\FavoriteAlbums.xaml" />
<None Remove="Pages\FavoriteArtists.xaml" />
<None Remove="Pages\FavoriteTracks.xaml" />
<None Remove="Pages\Settings.xaml" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Manifest Include="$(ApplicationManifest)" /> <Manifest Include="$(ApplicationManifest)" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference <PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.28000.2526" />
Include="Microsoft.Windows.SDK.BuildTools"
Version="10.0.28000.2526" />
<PackageReference <PackageReference Include="Microsoft.WindowsAppSDK" Version="2.3.1" />
Include="Microsoft.WindowsAppSDK" </ItemGroup>
Version="2.3.1" />
<ItemGroup>
<Page Update="Pages\Settings.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Page Update="Pages\FavoriteArtists.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Page Update="Pages\FavoriteAlbums.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Page Update="Pages\FavoriteTracks.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup>
<ItemGroup>
<Page Update="Pages\Dashboard.xaml">
<Generator>MSBuild:Compile</Generator>
</Page>
</ItemGroup> </ItemGroup>
</Project> </Project>
+15
View File
@@ -16,5 +16,20 @@
<None Update="Package.appxmanifest"> <None Update="Package.appxmanifest">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</None> </None>
<Page Update="Pages\Settings.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Pages\FavoriteArtists.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Pages\FavoriteAlbums.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Pages\FavoriteTracks.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Pages\Dashboard.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup> </ItemGroup>
</Project> </Project>
+18 -10
View File
@@ -14,22 +14,30 @@
</Window.SystemBackdrop> </Window.SystemBackdrop>
<Grid> <Grid>
<NavigationView> <NavigationView
x:Name="MainNavigation"
SelectionChanged="MainNavigation_SelectionChanged">
<NavigationView.MenuItems> <NavigationView.MenuItems>
<NavigationViewItem <NavigationViewItem Icon="Home" Content="Dashboard" Tag="Dashboard" />
Content="Domov"
Icon="Home"/>
<NavigationViewItem <NavigationViewItem Icon="Audio" Content="Favorite albums" Tag="FavoriteAlbums" />
Content="Hudba"
Icon="Audio"/>
<NavigationViewItem <NavigationViewItem Icon="MusicInfo" Content="Favorite tracks" Tag="FavoriteTracks" />
Content="Nastavenia"
Icon="Setting"/> <NavigationViewItem Icon="Contact" Content="Favorite artists" Tag="FavoriteArtists" />
</NavigationView.MenuItems> </NavigationView.MenuItems>
<NavigationView.FooterMenuItems>
<NavigationViewItem Content="Donate" Tag="PageDonate" >
<NavigationViewItem.Icon>
<FontIcon Glyph="&#xEB51;" />
</NavigationViewItem.Icon>
</NavigationViewItem>
<NavigationViewItem Content="Homepage" Tag="PageHomepage" Icon="Globe" />
</NavigationView.FooterMenuItems>
<Frame x:Name="MainNavigationContentFrame" />
</NavigationView> </NavigationView>
</Grid> </Grid>
</Window> </Window>
+48 -11
View File
@@ -1,17 +1,8 @@
using HarmonyWinUI.Pages;
using Microsoft.UI.Xaml; using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using System; using System;
using System.Collections.Generic; using Windows.System; // added
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
// To learn more about WinUI, the WinUI project structure, // To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info. // and more about our project templates, see: http://aka.ms/winui-project-info.
@@ -26,6 +17,52 @@ namespace HarmonyWinUI
public MainWindow() public MainWindow()
{ {
InitializeComponent(); InitializeComponent();
// default
MainNavigationContentFrame.Navigate(typeof(Dashboard));
}
private async void MainNavigation_SelectionChanged(NavigationView sender, NavigationViewSelectionChangedEventArgs args)
{
if (args.IsSettingsSelected)
{
MainNavigationContentFrame.Navigate(typeof(Settings));
return;
}
if (args.SelectedItem is not NavigationViewItem item) return;
switch (item.Tag?.ToString())
{
case "Dashboard":
MainNavigationContentFrame.Navigate(typeof(Dashboard));
break;
case "FavoriteAlbums":
MainNavigationContentFrame.Navigate(typeof(FavoriteAlbums));
break;
case "FavoriteTracks":
MainNavigationContentFrame.Navigate(typeof(FavoriteTracks));
break;
case "FavoriteArtists":
MainNavigationContentFrame.Navigate(typeof(FavoriteArtists));
break;
case "PageDonate":
await Launcher.LaunchUriAsync(
new Uri("https://www.anycoin.cz/donate/igormino")
);
break;
case "PageHomepage":
await Launcher.LaunchUriAsync(
new Uri("https://harmony.tpsoft.org/")
);
break;
} }
} }
}
} }
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HarmonyWinUI.Pages.Dashboard"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HarmonyWinUI.Pages"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<TextBlock Text="Dashboard" FontFamily="Arial"
FontSize="24" FontStyle="Italic" TextWrapping="WrapWholeWords"
CharacterSpacing="200" Foreground="CornflowerBlue" />
</Grid>
</Page>
+31
View File
@@ -0,0 +1,31 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace HarmonyWinUI.Pages
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class Dashboard : Page
{
public Dashboard()
{
InitializeComponent();
}
}
}
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HarmonyWinUI.Pages.FavoriteAlbums"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HarmonyWinUI.Pages"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<TextBlock Text="Favorite Albums" FontFamily="Arial"
FontSize="24" FontStyle="Italic" TextWrapping="WrapWholeWords"
CharacterSpacing="200" Foreground="CornflowerBlue" />
</Grid>
</Page>
+31
View File
@@ -0,0 +1,31 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace HarmonyWinUI.Pages
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class FavoriteAlbums : Page
{
public FavoriteAlbums()
{
InitializeComponent();
}
}
}
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HarmonyWinUI.Pages.FavoriteArtists"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HarmonyWinUI.Pages"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<TextBlock Text="Favorite Artists" FontFamily="Arial"
FontSize="24" FontStyle="Italic" TextWrapping="WrapWholeWords"
CharacterSpacing="200" Foreground="CornflowerBlue" />
</Grid>
</Page>
@@ -0,0 +1,31 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace HarmonyWinUI.Pages
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class FavoriteArtists : Page
{
public FavoriteArtists()
{
InitializeComponent();
}
}
}
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HarmonyWinUI.Pages.FavoriteTracks"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HarmonyWinUI.Pages"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<TextBlock Text="Favorite Tracks" FontFamily="Arial"
FontSize="24" FontStyle="Italic" TextWrapping="WrapWholeWords"
CharacterSpacing="200" Foreground="CornflowerBlue" />
</Grid>
</Page>
+31
View File
@@ -0,0 +1,31 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace HarmonyWinUI.Pages
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class FavoriteTracks : Page
{
public FavoriteTracks()
{
InitializeComponent();
}
}
}
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Page
x:Class="HarmonyWinUI.Pages.Settings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:HarmonyWinUI.Pages"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid>
<TextBlock Text="Settings" FontFamily="Arial"
FontSize="24" FontStyle="Italic" TextWrapping="WrapWholeWords"
CharacterSpacing="200" Foreground="CornflowerBlue" />
</Grid>
</Page>
+31
View File
@@ -0,0 +1,31 @@
using Microsoft.UI.Xaml;
using Microsoft.UI.Xaml.Controls;
using Microsoft.UI.Xaml.Controls.Primitives;
using Microsoft.UI.Xaml.Data;
using Microsoft.UI.Xaml.Input;
using Microsoft.UI.Xaml.Media;
using Microsoft.UI.Xaml.Navigation;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace HarmonyWinUI.Pages
{
/// <summary>
/// An empty page that can be used on its own or navigated to within a Frame.
/// </summary>
public sealed partial class Settings : Page
{
public Settings()
{
InitializeComponent();
}
}
}
+9
View File
@@ -0,0 +1,9 @@
najdi umelkca:
https://musicbrainz.org/ws/2/artist?query=artist:stromae&fmt=json&limit=10
potom z neho vyber jeho ID: ab2528d9-719f-4261-8098-21849222a0f2
a podla toho najdi jeho albumy:
https://musicbrainz.org/ws/2/release-group?artist=ab2528d9-719f-4261-8098-21849222a0f2&type=album&fmt=json&limit=100
+22
View File
@@ -0,0 +1,22 @@
set "ROOT=%~dp0"
if "%ROOT:~-1%"=="\" set "ROOT=%ROOT:~0,-1%"
set "DIR_FFMPG=%ROOT%\ffmpeg-master-latest-win64-gpl-shared"
set "DIST_PUBLIC=%DIST_DIR%\public"
set "DIST_APP=%DIST_PUBLIC%"
set "FRONTEND_DIR=%ROOT%\frontend"
set "BACKEND_DIR=%ROOT%\backend"
echo [1/4] Cleaning FFMPEG
if exist "%DIR_FFMPG%" (
rmdir /S /Q "%DIR_FFMPG%"
}
echo [2/4] Download YT-DLP
curl -L -o yt-dlp.exe https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe
echo [3/4] Download FFMPEG
curl -L -o ffmpeg.zip https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl-shared.zip
echo [4/4] Unzip FFMPEG
uinzip ffmpeg.zip
+8
View File
@@ -0,0 +1,8 @@
@echo off
yt-dlp.exe ^
-f ba ^
--embed-thumbnail ^
--embed-metadata ^
-o "temp\download.%%(ext)s" ^
"%~1"