// 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") } } }