Shortcut + New create post widget and control
This commit is contained in:
parent
70b17c6b96
commit
c868b0cd2e
|
@ -43,6 +43,9 @@
|
|||
B98BC7492B46CEDA00595441 /* AppearenceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98BC7482B46CEDA00595441 /* AppearenceView.swift */; };
|
||||
B98BC74B2B46CF0400595441 /* ThreadedStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98BC74A2B46CF0400595441 /* ThreadedStyle.swift */; };
|
||||
B98BC74D2B46CFCE00595441 /* UserPreferences.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98BC74C2B46CFCE00595441 /* UserPreferences.swift */; };
|
||||
B98DD8D62C681FDA009F40DD /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = B9FB948F2B2E2B0E00D81C07 /* Localizable.xcstrings */; };
|
||||
B98DD8D82C6821F7009F40DD /* CreatePostControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98DD8D72C6821F7009F40DD /* CreatePostControl.swift */; };
|
||||
B98DD8D92C6821F7009F40DD /* CreatePostControl.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98DD8D72C6821F7009F40DD /* CreatePostControl.swift */; };
|
||||
B98F47962B645DF40092000F /* EmojiSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98F47952B645DF40092000F /* EmojiSelector.swift */; };
|
||||
B98F47982B64670F0092000F /* ShopView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98F47972B64670F0092000F /* ShopView.swift */; };
|
||||
B98F479A2B653CAE0092000F /* Compressor.swift in Sources */ = {isa = PBXBuildFile; fileRef = B98F47992B653CAE0092000F /* Compressor.swift */; };
|
||||
|
@ -138,6 +141,9 @@
|
|||
B9A80E932C67C7C300DE3D88 /* ReceiptParser in Frameworks */ = {isa = PBXBuildFile; productRef = B9A80E922C67C7C300DE3D88 /* ReceiptParser */; };
|
||||
B9A80E952C67C7C300DE3D88 /* RevenueCat in Frameworks */ = {isa = PBXBuildFile; productRef = B9A80E942C67C7C300DE3D88 /* RevenueCat */; };
|
||||
B9A80E972C67C7C300DE3D88 /* RevenueCatUI in Frameworks */ = {isa = PBXBuildFile; productRef = B9A80E962C67C7C300DE3D88 /* RevenueCatUI */; };
|
||||
B9A80E9A2C67D56900DE3D88 /* FollowCountWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D112B921C78004DC9B3 /* FollowCountWidget.swift */; };
|
||||
B9A80E9B2C67D56900DE3D88 /* FollowGoalWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9B469AF2B9A275F00AD5585 /* FollowGoalWidget.swift */; };
|
||||
B9A80E9C2C67D56900DE3D88 /* CreatePostWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A80DDD2C67BFF800DE3D88 /* CreatePostWidget.swift */; };
|
||||
B9A8DABA2BB7364300A890CC /* PostsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9A8DAB92BB7364300A890CC /* PostsView.swift */; };
|
||||
B9B469B02B9A275F00AD5585 /* FollowGoalWidget.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9B469AF2B9A275F00AD5585 /* FollowGoalWidget.swift */; };
|
||||
B9B469B22B9A6E8300AD5585 /* PrivacyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9B469B12B9A6E8300AD5585 /* PrivacyView.swift */; };
|
||||
|
@ -158,7 +164,6 @@
|
|||
B9C20D142B921C78004DC9B3 /* AppIntent.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9C20D132B921C78004DC9B3 /* AppIntent.swift */; };
|
||||
B9C20D162B921C7B004DC9B3 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B9C20D152B921C7B004DC9B3 /* Assets.xcassets */; };
|
||||
B9C20D1A2B921C7B004DC9B3 /* ThreadedWidgetsExtension.appex in Embed Foundation Extensions */ = {isa = PBXBuildFile; fileRef = B9C20D092B921C78004DC9B3 /* ThreadedWidgetsExtension.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
B9C20D1F2B921E81004DC9B3 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = B9C20D1E2B921E81004DC9B3 /* Localizable.xcstrings */; };
|
||||
B9C20D342B9229EC004DC9B3 /* Client.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB949A2B2EF09A00D81C07 /* Client.swift */; };
|
||||
B9C20D372B9229EC004DC9B3 /* AppInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94A12B2EF24A00D81C07 /* AppInfo.swift */; };
|
||||
B9C20D3D2B9229EC004DC9B3 /* Emoji.swift in Sources */ = {isa = PBXBuildFile; fileRef = B9FB94872B2E223E00D81C07 /* Emoji.swift */; };
|
||||
|
@ -283,6 +288,7 @@
|
|||
B98BC7482B46CEDA00595441 /* AppearenceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppearenceView.swift; sourceTree = "<group>"; };
|
||||
B98BC74A2B46CF0400595441 /* ThreadedStyle.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ThreadedStyle.swift; sourceTree = "<group>"; };
|
||||
B98BC74C2B46CFCE00595441 /* UserPreferences.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserPreferences.swift; sourceTree = "<group>"; };
|
||||
B98DD8D72C6821F7009F40DD /* CreatePostControl.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreatePostControl.swift; sourceTree = "<group>"; };
|
||||
B98F47952B645DF40092000F /* EmojiSelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EmojiSelector.swift; sourceTree = "<group>"; };
|
||||
B98F47972B64670F0092000F /* ShopView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShopView.swift; sourceTree = "<group>"; };
|
||||
B98F47992B653CAE0092000F /* Compressor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Compressor.swift; sourceTree = "<group>"; };
|
||||
|
@ -312,7 +318,6 @@
|
|||
B9C20D132B921C78004DC9B3 /* AppIntent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppIntent.swift; sourceTree = "<group>"; };
|
||||
B9C20D152B921C7B004DC9B3 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
B9C20D172B921C7B004DC9B3 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
B9C20D1E2B921E81004DC9B3 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
|
||||
B9C20D582B923CDD004DC9B3 /* ThreadedWidgetsExtension.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = ThreadedWidgetsExtension.entitlements; sourceTree = "<group>"; };
|
||||
B9C20D592B923D53004DC9B3 /* Threaded.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Threaded.entitlements; sourceTree = "<group>"; };
|
||||
B9C7F46B2C387D3B009C36DC /* WarningView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WarningView.swift; sourceTree = "<group>"; };
|
||||
|
@ -455,9 +460,9 @@
|
|||
B9C20D112B921C78004DC9B3 /* FollowCountWidget.swift */,
|
||||
B9B469AF2B9A275F00AD5585 /* FollowGoalWidget.swift */,
|
||||
B9A80DDD2C67BFF800DE3D88 /* CreatePostWidget.swift */,
|
||||
B98DD8D72C6821F7009F40DD /* CreatePostControl.swift */,
|
||||
B9C20D132B921C78004DC9B3 /* AppIntent.swift */,
|
||||
B9C20D152B921C7B004DC9B3 /* Assets.xcassets */,
|
||||
B9C20D1E2B921E81004DC9B3 /* Localizable.xcstrings */,
|
||||
B9C20D172B921C7B004DC9B3 /* Info.plist */,
|
||||
);
|
||||
path = ThreadedWidgets;
|
||||
|
@ -787,7 +792,7 @@
|
|||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
B9C20D1F2B921E81004DC9B3 /* Localizable.xcstrings in Resources */,
|
||||
B98DD8D62C681FDA009F40DD /* Localizable.xcstrings in Resources */,
|
||||
B9C20D162B921C7B004DC9B3 /* Assets.xcassets in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
|
@ -876,6 +881,7 @@
|
|||
B9A80E0B2C67C4A600DE3D88 /* AccountRow.swift in Sources */,
|
||||
B9A80E0C2C67C4A600DE3D88 /* ComingSoonView.swift in Sources */,
|
||||
B9A80E0D2C67C4A600DE3D88 /* OnlineImage.swift in Sources */,
|
||||
B98DD8D92C6821F7009F40DD /* CreatePostControl.swift in Sources */,
|
||||
B9A80E0E2C67C4A600DE3D88 /* DynamicTextEditor.swift in Sources */,
|
||||
B9A80E6F2C67C62800DE3D88 /* Message.swift in Sources */,
|
||||
B9A80E0F2C67C4A600DE3D88 /* ContactRow.swift in Sources */,
|
||||
|
@ -948,6 +954,7 @@
|
|||
B93ADFCB2B7625CD00FF9172 /* DiscoveryView.swift in Sources */,
|
||||
B9D9C6C72B6A590F00C26A41 /* ProfilePicture.swift in Sources */,
|
||||
B9842C102B2F228C00D9F3C1 /* Status.swift in Sources */,
|
||||
B98DD8D82C6821F7009F40DD /* CreatePostControl.swift in Sources */,
|
||||
B9D9C6C32B6A576C00C26A41 /* NotificationsView.swift in Sources */,
|
||||
B9FA6E772B82788A00D63E30 /* AccountRow.swift in Sources */,
|
||||
B934EA242BAB5E7F001F4345 /* RestrictedView.swift in Sources */,
|
||||
|
@ -973,6 +980,9 @@
|
|||
B999DE5E2B76F9D100509868 /* Message.swift in Sources */,
|
||||
B915C4422B6F908C00042DDB /* ProfileView.swift in Sources */,
|
||||
B9FB94702B2DF3CD00D81C07 /* Navigator.swift in Sources */,
|
||||
B9A80E9A2C67D56900DE3D88 /* FollowCountWidget.swift in Sources */,
|
||||
B9A80E9B2C67D56900DE3D88 /* FollowGoalWidget.swift in Sources */,
|
||||
B9A80E9C2C67D56900DE3D88 /* CreatePostWidget.swift in Sources */,
|
||||
B9C7F46C2C387D3B009C36DC /* WarningView.swift in Sources */,
|
||||
B9EBE8562B47256900FB594D /* PostAttachment.swift in Sources */,
|
||||
B9EBE8582B474FD600FB594D /* AppDelegate.swift in Sources */,
|
||||
|
@ -1055,13 +1065,13 @@
|
|||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.ThreadedWidgets;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator watchos watchsimulator";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,4";
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
name = Debug;
|
||||
|
@ -1089,13 +1099,13 @@
|
|||
PRODUCT_BUNDLE_IDENTIFIER = fr.lumaa.Threaded.ThreadedWidgets;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SKIP_INSTALL = YES;
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator watchos watchsimulator";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
SUPPORTS_MACCATALYST = NO;
|
||||
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_VERSION = 5.0;
|
||||
TARGETED_DEVICE_FAMILY = "1,4";
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
name = Release;
|
||||
|
@ -1160,6 +1170,7 @@
|
|||
ONLY_ACTIVE_ARCH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||
WATCHOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
|
@ -1218,6 +1229,7 @@
|
|||
MTL_FAST_MATH = YES;
|
||||
SDKROOT = iphoneos;
|
||||
SWIFT_COMPILATION_MODE = wholemodule;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
VALIDATE_PRODUCT = YES;
|
||||
WATCHOS_DEPLOYMENT_TARGET = 10.0;
|
||||
};
|
||||
|
|
|
@ -34,5 +34,8 @@
|
|||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"localizable" : true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -210,7 +210,20 @@
|
|||
}
|
||||
},
|
||||
"account" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Account"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Compte"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"account.block" : {
|
||||
"localizations" : {
|
||||
|
@ -1096,6 +1109,38 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"control.open.composer" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "New post"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Nouvelle publication"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"control.open.composer.description" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Create a new post"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Créer une nouvelle publication"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"discovery" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
|
@ -1545,10 +1590,36 @@
|
|||
}
|
||||
},
|
||||
"intent.open.composer" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Start a new post"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Démarrer une nouvelle publication"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"intent.open.composer.description" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Opens the Threaded app with the post composer "
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Ouvre l’application Threaded avec le compositeur de publications"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"login.instance.unsafe" : {
|
||||
"localizations" : {
|
||||
|
@ -4450,23 +4521,149 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"widget.composer" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Quick Post"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Publication Rapide"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-count" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Follow Count"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Compteur de Followers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-count.description" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Keep track of your follower count"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Garder trace de votre nombre de followers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-goal" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Follow Goal"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Objectif de Followers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-goal.description" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Keep track of your follower count and set a goal for it"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Gardez trace de votre nombre de followers et faites en un objectif"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.followers" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "followers"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "followers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.open.composer" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Create a new post"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Créez une nouvelle publication"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.select-account" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Select an account"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Sélectionnez un compte"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.set-goal" : {
|
||||
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Follower goal"
|
||||
}
|
||||
},
|
||||
"fr" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Objectif de follower"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
|
|
|
@ -113,7 +113,7 @@ struct OpenComposerIntent: AppIntent {
|
|||
static var isDiscoverable: Bool = true
|
||||
static var openAppWhenRun: Bool = true
|
||||
|
||||
static var authenticationPolicy: IntentAuthenticationPolicy = .requiresAuthentication
|
||||
static var authenticationPolicy: IntentAuthenticationPolicy = .requiresLocalDeviceAuthentication
|
||||
|
||||
func perform() async throws -> some IntentResult {
|
||||
UniversalNavigator.static.presentedSheet =
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "HeroIcon_black.png",
|
||||
"idiom" : "universal"
|
||||
},
|
||||
{
|
||||
"appearances" : [
|
||||
{
|
||||
"appearance" : "luminosity",
|
||||
"value" : "dark"
|
||||
}
|
||||
],
|
||||
"filename" : "HeroIcon_white.png",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
},
|
||||
"properties" : {
|
||||
"localizable" : true
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
Binary file not shown.
After Width: | Height: | Size: 49 KiB |
|
@ -0,0 +1,19 @@
|
|||
// Made by Lumaa
|
||||
|
||||
import SwiftUI
|
||||
import WidgetKit
|
||||
|
||||
@available(iOS 18.0, *)
|
||||
struct CreatePostControl: ControlWidget {
|
||||
let kind: String = "CreatePostControl"
|
||||
|
||||
var body: some ControlWidgetConfiguration {
|
||||
StaticControlConfiguration(kind: kind) {
|
||||
ControlWidgetButton(action: OpenComposerIntent()) {
|
||||
Label("control.open.composer", systemImage: "square.and.pencil")
|
||||
}
|
||||
}
|
||||
.displayName("control.open.composer")
|
||||
.description("control.open.composer.description")
|
||||
}
|
||||
}
|
|
@ -1,14 +1,85 @@
|
|||
//// Made by Lumaa
|
||||
|
||||
// Made by Lumaa
|
||||
|
||||
import SwiftUI
|
||||
import WidgetKit
|
||||
|
||||
struct CreatePostWidget: Widget {
|
||||
let kind: String = "CreatePostWidget"
|
||||
|
||||
var body: some WidgetConfiguration {
|
||||
StaticConfiguration(
|
||||
kind: kind,
|
||||
provider: Provider()
|
||||
) { entry in
|
||||
CreatePostWidget.WidgetView()
|
||||
}
|
||||
.configurationDisplayName("widget.open.composer")
|
||||
.description("widget.open.composer")
|
||||
.supportedFamilies([.systemSmall])
|
||||
}
|
||||
|
||||
struct WidgetView: View {
|
||||
@Environment(\.widgetFamily) private var family: WidgetFamily
|
||||
@Environment(\.colorScheme) private var colorScheme: ColorScheme
|
||||
|
||||
struct CreatePostWidget: View {
|
||||
var body: some View {
|
||||
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
|
||||
ZStack {
|
||||
if family == .systemSmall {
|
||||
VStack {
|
||||
Button(intent: OpenComposerIntent()) {
|
||||
Image(systemName: "square.and.pencil")
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 80, height: 80)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
|
||||
Text("widget.composer")
|
||||
.font(.caption)
|
||||
}
|
||||
}
|
||||
}
|
||||
.containerBackground(Color.appBackground, for: .widget)
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
CreatePostWidget()
|
||||
struct Provider: TimelineProvider {
|
||||
func getSnapshot(
|
||||
in context: Context,
|
||||
completion: @escaping @Sendable (CreatePostWidget.Entry) -> Void
|
||||
) {
|
||||
completion(.init(date: .now))
|
||||
}
|
||||
|
||||
func getTimeline(
|
||||
in context: Context,
|
||||
completion: @escaping (Timeline<CreatePostWidget.Entry>) -> Void
|
||||
) {
|
||||
var entries: [CreatePostWidget.Entry] = []
|
||||
|
||||
// Generate a timeline consisting of two entries an hour apart, starting from the current date.
|
||||
let currentDate = Date()
|
||||
for hourOffset in 0 ..< 2 {
|
||||
let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)!
|
||||
let entry = CreatePostWidget.Entry(date: entryDate)
|
||||
entries.append(entry)
|
||||
}
|
||||
|
||||
completion(Timeline(entries: entries, policy: .atEnd))
|
||||
}
|
||||
|
||||
func placeholder(in context: Context) -> CreatePostWidget.Entry {
|
||||
return .init(date: .now)
|
||||
}
|
||||
}
|
||||
|
||||
struct Entry: TimelineEntry {
|
||||
let date: Date
|
||||
}
|
||||
}
|
||||
|
||||
#Preview(as: .systemSmall) {
|
||||
CreatePostWidget()
|
||||
} timeline: {
|
||||
CreatePostWidget.Entry(date: .now)
|
||||
}
|
||||
|
|
|
@ -1,882 +0,0 @@
|
|||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"@%@" : {
|
||||
|
||||
},
|
||||
"#%@" : {
|
||||
|
||||
},
|
||||
"%@" : {
|
||||
|
||||
},
|
||||
"%lld" : {
|
||||
|
||||
},
|
||||
"about" : {
|
||||
|
||||
},
|
||||
"about.app" : {
|
||||
|
||||
},
|
||||
"about.app.details" : {
|
||||
|
||||
},
|
||||
"about.app.third-party" : {
|
||||
|
||||
},
|
||||
"about.lumaa" : {
|
||||
|
||||
},
|
||||
"about.version-%@" : {
|
||||
|
||||
},
|
||||
"accessibility.media.supported-type.audio.label" : {
|
||||
"comment" : "A localized description of SupportedType.audio"
|
||||
},
|
||||
"accessibility.media.supported-type.gifv.label" : {
|
||||
"comment" : "A localized description of SupportedType.gifv"
|
||||
},
|
||||
"accessibility.media.supported-type.image.label" : {
|
||||
"comment" : "A localized description of SupportedType.image"
|
||||
},
|
||||
"accessibility.media.supported-type.video.label" : {
|
||||
"comment" : "A localized description of SupportedType.video"
|
||||
},
|
||||
"account" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Account"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"account.block" : {
|
||||
|
||||
},
|
||||
"account.edit" : {
|
||||
|
||||
},
|
||||
"account.edit.apply" : {
|
||||
|
||||
},
|
||||
"account.edit.bio" : {
|
||||
|
||||
},
|
||||
"account.edit.bot" : {
|
||||
|
||||
},
|
||||
"account.edit.cancel" : {
|
||||
|
||||
},
|
||||
"account.edit.discoverable" : {
|
||||
|
||||
},
|
||||
"account.edit.display" : {
|
||||
|
||||
},
|
||||
"account.edit.field.name" : {
|
||||
|
||||
},
|
||||
"account.edit.field.value" : {
|
||||
|
||||
},
|
||||
"account.edit.fields" : {
|
||||
|
||||
},
|
||||
"account.edit.fields.add" : {
|
||||
|
||||
},
|
||||
"account.edit.info" : {
|
||||
|
||||
},
|
||||
"account.edit.private" : {
|
||||
|
||||
},
|
||||
"account.edit.properties" : {
|
||||
|
||||
},
|
||||
"account.edit.sensitive" : {
|
||||
|
||||
},
|
||||
"account.follow" : {
|
||||
|
||||
},
|
||||
"account.follow-back" : {
|
||||
|
||||
},
|
||||
"account.followers-%lld" : {
|
||||
|
||||
},
|
||||
"account.mention" : {
|
||||
|
||||
},
|
||||
"account.mute" : {
|
||||
|
||||
},
|
||||
"account.no-statuses" : {
|
||||
|
||||
},
|
||||
"account.unblock" : {
|
||||
|
||||
},
|
||||
"account.unfollow" : {
|
||||
|
||||
},
|
||||
"account.unmute" : {
|
||||
|
||||
},
|
||||
"account.view" : {
|
||||
|
||||
},
|
||||
"accounts.developer" : {
|
||||
|
||||
},
|
||||
"accounts.official" : {
|
||||
|
||||
},
|
||||
"activity" : {
|
||||
|
||||
},
|
||||
"activity.favorite.%@" : {
|
||||
|
||||
},
|
||||
"activity.followed.%@" : {
|
||||
|
||||
},
|
||||
"activity.group.%@-%lld" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "activity.group.%1$@-%2$lld"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"activity.mentionned.%@" : {
|
||||
|
||||
},
|
||||
"activity.messages" : {
|
||||
|
||||
},
|
||||
"activity.messages.read" : {
|
||||
|
||||
},
|
||||
"activity.no-notifications" : {
|
||||
|
||||
},
|
||||
"activity.poll.%@" : {
|
||||
|
||||
},
|
||||
"activity.reblogged.%@" : {
|
||||
|
||||
},
|
||||
"activity.status.%@" : {
|
||||
|
||||
},
|
||||
"activity.status.attachments-%lld" : {
|
||||
|
||||
},
|
||||
"activity.tip.messages.desc" : {
|
||||
|
||||
},
|
||||
"activity.tip.messages.title" : {
|
||||
|
||||
},
|
||||
"activity.unknown" : {
|
||||
|
||||
},
|
||||
"activity.update.%@" : {
|
||||
|
||||
},
|
||||
"attachment.alt.action" : {
|
||||
|
||||
},
|
||||
"attachment.close" : {
|
||||
|
||||
},
|
||||
"attachment.next-image" : {
|
||||
|
||||
},
|
||||
"attachment.no-attachments" : {
|
||||
|
||||
},
|
||||
"attachment.previous-image" : {
|
||||
|
||||
},
|
||||
"attachment.reset-move" : {
|
||||
|
||||
},
|
||||
"beta.feature" : {
|
||||
|
||||
},
|
||||
"coming-soon" : {
|
||||
|
||||
},
|
||||
"discovery" : {
|
||||
|
||||
},
|
||||
"discovery.app" : {
|
||||
|
||||
},
|
||||
"discovery.results.posts" : {
|
||||
|
||||
},
|
||||
"discovery.results.tags" : {
|
||||
|
||||
},
|
||||
"discovery.results.users" : {
|
||||
|
||||
},
|
||||
"discovery.search.posts" : {
|
||||
|
||||
},
|
||||
"discovery.search.prompt" : {
|
||||
|
||||
},
|
||||
"discovery.search.tags" : {
|
||||
|
||||
},
|
||||
"discovery.search.users" : {
|
||||
|
||||
},
|
||||
"discovery.suggested.users" : {
|
||||
|
||||
},
|
||||
"discovery.trending.posts" : {
|
||||
|
||||
},
|
||||
"discovery.trending.tags" : {
|
||||
|
||||
},
|
||||
"duration.fiveMinutes" : {
|
||||
|
||||
},
|
||||
"duration.infinite" : {
|
||||
|
||||
},
|
||||
"duration.oneDay" : {
|
||||
|
||||
},
|
||||
"duration.oneHour" : {
|
||||
|
||||
},
|
||||
"duration.sevenDays" : {
|
||||
|
||||
},
|
||||
"duration.sixHours" : {
|
||||
|
||||
},
|
||||
"duration.thirtyMinutes" : {
|
||||
|
||||
},
|
||||
"duration.threeDays" : {
|
||||
|
||||
},
|
||||
"duration.twelveHours" : {
|
||||
|
||||
},
|
||||
"error.loading-image" : {
|
||||
|
||||
},
|
||||
"experimental" : {
|
||||
|
||||
},
|
||||
"general.report.confirm" : {
|
||||
|
||||
},
|
||||
"general.report.confirm.cancel" : {
|
||||
|
||||
},
|
||||
"general.report.confirm.message" : {
|
||||
|
||||
},
|
||||
"general.report.confirm.ok" : {
|
||||
|
||||
},
|
||||
"Hello, World!" : {
|
||||
|
||||
},
|
||||
"instance.rules" : {
|
||||
|
||||
},
|
||||
"intent.open.composer" : {
|
||||
|
||||
},
|
||||
"intent.open.composer.description" : {
|
||||
|
||||
},
|
||||
"login.instance.unsafe" : {
|
||||
|
||||
},
|
||||
"login.instance.unsafe.agree" : {
|
||||
|
||||
},
|
||||
"login.instance.unsafe.description" : {
|
||||
|
||||
},
|
||||
"login.instance.unsafe.disagree" : {
|
||||
|
||||
},
|
||||
"login.mastodon" : {
|
||||
|
||||
},
|
||||
"login.mastodon.footer" : {
|
||||
|
||||
},
|
||||
"login.mastodon.instance" : {
|
||||
|
||||
},
|
||||
"login.mastodon.login" : {
|
||||
|
||||
},
|
||||
"login.mastodon.verify" : {
|
||||
|
||||
},
|
||||
"login.mastodon.verify-error" : {
|
||||
|
||||
},
|
||||
"login.no-account" : {
|
||||
|
||||
},
|
||||
"login.no-account.footer" : {
|
||||
|
||||
},
|
||||
"login.title" : {
|
||||
|
||||
},
|
||||
"logout" : {
|
||||
|
||||
},
|
||||
"posting.alt.apply" : {
|
||||
|
||||
},
|
||||
"posting.alt.cancel" : {
|
||||
|
||||
},
|
||||
"posting.alt.header" : {
|
||||
|
||||
},
|
||||
"posting.alt.prompt" : {
|
||||
|
||||
},
|
||||
"privacy" : {
|
||||
|
||||
},
|
||||
"restricted.no-restricted" : {
|
||||
|
||||
},
|
||||
"restricted.no-restricted.description" : {
|
||||
|
||||
},
|
||||
"setting.app-icon" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.blue" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.default" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.pink" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.pride" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.purple" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.red" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.unknown" : {
|
||||
|
||||
},
|
||||
"setting.app-icon.yellow" : {
|
||||
|
||||
},
|
||||
"setting.appearence" : {
|
||||
|
||||
},
|
||||
"setting.appearence.browser" : {
|
||||
|
||||
},
|
||||
"setting.appearence.browser.in-app" : {
|
||||
|
||||
},
|
||||
"setting.appearence.browser.out-app" : {
|
||||
|
||||
},
|
||||
"setting.appearence.displayed-name" : {
|
||||
|
||||
},
|
||||
"setting.appearence.displayed-name.both" : {
|
||||
|
||||
},
|
||||
"setting.appearence.displayed-name.display-name" : {
|
||||
|
||||
},
|
||||
"setting.appearence.displayed-name.username" : {
|
||||
|
||||
},
|
||||
"setting.appearence.pfp-shape" : {
|
||||
|
||||
},
|
||||
"setting.appearence.pfp-shape.circle" : {
|
||||
|
||||
},
|
||||
"setting.appearence.pfp-shape.rounded" : {
|
||||
|
||||
},
|
||||
"setting.appearence.reply-symbols" : {
|
||||
|
||||
},
|
||||
"setting.experimental.activate" : {
|
||||
|
||||
},
|
||||
"setting.privacy.default-visibility" : {
|
||||
|
||||
},
|
||||
"setting.support" : {
|
||||
|
||||
},
|
||||
"settings" : {
|
||||
|
||||
},
|
||||
"settings.account-switcher.add" : {
|
||||
|
||||
},
|
||||
"settings.account-switcher.current" : {
|
||||
|
||||
},
|
||||
"settings.account-switcher.default" : {
|
||||
|
||||
},
|
||||
"settings.account-switcher.log" : {
|
||||
|
||||
},
|
||||
"settings.account-switcher.relog" : {
|
||||
|
||||
},
|
||||
"settings.account-switcher.remove" : {
|
||||
|
||||
},
|
||||
"settings.cancel" : {
|
||||
|
||||
},
|
||||
"settings.content-filter.allow" : {
|
||||
|
||||
},
|
||||
"settings.content-filter.auto" : {
|
||||
|
||||
},
|
||||
"settings.content-filter.new-word" : {
|
||||
|
||||
},
|
||||
"settings.content-filter.type" : {
|
||||
|
||||
},
|
||||
"settings.content-filter.words" : {
|
||||
|
||||
},
|
||||
"settings.content-filter.words.footer" : {
|
||||
|
||||
},
|
||||
"settings.done" : {
|
||||
|
||||
},
|
||||
"settings.privacy.clear" : {
|
||||
|
||||
},
|
||||
"settings.privacy.clear-cache" : {
|
||||
|
||||
},
|
||||
"settings.privacy.cleared" : {
|
||||
|
||||
},
|
||||
"settings.privacy.filter" : {
|
||||
|
||||
},
|
||||
"settings.privacy.restricted" : {
|
||||
|
||||
},
|
||||
"settings.restart-app" : {
|
||||
|
||||
},
|
||||
"shop.best" : {
|
||||
|
||||
},
|
||||
"shop.features" : {
|
||||
|
||||
},
|
||||
"shop.features.analytics" : {
|
||||
|
||||
},
|
||||
"shop.features.analytics.description" : {
|
||||
|
||||
},
|
||||
"shop.features.content-filter" : {
|
||||
|
||||
},
|
||||
"shop.features.content-filter.description" : {
|
||||
|
||||
},
|
||||
"shop.features.download-atchmnt" : {
|
||||
|
||||
},
|
||||
"shop.features.download-atchmnt.description" : {
|
||||
|
||||
},
|
||||
"shop.features.drafts" : {
|
||||
|
||||
},
|
||||
"shop.features.drafts.description" : {
|
||||
|
||||
},
|
||||
"shop.features.experimental" : {
|
||||
|
||||
},
|
||||
"shop.features.experimental.description" : {
|
||||
|
||||
},
|
||||
"shop.features.more-accounts" : {
|
||||
|
||||
},
|
||||
"shop.features.more-accounts.description" : {
|
||||
|
||||
},
|
||||
"shop.features.vip" : {
|
||||
|
||||
},
|
||||
"shop.features.vip.description" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.dismiss" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.lifetime" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.monthly" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.monthly.price" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.subscribe" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.subscription" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.subscription.description" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.yearly" : {
|
||||
|
||||
},
|
||||
"shop.threaded-plus.yearly.price" : {
|
||||
|
||||
},
|
||||
"status.action.bookmark" : {
|
||||
|
||||
},
|
||||
"status.action.like" : {
|
||||
|
||||
},
|
||||
"status.action.unbookmark" : {
|
||||
|
||||
},
|
||||
"status.action.unlike" : {
|
||||
|
||||
},
|
||||
"status.content-filter.censor" : {
|
||||
|
||||
},
|
||||
"status.content-filter.remove" : {
|
||||
|
||||
},
|
||||
"status.cross-post.alts" : {
|
||||
|
||||
},
|
||||
"status.editing" : {
|
||||
|
||||
},
|
||||
"status.favourites-%lld" : {
|
||||
|
||||
},
|
||||
"status.menu.copy-text" : {
|
||||
|
||||
},
|
||||
"status.menu.delete" : {
|
||||
|
||||
},
|
||||
"status.menu.edit" : {
|
||||
|
||||
},
|
||||
"status.menu.report" : {
|
||||
|
||||
},
|
||||
"status.menu.share" : {
|
||||
|
||||
},
|
||||
"status.menu.share-image" : {
|
||||
|
||||
},
|
||||
"status.menu.share-link" : {
|
||||
|
||||
},
|
||||
"status.pinned" : {
|
||||
|
||||
},
|
||||
"status.poll.expired" : {
|
||||
|
||||
},
|
||||
"status.poll.expires-in.%@" : {
|
||||
|
||||
},
|
||||
"status.poll.hide-results" : {
|
||||
|
||||
},
|
||||
"status.poll.show-results" : {
|
||||
|
||||
},
|
||||
"status.poll.submit" : {
|
||||
|
||||
},
|
||||
"status.poll.voters.%lld" : {
|
||||
|
||||
},
|
||||
"status.posting" : {
|
||||
|
||||
},
|
||||
"status.posting.cancel" : {
|
||||
|
||||
},
|
||||
"status.posting.no-emojis" : {
|
||||
|
||||
},
|
||||
"status.posting.placeholder" : {
|
||||
|
||||
},
|
||||
"status.posting.poll.disable-multi" : {
|
||||
|
||||
},
|
||||
"status.posting.poll.enable-multi" : {
|
||||
|
||||
},
|
||||
"status.posting.poll.expiry" : {
|
||||
|
||||
},
|
||||
"status.posting.poll.option-%lld" : {
|
||||
|
||||
},
|
||||
"status.posting.post" : {
|
||||
|
||||
},
|
||||
"status.posting.visibility" : {
|
||||
|
||||
},
|
||||
"status.posting.visibility.direct" : {
|
||||
|
||||
},
|
||||
"status.posting.visibility.private" : {
|
||||
|
||||
},
|
||||
"status.posting.visibility.public" : {
|
||||
|
||||
},
|
||||
"status.posting.visibility.unlisted" : {
|
||||
|
||||
},
|
||||
"status.replied-to.%@" : {
|
||||
|
||||
},
|
||||
"status.replies-%lld" : {
|
||||
|
||||
},
|
||||
"status.report" : {
|
||||
|
||||
},
|
||||
"status.report.cancel" : {
|
||||
|
||||
},
|
||||
"status.report.comment" : {
|
||||
|
||||
},
|
||||
"status.report.preview" : {
|
||||
|
||||
},
|
||||
"status.report.preview.footer" : {
|
||||
|
||||
},
|
||||
"status.report.title" : {
|
||||
|
||||
},
|
||||
"status.reposted-by.%@" : {
|
||||
|
||||
},
|
||||
"support" : {
|
||||
|
||||
},
|
||||
"support.discord" : {
|
||||
|
||||
},
|
||||
"support.discord.description" : {
|
||||
|
||||
},
|
||||
"support.discord.join" : {
|
||||
|
||||
},
|
||||
"support.email" : {
|
||||
|
||||
},
|
||||
"support.email.description" : {
|
||||
|
||||
},
|
||||
"support.mail.no-mail" : {
|
||||
|
||||
},
|
||||
"support.mail.send" : {
|
||||
|
||||
},
|
||||
"support.mail.subject" : {
|
||||
|
||||
},
|
||||
"support.matrix" : {
|
||||
|
||||
},
|
||||
"support.matrix.description" : {
|
||||
|
||||
},
|
||||
"support.matrix.join" : {
|
||||
|
||||
},
|
||||
"support.mention" : {
|
||||
|
||||
},
|
||||
"support.mention.description" : {
|
||||
|
||||
},
|
||||
"support.mention.post" : {
|
||||
|
||||
},
|
||||
"support.platform" : {
|
||||
|
||||
},
|
||||
"tag.posts-%lld" : {
|
||||
|
||||
},
|
||||
"tag.read" : {
|
||||
|
||||
},
|
||||
"timeline.empty" : {
|
||||
|
||||
},
|
||||
"timeline.empty.description" : {
|
||||
|
||||
},
|
||||
"timeline.federated" : {
|
||||
|
||||
},
|
||||
"timeline.home" : {
|
||||
|
||||
},
|
||||
"timeline.latest" : {
|
||||
|
||||
},
|
||||
"timeline.local" : {
|
||||
|
||||
},
|
||||
"timeline.trending" : {
|
||||
|
||||
},
|
||||
"tos.description" : {
|
||||
|
||||
},
|
||||
"update.hide" : {
|
||||
|
||||
},
|
||||
"update.title" : {
|
||||
|
||||
},
|
||||
"warning.title" : {
|
||||
|
||||
},
|
||||
"widget.follow-count" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Follower Count"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-count.description" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Get the current amount of followers of the accounts you have logged in Threaded"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-goal" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Follower Goal"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.follow-goal.description" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Set a follower goal and see the progress"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.followers" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Followers"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.select-account" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Select an account"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"widget.set-goal" : {
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Goal"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
|
@ -9,5 +9,10 @@ struct ThreadedWidgetsBundle: WidgetBundle {
|
|||
var body: some Widget {
|
||||
FollowCountWidget()
|
||||
FollowGoalWidget()
|
||||
CreatePostWidget()
|
||||
|
||||
if #available(iOS 18.0, *) {
|
||||
CreatePostControl()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue