|
1 | 1 | <script setup lang="ts"> |
2 | | - import { IN_BROWSER } from '#v0/constants/globals' |
3 | 2 | import { useHead } from '@unhead/vue' |
4 | | - import { defineAsyncComponent, shallowRef } from 'vue' |
5 | 3 |
|
6 | | - const isLoaded = shallowRef(false) |
7 | | -
|
8 | | - const PlaygroundContent = IN_BROWSER |
9 | | - ? defineAsyncComponent({ |
10 | | - loader: () => import('@/components/playground/PlaygroundContent.vue'), |
11 | | - onError: () => {}, |
12 | | - }) |
13 | | - : undefined |
| 4 | + // Content |
| 5 | + import IntroPanel from '@/skillz/intro.md' |
14 | 6 |
|
15 | 7 | definePage({ |
16 | 8 | meta: { |
|
30 | 22 | </script> |
31 | 23 |
|
32 | 24 | <template> |
33 | | - <div class="h-screen flex flex-col bg-surface"> |
34 | | - <!-- SSG/loading skeleton: shown until async component mounts --> |
35 | | - <template v-if="!PlaygroundContent"> |
36 | | - <header class="flex items-center justify-between h-[48px] px-3 border-b border-divider bg-surface"> |
37 | | - <div class="flex items-center gap-3"> |
38 | | - <div class="w-8 h-8" /> |
39 | | - |
40 | | - <img |
41 | | - alt="Vuetify Play" |
42 | | - class="h-7" |
43 | | - src="https://vuetifyjs.b-cdn.net/docs/images/one/logos/vplay-logo-dark.svg" |
44 | | - > |
45 | | - </div> |
46 | | - </header> |
47 | | - |
48 | | - <div class="flex-1" /> |
49 | | - </template> |
50 | | - |
51 | | - <!-- Client-only: full playground --> |
52 | | - <component :is="PlaygroundContent" v-if="PlaygroundContent" /> |
53 | | - </div> |
| 25 | + <PlaygroundApp> |
| 26 | + <PlaygroundAppBar /> |
| 27 | + |
| 28 | + <PlaygroundAppContent> |
| 29 | + <PlaygroundAppLeft> |
| 30 | + <PlaygroundMarkdownHeader> |
| 31 | + Introduction |
| 32 | + </PlaygroundMarkdownHeader> |
| 33 | + |
| 34 | + <PlaygroundMarkdown :component="IntroPanel" /> |
| 35 | + </PlaygroundAppLeft> |
| 36 | + |
| 37 | + <PlaygroundAppRight> |
| 38 | + <PlaygroundWorkspace> |
| 39 | + <PlaygroundWorkspaceTop> |
| 40 | + <PlaygroundWorkspaceLeft> |
| 41 | + <PlaygroundEditorFileTree /> |
| 42 | + </PlaygroundWorkspaceLeft> |
| 43 | + |
| 44 | + <PlaygroundWorkspaceRight> |
| 45 | + <PlaygroundEditorTabs /> |
| 46 | + |
| 47 | + <PlaygroundEditorBreadcrumbs /> |
| 48 | + |
| 49 | + <PlaygroundEditor /> |
| 50 | + </PlaygroundWorkspaceRight> |
| 51 | + |
| 52 | + <PlaygroundWorkspaceSide> |
| 53 | + <PlaygroundEditorPreview /> |
| 54 | + </PlaygroundWorkspaceSide> |
| 55 | + </PlaygroundWorkspaceTop> |
| 56 | + |
| 57 | + <PlaygroundWorkspaceBottom> |
| 58 | + <PlaygroundEditorPreview /> |
| 59 | + </PlaygroundWorkspaceBottom> |
| 60 | + </PlaygroundWorkspace> |
| 61 | + </PlaygroundAppRight> |
| 62 | + </PlaygroundAppContent> |
| 63 | + </PlaygroundApp> |
54 | 64 | </template> |
0 commit comments