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}
- -