mirror of https://github.com/halo-dev/halo
parent
ae84c759e4
commit
29aa66c8e2
|
@ -44,7 +44,7 @@
|
||||||
JavaScript enabled. Please enable it to continue.
|
JavaScript enabled. Please enable it to continue.
|
||||||
</strong>
|
</strong>
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="app">
|
<div id="app" class="h-screen">
|
||||||
<div id="loader"></div>
|
<div id="loader"></div>
|
||||||
</div>
|
</div>
|
||||||
<script type="module" src="/src/main.ts"></script>
|
<script type="module" src="/src/main.ts"></script>
|
||||||
|
|
15
src/App.vue
15
src/App.vue
|
@ -1,22 +1,9 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { RouterView } from "vue-router";
|
import { RouterView } from "vue-router";
|
||||||
import { VRoutesMenu } from "@/components/base/menu";
|
|
||||||
import { menus } from "@/router/menus.config";
|
|
||||||
import logo from "@/assets/logo.svg";
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex">
|
<RouterView />
|
||||||
<div class="navbar h-screen w-72 p-4" style="background: #fff">
|
|
||||||
<div class="logo flex justify-center pt-2 pb-6">
|
|
||||||
<img :src="logo" style="width: 80px" alt="Halo Logo" />
|
|
||||||
</div>
|
|
||||||
<VRoutesMenu :menus="menus" />
|
|
||||||
</div>
|
|
||||||
<div class="flex-1">
|
|
||||||
<RouterView />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
@ -13,7 +13,7 @@ provide<string[] | undefined>("openIds", props.openIds);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="menu-container w-full h-full">
|
<div class="menu-container p-3 w-full">
|
||||||
<ul>
|
<ul>
|
||||||
<slot />
|
<slot />
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
// Vitest Snapshot v1
|
// Vitest Snapshot v1
|
||||||
|
|
||||||
exports[`Menu > should render 1`] = `
|
exports[`Menu > should render 1`] = `
|
||||||
"<div class=\\"menu-container w-full h-full\\">
|
"<div class=\\"menu-container p-3 w-full\\">
|
||||||
<ul></ul>
|
<ul></ul>
|
||||||
</div>"
|
</div>"
|
||||||
`;
|
`;
|
||||||
|
@ -19,7 +19,7 @@ exports[`Menu > should render 2`] = `
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`Menu > should work with openIds prop 1`] = `
|
exports[`Menu > should work with openIds prop 1`] = `
|
||||||
"<div class=\\"menu-container w-full h-full\\">
|
"<div class=\\"menu-container p-3 w-full\\">
|
||||||
<ul>
|
<ul>
|
||||||
<li class=\\"menu-item\\">
|
<li class=\\"menu-item\\">
|
||||||
<div class=\\"menu-item-title\\">
|
<div class=\\"menu-item-title\\">
|
||||||
|
@ -62,7 +62,7 @@ exports[`Menu > should work with openIds prop 1`] = `
|
||||||
`;
|
`;
|
||||||
|
|
||||||
exports[`Menu > should work with sub menus 1`] = `
|
exports[`Menu > should work with sub menus 1`] = `
|
||||||
"<div class=\\"menu-container w-full h-full\\">
|
"<div class=\\"menu-container p-3 w-full\\">
|
||||||
<ul>
|
<ul>
|
||||||
<li class=\\"menu-item\\">
|
<li class=\\"menu-item\\">
|
||||||
<div class=\\"menu-item-title\\">
|
<div class=\\"menu-item-title\\">
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
<template>
|
||||||
|
<RouterView />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { RouterView } from "vue-router";
|
||||||
|
</script>
|
|
@ -0,0 +1,25 @@
|
||||||
|
<template>
|
||||||
|
<div class="flex h-full">
|
||||||
|
<aside class="navbar h-full" style="background: #fff">
|
||||||
|
<div class="logo flex justify-center py-6">
|
||||||
|
<img :src="logo" style="width: 80px" alt="Halo Logo" />
|
||||||
|
</div>
|
||||||
|
<VRoutesMenu :menus="menus" />
|
||||||
|
</aside>
|
||||||
|
<main class="content w-full overflow-y-auto">
|
||||||
|
<slot />
|
||||||
|
</main>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { VRoutesMenu } from "@/components/base/menu";
|
||||||
|
import { menus } from "@/router/menus.config";
|
||||||
|
import logo from "@/assets/logo.svg";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.navbar {
|
||||||
|
flex: 0 0 270px;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,2 @@
|
||||||
|
export { default as BlankLayout } from "./BlankLayout.vue";
|
||||||
|
export { default as FilledLayout } from "./FilledLayout.vue";
|
|
@ -1,11 +1,15 @@
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { FilledLayout } from "@/layouts";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="about">
|
<FilledLayout>
|
||||||
<pre>Route: {{ route }}</pre>
|
<div>
|
||||||
</div>
|
<pre class="overflow-auto w-3/4">Route: {{ route }}</pre>
|
||||||
|
<pre class="overflow-auto w-3/4">Route: {{ route }}</pre>
|
||||||
|
</div>
|
||||||
|
</FilledLayout>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
<template>
|
<template>
|
||||||
<main class="text-red-600">Hello Halo!</main>
|
<FilledLayout>
|
||||||
<VInput v-model="value" />
|
<main class="text-red-600">Hello Halo!</main>
|
||||||
{{ value }}
|
<VInput v-model="value" />
|
||||||
|
{{ value }}
|
||||||
|
</FilledLayout>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import { FilledLayout } from "@/layouts";
|
||||||
import { VInput } from "@/components/base/input";
|
import { VInput } from "@/components/base/input";
|
||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
const value = ref();
|
const value = ref();
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
import { describe, expect, it } from "vitest";
|
|
||||||
|
|
||||||
import { mount } from "@vue/test-utils";
|
|
||||||
import HomeView from "../HomeView.vue";
|
|
||||||
|
|
||||||
describe("HomeView", () => {
|
|
||||||
it("renders properly", () => {
|
|
||||||
const wrapper = mount(HomeView);
|
|
||||||
expect(wrapper.text()).toContain("Hello Halo!");
|
|
||||||
});
|
|
||||||
});
|
|
Loading…
Reference in New Issue