frp/web/frps/src/App.vue

88 lines
1.9 KiB
Vue
Raw Normal View History

2017-03-27 02:15:31 +08:00
<template>
2020-12-03 20:20:48 +08:00
<div id="app">
<header class="grid-content header-color">
<el-row>
<a class="brand" href="#">frp</a>
</el-row>
</header>
<section>
<el-row>
<el-col id="side-nav" :xs="24" :md="4">
<el-menu default-active="1" mode="vertical" theme="light" router @select="handleSelect">
<el-menu-item index="/">Overview</el-menu-item>
<el-submenu index="/proxies">
<template slot="title">Proxies</template>
<el-menu-item index="/proxies/tcp">TCP</el-menu-item>
<el-menu-item index="/proxies/udp">UDP</el-menu-item>
<el-menu-item index="/proxies/http">HTTP</el-menu-item>
<el-menu-item index="/proxies/https">HTTPS</el-menu-item>
<el-menu-item index="/proxies/stcp">STCP</el-menu-item>
</el-submenu>
<el-menu-item index="">Help</el-menu-item>
</el-menu>
</el-col>
2017-03-27 02:15:31 +08:00
2020-12-03 20:20:48 +08:00
<el-col :xs="24" :md="20">
<div id="content">
<router-view v-if="serverInfo" />
</div>
</el-col>
</el-row>
</section>
</div>
2017-03-27 02:15:31 +08:00
</template>
<script>
2020-12-03 20:20:48 +08:00
export default {
computed: {
serverInfo() {
return this.$store.state.serverInfo
2017-03-27 02:15:31 +08:00
}
2020-12-03 20:20:48 +08:00
},
async created() {
this.$store.dispatch('fetchServerInfo')
},
methods: {
handleSelect(key, path) {
if (key === '') {
window.open('https://github.com/fatedier/frp')
}
}
}
}
2017-03-27 02:15:31 +08:00
</script>
<style>
2020-12-03 20:20:48 +08:00
body {
background-color: #fafafa;
margin: 0px;
font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, sans-serif;
}
header {
width: 100%;
height: 60px;
}
.header-color {
background: #58b7ff;
}
#content {
margin-top: 20px;
padding-right: 40px;
}
.brand {
color: #fff;
background-color: transparent;
margin-left: 20px;
float: left;
line-height: 25px;
font-size: 25px;
padding: 15px 15px;
height: 30px;
text-decoration: none;
}
2017-03-27 02:15:31 +08:00
</style>