(File.ReadAllText(File_), Preconfig.JsonOptions);
+ }
+ catch (JsonException) { return null; } // fail-open
+ }
+
+ public void ClearPin()
+ {
+ var p = Load();
+ if (p is null) return;
+ var stripped = p with { Bitlocker = p.Bitlocker with { Pin = null } };
+ File.WriteAllText(File_, JsonSerializer.Serialize(stripped, Preconfig.JsonOptions));
+ }
+
+ public bool IsConfigured() => File.Exists(Marker);
+ public void MarkConfigured() { Directory.CreateDirectory(dir); File.WriteAllText(Marker, "1"); }
+}
diff --git a/windows/welcome/src/SilverOS.Welcome.UI/Components/Routes.razor b/windows/welcome/src/SilverOS.Welcome.UI/Components/Routes.razor
index 26d4326..25efb8d 100644
--- a/windows/welcome/src/SilverOS.Welcome.UI/Components/Routes.razor
+++ b/windows/welcome/src/SilverOS.Welcome.UI/Components/Routes.razor
@@ -1,10 +1,22 @@
@using SilverOS.Welcome.App.Components.Steps
@using SilverOS.Welcome.Core.Flavours
@using SilverOS.Welcome.Core.Apps
+@using SilverOS.Welcome.Core.Preconfig
@inject IFlavourLoader FlavourLoader
@inject IAppCatalog AppCatalog
+@inject IPreconfigStore PreconfigStore
@inject WizardState State
+@if (_toolboxHome)
+{
+
+}
+else
+{