+ diff --git a/static/images/Bakgrunnsbilde.png b/static/images/Bakgrunnsbilde.png deleted file mode 100644 index c5c12b1..0000000 Binary files a/static/images/Bakgrunnsbilde.png and /dev/null differ diff --git a/static/images/ElefantSVG.svg b/static/images/ElefantSVG.svg new file mode 100644 index 0000000..194c7af --- /dev/null +++ b/static/images/ElefantSVG.svg @@ -0,0 +1,82 @@ + + \ No newline at end of file diff --git a/static/images/LogoSide.png b/static/images/LogoSide.png new file mode 100644 index 0000000..0712117 Binary files /dev/null and b/static/images/LogoSide.png differ diff --git a/static/images/file.svg b/static/images/file.svg deleted file mode 100644 index 1515cbc..0000000 --- a/static/images/file.svg +++ /dev/null @@ -1,44392 +0,0 @@ - \ No newline at end of file diff --git a/static/styles.css b/static/styles.css index 7babb39..1a1aaff 100644 --- a/static/styles.css +++ b/static/styles.css @@ -15,8 +15,9 @@ body { background-color: rgb(245,185,48); margin: 0; padding: 0; - background-image: url('images/file.svg'); - background-size: cover; + padding-bottom: calc(var(--player-height) + 40px); + background-image: url('images/ElefantSVG.svg'); + background-size:10vh; background-repeat: repeat; background-attachment: fixed; min-height: 100vh; @@ -34,12 +35,12 @@ body { /* Mobile Header */ #mobileHeader { height: var(--header-height); - background-color: rgba(0, 0, 0, 0.9); + background-color: rgba(0, 0, 0, 1); color: white; display: flex; align-items: center; justify-content: center; - position: fixed; + position: sticky; top: 0; left: 0; right: 0; @@ -53,18 +54,25 @@ body { text-align: center; } +#logoPicture { + width: 60vw; + height: auto; + min-width: 180px; + max-width: 450px; + display: block; + margin: 0 auto; +} + /* Search Section */ #searchSection { - position: fixed; - top: var(--header-height); - left: 0; - right: 0; - height: var(--search-height); - background-color: rgba(0, 0, 0, 0.8); - padding: 15px 20px; - z-index: 90; - backdrop-filter: blur(10px); + margin-top: 0; + padding: 10px 20px; + background-color: transparent; + z-index: 110; + backdrop-filter: none; transition: opacity 0.3s ease, transform 0.3s ease; + position: sticky; + top: var(--header-height); } #searchSection.queue-open-mobile { @@ -78,14 +86,15 @@ body { display: flex; position: relative; max-width: 100%; + z-index: 110; } #searchInput { flex: 1; - padding: 12px 40px 12px 16px; + padding: 18px 44px 18px 22px; border: 1px solid #333; border-radius: 25px; - font-size: 14px; + font-size: 18px; background-color: rgba(40, 40, 40, 0.95); color: white; outline: none; @@ -93,6 +102,10 @@ body { -webkit-appearance: none; -moz-appearance: none; appearance: none; + cursor: text; + pointer-events: auto; + z-index: 110; + position: relative; } /* Hide the native search clear button */ @@ -118,18 +131,18 @@ body { #clearSearchBtn { position: absolute; - right: 10px; + right: 14px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #b3b3b3; - font-size: 16px; + font-size: 20px; cursor: pointer; - padding: 8px; + padding: 12px; border-radius: 50%; - width: 32px; - height: 32px; + width: 40px; + height: 40px; display: none; align-items: center; justify-content: center; @@ -143,21 +156,27 @@ body { /* Search Results */ #results { - position: fixed; - top: calc(var(--header-height) + var(--search-height) + 10px); - left: 15px; - right: 15px; - bottom: calc(var(--player-height) + 60px); - background-color: transparent; - z-index: 95; - overflow-y: auto; + position: static; + margin: 5px auto; + margin-bottom: calc(var(--player-height) + 80px); + background-color: rgba(40, 40, 40, 0.95); + border-radius: 8px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + border: 1px solid #333; + z-index: 80; + overflow: visible; display: none; - padding: 0 0 30px 0; + padding: 0; + width: 95%; + max-width: 800px; + /* Removed max-height to allow dynamic sizing */ } + + #results.has-results { display: block !important; - z-index: 95 !important; + z-index: 80 !important; } /* Hide search results when queue is open on mobile */ @@ -171,10 +190,57 @@ body { .result-item { margin: 0; padding: 0; - background-color: transparent; - color: white; + background-color: rgba(0, 0, 0, 0); + border-radius: 0; + box-shadow: none; + color: rgb(232, 230, 227); cursor: pointer; + display: block; + font-family: Arial, sans-serif; + transition: background-color 0.2s ease; border: none; + width: 100%; +} + +/* Make result items more compact */ +.result-item > div { + padding: 16px 14px !important; + gap: 6px !important; +} + +.result-item img { + width: 30px !important; + height: 30px !important; + border-radius: 3px !important; +} + +.result-item .track-title { + font-size: 12px !important; + margin-bottom: 0px !important; + line-height: 1.0 !important; +} + +.result-item .track-artist { + font-size: 9px !important; + margin-bottom: 0px !important; + line-height: 1.0 !important; +} + +.result-item .track-album { + font-size: 8px !important; + color: #999 !important; + line-height: 1.0 !important; + margin-bottom: 0 !important; +} + +.result-item button { + padding: 3px 6px !important; + font-size: 9px !important; + border-radius: 8px !important; +} + +.result-item:hover { + background-color: rgba(255, 255, 255, 0.1); } .result-item * { @@ -183,15 +249,12 @@ body { /* Main Content (Queue List) */ #mainContent { - position: fixed; - top: calc(var(--header-height) + var(--search-height)); - left: 0; - right: 0; - bottom: var(--player-height); - padding: 0; - overflow-y: auto; + padding: 20px; + padding-bottom: calc(var(--player-height) + 60px); + overflow-y: visible; background-color: rgba(0, 0, 0, 0.1); - transition: opacity 0.3s ease, top 0.3s ease; + transition: opacity 0.3s ease; + min-height: calc(100vh - var(--header-height) - var(--player-height)); } #mainContent.queue-hidden { @@ -200,11 +263,11 @@ body { } #mainContent.search-hidden { - top: var(--header-height); + display: block; } #mobileQueueList, #desktopQueueList { - padding: 20px; + padding: 0 20px 20px 20px; display: flex; flex-direction: column; gap: 12px; @@ -388,6 +451,45 @@ body { /* Mobile styles - keep the current mobile layout */ /* All current styles above apply to mobile */ + /* Make search results larger and more readable on mobile */ + .result-item > div { + padding: 20px 16px !important; + gap: 12px !important; + } + + .result-item img { + width: 45px !important; + height: 45px !important; + border-radius: 6px !important; + } + + .result-item .track-title { + font-size: 16px !important; + margin-bottom: 2px !important; + line-height: 1.2 !important; + } + + .result-item .track-artist { + font-size: 13px !important; + margin-bottom: 1px !important; + line-height: 1.2 !important; + } + + .result-item .track-album { + font-size: 11px !important; + color: #999 !important; + line-height: 1.2 !important; + margin-bottom: 0 !important; + } + + /* Make add buttons larger on mobile */ + .result-item button { + padding: 8px 12px !important; + font-size: 12px !important; + border-radius: 12px !important; + min-width: 50px !important; + } + /* Hide desktop queue sidebar on mobile */ #queueSidebar { display: none !important; @@ -405,31 +507,38 @@ body { /* Desktop Header */ #mobileHeader { - position: relative; + position: sticky; + top: 0; height: 80px; - background-color: rgba(0, 0, 0, 0.8); - justify-content: space-between; + background-color: rgba(0, 0, 0, 1); + justify-content: center; padding: 0 40px; + z-index: 100; } - #logo { - font-size: 24px; + #logoPicture { + width: 40vw; + height: auto; + min-width: 150px; + max-width: 500px; + display: block; + margin: 0 auto; } /* Desktop Search Section */ #searchSection { - position: relative; - top: 0; + position: sticky; + top: 60px; height: auto; background-color: transparent; - padding: 40px; - z-index: auto; + padding: 30px 40px 20px; + z-index: 110; backdrop-filter: none; - flex: 1; + flex: 0 0 auto; display: flex; flex-direction: column; justify-content: flex-start; - max-width: 800px; + max-width: 700px; margin: 0 auto; transition: margin-right 0.3s ease; } @@ -439,7 +548,6 @@ body { } #searchSection::before { - content: "Search & Queue Tracks"; display: block; text-align: center; color: #333; @@ -450,14 +558,22 @@ body { #searchContainer { justify-content: center; - margin-bottom: 30px; + margin-bottom: 20px; + width: 80vw; + z-index: 110; } #searchInput { - width: 400px; + width: 65%; + max-width: 60vw; border-radius: 6px; - max-width: none; margin: 0; + padding: 10px 36px 10px 14px; + font-size: 13px; + cursor: text; + pointer-events: auto; + z-index: 110; + position: relative; } /* Desktop Search Results */ @@ -467,22 +583,30 @@ body { bottom: auto; left: auto; right: auto; - background-color: transparent; - border-radius: 0; - box-shadow: none; - overflow-y: visible; - border: none; - max-height: none; + background-color: rgba(40, 40, 40, 0.95); + border-radius: 6px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); + border: 1px solid #333; + overflow: visible; backdrop-filter: none; padding: 0; + margin-bottom: 80px; + width: 70%; + max-width: 65vw; + margin-left: auto; + margin-right: auto; } .result-item { - border-bottom: none; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding: 0; margin: 0; } + .result-item:last-child { + border-bottom: none; + } + /* Desktop Main Content - hide queue list in main area */ #mainContent { display: none; diff --git a/templates/index.html b/templates/index.html index a1629ee..9d90fe0 100644 --- a/templates/index.html +++ b/templates/index.html @@ -12,7 +12,9 @@
+