mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 07:07:35 +01:00
* Read IP blocks from database * begin building general blocking solution * add new frontend files * Add UI for managing blockers * correctly reset local data after creating blocker * Tweak wording * Add UI for managing blockers * restructure admin pages * improve test coverage * Improve blocker UI * add blocker to block emails from registration * lint fix * fix * lint fixes * fix import * add new permission for managing blockers * improve permission check * fix managing permissions from admin * improve navbar display for non fullAccess admin * update block error strings * lint fix * add option to errorHandler to skip logging * validate blocker value during input * improve blocker form display * chore(subproj): reconcile habitica-images * fix(scripts): use same Mongo version for dev/test * fix(whitespace): eof * documentation improvements * remove nconf import * remove old test --------- Co-authored-by: Kalista Payne <kalista@habitica.com> Co-authored-by: Kalista Payne <sabrecat@gmail.com>
41 lines
874 B
Vue
41 lines
874 B
Vue
<template>
|
|
<div class="row">
|
|
<secondary-menu class="col-12">
|
|
<router-link
|
|
v-if="hasPermission(user, 'userSupport')"
|
|
class="nav-link"
|
|
:to="{name: 'adminPanel'}"
|
|
>
|
|
{{ $t('adminPanel') }}
|
|
</router-link>
|
|
<router-link
|
|
v-if="hasPermission(user, 'accessControl')"
|
|
class="nav-link"
|
|
:to="{name: 'blockers'}"
|
|
>
|
|
{{ $t('siteBlockers') }}
|
|
</router-link>
|
|
</secondary-menu><div class="col-12">
|
|
<router-view />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { mapState } from '@/libs/store';
|
|
import SecondaryMenu from '@/components/secondaryMenu';
|
|
import { userStateMixin } from '../../mixins/userState';
|
|
|
|
export default {
|
|
components: {
|
|
SecondaryMenu,
|
|
},
|
|
mixins: [
|
|
userStateMixin,
|
|
],
|
|
computed: {
|
|
...mapState({ user: 'user.data' }),
|
|
},
|
|
};
|
|
</script>
|