diff --git a/client/ui/models/api/apiServicesModel.cpp b/client/ui/models/api/apiServicesModel.cpp index d309afd84..9f16edca9 100644 --- a/client/ui/models/api/apiServicesModel.cpp +++ b/client/ui/models/api/apiServicesModel.cpp @@ -91,6 +91,12 @@ QVariant ApiServicesModel::data(const QModelIndex &index, int role) const } return true; } + case IsPremiumRole: { + return serviceType == serviceType::amneziaPremium; + } + case HasSubscriptionPlansRole: { + return !apiServiceData.subscriptionPlansJson.isEmpty(); + } case PriceRole: { return apiServiceData.minPriceLabel; } @@ -233,6 +239,8 @@ QHash ApiServicesModel::roleNames() const roles[CardDescriptionRole] = "cardDescription"; roles[ServiceDescriptionRole] = "serviceDescription"; roles[IsServiceAvailableRole] = "isServiceAvailable"; + roles[IsPremiumRole] = "isPremium"; + roles[HasSubscriptionPlansRole] = "hasSubscriptionPlans"; roles[PriceRole] = "price"; roles[EndDateRole] = "endDate"; roles[TermsOfUseUrlRole] = "termsOfUseUrl"; diff --git a/client/ui/models/api/apiServicesModel.h b/client/ui/models/api/apiServicesModel.h index 7bd5492d6..eab7712ba 100644 --- a/client/ui/models/api/apiServicesModel.h +++ b/client/ui/models/api/apiServicesModel.h @@ -54,6 +54,8 @@ public: CardDescriptionRole, ServiceDescriptionRole, IsServiceAvailableRole, + IsPremiumRole, + HasSubscriptionPlansRole, PriceRole, EndDateRole, TermsOfUseUrlRole, diff --git a/client/ui/qml/Pages2/PageSetupWizardApiServicesList.qml b/client/ui/qml/Pages2/PageSetupWizardApiServicesList.qml index 6146a697d..6d8be466a 100644 --- a/client/ui/qml/Pages2/PageSetupWizardApiServicesList.qml +++ b/client/ui/qml/Pages2/PageSetupWizardApiServicesList.qml @@ -67,8 +67,11 @@ PageType { } delegate: ColumnLayout { + property bool hideCard: isPremium && !hasSubscriptionPlans width: listView.width + visible: !hideCard + height: hideCard ? 0 : implicitHeight enabled: isServiceAvailable