diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 68777a9..c7a3a68 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,7 +5,15 @@ - + + + + + + + + + diff --git a/frontend/src/assets/Global.scss b/frontend/src/assets/Global.scss index 47e38ab..dddac47 100644 --- a/frontend/src/assets/Global.scss +++ b/frontend/src/assets/Global.scss @@ -17,8 +17,8 @@ --primary-200: #FFC9D7; --primary-300: #FF9CB6; --primary-400: #FF6591; - --primary-500: #FF306F; - --primary-600: #ED0C5B; + --primary-500: #ED0C5B; + --primary-500: #e10954; --primary-700: #CD034F; --primary-800: #AB064A; --primary-900: #920945; @@ -42,9 +42,9 @@ --primary-100: #920945; --primary-200: #AB064A; --primary-300: #CD034F; - --primary-400: #ED0C5B; - --primary-500: #FF306F; - --primary-600: #ED0C5B; + --primary-400: #e10954; + --primary-500: #ED0C5B; + --primary-600: #FF6591; --primary-700: #FF9CB6; --primary-800: #FFC9D7; --primary-900: #FFE2E8; diff --git a/frontend/src/components/Header.vue b/frontend/src/components/Header.vue index 10b044d..9d4f628 100644 --- a/frontend/src/components/Header.vue +++ b/frontend/src/components/Header.vue @@ -39,7 +39,7 @@ header { align-items: center; gap: 10px; align-self: stretch; - background-color: var(--primary-600); + background-color: var(--primary-500); border-radius: 15px; } diff --git a/frontend/src/components/Player.vue b/frontend/src/components/Player.vue index b22d232..542b3b5 100644 --- a/frontend/src/components/Player.vue +++ b/frontend/src/components/Player.vue @@ -2,7 +2,6 @@ import RepeatIcon from "../assets/Icons/RepeatIcon.vue"; import ShuffleIcon from "../assets/Icons/ShuffleIcon.vue"; -import SoundIcon from "../assets/Icons/SoundIcon.vue"; import HandIcon from "../assets/Icons/HandIcon.vue"; import LeaveIcon from "../assets/Icons/LeaveIcon.vue"; import PrevIcon from "../assets/Icons/PrevIcon.vue"; @@ -16,6 +15,16 @@ const isPlaying = ref(true); function togglePlay() { isPlaying.value = !isPlaying.value; } + +const progress = ref(0); + +function handleTimebarClick(event: MouseEvent) { + const target = event.currentTarget as HTMLElement; + const rect = target.getBoundingClientRect(); + const clickX = event.clientX - rect.left; + const width = rect.width; + progress.value = Math.min(Math.max((clickX / width) * 100, 0), 100); +} @@ -56,7 +89,7 @@ function togglePlay() { justify-content: flex-end; padding: 30px; align-items: center; - gap: 20px; + gap: 5px; height: 100%; width: 100%; flex-shrink: 0; @@ -73,6 +106,7 @@ function togglePlay() { gap: 20px; flex: 1 0 0; align-self: stretch; + margin-bottom: 20px; &__img { flex: 1 0 0; @@ -93,9 +127,30 @@ function togglePlay() { &__timebar { width: 100%; - height: 5px; - background: var(--primary-600); + height: 8px; + background: var(--neutral-300); border-radius: 900px; + position: relative; + transition: height 0.2s ease; + + &:hover { + cursor: pointer; + } + + &__progress { + height: 100%; + background: var(--primary-500); + border-radius: 900px; + transition: width 0.2s ease; + } + + &__time { + display: flex; + justify-content: space-between; + width: 100%; + font-size: 12px; + color: var(--neutral-500); + } } &__controls { @@ -115,7 +170,7 @@ function togglePlay() { } .play_button { - background: var(--primary-600); + background: var(--primary-500); display: flex; padding: 16px 15px; align-items: center; diff --git a/frontend/src/items/Button.vue b/frontend/src/items/Button.vue index 974d633..989b303 100644 --- a/frontend/src/items/Button.vue +++ b/frontend/src/items/Button.vue @@ -35,7 +35,7 @@ const props = defineProps<{ color: white; &:hover { - background-color: var(--primary-600); + background-color: var(--primary-500); } } diff --git a/frontend/src/items/Loader.vue b/frontend/src/items/Loader.vue index 02371ac..19936fd 100644 --- a/frontend/src/items/Loader.vue +++ b/frontend/src/items/Loader.vue @@ -14,7 +14,7 @@ /* From Uiverse.io by mobinkakei */ .loader { --path: var(--neutral-950); - --dot: var(--primary-600); + --dot: var(--primary-500); --duration: 2.5s; --size: 44px; width: var(--size); diff --git a/frontend/src/items/PlaylistItem.vue b/frontend/src/items/PlaylistItem.vue index a81e1b6..9a2800a 100644 --- a/frontend/src/items/PlaylistItem.vue +++ b/frontend/src/items/PlaylistItem.vue @@ -1,5 +1,5 @@