diff --git a/src/renderer/components.d.ts b/src/renderer/components.d.ts index 3e56ff1..ac454ba 100644 --- a/src/renderer/components.d.ts +++ b/src/renderer/components.d.ts @@ -18,9 +18,11 @@ declare module 'vue' { DetectedIDECardList: typeof import('./src/components/DetectedIDECardList.vue')['default'] NAlert: typeof import('naive-ui')['NAlert'] NButton: typeof import('naive-ui')['NButton'] + NButtonGroup: typeof import('naive-ui')['NButtonGroup'] NCard: typeof import('naive-ui')['NCard'] NCode: typeof import('naive-ui')['NCode'] NConfigProvider: typeof import('naive-ui')['NConfigProvider'] + NEllipsis: typeof import('naive-ui')['NEllipsis'] NEmpty: typeof import('naive-ui')['NEmpty'] NFlex: typeof import('naive-ui')['NFlex'] NFloatButton: typeof import('naive-ui')['NFloatButton'] diff --git a/src/renderer/src/CodeLaunchpadApp.vue b/src/renderer/src/CodeLaunchpadApp.vue index b80faad..de601d0 100644 --- a/src/renderer/src/CodeLaunchpadApp.vue +++ b/src/renderer/src/CodeLaunchpadApp.vue @@ -25,6 +25,7 @@ function handleUpdateValue(key: string): void {
div.codeLaunchpad-container { display: flex; + flex: 0 1; flex-direction: column; overflow: hidden; width: 100vw; height: 100vh; + + .codeLaunchpad-menu { + height: 40px; + min-height: 40px; + } } diff --git a/src/renderer/src/components-code-launchpad/ProjectCard.vue b/src/renderer/src/components-code-launchpad/ProjectCard.vue new file mode 100644 index 0000000..678476c --- /dev/null +++ b/src/renderer/src/components-code-launchpad/ProjectCard.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/renderer/src/pages-code-launchpad/Projects.vue b/src/renderer/src/pages-code-launchpad/Projects.vue index d879ed0..bf3687d 100644 --- a/src/renderer/src/pages-code-launchpad/Projects.vue +++ b/src/renderer/src/pages-code-launchpad/Projects.vue @@ -1,5 +1,53 @@ - + + + + + diff --git a/src/renderer/src/stores.ts b/src/renderer/src/stores.ts index 059d6f5..0bd93d5 100644 --- a/src/renderer/src/stores.ts +++ b/src/renderer/src/stores.ts @@ -7,6 +7,7 @@ import type { keyboardShortcut, screenPosition } from '@my-type/settings' +import { IdeProjectDto } from '@my-type/ide-projects' export const useSettings = defineStore('settings', () => { const isStayInTray = ref(false) @@ -101,3 +102,18 @@ export const useIDEs = defineStore('IDEs', () => { return { ides, versions, getIDEs, checkIDEs, getVersions, checkVersions } }) + +export const useProjects = defineStore('projects', () => { + const vscodeProjects = ref([]) + const jetBrainsProjects = ref([]) + + async function getVSCodeProjects(): Promise { + vscodeProjects.value = await window.codeLaunchpad._getVSCodeProjects() + } + + async function getJetBrainsProjects(): Promise { + jetBrainsProjects.value = await window.codeLaunchpad._getJetBrainsProjects() + } + + return { vscodeProjects, jetBrainsProjects, getVSCodeProjects, getJetBrainsProjects } +})