From bef7095be3e13279127a924bcc32c220457248f5 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 25 Oct 2024 14:38:38 +0530 Subject: [PATCH 01/31] feat: Billing & Plans settings page --- frontend/src/components/Icons/UpgradeIcon.vue | 22 +++++++++++++++++++ frontend/src/components/Icons/WalletsIcon.vue | 20 +++++++++++++++++ .../src/components/Settings/SettingsModal.vue | 21 ++++++++++++++++-- 3 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 frontend/src/components/Icons/UpgradeIcon.vue create mode 100644 frontend/src/components/Icons/WalletsIcon.vue diff --git a/frontend/src/components/Icons/UpgradeIcon.vue b/frontend/src/components/Icons/UpgradeIcon.vue new file mode 100644 index 00000000..74212e7e --- /dev/null +++ b/frontend/src/components/Icons/UpgradeIcon.vue @@ -0,0 +1,22 @@ + diff --git a/frontend/src/components/Icons/WalletsIcon.vue b/frontend/src/components/Icons/WalletsIcon.vue new file mode 100644 index 00000000..a3d814cc --- /dev/null +++ b/frontend/src/components/Icons/WalletsIcon.vue @@ -0,0 +1,20 @@ + diff --git a/frontend/src/components/Settings/SettingsModal.vue b/frontend/src/components/Settings/SettingsModal.vue index 2bbe9922..18cd66b8 100644 --- a/frontend/src/components/Settings/SettingsModal.vue +++ b/frontend/src/components/Settings/SettingsModal.vue @@ -41,6 +41,8 @@ import ContactsIcon from '@/components/Icons/ContactsIcon.vue' import WhatsAppIcon from '@/components/Icons/WhatsAppIcon.vue' import ERPNextIcon from '@/components/Icons/ERPNextIcon.vue' import PhoneIcon from '@/components/Icons/PhoneIcon.vue' +import UpgradeIcon from '@/components/Icons/UpgradeIcon.vue' +import WalletsIcon from '@/components/Icons/WalletsIcon.vue' import InviteMemberPage from '@/components/Settings/InviteMemberPage.vue' import ProfileSettings from '@/components/Settings/ProfileSettings.vue' import WhatsAppSettings from '@/components/Settings/WhatsAppSettings.vue' @@ -48,8 +50,8 @@ import ERPNextSettings from '@/components/Settings/ERPNextSettings.vue' import TwilioSettings from '@/components/Settings/TwilioSettings.vue' import SidebarLink from '@/components/SidebarLink.vue' import { isWhatsappInstalled } from '@/composables/settings' -import { Dialog } from 'frappe-ui' -import { ref, markRaw, computed, h } from 'vue' +import { Dialog, Plans, Billing } from 'frappe-ui' +import { ref, markRaw, computed } from 'vue' const show = defineModel() @@ -71,6 +73,21 @@ const tabs = computed(() => { }, ], }, + { + label: __('Subscription'), + items: [ + { + label: 'Plans', + icon: UpgradeIcon, + component: markRaw(Plans), + }, + { + label: 'Billing', + icon: WalletsIcon, + component: markRaw(Billing), + }, + ], + }, { label: __('Integrations'), items: [ From de4464cdaaf06b7b3bf89738482eb66f615d764f Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 25 Oct 2024 15:43:08 +0530 Subject: [PATCH 02/31] fix: added subscription_conf & telemetry_site_age in boot --- crm/www/crm.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crm/www/crm.py b/crm/www/crm.py index 22b2ed58..6ea1b92f 100644 --- a/crm/www/crm.py +++ b/crm/www/crm.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import frappe +from frappe.boot import add_subscription_conf from frappe.utils.telemetry import capture no_cache = 1 @@ -32,6 +33,8 @@ def get_boot(): "site_name": frappe.local.site, "read_only_mode": frappe.flags.read_only, "csrf_token": frappe.sessions.get_csrf_token(), + "telemetry_site_age": frappe.utils.telemetry.site_age(), + "subscription_conf": add_subscription_conf(), } ) From f12ad4ba282308170a87c745f2eb9d2da98a8be7 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 25 Oct 2024 15:43:32 +0530 Subject: [PATCH 03/31] fix: added TrialBanner in AppsSidebar --- frontend/src/components/Layouts/AppSidebar.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/Layouts/AppSidebar.vue b/frontend/src/components/Layouts/AppSidebar.vue index 1c0a017a..ca57b2fc 100644 --- a/frontend/src/components/Layouts/AppSidebar.vue +++ b/frontend/src/components/Layouts/AppSidebar.vue @@ -74,6 +74,7 @@ +
Date: Fri, 25 Oct 2024 17:00:19 +0530 Subject: [PATCH 04/31] fix: show billing setting page on click of banner button --- frontend/src/App.vue | 10 ++++--- .../src/components/Layouts/AppSidebar.vue | 11 +++++++- .../src/components/Settings/SettingsModal.vue | 28 +++++++++++++++---- frontend/src/components/UserDropdown.vue | 5 +--- frontend/src/composables/settings.js | 3 ++ 5 files changed, 43 insertions(+), 14 deletions(-) diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 61e774c9..d523281a 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -2,21 +2,23 @@ + diff --git a/frontend/src/components/Settings/SettingsModal.vue b/frontend/src/components/Settings/SettingsModal.vue index 18cd66b8..81c4fe8c 100644 --- a/frontend/src/components/Settings/SettingsModal.vue +++ b/frontend/src/components/Settings/SettingsModal.vue @@ -1,5 +1,9 @@ diff --git a/frontend/src/components/Settings/SettingsModal.vue b/frontend/src/components/Settings/Settings.vue similarity index 98% rename from frontend/src/components/Settings/SettingsModal.vue rename to frontend/src/components/Settings/Settings.vue index 81c4fe8c..24a58a3e 100644 --- a/frontend/src/components/Settings/SettingsModal.vue +++ b/frontend/src/components/Settings/Settings.vue @@ -1,6 +1,6 @@