diff --git a/packages/nc-gui-v2/components/smartsheet/Toolbar.vue b/packages/nc-gui-v2/components/smartsheet/Toolbar.vue
index 49b4eac4bc..0fde0f591b 100644
--- a/packages/nc-gui-v2/components/smartsheet/Toolbar.vue
+++ b/packages/nc-gui-v2/components/smartsheet/Toolbar.vue
@@ -1,8 +1,7 @@
diff --git a/packages/nc-gui-v2/components/tabs/Smartsheet.vue b/packages/nc-gui-v2/components/tabs/Smartsheet.vue
index 57ed384d0b..7882ed2a5f 100644
--- a/packages/nc-gui-v2/components/tabs/Smartsheet.vue
+++ b/packages/nc-gui-v2/components/tabs/Smartsheet.vue
@@ -37,7 +37,7 @@ provide(ReloadViewDataHookInj, reloadEventHook)
provide(FieldsInj, fields)
provide(RightSidebarInj, ref(true))
-useProvideSmartsheetStore(activeView as Ref, meta)
+const { isGallery, isGrid, isForm } = useProvideSmartsheetStore(activeView as Ref, meta)
watch(tabMeta, async (newTabMeta, oldTabMeta) => {
if (newTabMeta !== oldTabMeta && newTabMeta?.id) await getMeta(newTabMeta.id)
@@ -52,11 +52,11 @@ watch(tabMeta, async (newTabMeta, oldTabMeta) => {
diff --git a/packages/nc-gui-v2/composables/useSmartsheetStore.ts b/packages/nc-gui-v2/composables/useSmartsheetStore.ts
index 24038cde3b..87f999c6f5 100644
--- a/packages/nc-gui-v2/composables/useSmartsheetStore.ts
+++ b/packages/nc-gui-v2/composables/useSmartsheetStore.ts
@@ -1,11 +1,12 @@
import { computed } from '@vue/reactivity'
-import { createInjectionState } from '@vueuse/core'
+import { ViewTypes } from 'nocodb-sdk'
import type { TableType, ViewType } from 'nocodb-sdk'
import type { Ref } from 'vue'
import { useNuxtApp } from '#app'
import { useProject } from '#imports'
+import { useInjectionState } from '~/composables/useInjectionState'
-const [useProvideSmartsheetStore, useSmartsheetStore] = createInjectionState((view: Ref, meta: Ref) => {
+const [useProvideSmartsheetStore, useSmartsheetStore] = useInjectionState((view: Ref, meta: Ref) => {
const { $api } = useNuxtApp()
const { sqlUi } = useProject()
@@ -19,6 +20,9 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = createInjectionState((vi
// getters
const isLocked = computed(() => (view?.value as any)?.lock_type === 'locked')
const isPkAvail = computed(() => meta?.value?.columns?.some((c) => c.pk))
+ const isGrid = computed(() => (view?.value as any)?.type === ViewTypes.GRID)
+ const isForm = computed(() => (view?.value as any)?.type === ViewTypes.FORM)
+ const isGallery = computed(() => (view?.value as any)?.type === ViewTypes.GALLERY)
const xWhere = computed(() => {
let where
const col = meta?.value?.columns?.find(({ id }) => id === search.field) || meta?.value?.columns?.find((v) => v.pv)
@@ -43,8 +47,11 @@ const [useProvideSmartsheetStore, useSmartsheetStore] = createInjectionState((vi
search,
xWhere,
isPkAvail,
+ isForm,
+ isGrid,
+ isGallery,
}
-})
+}, 'smartsheet-store')
export { useProvideSmartsheetStore }