New startup window.

This commit is contained in:
Burak Kaan Köse
2026-03-05 10:12:03 +01:00
parent d45d3faa89
commit db5ecd60e4
46 changed files with 1857 additions and 234 deletions
@@ -10,5 +10,6 @@ namespace Wino.Core.Domain;
[JsonSerializable(typeof(List<string>))]
[JsonSerializable(typeof(bool))]
[JsonSerializable(typeof(UpdateNotes))]
[JsonSerializable(typeof(UpdateMigration))]
[JsonSerializable(typeof(List<UpdateNoteSection>))]
public partial class BasicTypesJsonContext : JsonSerializerContext;
+2 -1
View File
@@ -34,5 +34,6 @@ public enum WinoPage
CalendarAccountSettingsPage,
EventDetailsPage,
SignatureAndEncryptionPage,
StoragePage
StoragePage,
WelcomePageV2
}
@@ -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();
}
@@ -9,6 +9,9 @@ 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();
@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Wino.Core.Domain.Models.Updates;
public class UpdateMigration
{
[JsonPropertyName("titleKey")]
public string TitleKey { get; set; } = string.Empty;
[JsonPropertyName("descriptionKey")]
public string DescriptionKey { get; set; } = string.Empty;
}
@@ -5,8 +5,11 @@ namespace Wino.Core.Domain.Models.Updates;
public class UpdateNotes
{
[JsonPropertyName("hasMigrations")]
public bool HasMigrations { get; set; }
[JsonPropertyName("hasPendingMigrations")]
public bool HasPendingMigrations { get; set; }
[JsonPropertyName("migration")]
public UpdateMigration Migration { get; set; } = new();
[JsonPropertyName("sections")]
public List<UpdateNoteSection> Sections { get; set; } = [];
@@ -985,6 +985,24 @@
"CalendarAccountSettings_PrimaryCalendar": "Primary Calendar",
"CalendarAccountSettings_PrimaryCalendarDescription": "Mark this calendar as the primary calendar for the account",
"WhatIsNew_GetStartedButton": "Get Started",
"WhatIsNew_ContinueAnywayButton": "Continue anyway",
"WhatIsNew_PreparingForNewVersionButton": "Preparing for new version...",
"WhatIsNew_MigrationPreparing_Title": "Preparing your data",
"WhatIsNew_MigrationPreparing_Description": "Wino is applying update migrations. Please wait while we prepare your account data for this release.",
"WhatIsNew_MigrationFailedMessage": "Applying migrations failed with error code {0}. You may continue to use the application. However, if you encounter serious issues please re-install the application.",
"WhatIsNew_MigrationNotification_Title": "Wino Mail Updated",
"WhatIsNew_MigrationNotification_Message": "Open the app to complete the update and see what's new."
"WhatIsNew_MigrationNotification_Message": "Open the app to complete the update and see what's new.",
"WelcomeWindow_Title": "Welcome to Wino Mail",
"WelcomeWindow_Subtitle": "A native Windows experience for Mail and Calendar.",
"WelcomeWindow_WhatsNewTitle": "Latest changes",
"WelcomeWindow_FeaturesTitle": "Features",
"WelcomeWindow_WhatsNewTab": "What's New",
"WelcomeWindow_FeaturesTab": "Features",
"WelcomeWindow_GetStartedButton": "Get started by adding an account",
"WelcomeWindow_GetStartedDescription": "Add your Outlook, Gmail, or IMAP account to get started with Wino Mail.",
"WelcomeWindow_SetupTitle": "Set up your account",
"WelcomeWindow_SetupSubtitle": "Choose your email provider to get started",
"WelcomeWindow_AddAccountButton": "Add account",
"WelcomeWindow_SkipForNow": "Skip for now — I'll set it up later",
"WelcomeWindow_AppDescription": "A fast, focused inbox — redesigned for Windows 11"
}
+4 -1
View File
@@ -7,4 +7,7 @@ namespace Wino.Core.Domain;
/// All translations generated automatically by the source generator.
/// </summary>
[TranslatorGen]
public partial class Translator;
public partial class Translator
{
public static string GetTranslatedString(string key) => Resources.GetTranslatedString(key);
}