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
@@ -12,6 +12,7 @@ struct LoginScreen: View {
@State private var passwordVisible = false
@State private var showLanguagePicker = false
@State private var languageTick = 0
@State private var announcements: [AnnouncementDto] = []
var body: some View {
MatchScreenScaffold {
@@ -30,6 +31,16 @@ struct LoginScreen: View {
.padding(.top, 8)
MatchLiveWordmark(showSlogan: true)
.padding(.top, 16)
if !announcements.isEmpty {
AnnouncementBanners(
announcements: announcements,
onDismiss: { id in
container.announcementStore.dismiss(id)
announcements.removeAll { $0.id == id }
}
)
.padding(.top, 24)
}
Text(L10n.t("login.submit").uppercased())
.font(MatchTypography.headlineMedium)
.padding(.top, 32)
@@ -73,6 +84,9 @@ struct LoginScreen: View {
languageTick += 1
}
.id(languageTick)
.task {
announcements = await container.visibleAnnouncements()
}
}
private func submitLogin() {