2026-04-03 18:28:41 +00:00
|
|
|
<style scoped>
|
|
|
|
|
.district-logo {
|
|
|
|
|
display: block;
|
|
|
|
|
margin-left: auto;
|
|
|
|
|
margin-right: auto;
|
|
|
|
|
max-height: 88px;
|
|
|
|
|
width: auto;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
2026-04-03 16:37:09 +00:00
|
|
|
<template>
|
2026-04-03 18:50:23 +00:00
|
|
|
<Home :slug="slug">
|
2026-04-03 16:37:09 +00:00
|
|
|
<template #header>
|
|
|
|
|
<!-- Introduction Section -->
|
2026-04-03 18:50:23 +00:00
|
|
|
<HeaderDistrict :district="district" />
|
2026-04-03 16:37:09 +00:00
|
|
|
</template>
|
|
|
|
|
</Home>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { ref } from "vue";
|
2026-04-03 18:28:41 +00:00
|
|
|
import { computedAsync } from "@vueuse/core";
|
2026-04-03 16:37:09 +00:00
|
|
|
import Home from "@/rmo/content/Home.vue";
|
2026-04-03 18:28:41 +00:00
|
|
|
import type { District } from "@/rmo/type";
|
|
|
|
|
import { useDistrictStore } from "@/rmo/store/district";
|
2026-04-03 18:50:23 +00:00
|
|
|
import HeaderDistrict from "@/components/HeaderDistrict.vue";
|
2026-04-03 16:37:09 +00:00
|
|
|
|
2026-04-03 18:28:41 +00:00
|
|
|
interface Props {
|
|
|
|
|
slug: string;
|
2026-04-03 16:37:09 +00:00
|
|
|
}
|
2026-04-03 18:28:41 +00:00
|
|
|
const props = defineProps<Props>();
|
|
|
|
|
const districtStore = useDistrictStore();
|
|
|
|
|
|
2026-04-03 18:50:23 +00:00
|
|
|
const district = computedAsync(async (): Promise<District | undefined> => {
|
2026-04-03 18:28:41 +00:00
|
|
|
const districts = await districtStore.get();
|
2026-04-03 18:50:23 +00:00
|
|
|
return districts.find((district: District) => district.slug == props.slug);
|
2026-04-03 18:28:41 +00:00
|
|
|
});
|
2026-04-03 16:37:09 +00:00
|
|
|
</script>
|