This commit is contained in:
Burak Kaan Köse
2026-03-06 03:43:06 +01:00
86 changed files with 3824 additions and 438 deletions
@@ -5,6 +5,7 @@ using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Accounts;
using Wino.Core.Domain.Models.Common;
using Wino.Core.Domain.Models.Printing;
using Wino.Core.Domain.Models.Updates;
namespace Wino.Core.Domain.Interfaces;
@@ -30,4 +31,10 @@ public interface IDialogServiceBase
Task<List<SharedFile>> PickFilesAsync(params object[] typeFilters);
Task<string> PickFilePathAsync(string saveFileName);
Task<WebView2PrintSettingsModel> ShowPrintDialogAsync(WebView2PrintSettingsModel initialSettings = null);
/// <summary>
/// Presents the "What's New" dialog for the current version.
/// This dialog is undismissable and runs any pending migrations when the user clicks "Get Started".
/// </summary>
Task ShowWhatIsNewDialogAsync(UpdateNotes notes);
}
@@ -37,4 +37,10 @@ public interface INewThemeService : IInitializeAsync
// Backdrop management
List<BackdropTypeWrapper> GetAvailableBackdropTypes();
/// <summary>
/// Re-applies the current theme (backdrop, root theme, accent, caption colors)
/// to the currently active window. Use after a window transition.
/// </summary>
Task ApplyThemeToActiveWindowAsync();
}
@@ -0,0 +1,21 @@
using System.Threading.Tasks;
using Wino.Core.Domain.Models.Updates;
using System.Collections.Generic;
namespace Wino.Core.Domain.Interfaces;
public interface IUpdateManager
{
/// <summary>Loads and parses the update notes for the current version from the bundled asset file.</summary>
Task<UpdateNotes> GetLatestUpdateNotesAsync();
/// <summary>Loads and parses the app feature highlights from the bundled asset file.</summary>
Task<List<UpdateNoteSection>> GetFeaturesAsync();
/// <summary>Returns true if the current version's update notes have not yet been shown to the user.</summary>
bool ShouldShowUpdateNotes();
/// <summary>Stores a flag in local settings indicating the update notes for the current version have been seen.</summary>
void MarkUpdateNotesAsSeen();
}