From 9aea5973f1d759b17a1045c634246c46c9a144c2 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Fri, 15 Nov 2024 17:39:15 +0530 Subject: [PATCH] fix: removed old Billing component from settings page and added Billing action button in user dropdown --- frontend/src/components/Icons/BillingIcon.vue | 16 ------------ frontend/src/components/Icons/PlansIcon.vue | 16 ------------ .../src/components/Layouts/AppSidebar.vue | 22 ++++++++-------- frontend/src/components/Settings/Settings.vue | 26 ++----------------- frontend/src/components/UserDropdown.vue | 10 ++++++- 5 files changed, 22 insertions(+), 68 deletions(-) delete mode 100644 frontend/src/components/Icons/BillingIcon.vue delete mode 100644 frontend/src/components/Icons/PlansIcon.vue diff --git a/frontend/src/components/Icons/BillingIcon.vue b/frontend/src/components/Icons/BillingIcon.vue deleted file mode 100644 index 82c74c7c..00000000 --- a/frontend/src/components/Icons/BillingIcon.vue +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/frontend/src/components/Icons/PlansIcon.vue b/frontend/src/components/Icons/PlansIcon.vue deleted file mode 100644 index a0ac6dbb..00000000 --- a/frontend/src/components/Icons/PlansIcon.vue +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/frontend/src/components/Layouts/AppSidebar.vue b/frontend/src/components/Layouts/AppSidebar.vue index dbedf399..e958952a 100644 --- a/frontend/src/components/Layouts/AppSidebar.vue +++ b/frontend/src/components/Layouts/AppSidebar.vue @@ -71,10 +71,7 @@ - +
Boolean(data), +}) + +provide('isFCSite', isFCSite) diff --git a/frontend/src/components/Settings/Settings.vue b/frontend/src/components/Settings/Settings.vue index be977cec..16ab8959 100644 --- a/frontend/src/components/Settings/Settings.vue +++ b/frontend/src/components/Settings/Settings.vue @@ -45,8 +45,6 @@ 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 PlansIcon from '@/components/Icons/PlansIcon.vue' -import BillingIcon from '@/components/Icons/BillingIcon.vue' import InviteMemberPage from '@/components/Settings/InviteMemberPage.vue' import ProfileSettings from '@/components/Settings/ProfileSettings.vue' import WhatsAppSettings from '@/components/Settings/WhatsAppSettings.vue' @@ -59,8 +57,8 @@ import { showSettings, activeSettingsPage, } from '@/composables/settings' -import { Dialog, Plans, Billing } from 'frappe-ui' -import { ref, markRaw, computed, watch, h } from 'vue' +import { Dialog } from 'frappe-ui' +import { ref, markRaw, computed, watch } from 'vue' const { isManager } = usersStore() @@ -83,26 +81,6 @@ const tabs = computed(() => { }, ], }, - { - label: __('Subscription'), - condition: () => window.fc_communication_secret && isManager(), - items: [ - { - label: 'Plans', - icon: PlansIcon, - component: markRaw(Plans), - }, - { - label: 'Billing', - icon: BillingIcon, - component: markRaw( - h(Billing, { - onChangePlan: () => setActiveTab('Plans'), - }), - ), - }, - ], - }, { label: __('Integrations'), items: [ diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue index 98b80736..25424655 100644 --- a/frontend/src/components/UserDropdown.vue +++ b/frontend/src/components/UserDropdown.vue @@ -53,7 +53,7 @@ import { sessionStore } from '@/stores/session' import { usersStore } from '@/stores/users' import { showSettings } from '@/composables/settings' import { Dropdown } from 'frappe-ui' -import { computed, ref, markRaw } from 'vue' +import { computed, ref, markRaw, inject } from 'vue' const props = defineProps({ isCollapsed: { @@ -67,6 +67,8 @@ const { getUser } = usersStore() const user = computed(() => getUser() || {}) +const isFCSite = inject('isFCSite') + let dropdownOptions = ref([ { group: 'Manage', @@ -91,6 +93,12 @@ let dropdownOptions = ref([ group: 'Others', hideLabel: true, items: [ + { + icon: 'credit-card', + label: computed(() => __('Billing')), + onClick: () => (window.location.href = '/billing'), + condition: () => isFCSite.data, + }, { icon: 'settings', label: computed(() => __('Settings')),