diff --git a/crm/www/crm.py b/crm/www/crm.py
index 22b2ed58..98871d14 100644
--- a/crm/www/crm.py
+++ b/crm/www/crm.py
@@ -3,6 +3,7 @@
from __future__ import unicode_literals
import frappe
+from frappe.utils import cint
from frappe.utils.telemetry import capture
no_cache = 1
@@ -32,6 +33,7 @@ def get_boot():
"site_name": frappe.local.site,
"read_only_mode": frappe.flags.read_only,
"csrf_token": frappe.sessions.get_csrf_token(),
+ "setup_complete": cint(frappe.get_system_settings("setup_complete"))
}
)
diff --git a/frappe-ui b/frappe-ui
index b2dbd419..ee1e7d91 160000
--- a/frappe-ui
+++ b/frappe-ui
@@ -1 +1 @@
-Subproject commit b2dbd41936905aa46b18d3c22e5d09a7b08a9b98
+Subproject commit ee1e7d915a3147d387c419cd317d5982d060fd14
diff --git a/frontend/package.json b/frontend/package.json
index 56683963..ecd3f0c9 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -14,7 +14,7 @@
"@vueuse/core": "^10.3.0",
"@vueuse/integrations": "^10.3.0",
"feather-icons": "^4.28.0",
- "frappe-ui": "^0.1.71",
+ "frappe-ui": "^0.1.74",
"gemoji": "^8.1.0",
"lodash": "^4.17.21",
"mime": "^4.0.1",
@@ -22,7 +22,6 @@
"socket.io-client": "^4.7.2",
"sortablejs": "^1.15.0",
"tailwindcss": "^3.3.3",
- "vite": "^4.4.9",
"vue": "^3.4.12",
"vue-router": "^4.2.2",
"vuedraggable": "^4.1.0"
diff --git a/frontend/src/App.vue b/frontend/src/App.vue
index 61e774c9..b735b073 100644
--- a/frontend/src/App.vue
+++ b/frontend/src/App.vue
@@ -12,11 +12,11 @@ import { sessionStore as session } from '@/stores/session'
import { Toasts } from 'frappe-ui'
import { computed, defineAsyncComponent } from 'vue'
-const MobileLayout = defineAsyncComponent(() =>
- import('./components/Layouts/MobileLayout.vue')
+const MobileLayout = defineAsyncComponent(
+ () => import('./components/Layouts/MobileLayout.vue'),
)
-const DesktopLayout = defineAsyncComponent(() =>
- import('./components/Layouts/DesktopLayout.vue')
+const DesktopLayout = defineAsyncComponent(
+ () => import('./components/Layouts/DesktopLayout.vue'),
)
const Layout = computed(() => {
if (window.innerWidth < 640) {
diff --git a/frontend/src/components/Layouts/AppSidebar.vue b/frontend/src/components/Layouts/AppSidebar.vue
index ada04c1d..e958952a 100644
--- a/frontend/src/components/Layouts/AppSidebar.vue
+++ b/frontend/src/components/Layouts/AppSidebar.vue
@@ -71,6 +71,7 @@
+
+
@@ -108,14 +110,15 @@ import CollapseSidebar from '@/components/Icons/CollapseSidebar.vue'
import NotificationsIcon from '@/components/Icons/NotificationsIcon.vue'
import SidebarLink from '@/components/SidebarLink.vue'
import Notifications from '@/components/Notifications.vue'
+import Settings from '@/components/Settings/Settings.vue'
import { viewsStore } from '@/stores/views'
import {
unreadNotificationsCount,
notificationsStore,
} from '@/stores/notifications'
-import { FeatherIcon } from 'frappe-ui'
+import { FeatherIcon, TrialBanner, createResource } from 'frappe-ui'
import { useStorage } from '@vueuse/core'
-import { computed, h } from 'vue'
+import { computed, h, provide } from 'vue'
const { getPinnedViews, getPublicViews } = viewsStore()
const { toggle: toggleNotificationPanel } = notificationsStore()
@@ -226,4 +229,13 @@ function getIcon(routeName, icon) {
return PinIcon
}
}
+
+const isFCSite = createResource({
+ url: 'frappe.integrations.frappe_providers.frappecloud_billing.is_fc_site',
+ cache: 'isFCSite',
+ auto: true,
+ transform: (data) => Boolean(data),
+})
+
+provide('isFCSite', isFCSite)
diff --git a/frontend/src/components/Settings/SettingsModal.vue b/frontend/src/components/Settings/Settings.vue
similarity index 75%
rename from frontend/src/components/Settings/SettingsModal.vue
rename to frontend/src/components/Settings/Settings.vue
index 2bbe9922..16ab8959 100644
--- a/frontend/src/components/Settings/SettingsModal.vue
+++ b/frontend/src/components/Settings/Settings.vue
@@ -1,5 +1,9 @@
-