<template>
	<div class="ui menu projects">
		<div class="item">
			<label>
				Modération
			</label>
			<DropdownMenuItem
				:options="moderationOptions"
				v-on="$listeners"
			/>
		</div>
		<div class="item">
			<label>
				Niveau d'autorisation requis
			</label>
			<DropdownMenuItem
				:options="accessLevelOptions"
				v-on="$listeners"
			/>
		</div>
		<div class="item">
			<label>
				Mon niveau d'autorisation
			</label>
			<DropdownMenuItem
				:options="userAccessLevelOptions"
				v-on="$listeners"
			/>
		</div>
		<div class="right item">
			<search-projects
				:search-function="SEARCH_PROJECTS"
			/>
		</div>
	</div>
</template>

<script>
import { mapActions } from 'vuex';

import DropdownMenuItem from '@/components/Projects/DropdownMenuItem.vue';
import SearchProjects from '@/components/Projects/SearchProjects.vue';

export default {
	name: 'ProjectsMenu',

	components: {
		DropdownMenuItem,
		SearchProjects,
	},

	data() {
		return {
			moderationOptions: [
				{
					label: 'Tous',
					filter: 'moderation',
					value: null
				},
				{
					label: 'Projet modéré',
					filter: 'moderation',
					value: 'true'
				},
				{
					label: 'Projet non modéré',
					filter: 'moderation',
					value: 'false'
				},
			],
			accessLevelOptions: [
				{
					label: 'Tous',
					filter: 'access_level',
					value: null
				},
				{
					label: 'Utilisateur connecté',
					filter: 'access_level',
					value: 'logged_user'
				},
				{
					label: 'Contributeur',
					filter: 'access_level',
					value: 'contributor'
				},
				{
					label: 'Modérateur',
					filter: 'access_level',
					value: 'moderator'
				},
				{
					label: 'Administrateur projet',
					filter: 'access_level',
					value: 'admin'
				},
			],
			userAccessLevelOptions: [
				{
					label: 'Tous',
					filter: 'user_access_level',
					value: null
				},
				{
					label: 'Utilisateur connecté',
					filter: 'user_access_level',
					value: '1'
				},
				{
					label: 'Contributeur',
					filter: 'user_access_level',
					value: '2'
				},
				{
					label: 'Modérateur',
					filter: 'user_access_level',
					value: '3'
				},
				{
					label: 'Administrateur projet',
					filter: 'user_access_level',
					value: '4'
				},
			]
		}
	},

	methods: {
		...mapActions('projects', [
			'SEARCH_PROJECTS'
		])
	}
}
</script>

<style lang="less" scoped>
.projects {
	.item {
		display: flex;
		flex-direction: column;
		align-items: flex-start !important;

		padding: 0.4em 0.6em;

		label {
			margin-bottom: 0.2em;
			font-size: 0.9em;
			font-weight: 600;
		}
	}
	.item {
		width: 25%;
	}
}
</style>