From dd80e653ae15a3cabfa3c05ebe32fc6288f375a6 Mon Sep 17 00:00:00 2001 From: Stepan Fedyanin Date: Tue, 11 Jun 2024 17:49:36 +0500 Subject: [PATCH] add global player --- client/src/App.vue | 10 +-- client/src/assets/css/module/app-footer.scss | 2 +- client/src/assets/css/module/app.scss | 4 + client/src/assets/css/module/home.scss | 32 ++++++-- client/src/assets/css/module/loader.scss | 2 + client/src/assets/css/module/song.scss | 2 +- client/src/components/app-header.vue | 24 +++--- client/src/components/authentication.vue | 26 +++---- client/src/components/player.vue | 82 ++++++++++---------- client/src/components/song-item.vue | 17 ++-- client/src/components/song-list.vue | 25 +++--- client/src/services/app.js | 43 ++++++---- client/src/services/rest.js | 2 +- client/src/store/index.js | 60 +++++++++++++- client/src/views/home.vue | 8 +- client/src/views/profile.vue | 23 +++++- 16 files changed, 233 insertions(+), 129 deletions(-) diff --git a/client/src/App.vue b/client/src/App.vue index a81fbc5..e5eea1a 100644 --- a/client/src/App.vue +++ b/client/src/App.vue @@ -1,15 +1,15 @@ diff --git a/client/src/assets/css/module/app-footer.scss b/client/src/assets/css/module/app-footer.scss index 1eac130..8fd6329 100644 --- a/client/src/assets/css/module/app-footer.scss +++ b/client/src/assets/css/module/app-footer.scss @@ -1,5 +1,5 @@ .footer{ - padding: 0 0 var(--space-between-block); + padding-bottom: var(--space-between-block); width: 100%; &__top{ padding-bottom: 80px; diff --git a/client/src/assets/css/module/app.scss b/client/src/assets/css/module/app.scss index f7f5b4b..d954e32 100644 --- a/client/src/assets/css/module/app.scss +++ b/client/src/assets/css/module/app.scss @@ -29,6 +29,10 @@ &__content{ max-width: var(--container); margin: 0 auto; + padding: 0 50px; + @mixin responsive-l { + padding: 0 20px; + } .m--indentation{ } } diff --git a/client/src/assets/css/module/home.scss b/client/src/assets/css/module/home.scss index 39e4d4b..b3771ff 100644 --- a/client/src/assets/css/module/home.scss +++ b/client/src/assets/css/module/home.scss @@ -51,7 +51,12 @@ &__subtitle { text-align: center; + max-width: 600px; + margin: 0 auto; + @mixin responsive-l { + padding: 0 20px; + } span { font-weight: 700; } @@ -105,26 +110,31 @@ max-height: var(--base-content-size); background-size: contain; scale: 0.8; - margin-left: calc(-1920px + 100vw); + margin-left: calc((100vw + -1 * 1920px) / 2); } &__description { margin-top: calc(var(--space-between-sections) / 2); display: flex; justify-content: space-between; + flex-wrap: wrap; margin-bottom: var(--space-between-sections); + @mixin responsive-m { + gap: var(--space-between-block); + } } &__info { width: 60%; - + @mixin responsive-m { + width: 100%; + } &--item { display: flex; justify-content: space-between; color: transparent; background-clip: text; background-image: var(--linear-gradient); - &.m--circle { align-items: end; @@ -141,20 +151,32 @@ font-weight: 400; color: var(--color-white); width: 57%; + @mixin responsive-m { + width: 75%; + } } } } &__content { max-width: 360px; - + @mixin responsive-m { + display: flex; + align-items: flex-start; + gap: calc(var(--space-between-block) / 2); + max-width: none; + } &--item { display: flex; flex-direction: column; align-items: flex-start; font-size: 16px; margin-bottom: 2.5rem; - + position: relative; + z-index: 2; + @mixin responsive-m { + width: calc(100% / 3); + } &:before { content: ''; height: 50px; diff --git a/client/src/assets/css/module/loader.scss b/client/src/assets/css/module/loader.scss index 304b554..5394552 100644 --- a/client/src/assets/css/module/loader.scss +++ b/client/src/assets/css/module/loader.scss @@ -8,6 +8,8 @@ background-image: var(--linear-gradient); margin: 0.75rem 0; gap: 1rem; + position: relative; + z-index: 2; .spinner { width: 48px; height: 48px; diff --git a/client/src/assets/css/module/song.scss b/client/src/assets/css/module/song.scss index 8594758..3046873 100644 --- a/client/src/assets/css/module/song.scss +++ b/client/src/assets/css/module/song.scss @@ -5,7 +5,7 @@ gap: 0 var(--space-between-block); } &-item{ - width: calc(50% - 40px / 2); + width: calc(50% - var(--space-between-block) / 2); position: relative; display: flex; align-items: center; diff --git a/client/src/components/app-header.vue b/client/src/components/app-header.vue index 85639fc..8231164 100644 --- a/client/src/components/app-header.vue +++ b/client/src/components/app-header.vue @@ -5,12 +5,12 @@ logo