Files
ios-mail/Modules/App/Sources/Model/SystemFolderLabel.swift
T
2026-04-27 17:49:33 +02:00

83 lines
2.8 KiB
Swift

// Copyright (c) 2024 Proton Technologies AG
//
// This file is part of Proton Mail.
//
// Proton Mail is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Proton Mail is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Proton Mail. If not, see https://www.gnu.org/licenses/.
import DeveloperToolsSupport
import Foundation
import InboxDesignSystem
import SwiftUI
import proton_app_uniffi
extension SystemLabel {
var humanReadable: LocalizedStringResource {
switch self {
case .inbox:
L10n.Mailbox.SystemFolder.inbox
case .allDrafts, .drafts:
L10n.Mailbox.SystemFolder.drafts
case .allSent, .sent:
L10n.Mailbox.SystemFolder.sent
case .trash:
L10n.Mailbox.SystemFolder.trash
case .spam:
L10n.Mailbox.SystemFolder.spam
case .allMail, .almostAllMail:
L10n.Mailbox.SystemFolder.allMail
case .archive:
L10n.Mailbox.SystemFolder.archive
case .outbox:
L10n.Mailbox.SystemFolder.outbox
case .starred:
L10n.Mailbox.SystemFolder.starred
case .scheduled:
L10n.Mailbox.SystemFolder.scheduled
case .snoozed:
L10n.Mailbox.SystemFolder.snoozed
case .categorySocial, .categoryPromotions, .categoryUpdates, .categoryForums, .categoryDefault, .blocked, .pinned, .categoryNewsletter, .categoryTransactions:
fatalError("Not implemented")
}
}
var icon: Image {
switch self {
case .inbox:
DS.Icon.icInbox.image
case .allDrafts, .drafts:
DS.Icon.icFileLines.image
case .outbox:
DS.Icon.icOutbox.image
case .allSent, .sent:
DS.Icon.icPaperPlane.image
case .trash:
DS.Icon.icTrash.image
case .spam:
DS.Icon.icFire.image
case .allMail, .almostAllMail:
DS.Icon.icEnvelopes.image
case .archive:
DS.Icon.icArchiveBox.image
case .starred:
Image(symbol: .star)
case .scheduled:
DS.Icon.icClockPaperPlane.image
case .snoozed:
DS.Icon.icClock.image
case .categorySocial, .categoryPromotions, .categoryUpdates, .categoryForums, .categoryDefault, .blocked, .pinned, .categoryNewsletter, .categoryTransactions:
fatalError("Not implemented")
}
}
}