📝 update plugin store page

This commit is contained in:
yanyongyu 2020-11-01 18:21:31 +08:00
parent 15e59a1778
commit af7f42ac60
4 changed files with 95 additions and 43 deletions

View File

@ -1,33 +1,77 @@
<template>
<div class="plugins">
<!-- TODO: Search and New -->
<hr />
<v-app>
<v-main>
<v-row>
<v-col
cols="12"
sm="6"
md="4"
v-for="(plugin, index) in plugins"
:key="index"
>
<v-card>
<v-card-title>{{ plugin.name }}</v-card-title>
<v-card-title>
{{ plugin.name }}
<v-spacer></v-spacer>
<a
class="repo-link"
v-if="repoLink(plugin.repo)"
rel="noopener noreferrer"
target="_blank"
:title="plugin.repo"
:href="repoLink(plugin.repo)"
>
<v-icon>fab fa-github</v-icon>
</a>
</v-card-title>
<v-card-text>{{ plugin.desc }}</v-card-text>
<v-card-actions>
<v-btn
block
depressed
class="btn-copy"
@click="copyCommand(plugin)"
>
copy nb-cli command
<v-icon right small>fa-copy</v-icon>
</v-btn>
<v-snackbar v-model="snackbar">Copied!</v-snackbar>
</v-card-actions>
</v-card>
</v-col>
</v-row>
</v-main>
</v-app>
</div>
</template>
<script>
import copy from "copy-to-clipboard";
import plugins from "../public/plugins.json";
export default {
name: "Plugins",
data() {
return {
plugins: plugins
plugins: plugins,
snackbar: false
};
},
methods: {
repoLink(repo) {
if (repo) {
return /^https?:/.test(repo) ? repo : `https://github.com/${repo}`;
}
return null;
},
copyCommand(plugin) {
copy(`nb plugin install ${plugin.id}`, {
format: "text/plain"
});
this.snackbar = true;
}
}
};
</script>
@ -37,3 +81,13 @@ export default {
min-height: 0 !important;
}
</style>
<style scoped>
.repo-link {
text-decoration: none !important;
display: inline-block;
}
.repo-link:hover i {
color: #ea5252;
}
</style>

View File

@ -1,24 +1,8 @@
[
{
"name": "nonebot-plugin-status",
"desc": "通过戳一戳获取服务器状态",
"author": "nonebot",
"repo": "nonebot/nonebot2"
},
{
"name": "nonebot-plugin-status",
"desc": "通过戳一戳获取服务器状态",
"author": "nonebot",
"repo": "nonebot/nonebot2"
},
{
"name": "nonebot-plugin-status",
"desc": "通过戳一戳获取服务器状态",
"author": "nonebot",
"repo": "nonebot/nonebot2"
},
{
"name": "nonebot-plugin-status",
"id": "nonebot-plugin-status",
"link": "nonebot-plugin-status",
"name": "状态监控",
"desc": "通过戳一戳获取服务器状态",
"author": "nonebot",
"repo": "nonebot/nonebot2"

21
package-lock.json generated
View File

@ -3313,6 +3313,14 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"copy-to-clipboard": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
"integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
"requires": {
"toggle-selection": "^1.0.6"
}
},
"copy-webpack-plugin": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz",
@ -9711,6 +9719,11 @@
"repeat-string": "^1.6.1"
}
},
"toggle-selection": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
"integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
},
"toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
@ -10461,7 +10474,7 @@
}
},
"vuepress-theme-nonebot": {
"version": "git+https://github.com/nonebot/vuepress-theme-nonebot.git#16c96d1cd12cbb72d0233875b0a671cada93ca2a",
"version": "git+https://github.com/nonebot/vuepress-theme-nonebot.git#29b6c7a7b0f69eee8fa98b78094057de20c4233c",
"from": "git+https://github.com/nonebot/vuepress-theme-nonebot.git",
"dev": true,
"requires": {
@ -10487,9 +10500,9 @@
}
},
"vuetify": {
"version": "2.3.14",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.14.tgz",
"integrity": "sha512-1Ys1MreJQOL/Ddp3YotBi1SlC2+1A0/RVkDXX3Azspt8incPdAnNB0JyChHiJ/TM+L+KSA7T4EXF9YDrCWENmg=="
"version": "2.3.16",
"resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.3.16.tgz",
"integrity": "sha512-LHPqY+Gmyb/75xJscO0a3CuB4ZdpqHLNaGMAbmfTyapI8Q02+hjABEZzitFU/XObD2KhrNWPJzmGZPhbshGUzg=="
},
"watchpack": {
"version": "1.7.4",

View File

@ -28,7 +28,8 @@
"vuepress-theme-nonebot": "git+https://github.com/nonebot/vuepress-theme-nonebot.git"
},
"dependencies": {
"vuetify": "^2.3.14",
"copy-to-clipboard": "^3.3.1",
"vuetify": "^2.3.16",
"wowjs": "^1.1.3"
}
}