forked from 1b-agent/opencadstudio-upstream
feat(start): tutorial-rail implementation for the playlist fetch
Source half of b672023 (which captured only the removed bundled
thumbnails — the add aborted on the already-staged deletions): the
videos module (playlist scan, oEmbed titles, config-dir thumbnail
cache), the boot fetch on its own thread with the loading state, the
overlay rail + Videos tab on the Start page, and the earlier tabbed-
layout handover.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c938d56ac6
commit
7699f79424
6 files changed
+388
-133
No files matched your search
@@ -3362,6 +3362,22 @@ impl OpenCADStudio {
|
||||
self.patrons = crate::patreon::merge_manual(Vec::new());
|
||||
Task::none()
|
||||
}
|
||||
Message::VideosFetched(Ok(videos)) => {
|
||||
self.videos_loading = false;
|
||||
self.set_videos(videos);
|
||||
Task::none()
|
||||
}
|
||||
// Offline / markup change: keep whatever the on-disk cache seeded.
|
||||
Message::VideosFetched(Err(_)) => {
|
||||
self.videos_loading = false;
|
||||
Task::none()
|
||||
}
|
||||
Message::RecentThumbsLoaded(thumbs) => {
|
||||
for (path, handle) in thumbs {
|
||||
self.recent_thumbs.insert(path, handle);
|
||||
}
|
||||
Task::none()
|
||||
}
|
||||
Message::PluginReleasesFetched(repo, Ok(tags)) => {
|
||||
if let Some(first) = tags.first() {
|
||||
self.repo_selected_tag
|
||||
|
||||
Reference in new issue
Block a user