Files
nocodb/packages/nc-gui/components/workspace/CreateProjectBtn.vue
Mert E 89f0895de3 fix: experimental frontend optimizations (#8427)
* fix: get rid of barrel files

* chore: get rid of explicit imports

* fix: use explicit import for classes and enums

* fix: use explicit import for enum & class & aliases

* fix: build issues
2024-05-08 15:55:09 +05:30

44 lines
1.0 KiB
Vue

<script setup lang="ts">
import type { NcButtonSize } from '~/lib/types'
const props = defineProps<{
activeWorkspaceId?: string | undefined
modal?: boolean
type?: string
isOpen: boolean
size?: NcButtonSize
centered?: boolean
}>()
const { isUIAllowed } = useRoles()
const { orgRoles, workspaceRoles } = useRoles()
const baseStore = useBase()
const { isSharedBase } = storeToRefs(baseStore)
const workspaceStore = useWorkspace()
const { activeWorkspaceId: _activeWorkspaceId } = storeToRefs(workspaceStore)
const baseCreateDlg = ref(false)
const size = computed(() => props.size || 'small')
const centered = computed(() => props.centered ?? true)
</script>
<template>
<NcButton
v-if="isUIAllowed('baseCreate', { roles: workspaceRoles ?? orgRoles }) && !isSharedBase"
v-e="['c:base:create']"
type="text"
:size="size"
:centered="centered"
@click="baseCreateDlg = true"
>
<slot />
<WorkspaceCreateProjectDlg v-model="baseCreateDlg" />
</NcButton>
</template>
<style scoped></style>