Publish current project state

This commit is contained in:
2026-09-14 10:47:21 +08:00
parent 0dd188c46f
commit 4ad56ee9f8
186 changed files with 6289 additions and 1657 deletions
@@ -8,6 +8,7 @@ import CardLayout from 'dashboard/components-next/CardLayout.vue';
import DropdownMenu from 'dashboard/components-next/dropdown-menu/DropdownMenu.vue';
import Button from 'dashboard/components-next/button/Button.vue';
import Policy from 'dashboard/components/policy.vue';
import { ROLE_ADMINISTRATOR } from 'dashboard/constants/permissions.js';
const props = defineProps({
id: {
@@ -82,7 +83,7 @@ const authTypeLabel = computed(() => {
<div class="flex items-center gap-2">
<Policy
v-on-clickaway="() => toggleDropdown(false)"
:permissions="['administrator']"
:permissions="[ROLE_ADMINISTRATOR]"
class="relative flex items-center group"
>
<Button
@@ -5,6 +5,7 @@ import Button from 'dashboard/components-next/button/Button.vue';
import AssistantCard from 'dashboard/components-next/captain/assistant/AssistantCard.vue';
import FeatureSpotlight from 'dashboard/components-next/feature-spotlight/FeatureSpotlight.vue';
import { assistantsList } from 'dashboard/components-next/captain/pageComponents/emptyStates/captainEmptyStateContent.js';
import { ROLE_ADMINISTRATOR } from 'dashboard/constants/permissions.js';
const emit = defineEmits(['click']);
const { isOnChatwootCloud } = useAccount();
@@ -27,7 +28,7 @@ const onClick = () => {
<EmptyStateLayout
:title="$t('CAPTAIN.ASSISTANTS.EMPTY_STATE.TITLE')"
:subtitle="$t('CAPTAIN.ASSISTANTS.EMPTY_STATE.SUBTITLE')"
:action-perms="['administrator']"
:action-perms="[ROLE_ADMINISTRATOR]"
>
<template #empty-state-item>
<div class="grid grid-cols-1 gap-4 p-px overflow-hidden">
@@ -3,6 +3,7 @@ import { useAccount } from 'dashboard/composables/useAccount';
import EmptyStateLayout from 'dashboard/components-next/EmptyStateLayout.vue';
import FeatureSpotlight from 'dashboard/components-next/feature-spotlight/FeatureSpotlight.vue';
import Button from 'dashboard/components-next/button/Button.vue';
import { ROLE_ADMINISTRATOR } from 'dashboard/constants/permissions.js';
const emit = defineEmits(['click']);
const { isOnChatwootCloud } = useAccount();
@@ -25,7 +26,7 @@ const onClick = () => {
<EmptyStateLayout
:title="$t('CAPTAIN.CUSTOM_TOOLS.EMPTY_STATE.TITLE')"
:subtitle="$t('CAPTAIN.CUSTOM_TOOLS.EMPTY_STATE.SUBTITLE')"
:action-perms="['administrator']"
:action-perms="[ROLE_ADMINISTRATOR]"
>
<template #empty-state-item>
<div class="min-h-[600px]" />
@@ -6,6 +6,7 @@ import Button from 'dashboard/components-next/button/Button.vue';
import DocumentCard from 'dashboard/components-next/captain/assistant/DocumentCard.vue';
import FeatureSpotlight from 'dashboard/components-next/feature-spotlight/FeatureSpotlight.vue';
import { documentsList } from 'dashboard/components-next/captain/pageComponents/emptyStates/captainEmptyStateContent.js';
import { ROLE_ADMINISTRATOR } from 'dashboard/constants/permissions.js';
const emit = defineEmits(['click']);
const { isOnChatwootCloud } = useAccount();
@@ -30,7 +31,7 @@ const onClick = () => {
<EmptyStateLayout
:title="$t('CAPTAIN.DOCUMENTS.EMPTY_STATE.TITLE')"
:subtitle="$t('CAPTAIN.DOCUMENTS.EMPTY_STATE.SUBTITLE')"
:action-perms="['administrator']"
:action-perms="[ROLE_ADMINISTRATOR]"
>
<template #empty-state-item>
<div class="grid grid-cols-1 gap-4 p-px overflow-hidden">
@@ -1,6 +1,7 @@
<script setup>
import EmptyStateLayout from 'dashboard/components-next/EmptyStateLayout.vue';
import Button from 'dashboard/components-next/button/Button.vue';
import { ROLE_ADMINISTRATOR } from 'dashboard/constants/permissions.js';
import InboxCard from 'dashboard/components-next/captain/assistant/InboxCard.vue';
import { inboxes } from 'dashboard/components-next/captain/pageComponents/emptyStates/captainEmptyStateContent.js';
@@ -15,7 +16,7 @@ const onClick = () => {
<EmptyStateLayout
:title="$t('CAPTAIN.INBOXES.EMPTY_STATE.TITLE')"
:subtitle="$t('CAPTAIN.INBOXES.EMPTY_STATE.SUBTITLE')"
:action-perms="['administrator']"
:action-perms="[ROLE_ADMINISTRATOR]"
>
<template #empty-state-item>
<div class="grid grid-cols-1 gap-4 p-px overflow-hidden">
@@ -8,6 +8,7 @@ import FeatureSpotlight from 'dashboard/components-next/feature-spotlight/Featur
import { responsesList } from 'dashboard/components-next/captain/pageComponents/emptyStates/captainEmptyStateContent.js';
import { computed } from 'vue';
import { ROLE_ADMINISTRATOR } from 'dashboard/constants/permissions.js';
const props = defineProps({
variant: {
@@ -56,7 +57,7 @@ const onClearFilters = () => {
: $t('CAPTAIN.RESPONSES.EMPTY_STATE.TITLE')
"
:subtitle="isApproved ? $t('CAPTAIN.RESPONSES.EMPTY_STATE.SUBTITLE') : ''"
:action-perms="['administrator']"
:action-perms="[ROLE_ADMINISTRATOR]"
:show-backdrop="isApproved"
>
<template v-if="isApproved" #empty-state-item>