feat: new services description (#2412)

* feat: iap for apple now use storekit2

* fix: fixed error 101 on connection event

* feat: enhance StoreKit2Helper to handle entitlements and improve restore service from App Store functionality

* chore: add isInAppPurchase and isTestPurchase in primary config

* refactor: use end_date from primary config for renew ui

* fix: hide renew button for free

* fix: hide renew button for appstore purchases

* feat: add new premium info page

* feat: add new free info page

* chore: minor fixes

* refactor: move plan and benefits into separate models

* fix: fixed expired status when configs without an end date

* feat: add trial api support

* chore: add api message parsing for 422 error

* feat: move privacy policy and term of use to gateway

* feat: add iap support for new premium info page

* chore: minor fixes

* chore: minor fix

* chore: minor fixes

* feat: additional parsing for storekit subscription plans

* chore: minor codestyle fixes

* chore: simplify benefits

* chore: hide extend buttons on external premium

* feat: add trial error processing

* fix: remove wrong check from tiral handler

* chore: cleanup

---------

Co-authored-by: spectrum <yyy@amnezia.org>
This commit is contained in:
vkamn
2026-04-08 11:21:12 +07:00
committed by GitHub
parent bf3d11e5c4
commit 78f504e35c
51 changed files with 2372 additions and 930 deletions
@@ -12,6 +12,13 @@ import "../Controls2/TextTypes"
DrawerType2 {
id: root
property bool isRenewalActionAvailable: false
onOpened: {
isRenewalActionAvailable = ApiAccountInfoModel.data("isSubscriptionRenewalAvailable")
&& !ApiAccountInfoModel.data("isInAppPurchase")
}
expandedStateContent: ColumnLayout {
id: content
@@ -43,6 +50,8 @@ DrawerType2 {
}
ParagraphTextType {
visible: root.isRenewalActionAvailable
Layout.fillWidth: true
Layout.topMargin: 8
Layout.rightMargin: 16
@@ -53,6 +62,8 @@ DrawerType2 {
}
BasicButtonType {
visible: root.isRenewalActionAvailable
Layout.fillWidth: true
Layout.topMargin: 16
Layout.rightMargin: 16