Include grades
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m1s
All checks were successful
Deploy with Docker Compose / deploy (push) Successful in 1m1s
This commit is contained in:
@@ -7,103 +7,110 @@ import { useHomeDataStore } from "@/stores/homeData";
|
|||||||
import { useAuthStore } from "@/stores/auth";
|
import { useAuthStore } from "@/stores/auth";
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHistory(import.meta.env.BASE_URL),
|
history: createWebHistory(import.meta.env.BASE_URL),
|
||||||
routes: [
|
routes: [
|
||||||
{
|
|
||||||
path: "/",
|
|
||||||
component: DefaultLayout,
|
|
||||||
children: [
|
|
||||||
{
|
{
|
||||||
path: "",
|
path: "/",
|
||||||
name: "landing",
|
component: DefaultLayout,
|
||||||
component: Landing,
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
name: "landing",
|
||||||
|
component: Landing,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "stp",
|
||||||
|
name: "home",
|
||||||
|
component: () => import("@/views/home/Home.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "admin/login",
|
||||||
|
name: "admin-login",
|
||||||
|
component: () => import("@/views/admin/Login.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "admin",
|
||||||
|
name: "admin",
|
||||||
|
component: () => import("@/views/admin/Admin.vue"),
|
||||||
|
meta: { requiresAdmin: true },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "shrines",
|
||||||
|
name: "shrine links",
|
||||||
|
component: () => import("@/views/home/shrines/Shrines.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "shrines/gto",
|
||||||
|
name: "gto shrine",
|
||||||
|
component: () => import("@/views/home/shrines/GTO.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "shrines/skipskipbenben",
|
||||||
|
name: "skipskipbenben shrine",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/home/shrines/Skipskipbenben.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "shrines/evangelion",
|
||||||
|
name: "evangelion shrine",
|
||||||
|
component: () =>
|
||||||
|
import("@/views/home/shrines/Evangelion.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "shrines/demoman",
|
||||||
|
name: "demoman shrine",
|
||||||
|
component: () => import("@/views/home/shrines/Demoman.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: ":pathMatch(.*)*",
|
||||||
|
name: "404",
|
||||||
|
component: () => import("@/views/404/404.vue"),
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "stp",
|
path: "/stp2",
|
||||||
name: "home",
|
name: "home2",
|
||||||
component: () => import("@/views/home/Home.vue"),
|
component: () => import("@/views/home2/Home2.vue"),
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "admin/login",
|
path: "/cv",
|
||||||
name: "admin-login",
|
component: CVLayout,
|
||||||
component: () => import("@/views/admin/Login.vue"),
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
name: "cv",
|
||||||
|
component: () => import("@/views/CV/CV.vue"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: "jobs",
|
||||||
|
name: "job-applications",
|
||||||
|
component: () => import("@/views/CV/JobApplications.vue"),
|
||||||
|
meta: { requiresAdmin: true },
|
||||||
|
},
|
||||||
|
],
|
||||||
},
|
},
|
||||||
{
|
],
|
||||||
path: "admin",
|
|
||||||
name: "admin",
|
|
||||||
component: () => import("@/views/admin/Admin.vue"),
|
|
||||||
meta: { requiresAdmin: true },
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "shrines",
|
|
||||||
name: "shrine links",
|
|
||||||
component: () => import("@/views/home/shrines/Shrines.vue"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "shrines/gto",
|
|
||||||
name: "gto shrine",
|
|
||||||
component: () => import("@/views/home/shrines/GTO.vue"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "shrines/skipskipbenben",
|
|
||||||
name: "skipskipbenben shrine",
|
|
||||||
component: () => import("@/views/home/shrines/Skipskipbenben.vue"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "shrines/evangelion",
|
|
||||||
name: "evangelion shrine",
|
|
||||||
component: () => import("@/views/home/shrines/Evangelion.vue"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "shrines/demoman",
|
|
||||||
name: "demoman shrine",
|
|
||||||
component: () => import("@/views/home/shrines/Demoman.vue"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: ":pathMatch(.*)*",
|
|
||||||
name: "404",
|
|
||||||
component: () => import("@/views/404/404.vue"),
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/cv",
|
|
||||||
component: CVLayout,
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
path: "",
|
|
||||||
name: "cv",
|
|
||||||
component: () => import("@/views/CV/CV.vue"),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "jobs",
|
|
||||||
name: "job-applications",
|
|
||||||
component: () => import("@/views/CV/JobApplications.vue"),
|
|
||||||
meta: { requiresAdmin: true },
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
});
|
||||||
|
|
||||||
router.beforeEach(async (to) => {
|
router.beforeEach(async (to) => {
|
||||||
if (!to.meta.requiresAdmin) return;
|
if (!to.meta.requiresAdmin) return;
|
||||||
const homeData = useHomeDataStore();
|
const homeData = useHomeDataStore();
|
||||||
if (!homeData.loaded) {
|
if (!homeData.loaded) {
|
||||||
await new Promise((resolve) => {
|
await new Promise((resolve) => {
|
||||||
const stop = watch(
|
const stop = watch(
|
||||||
() => homeData.loaded,
|
() => homeData.loaded,
|
||||||
(val) => {
|
(val) => {
|
||||||
if (val) {
|
if (val) {
|
||||||
stop();
|
stop();
|
||||||
resolve();
|
resolve();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (!useAuthStore().user.admin)
|
if (!useAuthStore().user.admin)
|
||||||
return { path: "/admin/login", query: { redirect: to.fullPath } };
|
return { path: "/admin/login", query: { redirect: to.fullPath } };
|
||||||
});
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@@ -204,6 +204,35 @@ import Project from "./Project.vue";
|
|||||||
</p>
|
</p>
|
||||||
</Project>
|
</Project>
|
||||||
</section>
|
</section>
|
||||||
|
<section>
|
||||||
|
<h2>University Academy of Engineering Southbank</h2>
|
||||||
|
<div
|
||||||
|
class="flex-row flex place-content-between m-auto place-items-center"
|
||||||
|
>
|
||||||
|
<strong>A Levels</strong>
|
||||||
|
<small>Sep 2019 – Jun 2021</small>
|
||||||
|
</div>
|
||||||
|
<div class="grades-grid">
|
||||||
|
<span>Mathematics</span><span>A*</span>
|
||||||
|
<span>Further Mathematics</span><span>A*</span>
|
||||||
|
<span>Physics</span><span>A*</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="flex-row flex place-content-between m-auto place-items-center mt-2"
|
||||||
|
>
|
||||||
|
<strong>GCSEs</strong>
|
||||||
|
<small>2019</small>
|
||||||
|
</div>
|
||||||
|
<div class="grades-grid">
|
||||||
|
<span>English Literature</span><span>9</span>
|
||||||
|
<span>Mathematics</span><span>9</span>
|
||||||
|
<span>Physics</span><span>9</span>
|
||||||
|
<span>English Language</span><span>8</span>
|
||||||
|
<span>Biology</span><span>8</span>
|
||||||
|
<span>Chemistry</span><span>8</span>
|
||||||
|
<span>Computer Science</span><span>7</span>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
<div class="w-full flex flex-col sm:flex-row gap-5">
|
<div class="w-full flex flex-col sm:flex-row gap-5">
|
||||||
<section class="flex-1">
|
<section class="flex-1">
|
||||||
<h2>Soft Skills</h2>
|
<h2>Soft Skills</h2>
|
||||||
|
|||||||
@@ -131,6 +131,28 @@
|
|||||||
margin-bottom: 0.2em;
|
margin-bottom: 0.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.cv-template .grades-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, auto 1fr);
|
||||||
|
column-gap: 0.5em;
|
||||||
|
row-gap: 0.1em;
|
||||||
|
font-size: var(--cv-text-size);
|
||||||
|
color: var(--primary);
|
||||||
|
margin: 0.15em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cv-template .grades-grid > span:nth-child(4n + 2),
|
||||||
|
.cv-template .grades-grid > span:nth-child(4n) {
|
||||||
|
font-weight: 600;
|
||||||
|
padding-right: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px) {
|
||||||
|
.cv-template .grades-grid {
|
||||||
|
grid-template-columns: auto 1fr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.cv-template table {
|
.cv-template table {
|
||||||
color: var(--secondary);
|
color: var(--secondary);
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
|||||||
Reference in New Issue
Block a user