add solution page

This commit is contained in:
2023-11-15 09:56:14 +01:00
parent ea68f44194
commit 529292cea1
6 changed files with 211 additions and 4 deletions

View File

@ -1,7 +1,7 @@
<template>
<div class="data">
<div class="label">Last viewed:</div>
<table class="data-table" id="client-table">
<table class="data-table" id="asset-table">
<tr class="table-row" id="table-head">
<th class="Client">Client</th>
<th class="Name">Name</th>

View File

@ -0,0 +1,123 @@
<template>
<div class="data">
<div class="label">Last viewed:</div>
<table class="data-table" id="solution-table">
<tr class="table-row" id="table-head">
<th class="Client">Client</th>
<th class="Name">Name</th>
<th class="Asset">Asset</th>
<th class="Type">Type</th>
<th class="User">User</th>
</tr>
<tr class="table-row" id="row-1">
<td class="Client">...</td>
<td class="Name">...</td>
<td class="Asset">...</td>
<td class="Type">...</td>
<td class="User">...</td>
</tr>
</table>
</div>
</template>
<script>
export default {
name: "SolutionTable",
}
</script>
<style scoped>
.data {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
align-self: stretch;
width: 100%;
padding: 1.25rem 1.875rem;
gap: 1.25rem;
border-radius: 0.625rem;
box-shadow: 0.25rem 0.25rem 0.25rem 0rem rgba(0, 0, 0, 0.25);
background-color: #2c2c2c;
}
.data-table {
width: 100%;
padding: 0 0.625rem;
table-layout: fixed;
border-collapse: collapse;
}
.table-row {
display: flex;
flex-direction: row;
align-items: center;
height: 3.125rem;
padding: 0.625rem;
gap: 0.625rem;
border-top: 0.0625rem solid #000000;
}
#table-head {
border-top: none;
border-bottom: 0.0625rem solid #000000;
}
th,
td {
height: 1.875rem;
text-align: left;
padding: 0;
color: #ffffff;
letter-spacing: 5%;
font: 400 0.875rem/1.875rem Overpass, sans-serif;
}
th {
font: 700 0.875rem/1.875rem Overpass, sans-serif;
}
.Client {
width: 33.3%;
border-right: 0.0625rem solid #000000;
}
.Name {
width: 33.3%;
border-right: 0.0625rem solid #000000;
}
.Asset {
width: 12.7%;
border-right: 0.0625rem solid #000000;
}
.Type {
width: 12.7%;
border-right: 0.0625rem solid #000000;
}
.User {
width: 8%;
}
.label {
width: 6.0625em;
height: 1.875em;
font-family: 'Overpass';
font-style: normal;
font-weight: 400;
font-size: 1em;
line-height: 1.875em;
letter-spacing: 0.05em;
color: #FFFFFF;
}
</style>

View File

@ -37,7 +37,7 @@
</div>
<span v-if="isExpanded" :class="['label', darkMode ? 'label-darkmode' : 'label-lightmode']">Config Items</span>
</router-link>
<router-link to="/home" class="button" :class="[darkMode ? 'button-darkmode' : 'button-lightmode']" id="solutions-button">
<router-link to="/solutions" class="button" :class="[darkMode ? 'button-darkmode' : 'button-lightmode']" id="solutions-button">
<div class="icon" id="solutions-icon">
<img :class="[darkMode ? 'img-darkmode' : 'img-lightmode']" loading="lazy"
src="../icons/navbar-icons/Solutions-Icon.svg" />

View File

@ -65,6 +65,7 @@ import AssetTable from "../components/server/AssetTable.vue";
letter-spacing: 5%;
font: 400 1.5rem/125% Overpass, -apple-system, Roboto, Helvetica,
sans-serif;
text-decoration: underline;
}
#content-body {

79
pages/solutions.vue Normal file
View File

@ -0,0 +1,79 @@
<template>
<section id="content">
<div id="content-header">
<h1 id="page-name">Solutions</h1>
</div>
<div id="content-body">
<ClientSearch />
<SolutionTable />
</div>
</section>
</template>
<script setup>
definePageMeta({
layout: 'default'
})
</script>
<script>
import ClientSearch from "../components/ClientSearch.vue";
import SolutionTable from "../components/server/SolutionTable.vue";
export default {
name: "AssetPage",
components: {
ClientSearch,
SolutionTable,
}
}
</script>
<style scoped>
* {
box-sizing: border-box;
}
#content {
display: flex;
flex-direction: column;
float: left;
justify-content: stretch;
align-items: stretch;
width: 100%;
flex-grow: 1;
gap: 0.625rem;
padding: 0 1.25rem;
}
#content-header {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
width: 100%;
height: 3.125rem;
}
#page-name {
color: #fff;
letter-spacing: 5%;
font: 400 1.5rem/125% Overpass, -apple-system, Roboto, Helvetica,
sans-serif;
text-decoration: underline;
}
#content-body {
display: flex;
flex-direction: column;
width: 100%;
gap: 1.25rem;
margin-bottom: 0.625rem;
border-radius: 0.625rem;
}
</style>

View File

@ -2,8 +2,8 @@ import { createRouter, createWebHistory } from 'vue-router';
import HomePage from '../pages/home.vue';
import ClientsPage from '../pages/clients.vue';
import LoginPage from '../pages/login.vue';
import AssetPage from '../pages/assets.vue'
import AssetPage from '../pages/assets.vue';
import SolutionPage from '../pages/solutions.vue';
const router = createRouter({
history: createWebHistory(),
@ -20,6 +20,10 @@ const router = createRouter({
path: '/assets',
component: AssetPage
},
{
path: '/solutions',
component: SolutionPage
},
{
path: '/clients',
component: ClientsPage