diff options
author | Marino Faggiana <ios@nextcloud.com> | 2022-10-17 11:18:41 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-17 11:18:41 +0300 |
commit | cc64ac49e94ccaa65312a1a0c00d35742cb89316 (patch) | |
tree | 43b1dedafadf500f31371ead28707c2624efe346 /Widget/Lockscreen/LockscreenWidgetView.swift | |
parent | 785041f03cbbc0c015eee227b6b3cf344440d84d (diff) | |
parent | f8b9193b30f1d7c32c8e3542aba1d3f79a0fe17c (diff) |
Merge pull request #2196 from nextcloud/develop4.5.0
Version 4.5
Diffstat (limited to 'Widget/Lockscreen/LockscreenWidgetView.swift')
-rw-r--r-- | Widget/Lockscreen/LockscreenWidgetView.swift | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Widget/Lockscreen/LockscreenWidgetView.swift b/Widget/Lockscreen/LockscreenWidgetView.swift new file mode 100644 index 000000000..de03865c0 --- /dev/null +++ b/Widget/Lockscreen/LockscreenWidgetView.swift @@ -0,0 +1,75 @@ +// +// LockscreenWidgetView.swift +// Widget +// +// Created by Marino Faggiana on 13/10/22. +// Copyright © 2022 Marino Faggiana. All rights reserved. +// +// Author Marino Faggiana <marino.faggiana@nextcloud.com> +// +// This program 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. +// +// This program 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 this program. If not, see <http://www.gnu.org/licenses/>. +// + +import SwiftUI +import WidgetKit + +@available(iOSApplicationExtension 16.0, *) +struct LockscreenWidgetView: View { + + let entry: LockscreenData + @Environment(\.widgetFamily) private var family + + var body: some View { + switch family { + case .accessoryCircular: + Gauge( + value: entry.quotaRelative, + label: { Text(" " + entry.quotaTotal + " ") }, + currentValueLabel: { Text(entry.quotaUsed) } + ) + .gaugeStyle(.accessoryCircular) + .redacted(reason: entry.isPlaceholder ? .placeholder : []) + case .accessoryRectangular: + VStack(alignment: .leading, spacing: 1) { + HStack(spacing: 1) { + Image("activity") + .renderingMode(.template) + .resizable() + .scaledToFill() + .foregroundColor(.gray) + .frame(width: 11, height: 11) + Text(NSLocalizedString("_recent_activity_", comment: "")) + .font(.system(size: 11)) + .fontWeight(.heavy) + .foregroundColor(.gray) + } + Text(entry.activity) + .font(.system(size: 12)).bold() + } + .widgetURL(entry.link) + .redacted(reason: entry.isPlaceholder ? .placeholder : []) + default: + Text("Not implemented") + } + } +} + +@available(iOSApplicationExtension 16.0, *) +struct LockscreenWidgetView_Previews: PreviewProvider { + static var previews: some View { + let entry = LockscreenData(date: Date(), isPlaceholder: false, activity: "Alba Mayoral changed Marketing / Regional Marketing / Agenda Meetings / Q4 2022 / OCTOBER / 13.11 Afrah Kahlid.md", link: URL(string: "https://")!, quotaRelative: 0.5, quotaUsed: "22 GB", quotaTotal: "50 GB") + LockscreenWidgetView(entry: entry).previewContext(WidgetPreviewContext(family: .accessoryRectangular)).previewDisplayName("Rectangular") + LockscreenWidgetView(entry: entry).previewContext(WidgetPreviewContext(family: .accessoryCircular)).previewDisplayName("Circular") + } +} |