Browse Source

chore(gui-v2): lint

Signed-off-by: Pranav C <pranavxc@gmail.com>
pull/3133/head
Pranav C 2 years ago
parent
commit
fd05864b08
  1. 5
      packages/nc-gui-v2/components/cell/attachment/index.vue
  2. 9
      packages/nc-gui-v2/components/dlg/AirtableImport.vue
  3. 5
      packages/nc-gui-v2/components/smartsheet-toolbar/FieldsMenu.vue
  4. 2
      packages/nc-gui-v2/components/smartsheet-toolbar/SortListMenu.vue
  5. 305
      packages/nc-gui-v2/components/smartsheet/Form.vue
  6. 2
      packages/nc-gui-v2/components/smartsheet/Toolbar.vue
  7. 2
      packages/nc-gui-v2/components/smartsheet/expanded-form/Header.vue
  8. 1
      packages/nc-gui-v2/components/smartsheet/sidebar/toolbar/index.vue
  9. 2
      packages/nc-gui-v2/components/tabs/auth/UserManagement.vue
  10. 5
      packages/nc-gui-v2/components/virtual-cell/components/ListChildItems.vue
  11. 2
      packages/nc-gui-v2/components/virtual-cell/components/ListItems.vue
  12. 4
      packages/nc-gui-v2/layouts/base.vue

5
packages/nc-gui-v2/components/cell/attachment/index.vue

@ -131,7 +131,10 @@ onKeyDown('Escape', () => {
<a-tooltip v-else placement="bottom">
<template #title> View attachments </template>
<MdiArrowExpand class="select-none transform group-hover:(text-pink-500 scale-120) text-[10px] text-gray-500" @click.stop="modalVisible = true" />
<MdiArrowExpand
class="select-none transform group-hover:(text-pink-500 scale-120) text-[10px] text-gray-500"
@click.stop="modalVisible = true"
/>
</a-tooltip>
</div>
</template>

9
packages/nc-gui-v2/components/dlg/AirtableImport.vue

@ -224,7 +224,13 @@ onBeforeUnmount(() => {
</script>
<template>
<a-modal v-model:visible="dialogShow" width="max(30vw, 600px)" :mask-closable="false" @keydown.esc="dialogShow = false" class="pa-2">
<a-modal
v-model:visible="dialogShow"
width="max(30vw, 600px)"
:mask-closable="false"
class="pa-2"
@keydown.esc="dialogShow = false"
>
<template #footer>
<div v-if="step === 1">
<a-button key="back" @click="dialogShow = false">{{ $t('general.cancel') }}</a-button>
@ -241,7 +247,6 @@ onBeforeUnmount(() => {
</template>
<span class="ml-5 mt-5 prose-xl font-weight-bold" type="secondary" :level="5">QUICK IMPORT - AIRTABLE</span>
<div class="ml-5 mr-5">
<div v-if="step === 1">
<div class="mb-4">
<span class="mr-3 pt-2 text-gray-500 text-xs">Credentials</span>

5
packages/nc-gui-v2/components/smartsheet-toolbar/FieldsMenu.vue

@ -79,7 +79,10 @@ const onMove = (event: { moved: { newIndex: number } }) => {
</a-button>
</div>
<template #overlay>
<div class="p-3 min-w-[280px] bg-gray-50 shadow-lg nc-table-toolbar-menu max-h-[max(80vh,500px)] overflow-auto !border" @click.stop>
<div
class="p-3 min-w-[280px] bg-gray-50 shadow-lg nc-table-toolbar-menu max-h-[max(80vh,500px)] overflow-auto !border"
@click.stop
>
<div class="p-1" @click.stop>
<a-input v-model:value="filterQuery" size="small" :placeholder="$t('placeholder.searchFields')" />
</div>

2
packages/nc-gui-v2/components/smartsheet-toolbar/SortListMenu.vue

@ -84,7 +84,7 @@ watch(
<!-- </v-select> -->
</template>
</div>
<a-button class="text-capitalize mb-1 mt-4" @click.stop="addSort" type="primary" ghost>
<a-button class="text-capitalize mb-1 mt-4" type="primary" ghost @click.stop="addSort">
<div class="flex gap-1 align-center">
<MdiAddIcon />
<!-- Add Sort Option -->

305
packages/nc-gui-v2/components/smartsheet/Form.vue

@ -1,11 +1,11 @@
<script setup lang="ts">
import Draggable from 'vuedraggable'
import {RelationTypes, UITypes, getSystemColumns, isVirtualCol} from 'nocodb-sdk'
import {message} from 'ant-design-vue'
import type {Permission} from '~/composables/useUIPermission/rolePermissions'
import {computed, inject, onClickOutside, useDebounceFn} from '#imports'
import {ActiveViewInj, IsFormInj, MetaInj} from '~/context'
import {extractSdkResponseErrorMsg} from '~/utils'
import { RelationTypes, UITypes, getSystemColumns, isVirtualCol } from 'nocodb-sdk'
import { message } from 'ant-design-vue'
import type { Permission } from '~/composables/useUIPermission/rolePermissions'
import { computed, inject, onClickOutside, useDebounceFn } from '#imports'
import { ActiveViewInj, IsFormInj, MetaInj } from '~/context'
import { extractSdkResponseErrorMsg } from '~/utils'
provide(IsFormInj, true)
@ -16,9 +16,9 @@ const state = useGlobal()
const formRef = ref()
const {$api, $e} = useNuxtApp()
const { $api, $e } = useNuxtApp()
const {isUIAllowed} = useUIPermission()
const { isUIAllowed } = useUIPermission()
const formState = reactive({})
@ -32,9 +32,9 @@ const view = inject(ActiveViewInj)
if (meta) useProvideColumnCreateStore(meta)
const {loadFormView, insertRow, formColumnData, formViewData, updateFormView} = useViewData(meta, view as any)
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, false, async () => {
await loadFormView()
setFormData()
})
@ -90,24 +90,26 @@ function isDbRequired(column: Record<string, any>) {
}
let isRequired =
// confirm column is not virtual
(!isVirtualCol(column) &&
// column required / not null
column.rqd &&
// column default value
!column.cdf &&
// confirm it's not foreign key
!columns.value.some(
(c: Record<string, any>) =>
c.uidt === UITypes.LinkToAnotherRecord &&
c?.colOptions?.type === RelationTypes.BELONGS_TO &&
column.fk_column_id === c.colOptions.fk_child_column_id,
)) ||
// primary column
(column.pk && !column.ai && !column.cdf)
// confirm column is not virtual
(!isVirtualCol(column) &&
// column required / not null
column.rqd &&
// column default value
!column.cdf &&
// confirm it's not foreign key
!columns.value.some(
(c: Record<string, any>) =>
c.uidt === UITypes.LinkToAnotherRecord &&
c?.colOptions?.type === RelationTypes.BELONGS_TO &&
column.fk_column_id === c.colOptions.fk_child_column_id,
)) ||
// primary column
(column.pk && !column.ai && !column.cdf)
if (column.uidt === UITypes.LinkToAnotherRecord && column.colOptions.type === RelationTypes.BELONGS_TO) {
const col = columns.value.find((c: Record<string, any>) => c.id === column.colOptions.fk_child_column_id) as Record<string,
any>
const col = columns.value.find((c: Record<string, any>) => c.id === column.colOptions.fk_child_column_id) as Record<
string,
any
>
if (col.rqd && !col.default) {
isRequired = true
}
@ -117,7 +119,7 @@ function isDbRequired(column: Record<string, any>) {
}
function onMove(event: any) {
const {newIndex, element, oldIndex} = event.added || event.moved || event.removed
const { newIndex, element, oldIndex } = event.added || event.moved || event.removed
if (event.added) {
element.show = true
@ -149,11 +151,11 @@ function hideColumn(idx: number) {
}
saveOrUpdate(
{
...localColumns.value[idx],
show: false,
},
idx,
{
...localColumns.value[idx],
show: false,
},
idx,
)
;(localColumns.value[idx] as any).show = false
@ -178,7 +180,7 @@ async function removeAllColumns() {
col.show = false
}
await hideAll(
(localColumns as Record<string, any>)?.value
(localColumns as Record<string, any>)?.value
.filter((f: Record<string, any>) => isDbRequired(f) || !!f.required)
.map((f: Record<string, any>) => f.fk_column_id),
)
@ -209,36 +211,37 @@ function setFormData() {
let data: Record<string, boolean> = {}
try {
data = JSON.parse(formViewData.value.email as string) || {}
} catch (e) {
}
} catch (e) {}
data[state.user.value?.email as string] = emailMe.value
formViewData.value.email = JSON.stringify(data)
checkSMTPStatus()
}
localColumns.value = col
.filter(
.filter(
(f: Record<string, any>) => f.show && f.uidt !== UITypes.Rollup && f.uidt !== UITypes.Lookup && f.uidt !== UITypes.Formula,
)
.sort((a: Record<string, any>, b: Record<string, any>) => a.order - b.order)
.map((c: Record<string, any>) => ({...c, required: !!(c.required || 0)}))
)
.sort((a: Record<string, any>, b: Record<string, any>) => a.order - b.order)
.map((c: Record<string, any>) => ({ ...c, required: !!(c.required || 0) }))
systemFieldsIds.value = getSystemColumns(col).map((c: Record<string, any>) => c.fk_column_id)
hiddenColumns.value = col.filter(
(f: Record<string, any>) => !f.show && !systemFieldsIds.value.includes(f.fk_column_id) && f.uidt !== UITypes.Formula,
(f: Record<string, any>) => !f.show && !systemFieldsIds.value.includes(f.fk_column_id) && f.uidt !== UITypes.Formula,
)
}
function isRequired(_columnObj: Record<string, any>, required = false) {
let columnObj = _columnObj
if (
columnObj.uidt === UITypes.LinkToAnotherRecord &&
columnObj.colOptions &&
columnObj.colOptions.type === RelationTypes.BELONGS_TO
columnObj.uidt === UITypes.LinkToAnotherRecord &&
columnObj.colOptions &&
columnObj.colOptions.type === RelationTypes.BELONGS_TO
) {
columnObj = columns.value.find((c: Record<string, any>) => c.id === columnObj.colOptions.fk_child_column_id) as Record<string,
any>
columnObj = columns.value.find((c: Record<string, any>) => c.id === columnObj.colOptions.fk_child_column_id) as Record<
string,
any
>
}
return required || (columnObj && columnObj.rqd && !columnObj.cdf)
@ -330,19 +333,19 @@ onMounted(async () => {
<div class="flex flex-row">
<div class="cursor-pointer mr-2">
<span
v-if="hiddenColumns.length"
class="mr-2"
style="border-bottom: 2px solid rgb(218, 218, 218)"
@click="addAllColumns"
v-if="hiddenColumns.length"
class="mr-2"
style="border-bottom: 2px solid rgb(218, 218, 218)"
@click="addAllColumns"
>
<!-- Add all -->
{{ $t('general.addAll') }}
</span>
<span
v-if="localColumns.length"
class="ml-2"
style="border-bottom: 2px solid rgb(218, 218, 218)"
@click="removeAllColumns"
v-if="localColumns.length"
class="ml-2"
style="border-bottom: 2px solid rgb(218, 218, 218)"
@click="removeAllColumns"
>
<!-- Remove all -->
{{ $t('general.removeAll') }}
@ -353,30 +356,30 @@ onMounted(async () => {
<Draggable :list="hiddenColumns" draggable=".item" group="form-inputs" @start="drag = true" @end="drag = false">
<template #item="{ element }">
<a-card
size="small"
class="ma-0 pa-0 cursor-pointer item mb-2"
@mousedown="moved = false"
@mousemove="moved = false"
@mouseup="handleMouseUp(element)"
size="small"
class="ma-0 pa-0 cursor-pointer item mb-2"
@mousedown="moved = false"
@mousemove="moved = false"
@mouseup="handleMouseUp(element)"
>
<div class="flex">
<div class="flex flex-row flex-1">
<SmartsheetHeaderVirtualCell
v-if="isVirtualCol(element)"
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
v-if="isVirtualCol(element)"
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
/>
<SmartsheetHeaderCell
v-else
class="w-full"
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
v-else
class="w-full"
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
/>
</div>
<div class="flex flex-row">
<mdi-drag-vertical class="flex flex-1"/>
<mdi-drag-vertical class="flex flex-1" />
</div>
</div>
</a-card>
@ -389,14 +392,13 @@ onMounted(async () => {
<a-dropdown v-model:visible="showColumnDropdown" :trigger="['click']">
<a-button type="link" class="w-full caption mt-2" size="large" @click="showColumnDropdown = true">
<div class="flex items-center prose-sm justify-center text-gray-400">
<mdi-plus/>
<mdi-plus />
<!-- Add new field to this table -->
{{ $t('activity.addField') }}
</div>
</a-button>
<template #overlay>
<SmartsheetColumnEditOrAdd ref="editOrAddRef" @submit="submitCallback"
@cancel="showColumnDropdown = false"/>
<SmartsheetColumnEditOrAdd ref="editOrAddRef" @submit="submitCallback" @cancel="showColumnDropdown = false" />
</template>
</a-dropdown>
</template>
@ -410,110 +412,108 @@ onMounted(async () => {
<!-- Header -->
<a-form-item class="ma-0 gap-0 pa-0">
<a-input
v-model:value="formViewData.heading"
class="w-full text-bold text-h3"
size="large"
hide-details
placeholder="Form Title"
:bordered="false"
@blur="updateView"
@keydown.enter="updateView"
v-model:value="formViewData.heading"
class="w-full text-bold text-h3"
size="large"
hide-details
placeholder="Form Title"
:bordered="false"
@blur="updateView"
@keydown.enter="updateView"
/>
</a-form-item>
<!-- Sub Header -->
<a-form-item>
<a-input
v-model:value="formViewData.subheading"
class="w-full"
size="large"
hide-details
:placeholder="$t('msg.info.formDesc')"
:bordered="false"
@blur="updateView"
@click="updateView"
v-model:value="formViewData.subheading"
class="w-full"
size="large"
hide-details
:placeholder="$t('msg.info.formDesc')"
:bordered="false"
@blur="updateView"
@click="updateView"
/>
</a-form-item>
<Draggable
ref="draggableRef"
:list="localColumns"
item-key="fk_column_id"
draggable=".item"
group="form-inputs"
class="h-100"
@change="onMove($event)"
@start="drag = true"
@end="drag = false"
ref="draggableRef"
:list="localColumns"
item-key="fk_column_id"
draggable=".item"
group="form-inputs"
class="h-100"
@change="onMove($event)"
@start="drag = true"
@end="drag = false"
>
<template #item="{ element, index }">
<div class="nc-editable item cursor-pointer hover:bg-primary/10 pa-3"
@click="activeRow = element.title">
<div class="nc-editable item cursor-pointer hover:bg-primary/10 pa-3" @click="activeRow = element.title">
<div class="flex">
<div class="flex flex-1">
<div class="flex flex-row">
<mdi-drag-vertical class="flex flex-1"/>
<mdi-drag-vertical class="flex flex-1" />
</div>
<SmartsheetHeaderVirtualCell
v-if="isVirtualCol(element)"
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
v-if="isVirtualCol(element)"
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
/>
<SmartsheetHeaderCell
v-else
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
v-else
:column="{ ...element, title: element.label || element.title }"
:required="isRequired(element, element.required)"
:hide-menu="true"
/>
</div>
<div v-if="isUIAllowed('editFormView') && !isRequired(element, element.required)" class="flex">
<mdi-eye-off-outline class="opacity-0 nc-field-remove-icon" @click.stop="hideColumn(index)"/>
<mdi-eye-off-outline class="opacity-0 nc-field-remove-icon" @click.stop="hideColumn(index)" />
</div>
</div>
<a-form-item
v-if="isVirtualCol(element)"
class="ma-0 gap-0 pa-0"
:name="element.title"
:rules="[{ required: element.required, message: `${element.title} is required` }]"
v-if="isVirtualCol(element)"
class="ma-0 gap-0 pa-0"
:name="element.title"
:rules="[{ required: element.required, message: `${element.title} is required` }]"
>
<SmartsheetVirtualCell v-model="formState[element.title]" class="nc-input" :column="element"/>
<SmartsheetVirtualCell v-model="formState[element.title]" class="nc-input" :column="element" />
</a-form-item>
<a-form-item
v-else
class="ma-0 gap-0 pa-0"
:name="element.title"
:rules="[{ required: element.required, message: `${element.title} is required` }]"
v-else
class="ma-0 gap-0 pa-0"
:name="element.title"
:rules="[{ required: element.required, message: `${element.title} is required` }]"
>
<SmartsheetCell
v-model="formState[element.title]"
class="nc-input"
:column="element"
:edit-enabled="true"
v-model="formState[element.title]"
class="nc-input"
:column="element"
:edit-enabled="true"
/>
</a-form-item>
<div v-if="activeRow === element.title">
<a-form-item class="my-0 w-1/2">
<a-input
v-model:value="element.label"
size="small"
class="form-meta-input !bg-[#dbdbdb]"
:placeholder="$t('msg.info.formInput')"
@change="updateColMeta(element)"
v-model:value="element.label"
size="small"
class="form-meta-input !bg-[#dbdbdb]"
:placeholder="$t('msg.info.formInput')"
@change="updateColMeta(element)"
>
</a-input>
</a-form-item>
<a-form-item class="mt-2 mb-0 w-1/2">
<a-input
size="small"
v-model:value="element.description"
class="form-meta-input !bg-[#dbdbdb] text-sm"
:placeholder="$t('msg.info.formHelpText')"
@change="updateColMeta(element)"
v-model:value="element.description"
size="small"
class="form-meta-input !bg-[#dbdbdb] text-sm"
:placeholder="$t('msg.info.formHelpText')"
@change="updateColMeta(element)"
/>
</a-form-item>
<div class="items-center flex">
<span class="text-sm text-gray-500 mr-2">{{ $t('general.required') }}</span>
<a-switch size="small" v-model:checked="element.required" class="my-2"
@change="updateColMeta(element)"/>
<a-switch v-model:checked="element.required" size="small" class="my-2" @change="updateColMeta(element)" />
</div>
</div>
<span class="text-gray-500">{{ element.description }}</span>
@ -521,8 +521,8 @@ onMounted(async () => {
</template>
<template #footer>
<div
v-if="!localColumns.length"
class="mt-4 border-dashed border-2 border-gray-400 py-3 text-gray-400 text-center"
v-if="!localColumns.length"
class="mt-4 border-dashed border-2 border-gray-400 py-3 text-gray-400 text-center"
>
Drag and drop fields here to add
</div>
@ -535,52 +535,47 @@ onMounted(async () => {
{{ $t('general.submit') }}
</a-button>
</div>
</a-card>
</a-form>
<div class="mx-10 px-10">
<!-- After form is submitted -->
<div class="text-gray-500 mt-4 mb-2">
{{ $t('msg.info.afterFormSubmitted') }}
</div>
<!-- Show this message -->
<label class="text-gray-600 text-bold"> {{ $t('msg.info.showMessage') }}: </label>
<a-textarea v-model:value="formViewData.success_msg" rows="3" hide-details @change="updateView"/>
<a-textarea v-model:value="formViewData.success_msg" rows="3" hide-details @change="updateView" />
<!-- Other options -->
<div class="mt-4">
<div class="my-4">
<!-- Show "Submit Another Form" button -->
<a-switch size="small"
v-model:checked="formViewData.submit_another_form"
v-t="[`a:form-view:submit-another-form`]"
@change="updateView"
<a-switch
v-model:checked="formViewData.submit_another_form"
v-t="[`a:form-view:submit-another-form`]"
size="small"
@change="updateView"
/>
<span class="ml-4">{{ $t('msg.info.submitAnotherForm') }}</span>
</div>
<div class="my-4">
<!-- Show a blank form after 5 seconds -->
<a-switch size="small"
v-model:checked="formViewData.show_blank_form"
v-t="[`a:form-view:show-blank-form`]"
@change="updateView"
<a-switch
v-model:checked="formViewData.show_blank_form"
v-t="[`a:form-view:show-blank-form`]"
size="small"
@change="updateView"
/>
<span class="ml-4">{{ $t('msg.info.showBlankForm') }}</span>
</div>
<div class="my-4">
<a-switch size="small" v-model:checked="emailMe" v-t="[`a:form-view:email-me`]"
@change="onEmailChange"/>
<a-switch v-model:checked="emailMe" v-t="[`a:form-view:email-me`]" size="small" @change="onEmailChange" />
<!-- Email me at <email> -->
<span class="ml-4">
{{ $t('msg.info.emailForm') }} <span class="text-bold text-gray-600">{{
state.user.value?.email
}}</span>
</span>
{{ $t('msg.info.emailForm') }} <span class="text-bold text-gray-600">{{ state.user.value?.email }}</span>
</span>
</div>
</div>
</div>

2
packages/nc-gui-v2/components/smartsheet/Toolbar.vue

@ -17,8 +17,6 @@ const { isGrid, isForm } = useSmartsheetStoreOrThrow()
<SmartsheetToolbarMoreActions v-if="isGrid" />
<div class="flex-1" />
<SmartsheetToolbarSearchData v-if="isGrid" class="shrink mr-2" />
</div>
</template>

2
packages/nc-gui-v2/components/smartsheet/expanded-form/Header.vue

@ -44,7 +44,7 @@ const iconColor = '#1890ff'
<template v-if="primaryValue">: {{ primaryValue }}</template>
</h5>
<div class="flex-grow" />
<mdi-reload class="cursor-pointer select-none" />
<mdi-reload class="cursor-pointer select-none" />
<component :is="drawerToggleIcon" class="cursor-pointer select-none" @click="commentsDrawer = !commentsDrawer" />
<a-button class="!text" @click="emit('cancel')">
<!-- Cancel -->

1
packages/nc-gui-v2/components/smartsheet/sidebar/toolbar/index.vue

@ -1,6 +1,5 @@
<script lang="ts" setup>
import AddRow from './AddRow.vue'
import DeleteTable from './DeleteTable.vue'
import LockMenu from './LockMenu.vue'
import Reload from './Reload.vue'
</script>

2
packages/nc-gui-v2/components/tabs/auth/UserManagement.vue

@ -194,7 +194,7 @@ watchDebounced(searchText, () => loadUsers(), { debounce: 300, maxWait: 600 })
</a-button>
<a-button v-if="isUIAllowed('newUser')" size="middle" type="primary" ghost @click="onInvite">
<div class="flex flex-row justify-center items-center caption capitalize space-x-1">
<MdiAccountPlusOutline class="mr-1"/>
<MdiAccountPlusOutline class="mr-1" />
<div>{{ $t('activity.inviteTeam') }}</div>
</div>
</a-button>

5
packages/nc-gui-v2/components/virtual-cell/components/ListChildItems.vue

@ -1,7 +1,6 @@
<script lang="ts" setup>
import { Modal } from 'ant-design-vue'
import { Empty, Modal } from 'ant-design-vue'
import type { ColumnType } from 'nocodb-sdk'
import { Empty } from 'ant-design-vue'
import { computed, useLTARStoreOrThrow, useSmartsheetRowStoreOrThrow, useVModel, watch } from '#imports'
import { ColumnInj, IsFormInj } from '~/context'
@ -114,7 +113,7 @@ const expandedFormRow = ref()
show-less-items
/>
</template>
<a-empty v-else class="my-10" :image="Empty.PRESENTED_IMAGE_SIMPLE"/>
<a-empty v-else class="my-10" :image="Empty.PRESENTED_IMAGE_SIMPLE" />
</div>
<SmartsheetExpandedForm

2
packages/nc-gui-v2/components/virtual-cell/components/ListItems.vue

@ -116,7 +116,7 @@ const newRowState = computed(() => {
show-less-items
/>
</template>
<a-empty v-else class="my-10" :image="Empty.PRESENTED_IMAGE_SIMPLE"/>
<a-empty v-else class="my-10" :image="Empty.PRESENTED_IMAGE_SIMPLE" />
<SmartsheetExpandedForm
v-if="expandedFormDlg"

4
packages/nc-gui-v2/layouts/base.vue

@ -22,7 +22,9 @@ const logout = () => {
<Transition name="layout">
<a-layout-header v-if="signedIn" class="flex !bg-primary items-center text-white pl-4 pr-5 shadow-lg">
<div
v-if="route.name === 'index' || route.name === 'project-index-create' || route.name === 'project-index-create-external'"
v-if="
route.name === 'index' || route.name === 'project-index-create' || route.name === 'project-index-create-external'
"
class="transition-all duration-200 p-2 cursor-pointer transform hover:scale-105"
@click="navigateTo('/')"
>

Loading…
Cancel
Save