<template>
	<div class="nav" v-if="useHeader" v-bind="$attrs">
		<img v-if="banner" :src="banner" height="100%" :alt="title" />
		<div v-else class="title">{{ title }}</div>
		<div @click="openDialog('Changelog')" class="version-container">
			<tooltip display="Changelog" bottom class="version"><span>v{{ version }}</span></tooltip>
		</div>
		<div style="flex-grow: 1; cursor: unset;"></div>
		<div class="discord">
			<img src="images/discord.png" @click="window.open(discordLink, 'mywindow')" />
			<ul class="discord-links">
				<li v-if="discordLink !== 'https://discord.gg/WzejVAx'">
					<a :href="discordLink" target="_blank">{{ discordName }}</a>
				</li>
				<li><a href="https://discord.gg/WzejVAx" target="_blank">The Paper Pilot Community</a></li>
				<li><a href="https://discord.gg/F3xveHV" target="_blank">The Modding Tree</a></li>
				<li><a href="http://discord.gg/wwQfgPa" target="_blank">Jacorb's Games</a></li>
			</ul>
		</div>
		<div @click="openDialog('Info')">
			<tooltip display="<span>Info</span>" bottom class="info"><span>i</span></tooltip>
		</div>
		<div @click="openDialog('Saves')">
			<tooltip display="Saves" bottom class="saves" xoffset="-20px">
				<span class="material-icons">library_books</span>
			</tooltip>
		</div>
		<div @click="openDialog('Options')">
			<tooltip display="<span>Options</span>" bottom class="options" xoffset="-70px">
				<img src="images/options_wheel.png" />
			</tooltip>
		</div>
	</div>
	<div v-else class="overlay-nav" v-bind="$attrs">
		<div @click="openDialog('Changelog')" class="version-container">
			<tooltip display="Changelog" right xoffset="25%" class="version"><span>v{{ version }}</span></tooltip>
		</div>
		<div @click="openDialog('Saves')">
			<tooltip display="Saves" right class="saves"><span class="material-icons">library_books</span></tooltip>
		</div>
		<div @click="openDialog('Options')">
			<tooltip display="<span>Options</span>" right class="options"><img src="images/options_wheel.png" /></tooltip>
		</div>
		<div @click="openDialog('Info')">
			<tooltip display="<span>Info</span>" right class="info"><span>i</span></tooltip>
		</div>
		<div class="discord">
			<img src="images/discord.png" @click="openDiscord" />
			<ul class="discord-links">
				<li v-if="discordLink !== 'https://discord.gg/WzejVAx'">
					<a :href="discordLink" target="_blank">{{ discordName }}</a>
				</li>
				<li><a href="https://discord.gg/WzejVAx" target="_blank">The Paper Pilot Community</a></li>
				<li><a href="https://discord.gg/F3xveHV" target="_blank">The Modding Tree</a></li>
				<li><a href="http://discord.gg/wwQfgPa" target="_blank">Jacorb's Games</a></li>
			</ul>
		</div>
	</div>
	<Info :show="showInfo" @openDialog="openDialog" @closeDialog="closeDialog" />
	<SavesManager :show="showSaves" @closeDialog="closeDialog" />
	<Options :show="showOptions" @closeDialog="closeDialog" />
</template>

<script>
import modInfo from '../../data/modInfo';

export default {
	name: 'Nav',
	data() {
		return {
			useHeader: modInfo.useHeader,
			banner: modInfo.banner,
			title: modInfo.title,
			discordName: modInfo.discordName,
			discordLink: modInfo.discordLink,
			version: modInfo.versionNumber,
			showInfo: false,
			showSaves: false,
			showOptions: false,
			showChangelog: false
		}
	},
	methods: {
		openDiscord() {
			window.open(this.discordLink, 'mywindow');
		},
		openDialog(dialog) {
			this[`show${dialog}`] = true;
		},
		closeDialog(dialog) {
			this[`show${dialog}`] = false;
		}
	}
};
</script>

<style scoped>
.nav {
	background-color: var(--secondary-background);
	display: flex;
	left: 0;
	right: 0;
	top: 0;
	height: 46px;
	width: 100%;
	border-bottom: 4px solid var(--separator);
}

.nav > * {
    height: 46px;
    width: 46px;
    display: flex;
	cursor: pointer;
}

.overlay-nav {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	z-index: 1;
}

.overlay-nav > * {
    height: 50px;
    width: 50px;
    display: flex;
	cursor: pointer;
	margin: 0;
    align-items: center;
    justify-content: center;
}

.title {
	font-size: 36px;
	text-align: left;
	margin-left: 12px;
	cursor: unset;
}

.nav > .title {
	width: unset;
}

.nav .saves,
.nav .info {
    display: flex;
}

.tooltip-container {
	width: 100%;
	height: 100%;
    display: flex;
}

.overlay-nav .discord {
	position: relative;
}

.discord img {
	width: 100%;
	height: 100%;
}

.discord-links {
	position: fixed;
	top: 45px;
	padding: 20px;
	right: -280px;
	width: 200px;
	transition: right .25s ease;
	background: var(--secondary-background);
	z-index: 10;
}

.overlay-nav .discord-links {
	position: absolute;
    left: -280px;
    right: unset;
    transition: left .25s ease;
}

.overlay-nav .discord:hover .discord-links {
    left: -10px;
}

.discord-links li {
	margin-bottom: 4px;
}

.discord-links li:first-child {
    font-size: 1.2em;
}

*:not(.overlay-nav) .discord:hover .discord-links {
	right: 0;
}

.info {
	font-size: 30px;
	color: var(--link);
	line-height: 14px;
}

.info:hover span {
	transform: scale(1.2, 1.2);
	text-shadow: 5px 0 10px var(--link),
		-3px 0 12px var(--link);
}

.saves span {
	font-size: 36px;
}

.saves:hover span {
	transform: scale(1.2, 1.2);
	text-shadow: 5px 0 10px var(--color),
		-3px 0 12px var(--color);
}

.options img {
	width: 100%;
	height: 100%;
}

.options:hover img {
	transform: rotate(360deg);
}

.nav .version-container {
    display: flex;
    height: 25px;
    margin-bottom: 0;
    margin-left: 10px;
}

.overlay-nav .version-container {
	width: unset;
	height: 25px;
}

.version {
	color: var(--points);
}

.version:hover span {
	transform-origin: 0% 50%;
	transform: scale(1.2, 1.2);
	text-shadow: 5px 0 10px var(--points), -3px 0 12px var(--points);
}
</style>