diff --git a/packages/nc-gui-v2/components/cell/MultiSelect.vue b/packages/nc-gui-v2/components/cell/MultiSelect.vue
index dd114415a4..004f3e7eb1 100644
--- a/packages/nc-gui-v2/components/cell/MultiSelect.vue
+++ b/packages/nc-gui-v2/components/cell/MultiSelect.vue
@@ -129,7 +129,6 @@ watch(isOpen, (n, _o) => {
v-model:value="vModel"
mode="multiple"
class="w-full"
- :placeholder="!readOnly ? 'Select an option' : ''"
:bordered="false"
:show-arrow="!readOnly"
:show-search="false"
diff --git a/packages/nc-gui-v2/components/cell/SingleSelect.vue b/packages/nc-gui-v2/components/cell/SingleSelect.vue
index 5b4881126b..72078b651e 100644
--- a/packages/nc-gui-v2/components/cell/SingleSelect.vue
+++ b/packages/nc-gui-v2/components/cell/SingleSelect.vue
@@ -69,7 +69,6 @@ watch(isOpen, (n, _o) => {
v-model:value="vModel"
class="w-full"
:allow-clear="!column.rqd && active"
- :placeholder="!readOnly ? 'Select an option' : ''"
:bordered="false"
:open="isOpen"
:disabled="readOnly"
diff --git a/packages/nc-gui-v2/components/smartsheet-column/RollupOptions.vue b/packages/nc-gui-v2/components/smartsheet-column/RollupOptions.vue
index 91ba6ee0c0..f048f0176d 100644
--- a/packages/nc-gui-v2/components/smartsheet-column/RollupOptions.vue
+++ b/packages/nc-gui-v2/components/smartsheet-column/RollupOptions.vue
@@ -43,7 +43,7 @@ const aggrFunctionsList = [
]
if (!vModel.value.fk_relation_column_id) vModel.value.fk_relation_column_id = null
-if (!vModel.value.fk_rollup_column_id) vModel.value.value.fk_rollup_column_id = null
+if (!vModel.value.fk_rollup_column_id) vModel.value.fk_rollup_column_id = null
if (!vModel.value.rollup_function) vModel.value.rollup_function = null
const refTables = $computed(() => {
diff --git a/packages/nc-gui-v2/components/smartsheet/Form.vue b/packages/nc-gui-v2/components/smartsheet/Form.vue
index 4fa177a529..5a541e8a65 100644
--- a/packages/nc-gui-v2/components/smartsheet/Form.vue
+++ b/packages/nc-gui-v2/components/smartsheet/Form.vue
@@ -48,7 +48,7 @@ const view = inject(ActiveViewInj)
const { loadFormView, insertRow, formColumnData, formViewData, updateFormView } = useViewData(meta, view as any)
-const { showAll, hideAll, saveOrUpdate } = useViewColumns(view, meta as any, false, async () => {
+const { showAll, hideAll, saveOrUpdate } = useViewColumns(view, meta as any, async () => {
await loadFormView()
setFormData()
})
diff --git a/packages/nc-gui-v2/components/smartsheet/sidebar/index.vue b/packages/nc-gui-v2/components/smartsheet/sidebar/index.vue
index 92ab9dd635..b6fc41c5b3 100644
--- a/packages/nc-gui-v2/components/smartsheet/sidebar/index.vue
+++ b/packages/nc-gui-v2/components/smartsheet/sidebar/index.vue
@@ -3,13 +3,28 @@ import type { FormType, GalleryType, GridType, KanbanType, ViewTypes } from 'noc
import MenuTop from './MenuTop.vue'
import MenuBottom from './MenuBottom.vue'
import Toolbar from './toolbar/index.vue'
-import { computed, inject, provide, ref, useElementHover, useRoute, useRouter, useViews, watch } from '#imports'
-import { ActiveViewInj, MetaInj, RightSidebarInj, ViewListInj } from '~/context'
+import {
+ ActiveViewInj,
+ IsFormInj,
+ MetaInj,
+ ViewListInj,
+ computed,
+ inject,
+ provide,
+ ref,
+ useElementHover,
+ useRoute,
+ useRouter,
+ useViews,
+ watch,
+} from '#imports'
const meta = inject(MetaInj, ref())
const activeView = inject(ActiveViewInj, ref())
+const isForm = inject(IsFormInj)
+
const { views, loadViews } = useViews(meta)
const { isUIAllowed } = useUIPermission()
@@ -21,9 +36,9 @@ const route = useRoute()
provide(ViewListInj, views)
/** Sidebar visible */
-const sidebarOpen = inject(RightSidebarInj, ref(true))
+const { isOpen } = useSidebar({ storageKey: 'nc-right-sidebar' })
-const sidebarCollapsed = computed(() => !sidebarOpen.value)
+const sidebarCollapsed = computed(() => !isOpen.value)
/** Sidebar ref */
const sidebar = ref()
@@ -96,21 +111,21 @@ function onCreate(view: GridType | FormType | KanbanType | GalleryType) {
class="group color-transition cursor-pointer hover:ring active:ring-pink-500 z-1 flex items-center p-[1px] absolute top-1/2 left-[-1rem] shadow bg-gray-100 rounded-full"
>