Skip to content

Commit d7cb6c0

Browse files
committed
add wishlist add private policy link in about page
1 parent a3db05a commit d7cb6c0

File tree

8 files changed

+73
-2
lines changed

8 files changed

+73
-2
lines changed

iosApp/iosApp.xcodeproj/project.pbxproj

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
642DED2D2DBF6965006B944C /* FontAwesomeSwiftUI in Frameworks */ = {isa = PBXBuildFile; productRef = 642DED2C2DBF6965006B944C /* FontAwesomeSwiftUI */; };
2525
644C84F82D535D0B00E92D0D /* JXPagingView in Frameworks */ = {isa = PBXBuildFile; productRef = 644C84F72D535D0B00E92D0D /* JXPagingView */; };
2626
64541A902DA3CE5A001208C7 /* Tiercel in Frameworks */ = {isa = PBXBuildFile; productRef = 64541A8F2DA3CE5A001208C7 /* Tiercel */; };
27+
645CC8672DC9FEF600B8CBF6 /* WishKit in Frameworks */ = {isa = PBXBuildFile; productRef = 645CC8662DC9FEF600B8CBF6 /* WishKit */; };
2728
64655C2D2CFD6CA000255488 /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 64655C2C2CFD6CA000255488 /* Debug.xcconfig */; };
2829
6467B2AE2DB109500045DA9A /* SFSymbolKit in Frameworks */ = {isa = PBXBuildFile; productRef = 6467B2AD2DB109500045DA9A /* SFSymbolKit */; };
2930
646CABC52DAE876C00B9EA6F /* ExyteChat in Frameworks */ = {isa = PBXBuildFile; productRef = 646CABC42DAE876C00B9EA6F /* ExyteChat */; };
@@ -89,6 +90,7 @@
8990
0690507B2CAE634C007FC957 /* Awesome in Frameworks */,
9091
066AD0452B3ACDC1006F28F4 /* Collections in Frameworks */,
9192
067D89772AD25C1700F8F932 /* MarkdownUI in Frameworks */,
93+
645CC8672DC9FEF600B8CBF6 /* WishKit in Frameworks */,
9294
64E208742CF845C2001C64EF /* Kingfisher in Frameworks */,
9395
64FF2E132D2BC4E80046A32B /* Generated in Frameworks */,
9496
066AD0492B3ACDC1006F28F4 /* OrderedCollections in Frameworks */,
@@ -268,6 +270,7 @@
268270
646CABC42DAE876C00B9EA6F /* ExyteChat */,
269271
6467B2AD2DB109500045DA9A /* SFSymbolKit */,
270272
642DED2C2DBF6965006B944C /* FontAwesomeSwiftUI */,
273+
645CC8662DC9FEF600B8CBF6 /* WishKit */,
271274
);
272275
productName = iosApp;
273276
productReference = 7555FF7B242A565900829871 /* Flare.app */;
@@ -326,6 +329,7 @@
326329
646CABC32DAE876C00B9EA6F /* XCRemoteSwiftPackageReference "Chat" */,
327330
6467B2AC2DB109500045DA9A /* XCRemoteSwiftPackageReference "SFSymbolKit" */,
328331
642DED2B2DBF6965006B944C /* XCRemoteSwiftPackageReference "FontAwesomeSwiftUI" */,
332+
645CC8652DC9FEF600B8CBF6 /* XCRemoteSwiftPackageReference "wishkit-ios" */,
329333
);
330334
productRefGroup = 7555FF7C242A565900829871 /* Products */;
331335
projectDirPath = "";
@@ -747,6 +751,14 @@
747751
minimumVersion = 3.2.6;
748752
};
749753
};
754+
645CC8652DC9FEF600B8CBF6 /* XCRemoteSwiftPackageReference "wishkit-ios" */ = {
755+
isa = XCRemoteSwiftPackageReference;
756+
repositoryURL = "https://github.com/wishkit/wishkit-ios.git";
757+
requirement = {
758+
kind = upToNextMajorVersion;
759+
minimumVersion = 4.7.0;
760+
};
761+
};
750762
6467B2AC2DB109500045DA9A /* XCRemoteSwiftPackageReference "SFSymbolKit" */ = {
751763
isa = XCRemoteSwiftPackageReference;
752764
repositoryURL = "https://github.com/Sedlacek-Solutions/SFSymbolKit.git";
@@ -936,6 +948,11 @@
936948
package = 64541A8E2DA3CE5A001208C7 /* XCRemoteSwiftPackageReference "Tiercel" */;
937949
productName = Tiercel;
938950
};
951+
645CC8662DC9FEF600B8CBF6 /* WishKit */ = {
952+
isa = XCSwiftPackageProductDependency;
953+
package = 645CC8652DC9FEF600B8CBF6 /* XCRemoteSwiftPackageReference "wishkit-ios" */;
954+
productName = WishKit;
955+
};
939956
6467B2AD2DB109500045DA9A /* SFSymbolKit */ = {
940957
isa = XCSwiftPackageProductDependency;
941958
package = 6467B2AC2DB109500045DA9A /* XCRemoteSwiftPackageReference "SFSymbolKit" */;

iosApp/iosApp/AppDelegate.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import FirebaseCore
22
import SwiftUI
33
import Tiercel
4+
import WishKit
45

56
#if os(iOS)
67
typealias ApplicationDelegate = UIApplicationDelegate
@@ -20,6 +21,7 @@ class AppDelegate: NSObject, ApplicationDelegate {
2021
// FirebaseApp.configure()
2122
// DownloadManager初始化
2223
_ = DownloadManager.shared
24+
WishKit.configure(with: "8B16D016-FC6D-4DEB-8FC5-91E6A7C46A5C")
2325
return true
2426
}
2527

iosApp/iosApp/FlareApp.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import FontAwesomeSwiftUI
22
import shared
33
import SwiftUI
44

5+
56
@main
67
struct FlareApp: SwiftUI.App {
78
#if os(macOS)

iosApp/iosApp/Localizable.xcstrings

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24725,6 +24725,9 @@
2472524725
}
2472624726
}
2472724727
}
24728+
},
24729+
"Feature Requests" : {
24730+
2472824731
},
2472924732
"Feed Info" : {
2473024733
"localizations" : {
@@ -94260,6 +94263,9 @@
9426094263
}
9426194264
}
9426294265
}
94266+
},
94267+
"settings_wishlist_title" : {
94268+
9426394269
},
9426494270
"Share" : {
9426594271
"localizations" : {
@@ -95139,6 +95145,7 @@
9513995145
}
9514095146
},
9514195147
"Spaces list comming soon" : {
95148+
"extractionState" : "stale",
9514295149
"localizations" : {
9514395150
"ar" : {
9514495151
"stringUnit" : {
@@ -106443,6 +106450,9 @@
106443106450
}
106444106451
}
106445106452
}
106453+
},
106454+
"XSpaces list comming soon" : {
106455+
106446106456
},
106447106457
"Your account doesn't have any feeds" : {
106448106458
"localizations" : {

iosApp/iosApp/UI/Page/Settings/View/SettingsUIScreen.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,18 @@ struct SettingsUIScreen: View {
3434

3535
Label("settings_storage_title", systemImage: "externaldrive")
3636
.tag(SettingsDestination.storage)
37-
37+
38+
Label("Feature Requests", systemImage: "list.bullet.rectangle.portrait")
39+
.tag(SettingsDestination.wishlist)
40+
3841
Label("settings_about_subtitle", systemImage: "exclamationmark.circle")
3942
.tag(SettingsDestination.about)
43+
44+
4045
}
4146
}
4247
.navigationTitle("settings_title")
43-
.environment(\.defaultMinListRowHeight, 50)
48+
.environment(\.defaultMinListRowHeight, 60)
4449
} detail: {
4550
if let detail = selectedDetail {
4651
switch detail {
@@ -54,6 +59,8 @@ struct SettingsUIScreen: View {
5459
StorageScreen()
5560
case .about:
5661
AboutScreen()
62+
case .wishlist:
63+
WishlistView()
5764
}
5865
} else {
5966
Text("settings_welcome")
@@ -85,6 +92,7 @@ public enum SettingsDestination: String, CaseIterable, Identifiable {
8592
case other
8693
case storage
8794
case about
95+
case wishlist
8896
public var id: String {
8997
rawValue
9098
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import SwiftUI
2+
import WishKit
3+
4+
struct WishlistView: View {
5+
var body: some View {
6+
WishKit.FeedbackListView().navigationTitle("wishlist")
7+
}
8+
}

shared/ui/src/commonMain/composeResources/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@
99
<string name="settings_about_line_description">Join our Line group</string>
1010
<string name="settings_about_localization">Crowdin</string>
1111
<string name="settings_about_localization_description">Help us translate Flare</string>
12+
<string name="settings_privacy_policy">Privacy Policy</string>
1213
</resources>

shared/ui/src/commonMain/kotlin/dev/dimension/flare/ui/screen/settings/AboutScreenContent.kt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import androidx.compose.foundation.layout.padding
77
import androidx.compose.foundation.layout.size
88
import androidx.compose.foundation.rememberScrollState
99
import androidx.compose.foundation.verticalScroll
10+
import androidx.compose.material.icons.Icons
11+
import androidx.compose.material.icons.filled.Lock
1012
import androidx.compose.material3.Icon
1113
import androidx.compose.material3.ListItem
1214
import androidx.compose.material3.MaterialTheme
@@ -35,6 +37,7 @@ import dev.dimension.flare.settings_about_localization_description
3537
import dev.dimension.flare.settings_about_source_code
3638
import dev.dimension.flare.settings_about_telegram
3739
import dev.dimension.flare.settings_about_telegram_description
40+
import dev.dimension.flare.settings_privacy_policy
3841
import org.jetbrains.compose.resources.painterResource
3942
import org.jetbrains.compose.resources.stringResource
4043

@@ -156,5 +159,26 @@ public fun AboutScreenContent(
156159
)
157160
},
158161
)
162+
ListItem(
163+
headlineContent = {
164+
Text(text = stringResource(resource = Res.string.settings_privacy_policy))
165+
},
166+
supportingContent = {
167+
Text(
168+
text = "https://legal.mask.io/maskbook",
169+
)
170+
},
171+
modifier =
172+
Modifier.clickable {
173+
uriHandler.openUri("https://legal.mask.io/maskbook/")
174+
},
175+
leadingContent = {
176+
Icon(
177+
imageVector = Icons.Filled.Lock,
178+
contentDescription = stringResource(resource = Res.string.settings_privacy_policy),
179+
modifier = Modifier.size(24.dp),
180+
)
181+
},
182+
)
159183
}
160184
}

0 commit comments

Comments
 (0)