Aggiunge annunci in-app/sito, contatti e migliora UI copertina sul portale.

Include admin/API/banner nativi, form contatti e reset copertina standard con layout edit più ampio.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-20 15:30:49 +02:00
co-authored by Cursor
parent e502844b88
commit 5b723bf844
81 changed files with 2177 additions and 38 deletions
@@ -109,3 +109,17 @@ final class TokenStore: ObservableObject {
SecItemDelete(query as CFDictionary)
}
}
final class AnnouncementStore {
private let key = "mltv.dismissedAnnouncements"
func dismissedIds() -> Set<String> {
Set(UserDefaults.standard.stringArray(forKey: key) ?? [])
}
func dismiss(_ id: String) {
var ids = dismissedIds()
ids.insert(id)
UserDefaults.standard.set(Array(ids), forKey: key)
}
}