Compare commits
4 Commits
4d723758df
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f5c10bf892 | |||
| 74aaa8f806 | |||
| e63494061b | |||
| 5df064e80a |
@ -10,11 +10,17 @@
|
||||
<script lang="ts" setup>
|
||||
import { BEFlowerFall, Popup } from "timi-web";
|
||||
import { RootLayout, UserProfilePopup } from "timi-tdesign-pc";
|
||||
import { SettingMapper } from "../../timi-web";
|
||||
|
||||
const route = useRoute();
|
||||
|
||||
const ready = ref(false);
|
||||
onMounted(async () => ready.value = true);
|
||||
onMounted(async () => {
|
||||
await SettingMapper.loadSetting({
|
||||
key: "GIT_ABOUT_ARTICLE"
|
||||
});
|
||||
ready.value = true;
|
||||
});
|
||||
|
||||
// ---------- 文件详情页更宽的布局 ----------
|
||||
const inFileDetail = ref(false);
|
||||
|
||||
@ -21,6 +21,7 @@
|
||||
</template>
|
||||
<t-menu-item to="/" :value="Menu.LIST">仓库列表</t-menu-item>
|
||||
<t-menu-item to="/log" :value="Menu.LOG">最近推送</t-menu-item>
|
||||
<t-menu-item to="/about" :value="Menu.ABOUT">关于</t-menu-item>
|
||||
<template #operations>
|
||||
<login-menu />
|
||||
</template>
|
||||
@ -44,14 +45,16 @@ onMounted(async () => owner.value = await UserAPI.view(1));
|
||||
|
||||
enum Menu {
|
||||
LIST = "LIST",
|
||||
LOG = "LOG"
|
||||
LOG = "LOG",
|
||||
ABOUT = "ABOUT"
|
||||
}
|
||||
|
||||
const regexMenu: {
|
||||
[key: string]: Menu
|
||||
} = {
|
||||
"RepositoryList": Menu.LIST,
|
||||
"RepositoryLog": Menu.LOG
|
||||
"RepositoryLog": Menu.LOG,
|
||||
"About": Menu.ABOUT
|
||||
};
|
||||
|
||||
const route = useRoute();
|
||||
@ -76,7 +79,7 @@ onMounted(() => syncMenuRouter(route.name as string));
|
||||
|
||||
.header {
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
z-index: 3;
|
||||
position: sticky;
|
||||
background: rgba(231, 234, 239, .8);
|
||||
border-bottom: var(--tui-border);
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
import { createRouter, createWebHistory } from "vue-router";
|
||||
import repository from "./repository";
|
||||
import IndexLayout from "@/layout/IndexLayout.vue";
|
||||
import RepositoryList from "@/views/index/RepositoryList.vue";
|
||||
import RepositoryLog from "@/views/index/RepositoryLog.vue";
|
||||
import {createRouter, createWebHistory} from "vue-router";
|
||||
import repository from "./repository";
|
||||
|
||||
export default createRouter({
|
||||
history: createWebHistory("/"),
|
||||
@ -16,12 +15,17 @@ export default createRouter({
|
||||
{
|
||||
path: "/",
|
||||
name: "RepositoryList",
|
||||
component: RepositoryList
|
||||
component: RepositoryList
|
||||
},
|
||||
{
|
||||
path: "/log",
|
||||
name: "RepositoryLog",
|
||||
component: RepositoryLog
|
||||
component: () => import("@/views/index/RepositoryLog.vue")
|
||||
},
|
||||
{
|
||||
path: "/about",
|
||||
name: "About",
|
||||
component: () => import("@/views/index/About.vue")
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@ -1,13 +1,4 @@
|
||||
import RepositoryLayout from "@/layout/RepositoryLayout.vue";
|
||||
import CommitLog from "@/views/repository/CommitLog.vue";
|
||||
import FileDetail from "@/views/repository/FileDetail.vue";
|
||||
import IssueDetail from "@/views/repository/IssueDetail.vue";
|
||||
import IssueEdit from "@/views/repository/IssueEdit.vue";
|
||||
import IssueList from "@/views/repository/IssueList.vue";
|
||||
import MergeDetail from "@/views/repository/MergeDetail.vue";
|
||||
import MergeEdit from "@/views/repository/MergeEdit.vue";
|
||||
import MergeList from "@/views/repository/MergeList.vue";
|
||||
import ReleaseList from "@/views/repository/ReleaseList.vue";
|
||||
|
||||
export default {
|
||||
path: "/:repository",
|
||||
@ -17,7 +8,7 @@ export default {
|
||||
{
|
||||
path: ":branch",
|
||||
name: "FileDetail",
|
||||
component: FileDetail,
|
||||
component: () => import("@/views/repository/FileDetail.vue"),
|
||||
meta: {
|
||||
keepAlive: true
|
||||
}
|
||||
@ -25,47 +16,42 @@ export default {
|
||||
{
|
||||
path: "commits",
|
||||
name: "CommitLog",
|
||||
component: CommitLog
|
||||
component: () => import("@/views/repository/CommitLog.vue")
|
||||
},
|
||||
{
|
||||
path: "issues",
|
||||
name: "IssueList",
|
||||
component: IssueList
|
||||
},
|
||||
{
|
||||
path: "issues",
|
||||
name: "IssueList",
|
||||
component: IssueList
|
||||
component: () => import("@/views/repository/IssueList.vue")
|
||||
},
|
||||
{
|
||||
path: "issues/edit/:id?",
|
||||
name: "IssueEdit",
|
||||
component: IssueEdit
|
||||
component: () => import("@/views/repository/IssueEdit.vue")
|
||||
},
|
||||
{
|
||||
path: "issues/:id",
|
||||
name: "IssueDetail",
|
||||
component: IssueDetail
|
||||
component: () => import("@/views/repository/IssueDetail.vue")
|
||||
},
|
||||
{
|
||||
path: "merges",
|
||||
name: "MergeList",
|
||||
component: MergeList
|
||||
component: () => import("@/views/repository/MergeList.vue")
|
||||
},
|
||||
{
|
||||
path: "merges/edit/:id?",
|
||||
name: "MergeEdit",
|
||||
component: MergeEdit
|
||||
component: () => import("@/views/repository/MergeEdit.vue")
|
||||
},
|
||||
{
|
||||
path: "merges/:id",
|
||||
name: "MergeDetail",
|
||||
component: MergeDetail
|
||||
component: () => import("@/views/repository/MergeDetail.vue")
|
||||
},
|
||||
{
|
||||
path: "releases",
|
||||
name: "ReleaseList",
|
||||
component: ReleaseList
|
||||
component: () => import("@/views/repository/ReleaseList.vue")
|
||||
}
|
||||
]
|
||||
};
|
||||
33
src/views/index/About.vue
Normal file
33
src/views/index/About.vue
Normal file
@ -0,0 +1,33 @@
|
||||
<template>
|
||||
<article v-if="article" class="about">
|
||||
<markdown-view class="content" :content="article.data" />
|
||||
<comment
|
||||
v-if="SettingMapper.is(SettingKey.ENABLE_COMMENT) && article.showComment"
|
||||
:bizType="CommentBizType.ARTICLE"
|
||||
:bizId="article.id!"
|
||||
:titleStickyOffset="80"
|
||||
:canComment="article.canComment"
|
||||
/>
|
||||
</article>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ArticleAPI, ArticleView, CommentBizType, MarkdownView, SettingKey, SettingMapper } from "timi-web";
|
||||
import { Comment } from "timi-tdesign-pc";
|
||||
|
||||
const article = ref<ArticleView<any>>();
|
||||
|
||||
onMounted(async () => {
|
||||
article.value = await ArticleAPI.view(SettingMapper.getValue("GIT_ABOUT_ARTICLE") as unknown as number);
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.about {
|
||||
|
||||
.content {
|
||||
width: calc(100% - 4rem);
|
||||
padding: 1rem 2rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -3,7 +3,7 @@
|
||||
<push-log-timeline :items="list" />
|
||||
<div class="bottom">
|
||||
<loading :showOn="isLoading" />
|
||||
<empty-tips :showOn="isFinished && !isLoading" />
|
||||
<empty-tips v-if="isFinished && !isLoading" />
|
||||
<t-button v-show="!isFinished && !isLoading" @click="doFetchEvent">加载更多</t-button>
|
||||
</div>
|
||||
</div>
|
||||
@ -40,5 +40,10 @@ onMounted(doFetchEvent);
|
||||
.repository-log {
|
||||
width: calc(100% - 4rem);
|
||||
padding: 1rem 2rem;
|
||||
|
||||
.bottom {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user