Improved responsive design again
This commit is contained in:
@@ -21,19 +21,17 @@ body
|
|||||||
{
|
{
|
||||||
display: flex;
|
display: flex;
|
||||||
padding: 0 1vw 3vh 1vw;
|
padding: 0 1vw 3vh 1vw;
|
||||||
justify-content: center;
|
|
||||||
align-content: center;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
width: 80%;
|
width: 80%;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 1001px) {
|
@media screen and (min-width: 1001px) {
|
||||||
.container
|
.container
|
||||||
{
|
{
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
gap: 10vw;
|
gap: 10vw;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -41,6 +39,7 @@ body
|
|||||||
@media screen and (max-width: 1000px) {
|
@media screen and (max-width: 1000px) {
|
||||||
.container {
|
.container {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
justify-content: start;
|
||||||
gap: 50px;
|
gap: 50px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
color: var(--primary-color);
|
color: var(--primary-color);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
@@ -20,7 +22,6 @@
|
|||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
background-color: var(--secondary-color);
|
background-color: var(--secondary-color);
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
min-height: 7vh;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.button:hover
|
.button:hover
|
||||||
|
|||||||
@@ -3,11 +3,21 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="input-field">
|
<input class="input-field" />
|
||||||
<input/>
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
|
input
|
||||||
|
{
|
||||||
|
line-height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
input:focus{
|
||||||
|
transform: scale(1.05);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ const props = defineProps<{
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<router-link :to=path>
|
<div class="nav-link">
|
||||||
<Button :description="description"/>
|
<router-link :to=path >
|
||||||
</router-link>
|
<Button :description="description"/>
|
||||||
|
</router-link>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ nav {
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
min-height: 10vh;
|
min-height: 50px;
|
||||||
border-bottom: 1px solid;
|
border-bottom: 1px solid;
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
background-color: var(--header-color);
|
background-color: var(--header-color);
|
||||||
|
|||||||
@@ -4,16 +4,18 @@ import AboutView from '../views/AboutView.vue'
|
|||||||
import CreateView from "../views/CreateView.vue";
|
import CreateView from "../views/CreateView.vue";
|
||||||
import JoinView from "../views/JoinView.vue";
|
import JoinView from "../views/JoinView.vue";
|
||||||
import ErrorView from '../views/ErrorView.vue';
|
import ErrorView from '../views/ErrorView.vue';
|
||||||
|
import EventView from "@/views/EventView.vue";
|
||||||
|
|
||||||
const router = createRouter({
|
const router = createRouter({
|
||||||
history: createWebHistory(import.meta.env.BASE_URL),
|
history: createWebHistory(import.meta.env.BASE_URL),
|
||||||
routes: [
|
routes: [
|
||||||
{ path: '/', name: 'home', component: HomeView},
|
{ path: '/', name: 'home', component: HomeView},
|
||||||
{ path: '/about', name: 'about', component: AboutView},
|
{ path: '/about', name: 'about', component: AboutView},
|
||||||
{ path: '/create', name: 'create', component: CreateView},
|
{ path: '/create', name: 'create', component: CreateView},
|
||||||
{ path: '/join', name: 'join', component: JoinView},
|
{ path: '/join', name: 'join', component: JoinView},
|
||||||
{ path: '/error', name: 'error', component: ErrorView},
|
{ path: '/event', name: 'event', component: EventView},
|
||||||
{ path: '/:pathMatch(.*)*', component: ErrorView }
|
{ path: '/error', name: 'error', component: ErrorView},
|
||||||
|
{ path: '/:pathMatch(.*)*', component: ErrorView }
|
||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,13 @@ import NavLink from "@/components/NavLink.vue";
|
|||||||
gap: 20px;
|
gap: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-link
|
||||||
|
{
|
||||||
|
width: 50%;
|
||||||
|
height: 70px;
|
||||||
|
min-height: 70px;
|
||||||
|
}
|
||||||
|
|
||||||
/* MEDIA QUERIES */
|
/* MEDIA QUERIES */
|
||||||
@media screen and (min-width: 1001px) {
|
@media screen and (min-width: 1001px) {
|
||||||
|
|
||||||
|
|||||||
11
front/src/views/EventView.vue
Normal file
11
front/src/views/EventView.vue
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
@@ -7,7 +7,7 @@ import TextBlock from "@/components/TextBlock.vue";
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<TextBlock class="introduction">
|
<TextBlock class="text-block">
|
||||||
<h1>Welcome !</h1>
|
<h1>Welcome !</h1>
|
||||||
<p>
|
<p>
|
||||||
This website is currently under <span class="colored-text">development</span> and might look ugly as fuck
|
This website is currently under <span class="colored-text">development</span> and might look ugly as fuck
|
||||||
@@ -21,47 +21,41 @@ import TextBlock from "@/components/TextBlock.vue";
|
|||||||
|
|
||||||
<div class="actions-group">
|
<div class="actions-group">
|
||||||
<h1>Meet up <span class="colored-text">now</span> !</h1>
|
<h1>Meet up <span class="colored-text">now</span> !</h1>
|
||||||
<NavLink path="/create" description="Create" class="button"></NavLink>
|
<NavLink path="/create" description="Create"></NavLink>
|
||||||
<NavLink path="/join" description="Join" class="button"></NavLink>
|
<NavLink path="/join" description="Join"></NavLink>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
.actions-group {
|
.text-block, .actions-group {
|
||||||
display: flex;
|
min-width: 300px;
|
||||||
justify-content: center;
|
min-height: 250px;
|
||||||
align-items: center;
|
|
||||||
height: 100%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.introduction p
|
.text-block p
|
||||||
{
|
{
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
}
|
}
|
||||||
|
|
||||||
.actions-group {
|
|
||||||
flex-direction: column;
|
|
||||||
min-width: 250px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.actions-group {
|
|
||||||
justify-content: center;
|
|
||||||
gap: 4vh;
|
|
||||||
height: fit-content;
|
|
||||||
border-radius: var(--radius);
|
|
||||||
filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0.0));
|
|
||||||
margin-bottom: 5vh;
|
|
||||||
}
|
|
||||||
|
|
||||||
.actions-group h1
|
.actions-group h1
|
||||||
{
|
{
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.actions-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4vh;
|
||||||
|
height: fit-content;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0.0));
|
||||||
|
}
|
||||||
|
|
||||||
.actions-group::before,
|
.actions-group::before,
|
||||||
.actions-group::after {
|
.actions-group::after {
|
||||||
content: "";
|
content: "";
|
||||||
@@ -87,9 +81,9 @@ import TextBlock from "@/components/TextBlock.vue";
|
|||||||
border-top: none;
|
border-top: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button {
|
.nav-link {
|
||||||
width: 50%;
|
height: 70px;
|
||||||
min-width: 50%;
|
min-height: 70px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* MEDIA QUERIES */
|
/* MEDIA QUERIES */
|
||||||
@@ -99,22 +93,28 @@ import TextBlock from "@/components/TextBlock.vue";
|
|||||||
width: 35%;
|
width: 35%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.introduction p
|
.text-block p
|
||||||
{
|
{
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.introduction h1
|
.text-block h1
|
||||||
{
|
{
|
||||||
font-size: 4rem;
|
font-size: 4rem;
|
||||||
margin: 0 5px 5px 5px;
|
margin: 0 5px 5px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-link
|
||||||
|
{
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 1000px) {
|
@media screen and (max-width: 1000px) {
|
||||||
|
|
||||||
.introduction, .actions-group {
|
.text-block, .actions-group {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -122,17 +122,22 @@ import TextBlock from "@/components/TextBlock.vue";
|
|||||||
height: 40%;
|
height: 40%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.introduction p
|
.text-block p
|
||||||
{
|
{
|
||||||
width: 95%;
|
width: 95%;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.introduction h1
|
.text-block h1
|
||||||
{
|
{
|
||||||
font-size: 2.5rem;
|
font-size: 2.5rem;
|
||||||
margin: 0 5px 5px 5px;
|
margin: 0 5px 5px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-link
|
||||||
|
{
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -13,8 +13,9 @@ import InputField from "@/components/InputField.vue";
|
|||||||
</TextBlock>
|
</TextBlock>
|
||||||
|
|
||||||
<div class="actions-group">
|
<div class="actions-group">
|
||||||
|
<h1>Event <span class="colored-text">code</span></h1>
|
||||||
<InputField/>
|
<InputField/>
|
||||||
<Button description="Go for it"></Button>
|
<Button description="Go for it !"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -23,4 +24,117 @@ import InputField from "@/components/InputField.vue";
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
|
.text-block, .actions-group {
|
||||||
|
min-width: 300px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.actions-group {
|
||||||
|
min-height: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions-group h1
|
||||||
|
{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions-group {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4vh;
|
||||||
|
height: fit-content;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
filter: drop-shadow(0px 0px 0px rgba(0, 0, 0, 0.0));
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions-group::before,
|
||||||
|
.actions-group::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 4px solid black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions-group::before {
|
||||||
|
top: -20px;
|
||||||
|
left: 0;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
border-right: none;
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions-group::after {
|
||||||
|
bottom: -20px;
|
||||||
|
right: 0;
|
||||||
|
border-radius: var(--radius);
|
||||||
|
border-left: none;
|
||||||
|
border-top: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-field {
|
||||||
|
letter-spacing: 10px;
|
||||||
|
font-size: calc(0.4 * 75px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-field, .button {
|
||||||
|
height: 75px;
|
||||||
|
min-height: 75px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* MEDIA QUERIES */
|
||||||
|
@media screen and (min-width: 1001px) {
|
||||||
|
|
||||||
|
.actions-group {
|
||||||
|
width: 35%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-block p
|
||||||
|
{
|
||||||
|
width: 90%;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-block h1
|
||||||
|
{
|
||||||
|
font-size: 4rem;
|
||||||
|
margin: 0 5px 5px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button, .input-field
|
||||||
|
{
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 1000px) {
|
||||||
|
|
||||||
|
.text-block, .actions-group {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions-group {
|
||||||
|
height: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-block p
|
||||||
|
{
|
||||||
|
width: 95%;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-block h1
|
||||||
|
{
|
||||||
|
font-size: 2.5rem;
|
||||||
|
margin: 0 5px 5px 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button, .input-field
|
||||||
|
{
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user