feat(supporters): merge hand-maintained supporters, rank by amount

Add a MANUAL_SUPPORTERS list in patreon.rs for donations that arrive
outside Patreon; both the native and web boot paths merge it with the
fetched patrons and sort the combined list by amount (highest first,
then alphabetically). This also sorts the web supporters list, which
previously arrived unordered, and keeps hand-maintained supporters
visible when the Patreon fetch returns nothing (offline / no token).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 4.8 committed 2026-07-08 00:32:12 +03:00
1 parent 31ac5372d6
commit b446786d7d
2 files changed
+37 -4

No files matched your search

+9 -4
View File
@@ -2730,12 +2730,17 @@ impl OpenCADStudio {
Task::none()
}
Message::PatronsFetched(Ok(names)) => {
self.patrons = names;
// Merge the hand-maintained supporters and rank everyone by
// amount (also sorts the web list, which arrives unsorted).
self.patrons = crate::patreon::merge_manual(names);
Task::none()
}
// No token / offline: still show any hand-maintained supporters
// (Start page shows a "Support on Patreon" prompt when empty).
Message::PatronsFetched(Err(_)) => {
self.patrons = crate::patreon::merge_manual(Vec::new());
Task::none()
}
// No token / offline: leave the list empty (Start page shows a
// "Support on Patreon" prompt instead).
Message::PatronsFetched(Err(_)) => Task::none(),
Message::PluginReleasesFetched(repo, Ok(tags)) => {
if let Some(first) = tags.first() {
self.repo_selected_tag