diff --git a/packages/nc-gui/components/shared-view/Gallery.vue b/packages/nc-gui/components/shared-view/Gallery.vue new file mode 100644 index 0000000000..7d7bbb5e2c --- /dev/null +++ b/packages/nc-gui/components/shared-view/Gallery.vue @@ -0,0 +1,32 @@ + + + diff --git a/packages/nc-gui/components/smartsheet/Toolbar.vue b/packages/nc-gui/components/smartsheet/Toolbar.vue index d96e88327c..d28c91773a 100644 --- a/packages/nc-gui/components/smartsheet/Toolbar.vue +++ b/packages/nc-gui/components/smartsheet/Toolbar.vue @@ -35,7 +35,7 @@ const { allowCSVDownload } = useSharedView() - +
diff --git a/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue b/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue index 99afe07c3a..fd0878f974 100644 --- a/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue +++ b/packages/nc-gui/components/smartsheet/toolbar/ShareView.vue @@ -98,6 +98,9 @@ const sharedViewUrl = computed(() => { case ViewTypes.KANBAN: viewType = 'kanban' break + case ViewTypes.GALLERY: + viewType = 'gallery' + break default: viewType = 'view' } @@ -314,7 +317,10 @@ watch(passwordProtected, (value) => {
+import { message } from 'ant-design-vue' +import { definePageMeta } from '#imports' + +definePageMeta({ + public: true, + requiresAuth: false, + layout: 'shared-view', +}) + +const route = useRoute() + +const { loadSharedView } = useSharedView() + +const showPassword = ref(false) + +try { + await loadSharedView(route.params.viewId as string) +} catch (e: any) { + if (e?.response?.status === 403) { + showPassword.value = true + } else { + message.error(await extractSdkResponseErrorMsg(e)) + } +} + + +