feat: Billing & Plans settings page
This commit is contained in:
parent
fd23d66ccd
commit
bef7095be3
22
frontend/src/components/Icons/UpgradeIcon.vue
Normal file
22
frontend/src/components/Icons/UpgradeIcon.vue
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<template>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="1.5"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
class="lucide lucide-circle-fading-arrow-up"
|
||||||
|
>
|
||||||
|
<path d="M12 2a10 10 0 0 1 7.38 16.75" />
|
||||||
|
<path d="m16 12-4-4-4 4" />
|
||||||
|
<path d="M12 16V8" />
|
||||||
|
<path d="M2.5 8.875a10 10 0 0 0-.5 3" />
|
||||||
|
<path d="M2.83 16a10 10 0 0 0 2.43 3.4" />
|
||||||
|
<path d="M4.636 5.235a10 10 0 0 1 .891-.857" />
|
||||||
|
<path d="M8.644 21.42a10 10 0 0 0 7.631-.38" />
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
20
frontend/src/components/Icons/WalletsIcon.vue
Normal file
20
frontend/src/components/Icons/WalletsIcon.vue
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<template>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="1.5"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
class="lucide lucide-wallet-cards"
|
||||||
|
>
|
||||||
|
<rect width="18" height="18" x="3" y="3" rx="2" />
|
||||||
|
<path d="M3 9a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2" />
|
||||||
|
<path
|
||||||
|
d="M3 11h3c.8 0 1.6.3 2.1.9l1.1.9c1.6 1.6 4.1 1.6 5.7 0l1.1-.9c.5-.5 1.3-.9 2.1-.9H21"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</template>
|
||||||
@ -41,6 +41,8 @@ import ContactsIcon from '@/components/Icons/ContactsIcon.vue'
|
|||||||
import WhatsAppIcon from '@/components/Icons/WhatsAppIcon.vue'
|
import WhatsAppIcon from '@/components/Icons/WhatsAppIcon.vue'
|
||||||
import ERPNextIcon from '@/components/Icons/ERPNextIcon.vue'
|
import ERPNextIcon from '@/components/Icons/ERPNextIcon.vue'
|
||||||
import PhoneIcon from '@/components/Icons/PhoneIcon.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 InviteMemberPage from '@/components/Settings/InviteMemberPage.vue'
|
||||||
import ProfileSettings from '@/components/Settings/ProfileSettings.vue'
|
import ProfileSettings from '@/components/Settings/ProfileSettings.vue'
|
||||||
import WhatsAppSettings from '@/components/Settings/WhatsAppSettings.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 TwilioSettings from '@/components/Settings/TwilioSettings.vue'
|
||||||
import SidebarLink from '@/components/SidebarLink.vue'
|
import SidebarLink from '@/components/SidebarLink.vue'
|
||||||
import { isWhatsappInstalled } from '@/composables/settings'
|
import { isWhatsappInstalled } from '@/composables/settings'
|
||||||
import { Dialog } from 'frappe-ui'
|
import { Dialog, Plans, Billing } from 'frappe-ui'
|
||||||
import { ref, markRaw, computed, h } from 'vue'
|
import { ref, markRaw, computed } from 'vue'
|
||||||
|
|
||||||
const show = defineModel()
|
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'),
|
label: __('Integrations'),
|
||||||
items: [
|
items: [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user