feat: Takeout walkthrough, design-system restyle, replacing import

Adds a seven-step in-app guide to exporting subscriptions from Google
Takeout, with the real URLs opened in the system browser.

Restyles the app onto the supplied design system: slate/sky palette,
9-15px type ladder, outline-first controls, tiered radii, borders for
separation and shadows only for elevation. Light and dark are both
designed, with a System/Light/Dark control and a pre-paint script so
the window does not flash light on a dark machine.

Importing now replaces the subscription list rather than merging, per
request. Because that can delete downloaded files, a confirmation
dialog names exactly what will go first.
This commit is contained in:
vincent
2026-08-29 03:00:54 +02:00
parent 11331671c5
commit cac6727072
18 changed files with 1202 additions and 306 deletions
+9
View File
@@ -102,3 +102,12 @@ pub struct Prereqs {
pub ffmpeg: Option<String>,
pub library_path: String,
}
/// What a replacing Takeout import would add and destroy.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ImportPreview {
pub incoming: i64,
pub removed_channels: i64,
pub removed_videos: i64,
pub removed_downloads: i64,
}