77 lines
1.4 KiB
Vue
77 lines
1.4 KiB
Vue
<template>
|
|
<div class="default-layout">
|
|
<header class="app-header">
|
|
<div class="stats">
|
|
<span>SmurfCoins: 120</span>
|
|
<span>EXP: 850</span>
|
|
</div>
|
|
<div class="user-info">
|
|
<span>Lvl 5</span>
|
|
<span>Smurfette</span>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="app-content">
|
|
<slot />
|
|
</main>
|
|
|
|
<nav class="bottom-nav">
|
|
<NuxtLink to="/village" class="nav-item">Village</NuxtLink>
|
|
<NuxtLink to="/habits" class="nav-item">Habits</NuxtLink>
|
|
<NuxtLink to="/leaderboard" class="nav-item">Leaderboard</NuxtLink>
|
|
</nav>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.default-layout {
|
|
display: flex;
|
|
flex-direction: column;
|
|
height: 100vh;
|
|
background-color: #eef5ff;
|
|
color: #333;
|
|
}
|
|
|
|
.app-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 10px 15px;
|
|
background-color: #4a90e2;
|
|
color: white;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.stats, .user-info {
|
|
display: flex;
|
|
gap: 15px;
|
|
}
|
|
|
|
.app-content {
|
|
flex-grow: 1;
|
|
overflow-y: auto;
|
|
padding: 15px;
|
|
}
|
|
|
|
.bottom-nav {
|
|
display: flex;
|
|
justify-content: space-around;
|
|
padding: 10px 0;
|
|
background-color: #ffffff;
|
|
border-top: 1px solid #dcdcdc;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.nav-item {
|
|
text-decoration: none;
|
|
color: #4a90e2;
|
|
padding: 5px 10px;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.nav-item.router-link-exact-active {
|
|
background-color: #eef5ff;
|
|
font-weight: bold;
|
|
}
|
|
</style>
|