add actionbar

This commit is contained in:
jo.kuehner
2023-11-07 16:33:42 +01:00
parent 5fc8ea5b0a
commit 0a8af2f5a8
11 changed files with 223 additions and 72 deletions

View File

@ -1,16 +1,13 @@
<!--<template>
<div>
<NuxtWelcome />
</div>
</template>-->
<template> <template>
<NuxtLayout> <NuxtLayout>
<NuxtPage /> <NuxtPage />
</NuxtLayout> </NuxtLayout>
</template> </template>
<script> <script>
//import Page from "./layouts/Page" //import Page from "./layouts/Page"
/*definePageMeta({ /*definePageMeta({

View File

@ -1,5 +1,166 @@
<template> <template>
<NuxtLayout> <aside class="actionbar">
<NuxtPage /> <div class="icon" id="indicator-icon">
</NuxtLayout> <img loading="lazy" src="../icons/actionbar-icons/Indicator-Icon-Opened.svg"/>
</template> </div>
<nav class="actions">
<button id="search">
<div class="icon" id="search-icon">
<img loading="lazy" src="../icons/actionbar-icons/Search-Icon.svg"/>
</div>
<pre class="label">Search</pre>
</button>
<button id="filter">
<div class="icon" id="filter-icon">
<img loading="lazy" src="../icons/actionbar-icons/Filter-Icon.svg"/>
</div>
<pre class="label">Filter</pre>
</button>
<button id="instances">
<div class="icon" id="instances-icon">
<img loading="lazy" src="../icons/actionbar-icons/Instances-Icon.svg"/>
</div>
<pre class="label">Instances</pre>
</button>
<button id="attachments">
<div class="icon" id="attachments-icon">
<img loading="lazy" src="../icons/actionbar-icons/Attachments-Icon.svg"/>
</div>
<pre class="label">Attachments</pre>
</button>
<button id="sell">
<div class="icon" id="sell-icon">
<img loading="lazy" src="../icons/actionbar-icons/Sell-Icon.svg"/>
</div>
<pre class="label">Sell</pre>
</button>
<button id="archive">
<div class="icon" id="archive-icon">
<img loading="lazy" src="../icons/actionbar-icons/Archive-Icon.svg"/>
</div>
<pre class="label">Archive</pre>
</button>
<button id="new">
<div class="icon" id="new-icon">
<img loading="lazy" src="../icons/actionbar-icons/Add-New-Icon.svg"/>
</div>
<pre class="label">New</pre>
</button>
<button id="edit">
<div class="icon" id="edit-icon">
<img loading="lazy" src="../icons/actionbar-icons/Edit-Icon.svg"/>
</div>
<pre class="label">Edit</pre>
</button>
<button id="delete">
<div class="icon" id="delete-icon">
<img loading="lazy" src="../icons/actionbar-icons/Delete-Icon.svg"/>
</div>
<pre class="label">Delete</pre>
</button>
</nav>
</aside>
</template>
<script>
export default {
name: "Actionbar",
}
</script>
<style scoped>
* {
box-sizing: border-box;
}
.actionbar {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
width: fit-content;
height: fit-content;
border-radius: 10px;
padding: 30px 10px;
gap: 20px;
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
background-color: #2c2c2c;
}
.actions {
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: center;
align-self: stretch;
padding: 20px 0;
gap: 20px;
}
button {
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
height: 30px;
border-radius: 10px;
border: none;
background-color: #2c2c2c;
transition-duration: 0.5s;
}
button:hover {
background-color: #444444;
}
.icon {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
}
#indicator-icon {
width: 30px;
height: 30px;
border-radius: 5px;
background-color: #2c2c2c;
transition-duration: 0.5s;
}
#indicator-icon:hover {
background-color: #444444;
}
.icon > img {
width: 14px;
height: 14px;
filter: invert(100%);
object-fit: contain;
object-position: center;
overflow: hidden;
}
#indicator-icon > img {
height: 20px;
}
.label {
color: #fff;
letter-spacing: 0.7px;
align-self: center;
white-space: nowrap;
font: 400 14px/20px Overpass, sans-serif;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<section class="sidebar"> <aside class="navbar">
<div class="toggle"> <div class="toggle">
<div class="icon" id="back-icon"> <div class="icon" id="back-icon">
<img loading="lazy" src="../icons/Back-Icon.svg"/> <img loading="lazy" src="../icons/Back-Icon.svg"/>
@ -50,7 +50,7 @@
</button> </button>
</nav> </nav>
</div> </div>
</section> </aside>
</template> </template>
@ -65,51 +65,53 @@ export default {
<style> <style scoped>
* { * {
box-sizing: border-box; box-sizing: border-box;
} }
.sidebar { .navbar {
align-items: flex-start;
box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
background-color: #2c2c2c;
width: 200px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: stretch;
justify-content: center;
width: 200px;
height: fit-content;
min-width: 200px;
border-radius: 10px; border-radius: 10px;
gap: 10px; gap: 10px;
padding: 10px; padding: 15px;
margin: 0;
box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
background-color: #2c2c2c;
} }
.toggle { .toggle {
justify-content: space-between;
align-items: center;
align-self: stretch;
display: flex; display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
height: 40px; height: 40px;
padding: 10px;
} }
.menus { .menus {
align-items: flex-start;
align-self: stretch;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding: 40px 0; align-items: stretch;
justify-content: center;
padding: 20px 0;
gap: 30px; gap: 30px;
} }
nav { nav {
justify-content: center;
align-items: center;
align-self: stretch;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: stretch;
justify-content: center;
padding: 10px; padding: 10px;
gap: 30px; gap: 30px;
} }
@ -120,14 +122,14 @@ export default {
button { button {
display: flex; display: flex;
flex-direction: row;
align-items: center; align-items: center;
align-self: stretch;
justify-content: flex-start; justify-content: flex-start;
align-self: stretch;
height: 35px; height: 35px;
border: none;
border-radius: 5px; border-radius: 5px;
padding: 5px; gap: 5px;
gap: 10px; border: none;
background-color: #2c2c2c; background-color: #2c2c2c;
transition-duration: 0.5s; transition-duration: 0.5s;
} }
@ -138,21 +140,20 @@ export default {
.icon { .icon {
display: flex; display: flex;
flex-direction: row;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 25px; width: 35px;
height: 25px; height: 35px;
} }
#indicator-icon, #back-icon { #indicator-icon, #back-icon {
width: 30px; width: 40px;
height: 30px; height: 40px;
border-radius: 5px; border-radius: 5px;
background-color: #2c2c2c; background-color: #2c2c2c;
transition-duration: 0.5s; transition-duration: 0.5s;
} }
#indicator-icon:hover, #back-icon:hover { #indicator-icon:hover, #back-icon:hover {
width: 30px;
height: 30px;
background-color: #444444; background-color: #444444;
} }
@ -168,13 +169,11 @@ export default {
.label { .label {
color: #fff; color: #fff;
/*leading-trim: both;
text-edge: cap;*/
letter-spacing: 0.7px; letter-spacing: 0.7px;
align-self: center; align-self: center;
white-space: nowrap; white-space: nowrap;
margin: auto 0; margin: auto 0;
font: 700 14px/20px Overpass, sans-serif; font: 600 14px/20px Overpass, sans-serif;
} }
</style> </style>

View File

@ -22,7 +22,7 @@ export default {
</script> </script>
<style> <style scoped>
* { * {
box-sizing: border-box; box-sizing: border-box;
@ -33,7 +33,6 @@ export default {
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
align-self: stretch; align-self: stretch;
border-bottom: 1px solid #000;
background-color: #2c2c2c; background-color: #2c2c2c;
height: 60px; height: 60px;
padding: 10px 20px; padding: 10px 20px;

View File

@ -1,5 +1,4 @@
<template> <template>
<body>
<PageHeader /> <PageHeader />
<main> <main>
<Navigationbar /> <Navigationbar />
@ -11,20 +10,22 @@
<!--<slot />--> <!--<slot />-->
</section> </section>
</section> </section>
<Actionbar />
</main> </main>
</body>
</template> </template>
<script> <script>
import PageHeader from "./PageHeader.vue"; import PageHeader from "./PageHeader.vue";
import Navigationbar from "./Navigationbar.vue"; import Navigationbar from "./Navigationbar.vue";
import Actionbar from "./Actionbar.vue";
export default { export default {
name: "Page", name: "Page",
components: { components: {
PageHeader, PageHeader,
Navigationbar, Navigationbar,
Actionbar,
} }
} }
@ -41,8 +42,8 @@ export default {
body { body {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: stretch; align-items: stretch;
align-content: stretch; justify-content: flex-start;
background-color: #212121; background-color: #212121;
} }
@ -51,7 +52,7 @@ export default {
flex-direction: row; flex-direction: row;
width: 100%; width: 100%;
gap: 10px; gap: 10px;
padding: 10px; padding: 10px 25px 10px 10px;
} }
#content { #content {

View File

@ -1,13 +1,7 @@
<template> <template>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<NuxtLayout> <NuxtLayout>
<NuxtPage /> <NuxtPage />
</NuxtLayout> </NuxtLayout>
</body>
</template> </template>
<script lang="ts"> <script lang="ts">

View File

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 362 B

View File

Before

Width:  |  Height:  |  Size: 395 B

After

Width:  |  Height:  |  Size: 395 B

View File

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 471 B

View File

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 305 B

View File

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 403 B