website/pages/projects.vue

97 lines
2.3 KiB
Vue
Raw Normal View History

2023-04-16 20:12:24 +03:00
<template>
<div>
<Navbar />
<Header>
2023-06-18 18:09:03 +03:00
<label class="glitch">ls -la</label> projects
2023-04-16 20:12:24 +03:00
</Header>
<div class="projects">
2023-06-18 19:08:25 +03:00
<ProjectList v-for="project in projects" :key="project.id">
<Project v-if="logged" v-for="p in project.list" :key="p.name" :name="`${p.name} (${p.click})`" :desc="p.desc" :url="p.url"/>
<Project v-if="!logged" v-for="p in project.list" :key="p.desc" :name="p.name" :desc="p.desc" :url="p.url"/>
2023-04-16 20:12:24 +03:00
</ProjectList>
</div>
<NewProject v-if="logged"/>
</div>
</template>
<script>
import ProjectList from "../components/ProjectList.vue";
import Project from "../components/Project.vue";
import NewProject from "../components/NewProject.vue";
import axios from "axios";
export default {
head() {
return {
title: "[ngn] | projects",
2023-04-16 20:12:24 +03:00
meta: [
{
hid: "description",
name: "description",
content: "check out my projects"
2023-04-16 20:12:24 +03:00
}
]
}
},
data() {
return {
2023-06-11 20:19:35 +03:00
logged: false,
projects: []
2023-04-16 20:12:24 +03:00
}
},
mounted: async function(){
2023-06-18 19:08:25 +03:00
if(localStorage.getItem("token"))
this.logged = true
2023-04-16 20:12:24 +03:00
2023-06-11 20:19:35 +03:00
const res = await axios.get("/api/projects/get")
2023-04-16 20:12:24 +03:00
let all = res.data["projects"]
2023-06-18 19:08:25 +03:00
let pcounter = 0
2023-04-16 20:12:24 +03:00
let projects = []
2023-06-18 19:08:25 +03:00
let project = {
id: pcounter,
list: []
}
2023-04-16 20:12:24 +03:00
for(let i = 0; i<all.length; i++){
2023-06-18 19:31:37 +03:00
if(project["list"].length===3){
projects.push(project)
pcounter += 1
project = {
id: pcounter,
list: []
2023-04-16 20:12:24 +03:00
}
2023-06-18 19:31:37 +03:00
}
2023-04-16 20:12:24 +03:00
2023-06-18 19:31:37 +03:00
project["list"].push({
name: all[i]["name"],
desc: all[i]["desc"],
click: all[i]["click"],
url: `/l/${all[i]["name"]
.toLowerCase()
.replaceAll(" ", "")}`
})
if(i===all.length-1){
projects.push(project)
}
2023-04-16 20:12:24 +03:00
}
2023-06-18 19:31:37 +03:00
2023-04-16 20:12:24 +03:00
this.projects = projects
2023-06-18 19:08:25 +03:00
}
2023-04-16 20:12:24 +03:00
}
</script>
<style>
.projects{
padding: 50px;
2023-04-16 20:12:24 +03:00
display: flex;
flex-direction: column;
}
@media only screen and (max-width: 1121px) {
.projects {
padding: 50px;
}
2023-04-16 20:12:24 +03:00
}
2023-06-11 20:19:35 +03:00
</style>