diff --git a/packages/nc-gui/assets/nc-icons/plus-square.svg b/packages/nc-gui/assets/nc-icons/plus-square.svg new file mode 100644 index 0000000000..d3750d1bb2 --- /dev/null +++ b/packages/nc-gui/assets/nc-icons/plus-square.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/packages/nc-gui/assets/style.scss b/packages/nc-gui/assets/style.scss index c403043701..ace7cb0740 100644 --- a/packages/nc-gui/assets/style.scss +++ b/packages/nc-gui/assets/style.scss @@ -3,8 +3,8 @@ @import '@vue-flow/core/dist/theme-default.css'; :root { - --sidebar-top-height: 9.75rem; --topbar-height: 3.1rem; + --sidebar-bottom-height: 8.5rem; --new-header-height: 3.5rem; --tw-text-opacity: 1; --navbar-bg: #FAFAFA; @@ -90,6 +90,29 @@ main { } } +.nc-scrollbar-sm-dark { + overflow-y: scroll; + overflow-x: hidden; + + &::-webkit-scrollbar { + width: 2px; + height: 2px; + } + &::-webkit-scrollbar-track-piece { + width: 0px; + } + &::-webkit-scrollbar { + @apply bg-transparent; + } + &::-webkit-scrollbar-thumb { + width: 4px; + @apply bg-gray-300 ; + } + &::-webkit-scrollbar-thumb:hover { + @apply bg-gray-400; + } +} + .nc-scrollbar-x-md { overflow-x: scroll; @@ -505,7 +528,7 @@ a { padding: 0 !important; } .ant-popover-inner-content { - @apply !px-1.5 !py-1 text-xs text-white bg-black; + @apply !px-1.5 !py-1 text-xs; } .ant-tooltip-inner { @apply !px-1.5 !py-1 text-xs text-white bg-black; @@ -515,4 +538,8 @@ a { .ant-skeleton-input { @apply !h-full; +} + +.nc-toolbar-dropdown { + @apply !rounded-2xl; } \ No newline at end of file diff --git a/packages/nc-gui/components.d.ts b/packages/nc-gui/components.d.ts index 9b24a0e022..0ddacb9883 100644 --- a/packages/nc-gui/components.d.ts +++ b/packages/nc-gui/components.d.ts @@ -50,6 +50,7 @@ declare module '@vue/runtime-core' { AMenuItemGroup: typeof import('ant-design-vue/es')['MenuItemGroup'] AModal: typeof import('ant-design-vue/es')['Modal'] APagination: typeof import('ant-design-vue/es')['Pagination'] + APopover: typeof import('ant-design-vue/es')['Popover'] ARadio: typeof import('ant-design-vue/es')['Radio'] ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup'] ARate: typeof import('ant-design-vue/es')['Rate'] @@ -77,7 +78,6 @@ declare module '@vue/runtime-core' { AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger'] CilFullscreen: typeof import('~icons/cil/fullscreen')['default'] CilFullscreenExit: typeof import('~icons/cil/fullscreen-exit')['default'] - ClarityColorPickerSolid: typeof import('~icons/clarity/color-picker-solid')['default'] ClaritySuccessLine: typeof import('~icons/clarity/success-line')['default'] IcBaselineMoreVert: typeof import('~icons/ic/baseline-more-vert')['default'] IcOutlineInsertDriveFile: typeof import('~icons/ic/outline-insert-drive-file')['default'] @@ -91,7 +91,6 @@ declare module '@vue/runtime-core' { MaterialSymbolsChevronRightRounded: typeof import('~icons/material-symbols/chevron-right-rounded')['default'] MaterialSymbolsCloseRounded: typeof import('~icons/material-symbols/close-rounded')['default'] MaterialSymbolsDarkModeOutline: typeof import('~icons/material-symbols/dark-mode-outline')['default'] - MaterialSymbolsDeleteOutlineRounded: typeof import('~icons/material-symbols/delete-outline-rounded')['default'] MaterialSymbolsFileCopyOutline: typeof import('~icons/material-symbols/file-copy-outline')['default'] MaterialSymbolsKeyboardArrowDownRounded: typeof import('~icons/material-symbols/keyboard-arrow-down-rounded')['default'] MaterialSymbolsKeyboardReturn: typeof import('~icons/material-symbols/keyboard-return')['default'] @@ -129,10 +128,8 @@ declare module '@vue/runtime-core' { MdiCurrencyUsd: typeof import('~icons/mdi/currency-usd')['default'] MdiDiscord: typeof import('~icons/mdi/discord')['default'] MdiDotsHorizontal: typeof import('~icons/mdi/dots-horizontal')['default'] - MdiDotsVertical: typeof import('~icons/mdi/dots-vertical')['default'] MdiEye: typeof import('~icons/mdi/eye')['default'] MdiFlag: typeof import('~icons/mdi/flag')['default'] - MdiFolder: typeof import('~icons/mdi/folder')['default'] MdiHeart: typeof import('~icons/mdi/heart')['default'] MdiKeyStar: typeof import('~icons/mdi/key-star')['default'] MdiLinkVariant: typeof import('~icons/mdi/link-variant')['default'] diff --git a/packages/nc-gui/components/api-client/Params.vue b/packages/nc-gui/components/api-client/Params.vue index 49e1eaca74..61aa3f1f2c 100644 --- a/packages/nc-gui/components/api-client/Params.vue +++ b/packages/nc-gui/components/api-client/Params.vue @@ -23,7 +23,6 @@ const deleteParamRow = (i: number) => { - @@ -40,11 +39,6 @@ const deleteParamRow = (i: number) => { -
Parameter Name
- - - - diff --git a/packages/nc-gui/components/cell/DateTimePicker.vue b/packages/nc-gui/components/cell/DateTimePicker.vue index 38c0d1417d..a7dc723f14 100644 --- a/packages/nc-gui/components/cell/DateTimePicker.vue +++ b/packages/nc-gui/components/cell/DateTimePicker.vue @@ -1,5 +1,6 @@ @@ -652,7 +662,7 @@ const DlgProjectDuplicateOnOk = async (jobData: { id: string; project_id: string :key="`sortable-${base.id}-${base.id && base.id in keys ? keys[base.id] : '0'}`" :nc-base="base.id" > - + @@ -726,7 +736,7 @@ const DlgProjectDuplicateOnOk = async (jobData: { id: string; project_id: string } :deep(.ant-collapse-header) { - @apply !mx-0 !pl-8.75 !pr-1 !py-0.75 hover:bg-gray-100 !rounded-md; + @apply !mx-0 !pl-8.75 !pr-1 !py-0.75 hover:bg-gray-200 !rounded-md; } :deep(.ant-collapse-header:hover .nc-sidebar-base-node-btns) { diff --git a/packages/nc-gui/components/dashboard/TreeViewNew/ProjectWrapper.vue b/packages/nc-gui/components/dashboard/TreeView/ProjectWrapper.vue similarity index 100% rename from packages/nc-gui/components/dashboard/TreeViewNew/ProjectWrapper.vue rename to packages/nc-gui/components/dashboard/TreeView/ProjectWrapper.vue diff --git a/packages/nc-gui/components/dashboard/TreeViewNew/TableList.vue b/packages/nc-gui/components/dashboard/TreeView/TableList.vue similarity index 100% rename from packages/nc-gui/components/dashboard/TreeViewNew/TableList.vue rename to packages/nc-gui/components/dashboard/TreeView/TableList.vue diff --git a/packages/nc-gui/components/dashboard/TreeViewNew/TableNode.vue b/packages/nc-gui/components/dashboard/TreeView/TableNode.vue similarity index 94% rename from packages/nc-gui/components/dashboard/TreeViewNew/TableNode.vue rename to packages/nc-gui/components/dashboard/TreeView/TableNode.vue index 4a6b9b6ce2..5acaea2887 100644 --- a/packages/nc-gui/components/dashboard/TreeViewNew/TableNode.vue +++ b/packages/nc-gui/components/dashboard/TreeView/TableNode.vue @@ -68,8 +68,11 @@ const setIcon = async (icon: string, table: TableType) => { // Todo: temp const { isSharedBase } = useProject() - // const isMultiBase = computed(() => project.bases && project.bases.length > 1) + +const canUserEditEmote = computed(() => { + return isUIAllowed('tableIconCustomisation', false, projectRole?.value) +})