Skip to content

Commit d13cf78

Browse files
committed
Add layout
1 parent efc07d0 commit d13cf78

File tree

10 files changed

+177
-5
lines changed

10 files changed

+177
-5
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/**
2+
* Copyright (c) 2022 Hengyang Zhang
3+
*
4+
* This software is released under the MIT License.
5+
* https://opensource.org/licenses/MIT
6+
*/
7+
8+
import { t } from "@guide/locale"
9+
import { defineComponent, h } from "vue"
10+
11+
const _default = defineComponent({
12+
name: "Header",
13+
render() {
14+
return h('div', {
15+
class: 'guide-header-container'
16+
}, h('h1', {
17+
class: 'guide-header'
18+
}, t(msg => msg.layout.header)))
19+
}
20+
})
21+
22+
export default _default

src/guide/components/home/index.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* Copyright (c) 2022 Hengyang Zhang
3+
*
4+
* This software is released under the MIT License.
5+
* https://opensource.org/licenses/MIT
6+
*/
7+
8+
import { defineComponent, h } from "vue"
9+
10+
const _default = defineComponent({
11+
name: 'Home',
12+
render() {
13+
return h('div')
14+
}
15+
})
16+
17+
export default _default

src/guide/index.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { initLocale, locale as appLocale } from "@util/i18n"
1313
import { init as initTheme } from "@util/dark-mode"
1414
import { createApp } from "vue"
1515
import Main from "./layout"
16+
import installRouter from './router'
1617
import ElementPlus from 'element-plus'
1718

1819

@@ -28,8 +29,9 @@ async function main() {
2829
await initLocale()
2930

3031
const app = createApp(Main)
31-
app.mount('#app')
32+
installRouter(app)
33+
app.mount('#guide')
3234
locales[appLocale]?.()?.then(locale => app.use(ElementPlus, { locale: locale.default }))
3335
}
3436

35-
main()
37+
main()

src/guide/layout/index.ts

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,19 @@
55
* https://opensource.org/licenses/MIT
66
*/
77

8-
import { defineComponent } from "vue"
8+
import { ElContainer } from "element-plus"
9+
import { defineComponent, h } from "vue"
10+
import { RouterView } from "vue-router"
11+
import Header from "../components/common/header"
912

1013
const _default = defineComponent({
11-
name: "Guide"
14+
name: "Guide",
15+
render() {
16+
return h(ElContainer, { class: 'guide-container' }, () => [
17+
h(Header),
18+
h(RouterView)
19+
])
20+
}
1221
})
1322

1423
export default _default
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Copyright (c) 2022 Hengyang Zhang
3+
*
4+
* This software is released under the MIT License.
5+
* https://opensource.org/licenses/MIT
6+
*/
7+
8+
import { Messages } from "@util/i18n"
9+
import appMessages from "@util/i18n/components/app"
10+
11+
export type LayoutMessage = {
12+
header: string
13+
}
14+
15+
const _default: Messages<LayoutMessage> = {
16+
zh_CN: {
17+
header: appMessages.zh_CN.marketName
18+
},
19+
zh_TW: {
20+
header: appMessages.zh_TW.marketName
21+
},
22+
en: {
23+
header: appMessages.en.marketName
24+
},
25+
ja: {
26+
header: appMessages.ja.marketName
27+
}
28+
}
29+
30+
export default _default

src/guide/locale/index.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* Copyright (c) 2022 Hengyang Zhang
3+
*
4+
* This software is released under the MIT License.
5+
* https://opensource.org/licenses/MIT
6+
*/
7+
8+
import { I18nKey as _I18nKey, locale, t as _t } from "@util/i18n"
9+
import { tN as _tN } from "@util/i18n/i18n-vue"
10+
import messages, { GuideMessage } from "./messages"
11+
12+
export type I18nKey = _I18nKey<GuideMessage>
13+
14+
export function t(key: I18nKey, param?: any) {
15+
const props = { key, param }
16+
return _t<GuideMessage>(messages[locale], props)
17+
}

src/guide/locale/messages.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Copyright (c) 2022 Hengyang Zhang
3+
*
4+
* This software is released under the MIT License.
5+
* https://opensource.org/licenses/MIT
6+
*/
7+
8+
import { Messages } from "@util/i18n"
9+
import layoutMessages, { LayoutMessage } from "./components/layout"
10+
11+
export type GuideMessage = {
12+
layout: LayoutMessage
13+
}
14+
15+
const _default: Messages<GuideMessage> = {
16+
zh_CN: {
17+
layout: layoutMessages.zh_CN
18+
},
19+
zh_TW: {
20+
layout: layoutMessages.zh_TW
21+
},
22+
en: {
23+
layout: layoutMessages.en
24+
},
25+
ja: {
26+
layout: layoutMessages.ja
27+
},
28+
}
29+
30+
export default _default

src/guide/router.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Copyright (c) 2022 Hengyang Zhang
3+
*
4+
* This software is released under the MIT License.
5+
* https://opensource.org/licenses/MIT
6+
*/
7+
8+
import type { App } from "vue"
9+
import type { RouteRecordRaw } from "vue-router"
10+
11+
import { createRouter, createWebHashHistory } from "vue-router"
12+
13+
const routes: RouteRecordRaw[] = [
14+
{
15+
path: '/',
16+
redirect: '/home'
17+
}, {
18+
path: '/home',
19+
component: () => import('./components/home')
20+
}
21+
]
22+
23+
const router = createRouter({
24+
history: createWebHashHistory(),
25+
routes,
26+
})
27+
28+
export default (app: App) => {
29+
app.use(router)
30+
}

src/guide/style.sass

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,17 @@
55
* https://opensource.org/licenses/MIT
66
*/
77

8-
.guide
8+
#guide
9+
display: flex
10+
height: 100vh
911
width: 100%
12+
.guide-container
13+
display: flex
14+
width: 100%
15+
.guide-header-container
16+
display: flex
17+
width: 100%
18+
text-align: center
19+
.guide-header
20+
width: 100%
21+
font-size: 30px

tsconfig.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
"@popup/*": [
1616
"src/popup/*"
1717
],
18+
"@guide/*": [
19+
"src/guide/*"
20+
],
1821
"@db/*": [
1922
"src/database/*"
2023
],

0 commit comments

Comments
 (0)