forked from AkkomaGang/admin-fe
Merge branch 'fix/disable-invites' into 'develop'
Hide Invites from menu when invites are disabled Closes #69, #54, and #96 See merge request pleroma/admin-fe!119
This commit is contained in:
commit
66c5a85821
13 changed files with 33 additions and 146 deletions
17
CHANGELOG.md
17
CHANGELOG.md
|
@ -8,15 +8,32 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||
|
||||
### Added
|
||||
|
||||
- Link settings that enable registrations and invites
|
||||
|
||||
### Fixed
|
||||
|
||||
- Disable Invites tab when invites are disabled on BE
|
||||
|
||||
## [2.0.2] - 2020-04-01
|
||||
|
||||
### Added
|
||||
|
||||
- Ability to see local statuses in Statuses by instance section
|
||||
- Ability to configure Oban.Cron settings and settings for notifications streamer
|
||||
- Settings search
|
||||
- Ability to set user's password and email on user's page
|
||||
- Display status count by scope on Statuses page
|
||||
|
||||
### Changed
|
||||
|
||||
- Link to Pleroma docs when a non-admin user tries to log in
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix parsing tuples in Pleroma.Upload.Filter.Mogrify and Pleroma.Emails.Mailer settings
|
||||
- Fix settings submit button position on wide screens when sidebar menu is open
|
||||
- Updates links for downloading remote emoji packs
|
||||
- Fix parsing emails that have symbols in it
|
||||
|
||||
## [2.0] - 2020-02-27
|
||||
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/views/layout/Layout'
|
||||
|
||||
const chartsRouter = {
|
||||
path: '/charts',
|
||||
component: Layout,
|
||||
redirect: 'noredirect',
|
||||
name: 'Charts',
|
||||
meta: {
|
||||
title: 'charts',
|
||||
icon: 'chart'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'keyboard',
|
||||
component: () => import('@/views/charts/keyboard'),
|
||||
name: 'KeyboardChart',
|
||||
meta: { title: 'keyboardChart', noCache: true }
|
||||
},
|
||||
{
|
||||
path: 'line',
|
||||
component: () => import('@/views/charts/line'),
|
||||
name: 'LineChart',
|
||||
meta: { title: 'lineChart', noCache: true }
|
||||
},
|
||||
{
|
||||
path: 'mixchart',
|
||||
component: () => import('@/views/charts/mixChart'),
|
||||
name: 'MixChart',
|
||||
meta: { title: 'mixChart', noCache: true }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export default chartsRouter
|
|
@ -1,66 +0,0 @@
|
|||
/** When your routing table is too long, you can split it into small modules**/
|
||||
|
||||
import Layout from '@/views/layout/Layout'
|
||||
|
||||
const nestedRouter = {
|
||||
path: '/nested',
|
||||
component: Layout,
|
||||
redirect: '/nested/menu1/menu1-1',
|
||||
name: 'Nested',
|
||||
meta: {
|
||||
title: 'nested',
|
||||
icon: 'nested'
|
||||
},
|
||||
children: [
|
||||
{
|
||||
path: 'menu1',
|
||||
component: () => import('@/views/nested/menu1/index'), // Parent router-view
|
||||
name: 'Menu1',
|
||||
meta: { title: 'menu1' },
|
||||
redirect: '/nested/menu1/menu1-1',
|
||||
children: [
|
||||
{
|
||||
path: 'menu1-1',
|
||||
component: () => import('@/views/nested/menu1/menu1-1'),
|
||||
name: 'Menu1-1',
|
||||
meta: { title: 'menu1-1' }
|
||||
},
|
||||
{
|
||||
path: 'menu1-2',
|
||||
component: () => import('@/views/nested/menu1/menu1-2'),
|
||||
name: 'Menu1-2',
|
||||
redirect: '/nested/menu1/menu1-2/menu1-2-1',
|
||||
meta: { title: 'menu1-2' },
|
||||
children: [
|
||||
{
|
||||
path: 'menu1-2-1',
|
||||
component: () => import('@/views/nested/menu1/menu1-2/menu1-2-1'),
|
||||
name: 'Menu1-2-1',
|
||||
meta: { title: 'menu1-2-1' }
|
||||
},
|
||||
{
|
||||
path: 'menu1-2-2',
|
||||
component: () => import('@/views/nested/menu1/menu1-2/menu1-2-2'),
|
||||
name: 'Menu1-2-2',
|
||||
meta: { title: 'menu1-2-2' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'menu1-3',
|
||||
component: () => import('@/views/nested/menu1/menu1-3'),
|
||||
name: 'Menu1-3',
|
||||
meta: { title: 'menu1-3' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: 'menu2',
|
||||
name: 'Menu2',
|
||||
component: () => import('@/views/nested/menu2/index'),
|
||||
meta: { title: 'menu2' }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
export default nestedRouter
|
|
@ -8,7 +8,8 @@ const app = {
|
|||
},
|
||||
device: 'desktop',
|
||||
language: Cookies.get('language') || 'en',
|
||||
size: Cookies.get('size') || 'medium'
|
||||
size: Cookies.get('size') || 'medium',
|
||||
invitesEnabled: false
|
||||
},
|
||||
mutations: {
|
||||
TOGGLE_SIDEBAR: state => {
|
||||
|
@ -28,6 +29,9 @@ const app = {
|
|||
TOGGLE_DEVICE: (state, device) => {
|
||||
state.device = device
|
||||
},
|
||||
SET_INVITES_ENABLED: (state, invitesEnabled) => {
|
||||
state.invitesEnabled = invitesEnabled
|
||||
},
|
||||
SET_LANGUAGE: (state, language) => {
|
||||
state.language = language
|
||||
Cookies.set('language', language)
|
||||
|
@ -47,6 +51,9 @@ const app = {
|
|||
toggleDevice({ commit }, device) {
|
||||
commit('TOGGLE_DEVICE', device)
|
||||
},
|
||||
SetInvitesEnabled({ commit }, invitesEnabled) {
|
||||
commit('SET_INVITES_ENABLED', invitesEnabled)
|
||||
},
|
||||
setLanguage({ commit }, language) {
|
||||
commit('SET_LANGUAGE', language)
|
||||
},
|
||||
|
|
|
@ -72,10 +72,11 @@ const user = {
|
|||
})
|
||||
})
|
||||
},
|
||||
async GetNodeInfo({ commit, state }) {
|
||||
async GetNodeInfo({ commit, dispatch, state }) {
|
||||
const nodeInfo = await getNodeInfo(state.authHost)
|
||||
|
||||
commit('SET_NODE_INFO', nodeInfo.data)
|
||||
dispatch('SetInvitesEnabled', nodeInfo.data.metadata.invitesEnabled)
|
||||
},
|
||||
GetUserInfo({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div v-if="!item.hidden&&item.children" class="menu-wrapper">
|
||||
<div v-if="!item.hidden && item.children && invitesEnabled" class="menu-wrapper">
|
||||
|
||||
<template v-if="hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
|
||||
<app-link :to="resolvePath(onlyOneChild.path)">
|
||||
|
@ -68,6 +68,11 @@ export default {
|
|||
onlyOneChild: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
invitesEnabled() {
|
||||
return this.basePath === '/invites' ? this.$store.state.app.invitesEnabled : true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
hasOneShowingChild(children, parent) {
|
||||
const showingChildren = children.filter(item => {
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
<template >
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 1">
|
||||
<router-view />
|
||||
</el-alert>
|
||||
</div>
|
||||
</template>
|
|
@ -1,7 +0,0 @@
|
|||
<template >
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 1-1" type="success">
|
||||
<router-view />
|
||||
</el-alert>
|
||||
</div>
|
||||
</template>
|
|
@ -1,7 +0,0 @@
|
|||
<template>
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 1-2" type="success">
|
||||
<router-view />
|
||||
</el-alert>
|
||||
</div>
|
||||
</template>
|
|
@ -1,5 +0,0 @@
|
|||
<template functional>
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 1-2-1" type="warning" />
|
||||
</div>
|
||||
</template>
|
|
@ -1,5 +0,0 @@
|
|||
<template functional>
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 1-2-2" type="warning" />
|
||||
</div>
|
||||
</template>
|
|
@ -1,5 +0,0 @@
|
|||
<template functional>
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 1-3" type="success" />
|
||||
</div>
|
||||
</template>
|
|
@ -1,5 +0,0 @@
|
|||
<template>
|
||||
<div style="padding:30px;">
|
||||
<el-alert :closable="false" title="menu 2" />
|
||||
</div>
|
||||
</template>
|
Loading…
Reference in a new issue