feat: implemented workspace flow

This commit is contained in:
--list
2026-01-13 23:32:18 -08:00
parent 68bca07914
commit 8950b7327f
12 changed files with 243 additions and 441 deletions

View File

@@ -62,16 +62,14 @@ import { useToast } from 'primevue/usetoast'
import { computed, ref } from 'vue'
import Button from '@/components/ui/button/Button.vue'
import { useWorkspace } from '@/platform/workspace/composables/useWorkspace'
import { useDialogStore } from '@/stores/dialogStore'
const { onConfirm } = defineProps<{
onConfirm?: (name: string) => void | Promise<void>
onConfirm: (name: string) => void | Promise<void>
}>()
const dialogStore = useDialogStore()
const toast = useToast()
const { createWorkspace } = useWorkspace()
const loading = ref(false)
const workspaceName = ref('')
@@ -90,13 +88,8 @@ async function onCreate() {
if (!isValidName.value) return
loading.value = true
try {
const name = workspaceName.value.trim()
// Create workspace using global state (creates OWNER unsubscribed workspace)
createWorkspace(name)
// Call optional callback if provided
await onConfirm?.(name)
await onConfirm(workspaceName.value.trim())
dialogStore.closeDialog({ key: 'create-workspace' })
// Show toast prompting to subscribe
toast.add({
group: 'workspace-created'
})