Merge branch 'develop' into ios-192-profile-about
This commit is contained in:
commit
3cf397d2d1
|
@ -45,6 +45,7 @@
|
||||||
2A728134297EA9D8004138C5 /* WidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 2A728120297EA9D7004138C5 /* WidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
2A728134297EA9D8004138C5 /* WidgetExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = 2A728120297EA9D7004138C5 /* WidgetExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||||
2A72813F297EC762004138C5 /* WidgetExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A72813E297EC762004138C5 /* WidgetExtension.swift */; };
|
2A72813F297EC762004138C5 /* WidgetExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A72813E297EC762004138C5 /* WidgetExtension.swift */; };
|
||||||
2A82294F29262EE000D2A1F7 /* AppContext+NextAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */; };
|
2A82294F29262EE000D2A1F7 /* AppContext+NextAccount.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */; };
|
||||||
|
2A84443C2B84F68100071C5B /* View+WidgetBackground.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A84443B2B84F68100071C5B /* View+WidgetBackground.swift */; };
|
||||||
2A86A14629892944007F1062 /* MultiFollowersCountIntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86A14529892944007F1062 /* MultiFollowersCountIntentHandler.swift */; };
|
2A86A14629892944007F1062 /* MultiFollowersCountIntentHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86A14529892944007F1062 /* MultiFollowersCountIntentHandler.swift */; };
|
||||||
2A86A14929892B3A007F1062 /* MultiFollowersCountWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86A14829892B3A007F1062 /* MultiFollowersCountWidget.swift */; };
|
2A86A14929892B3A007F1062 /* MultiFollowersCountWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86A14829892B3A007F1062 /* MultiFollowersCountWidget.swift */; };
|
||||||
2A86A14B2989326E007F1062 /* MultiFollowersCountWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86A14A2989326E007F1062 /* MultiFollowersCountWidgetView.swift */; };
|
2A86A14B2989326E007F1062 /* MultiFollowersCountWidgetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2A86A14A2989326E007F1062 /* MultiFollowersCountWidgetView.swift */; };
|
||||||
|
@ -656,6 +657,7 @@
|
||||||
2A72812F297EA9D8004138C5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
2A72812F297EA9D8004138C5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
2A72813E297EC762004138C5 /* WidgetExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetExtension.swift; sourceTree = "<group>"; };
|
2A72813E297EC762004138C5 /* WidgetExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WidgetExtension.swift; sourceTree = "<group>"; };
|
||||||
2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppContext+NextAccount.swift"; sourceTree = "<group>"; };
|
2A82294E29262EE000D2A1F7 /* AppContext+NextAccount.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppContext+NextAccount.swift"; sourceTree = "<group>"; };
|
||||||
|
2A84443B2B84F68100071C5B /* View+WidgetBackground.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "View+WidgetBackground.swift"; sourceTree = "<group>"; };
|
||||||
2A86A14529892944007F1062 /* MultiFollowersCountIntentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiFollowersCountIntentHandler.swift; sourceTree = "<group>"; };
|
2A86A14529892944007F1062 /* MultiFollowersCountIntentHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiFollowersCountIntentHandler.swift; sourceTree = "<group>"; };
|
||||||
2A86A14829892B3A007F1062 /* MultiFollowersCountWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiFollowersCountWidget.swift; sourceTree = "<group>"; };
|
2A86A14829892B3A007F1062 /* MultiFollowersCountWidget.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiFollowersCountWidget.swift; sourceTree = "<group>"; };
|
||||||
2A86A14A2989326E007F1062 /* MultiFollowersCountWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiFollowersCountWidgetView.swift; sourceTree = "<group>"; };
|
2A86A14A2989326E007F1062 /* MultiFollowersCountWidgetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultiFollowersCountWidgetView.swift; sourceTree = "<group>"; };
|
||||||
|
@ -1491,6 +1493,7 @@
|
||||||
2AE202A9297FDDF500F66E55 /* WidgetExtension.entitlements */,
|
2AE202A9297FDDF500F66E55 /* WidgetExtension.entitlements */,
|
||||||
2A72813E297EC762004138C5 /* WidgetExtension.swift */,
|
2A72813E297EC762004138C5 /* WidgetExtension.swift */,
|
||||||
2A728126297EA9D7004138C5 /* WidgetExtensionBundle.swift */,
|
2A728126297EA9D7004138C5 /* WidgetExtensionBundle.swift */,
|
||||||
|
2A84443B2B84F68100071C5B /* View+WidgetBackground.swift */,
|
||||||
2AB50120299243FB00346092 /* WidgetExtension.intentdefinition */,
|
2AB50120299243FB00346092 /* WidgetExtension.intentdefinition */,
|
||||||
2A72812D297EA9D8004138C5 /* Assets.xcassets */,
|
2A72812D297EA9D8004138C5 /* Assets.xcassets */,
|
||||||
2A72812F297EA9D8004138C5 /* Info.plist */,
|
2A72812F297EA9D8004138C5 /* Info.plist */,
|
||||||
|
@ -3570,6 +3573,7 @@
|
||||||
2AB5011E299243FB00346092 /* WidgetExtension.intentdefinition in Sources */,
|
2AB5011E299243FB00346092 /* WidgetExtension.intentdefinition in Sources */,
|
||||||
2A86A14B2989326E007F1062 /* MultiFollowersCountWidgetView.swift in Sources */,
|
2A86A14B2989326E007F1062 /* MultiFollowersCountWidgetView.swift in Sources */,
|
||||||
2A72813F297EC762004138C5 /* WidgetExtension.swift in Sources */,
|
2A72813F297EC762004138C5 /* WidgetExtension.swift in Sources */,
|
||||||
|
2A84443C2B84F68100071C5B /* View+WidgetBackground.swift in Sources */,
|
||||||
2A86A14929892B3A007F1062 /* MultiFollowersCountWidget.swift in Sources */,
|
2A86A14929892B3A007F1062 /* MultiFollowersCountWidget.swift in Sources */,
|
||||||
2A33AB662982C4AF008A7FB1 /* FollowersCountWidgetView.swift in Sources */,
|
2A33AB662982C4AF008A7FB1 /* FollowersCountWidgetView.swift in Sources */,
|
||||||
2A9D0664298C048800BF38CB /* LatestFollowersWidget.swift in Sources */,
|
2A9D0664298C048800BF38CB /* LatestFollowersWidget.swift in Sources */,
|
||||||
|
|
|
@ -65,6 +65,7 @@ struct FollowersCountWidget: Widget {
|
||||||
.configurationDisplayName(L10n.Widget.FollowersCount.configurationDisplayName)
|
.configurationDisplayName(L10n.Widget.FollowersCount.configurationDisplayName)
|
||||||
.description(L10n.Widget.FollowersCount.configurationDescription)
|
.description(L10n.Widget.FollowersCount.configurationDescription)
|
||||||
.supportedFamilies(availableFamilies)
|
.supportedFamilies(availableFamilies)
|
||||||
|
.contentMarginsDisabled() // Disable excessive margins (only effective for iOS >= 17.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ struct FollowersCountWidgetView: View {
|
||||||
.multilineTextAlignment(.center)
|
.multilineTextAlignment(.center)
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
.padding(.all, 20)
|
.padding(.all, 20)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +67,7 @@ struct FollowersCountWidgetView: View {
|
||||||
.padding(.vertical, 16)
|
.padding(.vertical, 16)
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func viewForSmallWidgetYesChart(_ account: FollowersEntryAccountable) -> some View {
|
private func viewForSmallWidgetYesChart(_ account: FollowersEntryAccountable) -> some View {
|
||||||
|
@ -125,6 +127,7 @@ struct FollowersCountWidgetView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.padding(.top, 16)
|
.padding(.top, 16)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func viewForAccessoryRectangular(_ account: FollowersEntryAccountable) -> some View {
|
private func viewForAccessoryRectangular(_ account: FollowersEntryAccountable) -> some View {
|
||||||
|
@ -144,11 +147,11 @@ struct FollowersCountWidgetView: View {
|
||||||
}
|
}
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func viewForAccessoryCircular(_ account :FollowersEntryAccountable) -> some View {
|
private func viewForAccessoryCircular(_ account :FollowersEntryAccountable) -> some View {
|
||||||
ZStack {
|
ZStack {
|
||||||
AccessoryWidgetBackground()
|
|
||||||
VStack {
|
VStack {
|
||||||
Image("BrandIcon")
|
Image("BrandIcon")
|
||||||
|
|
||||||
|
@ -158,5 +161,6 @@ struct FollowersCountWidgetView: View {
|
||||||
.truncationMode(.tail)
|
.truncationMode(.tail)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.widgetBackground(AccessoryWidgetBackground())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -159,6 +159,7 @@ struct HashtagWidget: Widget {
|
||||||
.configurationDisplayName(L10n.Widget.Hashtag.Configuration.displayName)
|
.configurationDisplayName(L10n.Widget.Hashtag.Configuration.displayName)
|
||||||
.description(L10n.Widget.Hashtag.Configuration.description)
|
.description(L10n.Widget.Hashtag.Configuration.description)
|
||||||
.supportedFamilies(availableFamilies)
|
.supportedFamilies(availableFamilies)
|
||||||
|
.contentMarginsDisabled() // Disable excessive margins (only effective for iOS >= 17.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ struct HashtagWidgetView: View {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.padding(EdgeInsets(top: 12, leading: 29, bottom: 12, trailing: 29))
|
.padding(EdgeInsets(top: 12, leading: 29, bottom: 12, trailing: 29))
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func viewForRectangularAccessory() -> some View {
|
private func viewForRectangularAccessory() -> some View {
|
||||||
|
@ -86,6 +87,7 @@ struct HashtagWidgetView: View {
|
||||||
Text(statusWithColorHashtags: entry.hashtag.content, fontSize: 11, fontWeight: .medium)
|
Text(statusWithColorHashtags: entry.hashtag.content, fontSize: 11, fontWeight: .medium)
|
||||||
.lineLimit(3)
|
.lineLimit(3)
|
||||||
}
|
}
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,6 +72,7 @@ struct LatestFollowersWidget: Widget {
|
||||||
.configurationDisplayName(L10n.Widget.LatestFollowers.configurationDisplayName)
|
.configurationDisplayName(L10n.Widget.LatestFollowers.configurationDisplayName)
|
||||||
.description(L10n.Widget.LatestFollowers.configurationDescription)
|
.description(L10n.Widget.LatestFollowers.configurationDescription)
|
||||||
.supportedFamilies(availableFamilies)
|
.supportedFamilies(availableFamilies)
|
||||||
|
.contentMarginsDisabled() // Disable excessive margins (only effective for iOS >= 17.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ struct LatestFollowersWidgetView: View {
|
||||||
.multilineTextAlignment(.center)
|
.multilineTextAlignment(.center)
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
.padding(.all, 20)
|
.padding(.all, 20)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,6 +73,7 @@ struct LatestFollowersWidgetView: View {
|
||||||
}
|
}
|
||||||
.padding(.horizontal, 20)
|
.padding(.horizontal, 20)
|
||||||
.padding(.vertical, 16)
|
.padding(.vertical, 16)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func viewForMediumWidget(_ accounts: [LatestFollowersEntryAccountable], lastUpdate: Date) -> some View {
|
private func viewForMediumWidget(_ accounts: [LatestFollowersEntryAccountable], lastUpdate: Date) -> some View {
|
||||||
|
@ -119,6 +121,7 @@ struct LatestFollowersWidgetView: View {
|
||||||
}
|
}
|
||||||
.padding(.horizontal, 20)
|
.padding(.horizontal, 20)
|
||||||
.padding(.vertical, 16)
|
.padding(.vertical, 16)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ struct MultiFollowersCountWidget: Widget {
|
||||||
.configurationDisplayName(L10n.Widget.MultipleFollowers.configurationDisplayName)
|
.configurationDisplayName(L10n.Widget.MultipleFollowers.configurationDisplayName)
|
||||||
.description(L10n.Widget.MultipleFollowers.configurationDescription)
|
.description(L10n.Widget.MultipleFollowers.configurationDescription)
|
||||||
.supportedFamilies(availableFamilies)
|
.supportedFamilies(availableFamilies)
|
||||||
|
.contentMarginsDisabled() // Disable excessive margins (only effective for iOS >= 17.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,6 +25,7 @@ struct MultiFollowersCountWidgetView: View {
|
||||||
.multilineTextAlignment(.center)
|
.multilineTextAlignment(.center)
|
||||||
.font(.caption)
|
.font(.caption)
|
||||||
.padding(.all, 20)
|
.padding(.all, 20)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,6 +56,7 @@ struct MultiFollowersCountWidgetView: View {
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}
|
||||||
.padding(.vertical, 16)
|
.padding(.vertical, 16)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
|
|
||||||
private func viewForMediumWidget(_ accounts: [MultiFollowersEntryAccountable]) -> some View {
|
private func viewForMediumWidget(_ accounts: [MultiFollowersEntryAccountable]) -> some View {
|
||||||
|
@ -89,5 +91,6 @@ struct MultiFollowersCountWidgetView: View {
|
||||||
Spacer()
|
Spacer()
|
||||||
}
|
}
|
||||||
.padding(.vertical, 16)
|
.padding(.vertical, 16)
|
||||||
|
.emptyWidgetBackground()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
// Copyright © 2024 Mastodon gGmbH. All rights reserved.
|
||||||
|
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
|
extension View {
|
||||||
|
func emptyWidgetBackground() -> some View {
|
||||||
|
widgetBackground(EmptyView())
|
||||||
|
}
|
||||||
|
|
||||||
|
func widgetBackground(_ backgroundView: some View) -> some View {
|
||||||
|
if #available(iOSApplicationExtension 17.0, *) {
|
||||||
|
return containerBackground(for: .widget) {
|
||||||
|
backgroundView
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return background(backgroundView)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue