1
0
forked from test/crm

fix: use signup banner from frappe-ui/frappe

This commit is contained in:
Shariq Ansari 2025-03-22 18:05:01 +05:30
parent a2612ab576
commit 698cf1a8cb
3 changed files with 22 additions and 51 deletions

@ -1 +1 @@
Subproject commit b6efd25b2122c2c1f3beeea1702788c5e6e5555f
Subproject commit affdd1ef16a1762210211e1e3ae7adefb65cb07e

View File

@ -72,14 +72,24 @@
</div>
</div>
<div class="m-2 flex flex-col gap-1">
<SignupBanner :isSidebarCollapsed="isSidebarCollapsed" />
<TrialBanner v-if="isFCSite" :isSidebarCollapsed="isSidebarCollapsed" />
<GettingStartedBanner
v-if="!isOnboardingStepsCompleted"
:isSidebarCollapsed="isSidebarCollapsed"
/>
<div class="flex flex-col gap-2 mb-1">
<SignupBanner
v-if="isDemoSite"
:isSidebarCollapsed="isSidebarCollapsed"
:afterSignup="() => capture('signup_from_demo_site')"
/>
<TrialBanner
v-if="isFCSite"
:isSidebarCollapsed="isSidebarCollapsed"
:afterUpgrade="() => capture('upgrade_plan_from_trial_banner')"
/>
<GettingStartedBanner
v-if="!isOnboardingStepsCompleted"
:isSidebarCollapsed="isSidebarCollapsed"
/>
</div>
<SidebarLink
v-else
v-if="isOnboardingStepsCompleted"
:label="__('Help')"
:isCollapsed="isSidebarCollapsed"
@click="
@ -118,7 +128,8 @@
:logo="CRMLogo"
:afterSkip="(step) => capture('onboarding_step_skipped_' + step)"
:afterSkipAll="() => capture('onboarding_steps_skipped')"
:afterReset="() => capture('onboarding_steps_reset')"
:afterReset="(step) => capture('onboarding_step_reset_' + step)"
:afterResetAll="() => capture('onboarding_steps_reset')"
docsLink="https://docs.frappe.io/crm"
/>
</div>
@ -148,7 +159,6 @@ import HelpIcon from '@/components/Icons/HelpIcon.vue'
import SidebarLink from '@/components/SidebarLink.vue'
import Notifications from '@/components/Notifications.vue'
import Settings from '@/components/Settings/Settings.vue'
import SignupBanner from '@/components/SignupBanner.vue'
import { viewsStore } from '@/stores/views'
import {
unreadNotificationsCount,
@ -157,6 +167,7 @@ import {
import { showSettings, activeSettingsPage } from '@/composables/settings'
import { FeatherIcon, call } from 'frappe-ui'
import {
SignupBanner,
TrialBanner,
HelpModal,
GettingStartedBanner,
@ -175,6 +186,7 @@ const { toggle: toggleNotificationPanel } = notificationsStore()
const isSidebarCollapsed = useStorage('isSidebarCollapsed', false)
const isFCSite = ref(window.is_fc_site)
const isDemoSite = ref(window.is_demo_site)
const links = [
{

View File

@ -1,41 +0,0 @@
<template>
<div
v-if="!isSidebarCollapsed && showBanner"
class="m-2 flex flex-col gap-3 shadow-sm rounded-lg py-2.5 px-3 bg-surface-white text-base"
>
<div class="flex flex-col gap-1">
<div class="inline-flex gap-2 items-center font-medium">
<FeatherIcon class="h-4" name="info" />
{{ __('Loved the demo?') }}
</div>
<div class="text-ink-gray-7 text-p-sm">
{{ __('Try Frappe CRM for free with a 14-day trial.') }}
</div>
</div>
<Button :label="__('Sign up now')" theme="blue" @click="signupNow">
<template #prefix>
<LightningIcon class="size-4" />
</template>
</Button>
</div>
</template>
<script setup>
import LightningIcon from '@/components/Icons/LightningIcon.vue'
import { capture } from '@/telemetry'
import { createResource } from 'frappe-ui'
import { ref } from 'vue'
const props = defineProps({
isSidebarCollapsed: {
type: Boolean,
default: false,
},
})
const showBanner = ref(window.is_demo_site)
function signupNow() {
capture('signup_from_demo_site')
window.open('https://frappecloud.com/crm/signup', '_blank')
}
</script>