diff --git a/src/assets/icons/heart-solid.svg b/src/assets/icons/heart-solid.svg index b6b04b6..0269383 100644 --- a/src/assets/icons/heart-solid.svg +++ b/src/assets/icons/heart-solid.svg @@ -1 +1,2 @@ - \ No newline at end of file + + diff --git a/src/assets/icons/heart.svg b/src/assets/icons/heart.svg index d6dabd0..ac5b105 100644 --- a/src/assets/icons/heart.svg +++ b/src/assets/icons/heart.svg @@ -1 +1,2 @@ - \ No newline at end of file + + diff --git a/src/components/ButtonTwoTone.vue b/src/components/ButtonTwoTone.vue index 98de7aa..d2cde2b 100644 --- a/src/components/ButtonTwoTone.vue +++ b/src/components/ButtonTwoTone.vue @@ -29,6 +29,14 @@ export default { type: String, default: "blue", }, + backgroundColor: { + type: String, + default: "", + }, + textColor: { + type: String, + default: "", + }, shape: { type: String, default: "square", @@ -36,12 +44,16 @@ export default { }, computed: { buttonStyle() { - return { + let styles = { borderRadius: this.shape === "round" ? "50%" : "8px", padding: `8px ${this.horizontalPadding}px`, // height: "38px", width: this.shape === "round" ? "38px" : "auto", }; + if (this.backgroundColor !== "") + styles.backgroundColor = this.backgroundColor; + if (this.textColor !== "") styles.color = this.textColor; + return styles; }, }, }; @@ -74,7 +86,8 @@ button { } button.grey { background-color: var(--color-secondary-bg); - color: var(--color-secondary); + color: var(--color-text); + opacity: 0.78; } button.transparent { background-color: transparent; diff --git a/src/views/playlist.vue b/src/views/playlist.vue index 888f1c8..0de3370 100644 --- a/src/views/playlist.vue +++ b/src/views/playlist.vue @@ -1,6 +1,9 @@ - + @@ -61,7 +65,38 @@ - + + + + {{ specialPlaylistInfo.name }} + + {{ playlist.englishTitle }} · {{ playlist.updateFrequency }} + + + + + {{ $t("play") }} + + + + + + + {{ data.user.nickname @@ -100,6 +135,93 @@ import ButtonTwoTone from "@/components/ButtonTwoTone.vue"; import TrackList from "@/components/TrackList.vue"; import Cover from "@/components/Cover.vue"; +const specialPlaylist = { + 2829816518: { + name: "欧美私人订制", + gradient: "gradient-pink-purple-blue", + }, + 2890490211: { + name: "助眠鸟鸣声", + gradient: "gradient-green", + }, + 5089855855: { + name: "夜的胡思乱想", + gradient: "gradient-moonstone-blue", + }, + 2888212971: { + name: "全球百大DJ", + gradient: "gradient-orange-red", + }, + 2829733864: { + name: "睡眠伴侣", + gradient: "gradient-midnight-blue", + }, + 2829844572: { + name: "洗澡时听的歌", + gradient: "gradient-yellow", + }, + 2920647537: { + name: "还是会想你", + gradient: "gradient-dark-blue-midnight-blue", + }, + 2890501416: { + name: "助眠白噪声", + gradient: "gradient-sky-blue", + }, + 5217150082: { + name: "摇滚唱片行", + gradient: "gradient-yellow-red", + }, + 2829961453: { + name: "古风音乐大赏", + gradient: "gradient-fog", + }, + 4923261701: { + name: "Trance", + gradient: "gradient-light-red-light-blue ", + }, + 5212729721: { + name: "欧美点唱机", + gradient: "gradient-indigo-pink-yellow", + }, + 3103434282: { + name: "甜蜜少女心", + gradient: "gradient-pink", + }, + 2829896389: { + name: "日系私人订制", + gradient: "gradient-yellow-pink", + }, + 2829779628: { + name: "运动随身听", + gradient: "gradient-orange-red", + }, + 2860654884: { + name: "独立女声精选", + gradient: "gradient-sharp-blue", + }, + 898150: { + name: "浪漫婚礼专用", + gradient: "gradient-pink", + }, + 2638104052: { + name: "牛奶泡泡浴", + gradient: "gradient-fog", + }, + 5317236517: { + name: "后朋克精选", + gradient: "gradient-pink-purple-blue", + }, + 2821115454: { + name: "一周原创发现", + gradient: "gradient-blue-purple", + }, + 3136952023: { + name: "私人雷达", + gradient: "gradient-radar", + }, +}; + export default { name: "Playlist", components: { @@ -141,6 +263,9 @@ export default { accountLogin() { return isAccountLoggedIn(); }, + specialPlaylistInfo() { + return specialPlaylist[this.playlist.id]; + }, }, methods: { ...mapMutations(["appendTrackToPlayerList"]), @@ -221,7 +346,6 @@ export default {