mirror of
https://github.com/qier222/YesPlayMusic.git
synced 2025-03-30 19:55:26 +08:00
feat: dark mode support (#53)
This commit is contained in:
parent
4e482941ed
commit
b655c59761
28
src/App.vue
28
src/App.vue
@ -50,11 +50,36 @@ export default {
|
|||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,500;0,600;0,700;0,800;0,900;1,500;1,600;1,700;1,800;1,900&display=swap");
|
@import url("https://fonts.googleapis.com/css2?family=Barlow:ital,wght@0,500;0,600;0,700;0,800;0,900;1,500;1,600;1,700;1,800;1,900&display=swap");
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--color-body-bg: #ffffff;
|
||||||
|
--color-text: #000;
|
||||||
|
--color-primary: #335eea;
|
||||||
|
--color-primary-bg: #eaeffd;
|
||||||
|
--color-secondary: #7a7a7b;
|
||||||
|
--color-secondary-bg: #f5f5f7;
|
||||||
|
--color-navbar-bg: rgba(255, 255, 255, 0.86);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme="dark"] {
|
||||||
|
--color-body-bg: #222222;
|
||||||
|
--color-text: #ffffff;
|
||||||
|
--color-primary: #335eea;
|
||||||
|
--color-primary-bg: #bbcdff;
|
||||||
|
--color-secondary: #7a7a7b;
|
||||||
|
--color-secondary-bg: #323232;
|
||||||
|
--color-navbar-bg: #335eea;
|
||||||
|
--color-navbar-bg: rgba(34, 34, 34, 0.86);
|
||||||
|
}
|
||||||
|
|
||||||
#app {
|
#app {
|
||||||
font-family: "Barlow", -apple-system, BlinkMacSystemFont, Helvetica Neue,
|
font-family: "Barlow", -apple-system, BlinkMacSystemFont, Helvetica Neue,
|
||||||
PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC,
|
PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC,
|
||||||
WenQuanYi Micro Hei, sans-serif;
|
WenQuanYi Micro Hei, sans-serif;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
transition: all 0.4s;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
background-color: var(--color-body-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
@ -102,12 +127,13 @@ a {
|
|||||||
|
|
||||||
::-webkit-scrollbar-track {
|
::-webkit-scrollbar-track {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
border-left: 1px solid rgba(128, 128, 128, 0.18);
|
||||||
}
|
}
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb {
|
::-webkit-scrollbar-thumb {
|
||||||
-webkit-border-radius: 10px;
|
-webkit-border-radius: 10px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
background: rgb(216, 216, 216);
|
background: var(--color-secondary-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.slide-up-enter-active,
|
.slide-up-enter-active,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* rail style */
|
/* rail style */
|
||||||
.vue-slider-rail {
|
.vue-slider-rail {
|
||||||
background-color: #eee;
|
background-color: rgba(128, 128, 128, 0.18);
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +54,8 @@
|
|||||||
|
|
||||||
/* volume style */
|
/* volume style */
|
||||||
.volume-control .vue-slider-process {
|
.volume-control .vue-slider-process {
|
||||||
background-color: rgba(0, 0, 0, 0.8);
|
opacity: 0.8;
|
||||||
|
background-color: var(--color-text);
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ button {
|
|||||||
border-radius: 25%;
|
border-radius: 25%;
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
color: rgba(0, 0, 0, 0.88);
|
color: var(--color-text);
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
}
|
}
|
||||||
@ -27,7 +27,7 @@ button {
|
|||||||
margin-left: 0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #f5f5f7;
|
background: var(--color-secondary-bg);
|
||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
transform: scale(0.92);
|
transform: scale(0.92);
|
||||||
|
@ -54,8 +54,8 @@ button {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
background-color: rgba(51, 94, 234, 0.1);
|
background-color: var(--color-primary-bg);
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
@ -70,8 +70,8 @@ button {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
button.grey {
|
button.grey {
|
||||||
background-color: #f5f5f7;
|
background-color: var(--color-secondary-bg);
|
||||||
color: rgba(0, 0, 0, 0.5);
|
color: var(--color-secondary);
|
||||||
}
|
}
|
||||||
button.transparent {
|
button.transparent {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
@ -129,13 +129,13 @@ export default {
|
|||||||
|
|
||||||
.item {
|
.item {
|
||||||
margin: 12px 12px 24px 12px;
|
margin: 12px 12px 24px 12px;
|
||||||
|
color: var(--color-text);
|
||||||
.text {
|
.text {
|
||||||
width: 208px;
|
width: 208px;
|
||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
.name {
|
.name {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@ -145,7 +145,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.info {
|
.info {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
@ -170,7 +170,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.explicit-symbol {
|
.explicit-symbol {
|
||||||
color: rgba(0, 0, 0, 0.28);
|
opacity: 0.28;
|
||||||
|
color: var(--color-text);
|
||||||
float: right;
|
float: right;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-bottom: -3px;
|
margin-bottom: -3px;
|
||||||
@ -178,7 +179,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.lock-icon {
|
.lock-icon {
|
||||||
color: rgba(0, 0, 0, 0.28);
|
opacity: 0.28;
|
||||||
|
color: var(--color-text);
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
// float: right;
|
// float: right;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
@ -189,7 +191,8 @@ export default {
|
|||||||
|
|
||||||
.play-count {
|
.play-count {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.58);
|
opacity: 0.58;
|
||||||
|
color: var(--color-text);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
|
@ -76,11 +76,12 @@ export default {
|
|||||||
.mv {
|
.mv {
|
||||||
margin: 12px 12px 24px 12px;
|
margin: 12px 12px 24px 12px;
|
||||||
width: 204px;
|
width: 204px;
|
||||||
|
color: var(--color-text);
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
@ -88,7 +89,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
|
@ -103,7 +103,10 @@ nav {
|
|||||||
left: 10vw;
|
left: 10vw;
|
||||||
}
|
}
|
||||||
backdrop-filter: saturate(180%) blur(30px);
|
backdrop-filter: saturate(180%) blur(30px);
|
||||||
background-color: rgba(255, 255, 255, 0.86);
|
|
||||||
|
// background: var(--color-body-bg);
|
||||||
|
// background-color: rgba(255, 255, 255, 0.86);
|
||||||
|
background-color: var(--color-navbar-bg);
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,15 +130,15 @@ nav {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 6px 10px;
|
padding: 6px 10px;
|
||||||
color: black;
|
color: var(--color-text);
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
margin: {
|
margin: {
|
||||||
right: 12px;
|
right: 12px;
|
||||||
left: 12px;
|
left: 12px;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
transform: scale(0.92);
|
transform: scale(0.92);
|
||||||
@ -143,7 +146,7 @@ nav {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
a.active {
|
a.active {
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -163,7 +166,7 @@ nav {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 32px;
|
height: 32px;
|
||||||
background: rgba(0, 0, 0, 0.06);
|
background: var(--color-secondary-bg);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
@ -171,7 +174,8 @@ nav {
|
|||||||
.svg-icon {
|
.svg-icon {
|
||||||
height: 15px;
|
height: 15px;
|
||||||
width: 15px;
|
width: 15px;
|
||||||
color: #aaaaaa;
|
color: var(--color-text);
|
||||||
|
opacity: 0.28;
|
||||||
margin: {
|
margin: {
|
||||||
left: 8px;
|
left: 8px;
|
||||||
right: 4px;
|
right: 4px;
|
||||||
@ -185,13 +189,15 @@ nav {
|
|||||||
width: 96%;
|
width: 96%;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
input,
|
input,
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
color: #335eea;
|
opacity: 1;
|
||||||
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -205,6 +211,7 @@ nav {
|
|||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -294,7 +294,8 @@ export default {
|
|||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
height: 64px;
|
height: 64px;
|
||||||
backdrop-filter: saturate(180%) blur(30px);
|
backdrop-filter: saturate(180%) blur(30px);
|
||||||
background-color: rgba(255, 255, 255, 0.86);
|
// background-color: rgba(255, 255, 255, 0.86);
|
||||||
|
background-color: var(--color-navbar-bg);
|
||||||
z-index: 100;
|
z-index: 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,7 +335,8 @@ export default {
|
|||||||
.name {
|
.name {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@ -348,7 +350,8 @@ export default {
|
|||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.58);
|
opacity: 0.58;
|
||||||
|
color: var(--color-text);
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 1;
|
-webkit-line-clamp: 1;
|
||||||
@ -394,7 +397,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.active .svg-icon {
|
.active .svg-icon {
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
.volume-control {
|
.volume-control {
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
|
@ -159,7 +159,7 @@ button {
|
|||||||
.svg-icon {
|
.svg-icon {
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
transform: scale(0.92);
|
transform: scale(0.92);
|
||||||
@ -180,12 +180,16 @@ button {
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin: 0 20px 0 10px;
|
margin: 0 20px 0 10px;
|
||||||
width: 12px;
|
width: 12px;
|
||||||
color: rgba(0, 0, 0, 0.58);
|
color: var(--color-text);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
span {
|
||||||
|
opacity: 0.58;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.explicit-symbol {
|
.explicit-symbol {
|
||||||
color: rgba(0, 0, 0, 0.28);
|
opacity: 0.28;
|
||||||
|
color: var(--color-text);
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-bottom: -3px;
|
margin-bottom: -3px;
|
||||||
}
|
}
|
||||||
@ -221,7 +225,7 @@ button {
|
|||||||
.title {
|
.title {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
color: var(--color-text);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
padding-right: 16px;
|
padding-right: 16px;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@ -233,13 +237,14 @@ button {
|
|||||||
margin-right: 2px;
|
margin-right: 2px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.72);
|
opacity: 0.72;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
|
color: var(--color-text);
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 1;
|
-webkit-line-clamp: 1;
|
||||||
@ -247,7 +252,7 @@ button {
|
|||||||
a {
|
a {
|
||||||
span {
|
span {
|
||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
color: rgba(0, 0, 0, 0.8);
|
opacity: 0.8;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
@ -260,7 +265,8 @@ button {
|
|||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
@ -274,10 +280,12 @@ button {
|
|||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
font-variant-numeric: tabular-nums;
|
font-variant-numeric: tabular-nums;
|
||||||
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
transition: all 0.3s;
|
transition: all 0.3s;
|
||||||
background: #f5f5f7;
|
background: var(--color-secondary-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.track.disable {
|
.track.disable {
|
||||||
@ -290,7 +298,7 @@ button {
|
|||||||
.time,
|
.time,
|
||||||
.no,
|
.no,
|
||||||
.featured {
|
.featured {
|
||||||
color: rgba(0, 0, 0, 0.28) !important;
|
opacity: 0.28 !important;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: none;
|
background: none;
|
||||||
@ -325,24 +333,22 @@ button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.track.playing {
|
.track.playing {
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
.title,
|
.title,
|
||||||
.album {
|
.album,
|
||||||
color: #335eea;
|
.time {
|
||||||
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
.title .featured,
|
.title .featured,
|
||||||
.artist {
|
.artist,
|
||||||
color: #335eea;
|
.explicit-symbol {
|
||||||
|
color: var(--color-primary);
|
||||||
opacity: 0.88;
|
opacity: 0.88;
|
||||||
}
|
}
|
||||||
.no span {
|
.no span {
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
opacity: 0.78;
|
opacity: 0.78;
|
||||||
}
|
}
|
||||||
.explicit-symbol {
|
|
||||||
color: #335eea;
|
|
||||||
opacity: 0.88;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -108,5 +108,11 @@ export default {
|
|||||||
high: "High",
|
high: "High",
|
||||||
lossless: "Lossless",
|
lossless: "Lossless",
|
||||||
},
|
},
|
||||||
|
appearance: {
|
||||||
|
text: "Appearance",
|
||||||
|
auto: "Auto",
|
||||||
|
light: "Light",
|
||||||
|
dark: "Dark",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -6,9 +6,6 @@ export default {
|
|||||||
library: "资料库",
|
library: "资料库",
|
||||||
search: "搜索",
|
search: "搜索",
|
||||||
},
|
},
|
||||||
footer: {
|
|
||||||
settings: "设置",
|
|
||||||
},
|
|
||||||
home: {
|
home: {
|
||||||
recommendPlaylist: "推荐歌单",
|
recommendPlaylist: "推荐歌单",
|
||||||
recommendArtist: "推荐歌手",
|
recommendArtist: "推荐歌手",
|
||||||
@ -34,7 +31,7 @@ export default {
|
|||||||
albums: "专辑",
|
albums: "专辑",
|
||||||
withAlbums: "张专辑",
|
withAlbums: "张专辑",
|
||||||
artist: "歌手",
|
artist: "歌手",
|
||||||
videos: "个视频",
|
videos: "个MV",
|
||||||
},
|
},
|
||||||
album: {
|
album: {
|
||||||
released: "发行于",
|
released: "发行于",
|
||||||
@ -103,7 +100,7 @@ export default {
|
|||||||
songs: "首歌",
|
songs: "首歌",
|
||||||
},
|
},
|
||||||
settings: {
|
settings: {
|
||||||
settings: "选项",
|
settings: "设置",
|
||||||
logout: "登出",
|
logout: "登出",
|
||||||
language: "语言",
|
language: "语言",
|
||||||
musicQuality: {
|
musicQuality: {
|
||||||
@ -113,5 +110,11 @@ export default {
|
|||||||
high: "极高",
|
high: "极高",
|
||||||
lossless: "无损",
|
lossless: "无损",
|
||||||
},
|
},
|
||||||
|
appearance: {
|
||||||
|
text: "外观",
|
||||||
|
auto: "自动",
|
||||||
|
light: "浅色",
|
||||||
|
dark: "深色",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -45,4 +45,24 @@ if ([undefined, null].includes(store.state.settings.lang)) {
|
|||||||
localStorage.setItem("settings", JSON.stringify(store.state.settings));
|
localStorage.setItem("settings", JSON.stringify(store.state.settings));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
store.state.settings.appearance !== "auto" &&
|
||||||
|
store.state.settings.appearance !== undefined
|
||||||
|
) {
|
||||||
|
document.body.setAttribute("data-theme", store.state.settings.appearance);
|
||||||
|
} else {
|
||||||
|
document.body.setAttribute(
|
||||||
|
"data-theme",
|
||||||
|
window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
window
|
||||||
|
.matchMedia("(prefers-color-scheme: dark)")
|
||||||
|
.addEventListener("change", (e) => {
|
||||||
|
if (store.state.settings.appearance === "auto") {
|
||||||
|
store.commit("updateTmpAppearance", e.matches ? "dark" : "light");
|
||||||
|
document.body.setAttribute("data-theme", e.matches ? "dark" : "light");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
export default store;
|
export default store;
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
const initState = {
|
const initState = {
|
||||||
howler: null,
|
howler: null,
|
||||||
|
accountLogin: false,
|
||||||
|
usernameLogin: false,
|
||||||
liked: {
|
liked: {
|
||||||
songs: [],
|
songs: [],
|
||||||
},
|
},
|
||||||
@ -85,6 +87,7 @@ const initState = {
|
|||||||
id: 0,
|
id: 0,
|
||||||
},
|
},
|
||||||
lang: null,
|
lang: null,
|
||||||
|
appearance: "auto",
|
||||||
musicQuality: 320000,
|
musicQuality: 320000,
|
||||||
showGithubIcon: true,
|
showGithubIcon: true,
|
||||||
showPlaylistsByAppleMusic: true,
|
showPlaylistsByAppleMusic: true,
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
export default {
|
export default {
|
||||||
howler: null,
|
howler: null,
|
||||||
|
accountLogin: false,
|
||||||
|
usernameLogin: false,
|
||||||
liked: {
|
liked: {
|
||||||
songs: [],
|
songs: [],
|
||||||
},
|
},
|
||||||
@ -9,6 +11,4 @@ export default {
|
|||||||
},
|
},
|
||||||
player: JSON.parse(localStorage.getItem("player")),
|
player: JSON.parse(localStorage.getItem("player")),
|
||||||
settings: JSON.parse(localStorage.getItem("settings")),
|
settings: JSON.parse(localStorage.getItem("settings")),
|
||||||
accountLogin: false,
|
|
||||||
usernameLogin: false,
|
|
||||||
};
|
};
|
||||||
|
@ -200,6 +200,7 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-left: 56px;
|
margin-left: 56px;
|
||||||
|
color: var(--color-text);
|
||||||
.title {
|
.title {
|
||||||
font-size: 56px;
|
font-size: 56px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@ -208,7 +209,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
a {
|
a {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@ -216,13 +217,13 @@ export default {
|
|||||||
}
|
}
|
||||||
.date-and-count {
|
.date-and-count {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
.description {
|
.description {
|
||||||
user-select: none;
|
user-select: none;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
@ -230,8 +231,8 @@ export default {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
transition: color 0.3s;
|
transition: opacity 0.3s;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -281,7 +282,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.explicit-symbol {
|
.explicit-symbol {
|
||||||
color: rgba(0, 0, 0, 0.28);
|
opacity: 0.28;
|
||||||
|
color: var(--color-text);
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-bottom: -3px;
|
margin-bottom: -3px;
|
||||||
@ -292,22 +294,25 @@ export default {
|
|||||||
margin-top: 36px;
|
margin-top: 36px;
|
||||||
margin-bottom: 36px;
|
margin-bottom: 36px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.48);
|
opacity: 0.48;
|
||||||
|
color: var(--color-text);
|
||||||
div {
|
div {
|
||||||
margin-bottom: 8px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
.album-time {
|
.album-time {
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.more-by {
|
.more-by {
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.08);
|
border-top: 1px solid rgba(128, 128, 128, 0.18);
|
||||||
|
|
||||||
padding-top: 22px;
|
padding-top: 22px;
|
||||||
.section-title {
|
.section-title {
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -195,6 +195,7 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 72px;
|
margin-bottom: 72px;
|
||||||
|
color: var(--color-text);
|
||||||
img {
|
img {
|
||||||
height: 192px;
|
height: 192px;
|
||||||
width: 192px;
|
width: 192px;
|
||||||
@ -209,13 +210,13 @@ export default {
|
|||||||
|
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.statistics {
|
.statistics {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -234,12 +235,14 @@ export default {
|
|||||||
.section-title {
|
.section-title {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
margin-top: 46px;
|
margin-top: 46px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.latest-release {
|
.latest-release {
|
||||||
|
color: var(--color-text);
|
||||||
.release {
|
.release {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
@ -258,17 +261,16 @@ export default {
|
|||||||
.name {
|
.name {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
}
|
}
|
||||||
.date {
|
.date {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.78);
|
opacity: 0.78;
|
||||||
}
|
}
|
||||||
.type {
|
.type {
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -281,11 +283,12 @@ export default {
|
|||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.78);
|
opacity: 0.78;
|
||||||
|
color: var(--color-secondary);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #f5f5f7;
|
opacity: 1;
|
||||||
color: rgba(0, 0, 0, 0.96);
|
// background: var(--color-primary-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -161,6 +161,7 @@ export default {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
h1 {
|
h1 {
|
||||||
|
color: var(--color-text);
|
||||||
font-size: 56px;
|
font-size: 56px;
|
||||||
}
|
}
|
||||||
.buttons {
|
.buttons {
|
||||||
@ -178,19 +179,18 @@ h1 {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
color: rgb(0, 0, 0);
|
background-color: var(--color-secondary-bg);
|
||||||
background-color: #f5f5f7;
|
color: var(--color-secondary);
|
||||||
color: rgba(0, 0, 0, 0.68);
|
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: rgba(51, 94, 234, 0.1);
|
background-color: var(--color-primary-bg);
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.button.active {
|
.button.active {
|
||||||
background-color: rgba(51, 94, 234, 0.1);
|
background-color: var(--color-primary-bg);
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.playlists {
|
.playlists {
|
||||||
|
@ -54,7 +54,7 @@
|
|||||||
:color="'grey'"
|
:color="'grey'"
|
||||||
@click.native="goTo('/settings')"
|
@click.native="goTo('/settings')"
|
||||||
>
|
>
|
||||||
{{ $t("footer.settings") }}
|
{{ $t("settings.settings") }}
|
||||||
</ButtonTwoTone>
|
</ButtonTwoTone>
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
@ -161,40 +161,11 @@ export default {
|
|||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
color: var(--color-text);
|
||||||
a {
|
a {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.item {
|
|
||||||
margin: 12px 12px 24px 12px;
|
|
||||||
.text {
|
|
||||||
width: 208px;
|
|
||||||
margin-top: 8px;
|
|
||||||
.name {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 600;
|
|
||||||
color: rgba(0, 0, 0, 0.88);
|
|
||||||
line-height: 20px;
|
|
||||||
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.info {
|
|
||||||
font-size: 12px;
|
|
||||||
color: rgba(0, 0, 0, 0.68);
|
|
||||||
line-height: 18px;
|
|
||||||
display: -webkit-box;
|
|
||||||
-webkit-box-orient: vertical;
|
|
||||||
-webkit-line-clamp: 2;
|
|
||||||
overflow: hidden;
|
|
||||||
// margin-top: 4px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,6 +186,7 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 42px;
|
font-size: 42px;
|
||||||
|
color: var(--color-text);
|
||||||
.head {
|
.head {
|
||||||
height: 44px;
|
height: 44px;
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
@ -220,25 +221,21 @@ h1 {
|
|||||||
transition: all 0.4s;
|
transition: all 0.4s;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
// background: linear-gradient(-30deg, #60a6f7, #4364f7, #0052d4);
|
|
||||||
// color: white;
|
|
||||||
// background: linear-gradient(149.46deg, #450af5, #8e8ee5 99.16%);
|
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
color: var(--color-primary);
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
color: #335eea;
|
|
||||||
}
|
}
|
||||||
.sub-title {
|
.sub-title {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
color: #335eea;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
@ -248,16 +245,14 @@ h1 {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
height: 44px;
|
height: 44px;
|
||||||
width: 44px;
|
width: 44px;
|
||||||
// background: rgba(255, 255, 255, 1);
|
background: var(--color-primary);
|
||||||
background: #335eea;
|
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
box-shadow: 0 6px 12px -4px rgba(0, 0, 0, 0.2);
|
box-shadow: 0 6px 12px -4px rgba(0, 0, 0, 0.2);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
// color: #3f63f5;
|
color: var(--color-primary-bg);
|
||||||
color: #eaeffd;
|
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
@ -277,7 +272,8 @@ h1 {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(51, 94, 234, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-primary);
|
||||||
p {
|
p {
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
@ -287,7 +283,8 @@ h1 {
|
|||||||
.playlists {
|
.playlists {
|
||||||
margin-top: 54px;
|
margin-top: 54px;
|
||||||
.title {
|
.title {
|
||||||
color: rgba(0, 0, 0, 0.88);
|
color: var(--color-text);
|
||||||
|
opacity: 0.88;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
@ -206,6 +206,7 @@ export default {
|
|||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
margin-bottom: 48px;
|
margin-bottom: 48px;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-1 {
|
.section-1 {
|
||||||
@ -216,11 +217,6 @@ export default {
|
|||||||
height: 64px;
|
height: 64px;
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
}
|
}
|
||||||
.svg-icon {
|
|
||||||
height: 24px;
|
|
||||||
width: 24px;
|
|
||||||
color: rgba(82, 82, 82, 0.28);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-2 {
|
.section-2 {
|
||||||
@ -233,12 +229,13 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
|
color: var(--color-text);
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 46px;
|
height: 46px;
|
||||||
background: rgba(0, 0, 0, 0.06);
|
background: var(--color-secondary-bg);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
width: 300px;
|
width: 300px;
|
||||||
}
|
}
|
||||||
@ -265,7 +262,12 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
color: var(--color-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
input::placeholder {
|
||||||
|
color: var(--color-text);
|
||||||
|
opacity: 0.38;
|
||||||
}
|
}
|
||||||
|
|
||||||
input#countryCode {
|
input#countryCode {
|
||||||
@ -276,10 +278,10 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.active {
|
.active {
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
input,
|
input,
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -290,8 +292,8 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
background-color: rgba(51, 94, 234, 0.1);
|
background-color: var(--color-primary-bg);
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
@ -311,17 +313,19 @@ export default {
|
|||||||
a {
|
a {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
color: var(--color-text);
|
||||||
|
opacity: 0.68;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.notice {
|
.notice {
|
||||||
width: 300px;
|
width: 300px;
|
||||||
border-top: 1px solid rgba(0, 0, 0, 0.18);
|
border-top: 1px solid rgba(128, 128, 128);
|
||||||
margin-top: 48px;
|
margin-top: 48px;
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.48);
|
color: var(--color-text);
|
||||||
|
opacity: 0.48;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes loading {
|
@keyframes loading {
|
||||||
@ -346,7 +350,7 @@ button.loading {
|
|||||||
.loading span {
|
.loading span {
|
||||||
width: 6px;
|
width: 6px;
|
||||||
height: 6px;
|
height: 6px;
|
||||||
background-color: #335eea;
|
background-color: var(--color-primary);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
margin: 0 2px;
|
margin: 0 2px;
|
||||||
animation: loading 1.4s infinite both;
|
animation: loading 1.4s infinite both;
|
||||||
|
@ -97,7 +97,7 @@ export default {
|
|||||||
this.$router.push({ path: "/library" });
|
this.$router.push({ path: "/library" });
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
throttleSearch: throttle(function () {
|
throttleSearch: throttle(function() {
|
||||||
this.search();
|
this.search();
|
||||||
}, 500),
|
}, 500),
|
||||||
},
|
},
|
||||||
@ -107,6 +107,7 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.login {
|
.login {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
@ -121,7 +122,7 @@ export default {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
color: rgba(0, 0, 0, 0.78);
|
opacity: 0.78;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -132,13 +133,13 @@ export default {
|
|||||||
height: 48px;
|
height: 48px;
|
||||||
border-radius: 11px;
|
border-radius: 11px;
|
||||||
width: 326px;
|
width: 326px;
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
height: 22px;
|
height: 22px;
|
||||||
width: 22px;
|
width: 22px;
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
margin: {
|
margin: {
|
||||||
left: 12px;
|
left: 12px;
|
||||||
right: 8px;
|
right: 8px;
|
||||||
@ -153,9 +154,10 @@ export default {
|
|||||||
width: 115%;
|
width: 115%;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
margin-top: -1px;
|
margin-top: -1px;
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: #335eeac4;
|
color: var(--color-primary);
|
||||||
|
opacity: 0.78;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -187,15 +189,15 @@ export default {
|
|||||||
margin-left: 12px;
|
margin-left: 12px;
|
||||||
}
|
}
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #f5f5f7;
|
background: var(--color-secondary-bg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.user.active {
|
.user.active {
|
||||||
transition: 0.2s;
|
transition: 0.2s;
|
||||||
background: #eaeffd;
|
background: var(--color-primary-bg);
|
||||||
.name {
|
.nickname {
|
||||||
color: #335eea;
|
color: var(--color-primary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -127,19 +127,20 @@ export default {
|
|||||||
|
|
||||||
.video-info {
|
.video-info {
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
|
color: var(--color-text);
|
||||||
.title {
|
.title {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
.info {
|
.info {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -149,7 +150,8 @@ export default {
|
|||||||
.section-title {
|
.section-title {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
color: var(--color-text);
|
||||||
|
opacity: 0.88;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -41,7 +41,7 @@ export default {
|
|||||||
},
|
},
|
||||||
sortedTracks() {
|
sortedTracks() {
|
||||||
function compare(property) {
|
function compare(property) {
|
||||||
return function (obj1, obj2) {
|
return function(obj1, obj2) {
|
||||||
var value1 = obj1[property];
|
var value1 = obj1[property];
|
||||||
var value2 = obj2[property];
|
var value2 = obj2[property];
|
||||||
return value1 - value2;
|
return value1 - value2;
|
||||||
@ -106,5 +106,6 @@ h1 {
|
|||||||
margin-top: 36px;
|
margin-top: 36px;
|
||||||
margin-bottom: 18px;
|
margin-bottom: 18px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -27,7 +27,9 @@
|
|||||||
>
|
>
|
||||||
<a
|
<a
|
||||||
v-else
|
v-else
|
||||||
:href="`https://music.163.com/#/user/home?id=${playlist.creator.userId}`"
|
:href="
|
||||||
|
`https://music.163.com/#/user/home?id=${playlist.creator.userId}`
|
||||||
|
"
|
||||||
target="blank"
|
target="blank"
|
||||||
>{{ playlist.creator.nickname }}</a
|
>{{ playlist.creator.nickname }}</a
|
||||||
>
|
>
|
||||||
@ -226,20 +228,24 @@ export default {
|
|||||||
.title {
|
.title {
|
||||||
font-size: 36px;
|
font-size: 36px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
}
|
}
|
||||||
.date-and-count {
|
.date-and-count {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
|
color: var(--color-text);
|
||||||
margin-top: 2px;
|
margin-top: 2px;
|
||||||
}
|
}
|
||||||
.description {
|
.description {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
|
color: var(--color-text);
|
||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
@ -247,8 +253,8 @@ export default {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
&:hover {
|
&:hover {
|
||||||
transition: color 0.3s;
|
transition: opacity 0.3s;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.buttons {
|
.buttons {
|
||||||
@ -299,6 +305,7 @@ export default {
|
|||||||
.user-info {
|
.user-info {
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 42px;
|
font-size: 42px;
|
||||||
|
color: var(--color-text);
|
||||||
.avatar {
|
.avatar {
|
||||||
height: 44px;
|
height: 44px;
|
||||||
margin-right: 12px;
|
margin-right: 12px;
|
||||||
|
@ -192,15 +192,17 @@ export default {
|
|||||||
h1 {
|
h1 {
|
||||||
margin-top: -10px;
|
margin-top: -10px;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
color: var(--color-text);
|
||||||
span {
|
span {
|
||||||
color: rgba(0, 0, 0, 0.58);
|
opacity: 0.58;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.section-title {
|
.section-title {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
font-size: 22px;
|
font-size: 22px;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
opacity: 0.88;
|
||||||
|
color: var(--color-text);
|
||||||
margin-bottom: 16px;
|
margin-bottom: 16px;
|
||||||
margin-top: 46px;
|
margin-top: 46px;
|
||||||
}
|
}
|
||||||
@ -219,6 +221,7 @@ h1 {
|
|||||||
padding-right: 48px;
|
padding-right: 48px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
color: var(--color-text);
|
||||||
.artist {
|
.artist {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -236,6 +239,7 @@ h1 {
|
|||||||
|
|
||||||
.albums-list {
|
.albums-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
color: var(--color-text);
|
||||||
.album {
|
.album {
|
||||||
img {
|
img {
|
||||||
height: 128px;
|
height: 128px;
|
||||||
@ -249,7 +253,6 @@ h1 {
|
|||||||
.name {
|
.name {
|
||||||
margin-top: 6px;
|
margin-top: 6px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: rgba(0, 0, 0, 0.88);
|
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
width: 128px;
|
width: 128px;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
@ -259,7 +262,7 @@ h1 {
|
|||||||
}
|
}
|
||||||
.artist {
|
.artist {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
color: rgba(0, 0, 0, 0.68);
|
opacity: 0.68;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user