Added Gallery
BIN
src/assets/gallery/IMG_0391.png
Normal file
After Width: | Height: | Size: 14 MiB |
BIN
src/assets/gallery/IMG_2381.png
Normal file
After Width: | Height: | Size: 12 MiB |
BIN
src/assets/gallery/IMG_2798.png
Normal file
After Width: | Height: | Size: 4.5 MiB |
BIN
src/assets/gallery/IMG_3166.png
Normal file
After Width: | Height: | Size: 12 MiB |
BIN
src/assets/gallery/IMG_3898.png
Normal file
After Width: | Height: | Size: 6.3 MiB |
BIN
src/assets/gallery/IMG_4809.png
Normal file
After Width: | Height: | Size: 4.9 MiB |
BIN
src/assets/gallery/IMG_4810.png
Normal file
After Width: | Height: | Size: 10 MiB |
BIN
src/assets/gallery/IMG_4812.png
Normal file
After Width: | Height: | Size: 16 MiB |
42
src/data/gallery.js
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
export default [
|
||||||
|
{
|
||||||
|
name: "2 cats",
|
||||||
|
id: "1",
|
||||||
|
path: "gallery/IMG_0391.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Friends Cat",
|
||||||
|
id: "2",
|
||||||
|
path: "gallery/IMG_2381.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Miku Poster",
|
||||||
|
id: "3",
|
||||||
|
path: "gallery/IMG_2798.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Networking",
|
||||||
|
id: "4",
|
||||||
|
path: "gallery/IMG_3166.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Another Friends Cat",
|
||||||
|
id: "5",
|
||||||
|
path: "gallery/IMG_3898.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "PC Stickers",
|
||||||
|
id: "6",
|
||||||
|
path: "gallery/IMG_4809.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Movie Theater Picture 1",
|
||||||
|
id: "7",
|
||||||
|
path: "gallery/IMG_4810.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Movie Theater Picture 2",
|
||||||
|
id: "8",
|
||||||
|
path: "gallery/IMG_4812.png"
|
||||||
|
}
|
||||||
|
]
|
3
src/views/404Page.vue
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
|
@ -1,17 +1,76 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="socials">
|
<div class="gallery">
|
||||||
<h1>Work In Progress</h1>
|
<h1>Gallery</h1>
|
||||||
|
<div class="galleryGrid">
|
||||||
|
<a v-for="gallery in gallerys" :key="gallery.id" :href="require('@/assets/' + gallery.path)" target="_blank">
|
||||||
|
<img :src="require('@/assets/' + gallery.path)" :title="gallery.name"/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import galleryData from '../data/gallery.js'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
gallerys: galleryData
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.socials {
|
.gallery {
|
||||||
color: white;
|
color: white;
|
||||||
font-family: 'Rubik', sans-serif;
|
font-family: 'Rubik', sans-serif;
|
||||||
display: flex;
|
margin-top: 60px;
|
||||||
align-items: center;
|
}
|
||||||
justify-content: center;
|
|
||||||
height: 100vh;
|
.gallery h1 {
|
||||||
font-size: 40px;
|
font-weight: 500;
|
||||||
|
font-size: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.galleryGrid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||||
|
row-gap: 32px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.galleryGrid a {
|
||||||
|
width: max-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
.galleryGrid img {
|
||||||
|
width: 320px;
|
||||||
|
height: 480px;
|
||||||
|
border-radius: 16px;
|
||||||
|
object-fit: cover;
|
||||||
|
object-position: center;
|
||||||
|
cursor: pointer;
|
||||||
|
border: 4px solid transparent;
|
||||||
|
transition: 0.4s border;
|
||||||
|
}
|
||||||
|
|
||||||
|
.galleryGrid img:hover{
|
||||||
|
border: 4px;
|
||||||
|
border-style: solid;
|
||||||
|
border-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 739px) {
|
||||||
|
.gallery {
|
||||||
|
margin: auto;
|
||||||
|
margin-top: 50px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.galleryGrid {
|
||||||
|
width: 330px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -94,6 +94,7 @@
|
||||||
border: 4px;
|
border: 4px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
.socialsgrid i {
|
.socialsgrid i {
|
||||||
font-size: 35px;
|
font-size: 35px;
|
||||||
margin-top: auto;
|
margin-top: auto;
|
||||||
|
|
34
src/views/router/index.js
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import { createRouter, createWebHistory } from 'vue-router'
|
||||||
|
|
||||||
|
import homeView from '../views/HomePage.vue'
|
||||||
|
import galleryView from '../views/GalleryPage.vue'
|
||||||
|
import socialView from '../views/SocialsPage.vue'
|
||||||
|
|
||||||
|
const routes = [
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
redirect: '/home'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/home',
|
||||||
|
name: 'home',
|
||||||
|
component: homeView
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/gallery',
|
||||||
|
name: 'gallery',
|
||||||
|
component: galleryView
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/socials',
|
||||||
|
name: 'socials',
|
||||||
|
component: socialView
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
const router = createRouter({
|
||||||
|
history: createWebHistory(process.env.BASE_URL),
|
||||||
|
routes
|
||||||
|
})
|
||||||
|
|
||||||
|
export default router
|