Add input for evicting and banning urls
This commit is contained in:
parent
0aff86e638
commit
9d2a86556c
2 changed files with 79 additions and 0 deletions
|
@ -92,6 +92,13 @@ export default {
|
||||||
pleromaFELoginFailed: 'Failed to login via PleromaFE, please login with username/password',
|
pleromaFELoginFailed: 'Failed to login via PleromaFE, please login with username/password',
|
||||||
pleromaFELoginSucceed: 'Logged in via PleromaFE'
|
pleromaFELoginSucceed: 'Logged in via PleromaFE'
|
||||||
},
|
},
|
||||||
|
mediaProxyCache: {
|
||||||
|
mediaProxyCache: 'MediaProxy Cache',
|
||||||
|
ban: 'Ban',
|
||||||
|
url: 'URL',
|
||||||
|
evict: 'Evict',
|
||||||
|
evictedMessage: 'This URL was evicted'
|
||||||
|
},
|
||||||
documentation: {
|
documentation: {
|
||||||
documentation: 'Documentation',
|
documentation: 'Documentation',
|
||||||
github: 'Github Repository'
|
github: 'Github Repository'
|
||||||
|
|
72
src/views/mediaProxyCache/index.vue
Normal file
72
src/views/mediaProxyCache/index.vue
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
<template>
|
||||||
|
<div class="media-proxy-cache-container">
|
||||||
|
<div class="media-proxy-cache-header-container">
|
||||||
|
<h1>{{ $t('mediaProxyCache.mediaProxyCache') }}</h1>
|
||||||
|
<reboot-button/>
|
||||||
|
</div>
|
||||||
|
<div class="url-input-container">
|
||||||
|
<el-input
|
||||||
|
:placeholder="$t('mediaProxyCache.url')"
|
||||||
|
v-model="url"
|
||||||
|
clearable
|
||||||
|
class="url-input"/>
|
||||||
|
<el-checkbox v-model="ban">{{ $t('mediaProxyCache.ban') }}</el-checkbox>
|
||||||
|
<el-button class="evict-button" @click="evictURL">{{ $t('mediaProxyCache.evict') }}</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import RebootButton from '@/components/RebootButton'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'MediaProxyCache',
|
||||||
|
components: { RebootButton },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
url: '',
|
||||||
|
ban: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$store.dispatch('GetNodeInfo')
|
||||||
|
this.$store.dispatch('NeedReboot')
|
||||||
|
this.$store.dispatch('ListBannedUrls', 1)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
evictURL() {
|
||||||
|
const urls = typeof this.url === 'string' ? [this.url] : this.url
|
||||||
|
this.$store.dispatch('PurgeUrls', { urls, ban: this.ban })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style rel='stylesheet/scss' lang='scss' scoped>
|
||||||
|
h1 {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.evict-button {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
.media-proxy-cache-header-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 10px 15px;
|
||||||
|
}
|
||||||
|
.url-input {
|
||||||
|
width: 350px;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
.url-input-container {
|
||||||
|
margin: 15px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width:480px) {
|
||||||
|
.url-input {
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in a new issue