<template>
	<li :aria-label="name" role="tab" :aria-selected="route.name === name" aria-controls="settings">
		<router-link v-slot:default="{navigate, isExactActive}" :to="'/settings/' + to" custom>
			<button
				:class="['icon', className, {active: isExactActive}]"
				@click="navigate"
				@keypress.enter="navigate"
			>
				{{ name }}
			</button>
		</router-link>
	</li>
</template>

<script lang="ts">
import {defineComponent} from "vue";
import {useRoute} from "vue-router";

export default defineComponent({
	name: "SettingTabListItem",
	props: {
		name: {
			type: String,
			required: true,
		},
		className: {
			type: String,
			required: true,
		},
		to: {
			type: String,
			required: true,
		},
	},
	setup() {
		const route = useRoute();

		return {
			route,
		};
	},
});
</script>