diff --git a/frontend/src/lib/components/projects-popup.svelte b/frontend/src/lib/components/projects-popup.svelte
index 4395c10..1461d5a 100644
--- a/frontend/src/lib/components/projects-popup.svelte
+++ b/frontend/src/lib/components/projects-popup.svelte
@@ -75,7 +75,7 @@
});
function hidePopup(event) {
- if (!active && popupMain.style.visibility === "visible") {
+ if (!active) {
return;
}
diff --git a/frontend/src/lib/components/sidebar.svelte b/frontend/src/lib/components/sidebar.svelte
new file mode 100644
index 0000000..cb11608
--- /dev/null
+++ b/frontend/src/lib/components/sidebar.svelte
@@ -0,0 +1,129 @@
+
+
+ {
+ sidebarScrollingHandler();
+ }}
+/>
+
+
+{#if footer === null || containerCv === null}
+
+{:else}
+
+
+{/if}
diff --git a/frontend/src/lib/css/cv.css b/frontend/src/lib/css/cv.css
index 1979cd4..bb57b34 100644
--- a/frontend/src/lib/css/cv.css
+++ b/frontend/src/lib/css/cv.css
@@ -1,32 +1,21 @@
-.container-cv {
- display: flex;
- flex-direction: row;
-}
-
-
-@media screen and (min-width: 1200px)
-{
- .sidebar {
- position: absolute;
- width: 15rem;
- transition: all 0s ease 0s;
- margin-left: 1rem;
+@media screen and (min-width: 1200px) {
+ .container-cv {
+ display: flex;
+ flex-direction: row;
}
- .fake-sidebar {
- width: 20rem;
- box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
- background-color: var(--color-special);
- }
-}
-
-@media screen and (max-width: 1200px)
-{
- .sidebar {
+ #topbar {
display: none;
}
}
+@media screen and (max-width: 1200px) {
+ .container-cv {
+ display: flex;
+ flex-direction: column;
+ }
+}
+
@media screen and (min-width: 1000px) {
.name {
text-align: center;
@@ -64,11 +53,80 @@
}
@media screen and (max-width: 1000px) {
+ #topbar {
+ width: 100%;
+ position: fixed;
+ z-index: 3;
+ backdrop-filter: blur(1rem);
+ height: 6.6rem;
+ display: flex;
+ align-items: center;
+ transition: all .3s ease 0s;
+ border-bottom-left-radius: 1rem;
+ border-bottom-right-radius: 1rem;
+ }
+
+ #topbar>button {
+ transition: all .3s ease 0s;
+ cursor: pointer;
+ border: 0;
+ color: var(--color-background);
+ background-color: var(--color-special);
+ border-radius: 50%;
+ min-width: 2.5rem;
+ min-height: 2.5rem;
+ display: none;
+ justify-content: center;
+ align-items: center;
+ margin-left: 1rem;
+ box-shadow: 0px 8px 12px -1px #0174BE50;
+ }
+
+ #topbar>button:hover {
+ color: var(--color-special);
+ background-color: var(--color-background);
+ }
+
+ #topbar>button:active {
+ transform: translateY(3px);
+ box-shadow: 0px 3px 8px -1px #0174BEAA;
+ }
+
+ #fake-topbar {
+ width: 100%;
+ height: 6.6rem;
+ background-color: var(--color-special);
+ }
+
+ .topbar-name {
+ width: 100%;
+ color: var(--color-background);
+ text-align: center;
+ text-shadow: -15px 5px 20px #00000030;
+ padding: 0;
+ margin: 0.5rem;
+ font-size: 3rem;
+ transition: all .3s ease 0s;
+ }
+
+ .topbar-name-little {
+ width: 100%;
+ color: var(--color-special);
+ text-align: end;
+ text-shadow: -15px 5px 20px #00000030;
+ padding: 0;
+ margin: 0.5rem;
+ margin-right: 1rem;
+ font-size: 1.5rem;
+ font-weight: 100;
+ transition: all .3s ease 0s;
+ }
+
.name {
text-align: center;
text-shadow: -15px 5px 20px #00000030;
- background-color: var(--color-special);
color: var(--color-background);
+ background-color: var(--color-special);
margin-top: 0;
padding-top: 1.5rem;
margin-bottom: 0;
@@ -106,19 +164,6 @@
}
}
-.profile-picture-container {
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.profile-picture {
- width: 9rem;
- height: auto;
- margin: 2rem;
- box-shadow: rgba(0, 0, 0, 0.15) 0px 15px 25px, rgba(0, 0, 0, 0.05) 0px 5px 10px;
-}
-
.main {
width: 100%;
overflow-x: hidden;
diff --git a/frontend/src/lib/css/sidebar.css b/frontend/src/lib/css/sidebar.css
new file mode 100644
index 0000000..9ddd88e
--- /dev/null
+++ b/frontend/src/lib/css/sidebar.css
@@ -0,0 +1,79 @@
+@media screen and (min-width: 1200px) {
+ .sidebar {
+ position: absolute;
+ width: 15rem;
+ transition: all 0s ease 0s;
+ margin-left: 1rem;
+ }
+
+ .fake-sidebar {
+ width: 20rem;
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
+ background-color: var(--color-special);
+ }
+
+ #sidebar-container {
+ display: none;
+ }
+}
+
+@media screen and (max-width: 1200px) {
+ #sidebar-container {
+ width: 100%;
+ height: 100%;
+ position: fixed;
+ z-index: 5;
+ visibility: hidden;
+ background-color: #0176bed0;
+ backdrop-filter: blur(1rem);
+ display: flex;
+ flex-direction: column;
+ }
+
+ #sidebar-container>button {
+ cursor: pointer;
+ border: 0;
+ color: var(--color-background);
+ background-color: #ffffff00;
+ border-radius: 50%;
+ max-width: 2.5rem;
+ min-height: 2.5rem;
+ justify-content: center;
+ align-items: center;
+ margin-left: 1rem;
+ /* to align with the open button*/
+ margin-top: 6.5px;
+ display: flex;
+ }
+
+ #sidebar-container>button:hover {
+ color: var(--color-special);
+ background-color: var(--color-background);
+ box-shadow: 0px 8px 12px -1px #0174BE50;
+ }
+
+ #sidebar-container>button:active {
+ transform: translateY(3px);
+ box-shadow: 0px 3px 8px -1px #0174BEAA;
+ }
+
+ .sidebar {
+ height: fit-content;
+ background-color: #ffffff00;
+ overflow-y: auto;
+ padding-top: 5rem;
+ }
+}
+
+.sidebar-profilepic-container {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.sidebar-profilepic {
+ width: 9rem;
+ height: auto;
+ margin: 2rem;
+ box-shadow: rgba(0, 0, 0, 0.15) 0px 15px 25px, rgba(0, 0, 0, 0.05) 0px 5px 10px;
+}
\ No newline at end of file
diff --git a/frontend/src/lib/css/slideshow.css b/frontend/src/lib/css/slideshow.css
index 71f5d0d..462a185 100644
--- a/frontend/src/lib/css/slideshow.css
+++ b/frontend/src/lib/css/slideshow.css
@@ -8,7 +8,7 @@
@media screen and (min-width: 1000px)
{
.slideshow_btn {
- z-index: 3;
+ z-index: 2;
position: absolute;
right: 0;
margin-right: 2.5rem;
@@ -30,7 +30,7 @@
@media screen and (max-width: 1000px)
{
.slideshow_btn {
- z-index: 3;
+ z-index: 2;
position: absolute;
right: 0;
margin-right: 1rem;
diff --git a/frontend/src/lib/js/popup.js b/frontend/src/lib/js/popup.js
index 06ada74..f1c4b06 100644
--- a/frontend/src/lib/js/popup.js
+++ b/frontend/src/lib/js/popup.js
@@ -5,7 +5,7 @@ export function showPopup(show, projectId) {
const mainPopup = document.getElementById('project-popup-main');
const body = document.getElementsByTagName('body');
- if (show === true) {
+ if (show) {
body[0].style.overflow = 'hidden';
background.style.visibility = 'visible';
mainPopup.style.visibility = 'visible';
diff --git a/frontend/src/lib/js/topbar.js b/frontend/src/lib/js/topbar.js
new file mode 100644
index 0000000..f41cf31
--- /dev/null
+++ b/frontend/src/lib/js/topbar.js
@@ -0,0 +1,14 @@
+export function showSidebar(show) {
+ const sidebarContainer = document.getElementById('sidebar-container');
+ const body = document.getElementsByTagName('body');
+ console.log(body[0].style.overflow);
+
+ if (show) {
+ body[0].style.overflow = 'hidden';
+ sidebarContainer.style.visibility = 'visible';
+ } else {
+ body[0].style.overflow = '';
+ sidebarContainer.style.visibility = 'hidden';
+ }
+ console.log(body[0].style.overflow);
+}
\ No newline at end of file
diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte
index 8d6ba80..408beaa 100644
--- a/frontend/src/routes/+page.svelte
+++ b/frontend/src/routes/+page.svelte
@@ -1,25 +1,12 @@
{
+ if (innerWidth < 1200) {
+ mobileTopBar();
+ }
+ }}
/>
{#if data.status == 0}
+
+ {#if innerWidth < 1200}
+
+ {/if}
-
-