diff --git a/android/app/src/main/assets/fonts/icomoon.ttf b/android/app/src/main/assets/fonts/icomoon.ttf index 0ef931d0..4a13d0a3 100644 Binary files a/android/app/src/main/assets/fonts/icomoon.ttf and b/android/app/src/main/assets/fonts/icomoon.ttf differ diff --git a/publish/changeLog.md b/publish/changeLog.md index 93960fff..daa88a5d 100644 --- a/publish/changeLog.md +++ b/publish/changeLog.md @@ -1,11 +1,13 @@ ### 新增 - 同步功能新增对列表位置调整的支持(若你使用同步功能,请务必升级到此版本以上,不然会有问题) +- 新增播放详情页歌词字体大小调整设置,可在详情页右上角的按钮进行调整 ### 优化 - 修改对播放模块的调用,杜绝应用显示正在播放的歌曲与实际播放歌曲不一致的问题(这是播放模块歌曲队列与应用内歌曲队列在某些情况下出现不一致时导致的) - 支持PC端同步功能添加对列表顺序调整的控制,确保手动调整位置后的列表与不同的电脑同步时,列表位置不会被还原 +- 调整横屏下的播放详情页布局,提高屏幕空间利用率并使其更易操作 ### 修复 diff --git a/src/components/common/Popup.js b/src/components/common/Popup.js new file mode 100644 index 00000000..fe777757 --- /dev/null +++ b/src/components/common/Popup.js @@ -0,0 +1,126 @@ +import React, { useMemo } from 'react' +import { StyleSheet, View, Text, TouchableOpacity, StatusBar } from 'react-native' + +import Modal from './Modal' +import Icon from './Icon' +import { useGetter } from '@/store' +import { useKeyboard } from '@/utils/hooks' + +const styles = StyleSheet.create({ + centeredView: { + flex: 1, + // justifyContent: 'flex-end', + // alignItems: 'center', + }, + modalView: { + elevation: 3, + }, + header: { + flexGrow: 0, + flexShrink: 0, + flexDirection: 'row', + borderTopLeftRadius: 8, + borderTopRightRadius: 8, + }, + title: { + fontSize: 13, + paddingLeft: 5, + paddingRight: 25, + lineHeight: 20, + }, + closeBtn: { + position: 'absolute', + right: 0, + // borderTopRightRadius: 8, + flexGrow: 0, + flexShrink: 0, + height: 30, + width: 30, + justifyContent: 'center', + alignItems: 'center', + // backgroundColor: '#eee', + }, +}) + + +export default ({ + visible = false, + hideDialog = () => {}, + keyHide = true, + bgHide = true, + closeBtn = true, + position = 'bottom', + title = '', + children, +}) => { + const theme = useGetter('common', 'theme') + const { keyboardShown, keyboardHeight } = useKeyboard() + + const closeBtnComponent = useMemo(() => closeBtn ? : null, [closeBtn, hideDialog, theme]) + + const [centeredViewStyle, modalViewStyle] = useMemo(() => { + switch (position) { + case 'top': + return [ + { justifyContent: 'flex-start' }, + { + width: '100%', + maxHeight: '78%', + minHeight: '20%', + backgroundColor: 'white', + paddingTop: StatusBar.currentHeight, + }, + ] + case 'left': + return [ + { flexDirection: 'row', justifyContent: 'flex-start' }, + { + minWidth: '45%', + maxWidth: '78%', + height: '100%', + backgroundColor: 'white', + paddingTop: StatusBar.currentHeight, + }, + ] + case 'right': + return [ + { flexDirection: 'row', justifyContent: 'flex-end' }, + { + minWidth: '45%', + maxWidth: '78%', + height: '100%', + backgroundColor: 'white', + paddingTop: StatusBar.currentHeight, + }, + ] + case 'bottom': + default: + return [ + { justifyContent: 'flex-end' }, + { + width: '100%', + maxHeight: '78%', + minHeight: '20%', + backgroundColor: 'white', + borderTopLeftRadius: 8, + borderTopRightRadius: 8, + }, + ] + } + }, [position]) + + return ( + + + + true}> + + {title} + {closeBtnComponent} + + {children} + + + + ) +} diff --git a/src/components/common/Slider.js b/src/components/common/Slider.js new file mode 100644 index 00000000..5ef48c97 --- /dev/null +++ b/src/components/common/Slider.js @@ -0,0 +1,37 @@ +import React, { memo } from 'react' + +import Slider from '@react-native-community/slider' +import { StyleSheet } from 'react-native' +import { useGetter } from '@/store' + +export default memo(({ value, minimumValue, maximumValue, onSlidingStart, onSlidingComplete, onValueChange, step }) => { + const theme = useGetter('common', 'theme') + + return ( + + ) +}) + + +const styles = StyleSheet.create({ + slider: { + flexShrink: 0, + flexGrow: 1, + // width: '100%', + // maxWidth: 300, + height: 40, + // backgroundColor: '#eee', + }, +}) diff --git a/src/config/defaultSetting.js b/src/config/defaultSetting.js index c10f5077..61c19214 100644 --- a/src/config/defaultSetting.js +++ b/src/config/defaultSetting.js @@ -3,7 +3,7 @@ // const { isMac } = require('./utils') const defaultSetting = { - version: '1.14', + version: '1.15', player: { togglePlayMethod: 'listLoop', highQuality: false, @@ -13,6 +13,16 @@ const defaultSetting = { timeoutExitPlayed: true, isHandleAudioFocus: true, isShowLyricTranslation: false, + portrait: { + style: { + lrcFontSize: 160, + }, + }, + landscape: { + style: { + lrcFontSize: 180, + }, + }, }, desktopLyric: { enable: false, diff --git a/src/resources/fonts/icomoon.ttf b/src/resources/fonts/icomoon.ttf index 0ef931d0..4a13d0a3 100644 Binary files a/src/resources/fonts/icomoon.ttf and b/src/resources/fonts/icomoon.ttf differ diff --git a/src/resources/fonts/selection.json b/src/resources/fonts/selection.json index 91e00881..dbe872d0 100644 --- a/src/resources/fonts/selection.json +++ b/src/resources/fonts/selection.json @@ -1 +1 @@ -{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M932.54 573.38c17.54-29.7 27.46-61.38 27.46-99.68 0-88.030-74.436-171.16-171.64-171.16h-72.96c9.84-25.62 17.7-56.26 17.7-93.080 0-145.588-75.38-209.46-190.54-209.46-123.214 0-116.186 189.866-143.52 217.2-45.494 45.494-99.23 132.894-137.52 166.8h-197.52c-35.346 0-64 28.654-64 64v480c0 35.346 28.654 64 64 64h128c29.786 0 54.816-20.348 61.956-47.9 89.018 2.002 150.12 79.88 355.604 79.88 14.44 0 30.44 0.020 44.44 0.020 154.234 0 223.972-78.846 225.88-190.66 26.638-36.85 40.598-86.244 34.68-133.98 19.708-36.904 27.328-80.686 17.98-125.98zM809.040 681.040c25.12 42.26 2.52 98.82-27.88 115.14 15.4 97.56-35.216 131.8-106.24 131.8h-75.64c-143.278 0-236.058-75.64-343.28-75.64v-372.34h21.84c56.72 0 135.96-141.78 189.080-194.92 56.72-56.72 37.82-151.26 75.64-189.080 94.54 0 94.54 65.96 94.54 113.46 0 78.34-56.72 113.44-56.72 189.080h207.98c42.22 0 75.46 37.82 75.64 75.64 0.18 37.8-25.64 75.62-44.54 75.62 26.978 29.11 32.742 90.472-10.42 131.24zM176 864c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-thumbs-up"]},"attrs":[{}],"properties":{"order":851,"id":29,"name":"thumbs-up","prevSize":32,"code":59675},"setIdx":0,"setId":3,"iconIdx":0},{"icon":{"paths":["M682.667 469.333h-341.333v-85.333h341.333v85.333zM938.667 170.667v512c0 47.36-37.973 85.333-85.333 85.333h-260.267l-157.867 158.293c-8.533 8.107-19.2 12.373-29.867 12.373h-21.333c-23.467 0-42.667-19.2-42.667-42.667v-128h-170.667c-46.933 0-85.333-37.973-85.333-85.333v-512c0-47.36 38.4-85.333 85.333-85.333h682.667c47.36 0 85.333 38.4 85.333 85.333zM853.333 170.667h-682.667v512h256v131.413l131.413-131.413h295.253v-512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-comment"]},"attrs":[{}],"properties":{"order":850,"id":28,"name":"comment","prevSize":32,"code":59674},"setIdx":0,"setId":3,"iconIdx":1},{"icon":{"paths":["M336.213 144.64l-54.613-65.28-196.267 164.267 55.040 65.28 195.84-164.267zM938.667 244.053l-196.267-164.693-55.040 65.28 196.267 164.693 55.040-65.28zM512 170.667c-212.077 0-384 171.923-384 384v0c0 212.077 171.923 384 384 384v0c212.077 0 384-171.923 384-384v0c0-212.077-171.923-384-384-384v0zM512 853.333c-164.949 0-298.667-133.718-298.667-298.667v0c0-164.949 133.718-298.667 298.667-298.667v0c164.949 0 298.667 133.718 298.667 298.667v0c0 164.949-133.718 298.667-298.667 298.667v0zM384 469.333h154.88l-154.88 179.2v76.8h256v-85.333h-154.88l154.88-179.2v-76.8h-256v85.333z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-alarm-snooze"]},"attrs":[{}],"properties":{"order":849,"id":27,"name":"alarm-snooze","prevSize":32,"code":59673},"setIdx":0,"setId":3,"iconIdx":2},{"icon":{"paths":["M85.333 682.667h341.333v-85.333h-341.333zM768 597.333v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333zM597.333 256h-512v85.333h512zM597.333 426.667h-512v85.333h512v-85.333z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-playlist-plus"]},"attrs":[{}],"properties":{"order":847,"id":26,"name":"playlist-plus","prevSize":32,"code":59672},"setIdx":0,"setId":3,"iconIdx":3},{"icon":{"paths":["M512 340s-124.938-153.616-282-48c-140.476 153.648-60.182 358.16 282 538 42.678-16.722 88-34 88-34 38-12.784 56.31 41.484 32 52-55.178 23.87 11.948-8.282-120 56-583.048-276.3-424.014-605.938-322-670 173.6-131.78 324 20 324 20s116.316-121.046 280-46c208.064 117.056 128 323.8 90 392-18.304 30.308-79.118-8.318-64-32 40.68-75.776 91.044-214.698-50-300-140.162-60.16-258 72-258 72z","M766 736c-16.2 0.020-49.54-0.31-80 0-31.426 0.32-30.564 69.928 0 70 30.2 0.070 80 0 80 0s-0.136 85.6 0 96c0.416 31.922 64.522 31.582 64-2-0.144-9.298 0-94 0-94s76.016-0.062 86 0c31.464 0.092 29.894-67.96-2-68-9.768 0.186-84 0-84 0s-0.106-56.682 0-92c0.092-30.378-64.056-31.024-64 0 0.054 29.48-0.436 84.278 0 90z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-add-music"]},"attrs":[{},{}],"properties":{"order":843,"id":25,"name":"add-music","prevSize":32,"code":59670},"setIdx":0,"setId":3,"iconIdx":4},{"icon":{"paths":["M682.667 469.333h-341.333v-85.333h341.333v85.333zM938.667 170.667v512c0 47.36-37.973 85.333-85.333 85.333h-260.267l-157.867 158.293c-8.533 8.107-19.2 12.373-29.867 12.373h-21.333c-23.467 0-42.667-19.2-42.667-42.667v-128h-170.667c-46.933 0-85.333-37.973-85.333-85.333v-512c0-47.36 38.4-85.333 85.333-85.333h682.667c47.36 0 85.333 38.4 85.333 85.333zM853.333 170.667h-682.667v512h256v131.413l131.413-131.413h295.253v-512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["comment-minus-outline"]},"attrs":[{}],"properties":{"order":840,"id":24,"name":"comment-minus-outline","prevSize":32,"code":59671},"setIdx":0,"setId":3,"iconIdx":5},{"icon":{"paths":["M666.587 719.627l-207.627-207.627 207.627-208.080-63.92-63.92-272 272 272 272 63.92-64.373z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-chevron-left"]},"attrs":[{}],"properties":{"order":845,"id":23,"name":"chevron-left","prevSize":32,"code":59669},"setIdx":0,"setId":3,"iconIdx":6},{"icon":{"paths":["M512 682.667c47.128 0 85.333 38.205 85.333 85.333v0c0 47.128-38.205 85.333-85.333 85.333v0c-47.128 0-85.333-38.205-85.333-85.333v0c0-47.128 38.205-85.333 85.333-85.333v0zM512 426.667c47.128 0 85.333 38.205 85.333 85.333v0c0 47.128-38.205 85.333-85.333 85.333v0c-47.128 0-85.333-38.205-85.333-85.333v0c0-47.128 38.205-85.333 85.333-85.333v0zM512 170.667c47.128 0 85.333 38.205 85.333 85.333v0c0 47.128-38.205 85.333-85.333 85.333v0c-47.128 0-85.333-38.205-85.333-85.333v0c0-47.128 38.205-85.333 85.333-85.333v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-dots-vertical"]},"attrs":[{}],"properties":{"order":833,"id":21,"name":"dots-vertical","prevSize":32,"code":59667},"setIdx":0,"setId":3,"iconIdx":7},{"icon":{"paths":["M256 512h128l-170.667-170.667-170.667 170.667h128c0 188.513 152.82 341.333 341.333 341.333v0c66.987 0 129.28-19.627 181.76-52.907l-62.293-62.293c-35.413 19.2-76.8 29.867-119.467 29.867-141.385 0-256-114.615-256-256v0zM330.24 223.573l62.293 62.293c35.84-18.773 76.8-29.867 119.467-29.867 141.385 0 256 114.615 256 256v0h-128l170.667 170.667 170.667-170.667-128 0c0-188.513-152.82-341.333-341.333-341.333v0c-66.987 0-129.28 19.627-181.76 52.907z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-autorenew"]},"attrs":[{}],"properties":{"order":832,"id":20,"name":"autorenew","prevSize":32,"code":59665},"setIdx":0,"setId":3,"iconIdx":8},{"icon":{"paths":["M426.667 170.667l85.333 85.333h341.333c47.128 0 85.333 38.205 85.333 85.333v0 426.667c0 47.128-38.205 85.333-85.333 85.333v0h-682.667c-47.36 0-85.333-38.4-85.333-85.333v-512c0-47.36 37.973-85.333 85.333-85.333h256zM640 384v128h-128v85.333h128v128h85.333v-128h128v-85.333h-128v-128h-85.333z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-folder-plus"]},"attrs":[{}],"properties":{"order":831,"id":19,"name":"folder-plus","prevSize":32,"code":59666},"setIdx":0,"setId":3,"iconIdx":9},{"icon":{"paths":["M570.952 545.942l-388.688 388.686c-18.746 18.746-49.138 18.746-67.882 0l-45.334-45.334c-18.714-18.714-18.75-49.044-0.080-67.802l308.042-309.492-308.042-309.49c-18.67-18.758-18.634-49.088 0.080-67.802l45.334-45.334c18.746-18.746 49.138-18.746 67.882 0l388.686 388.686c18.746 18.744 18.746 49.136 0.002 67.882z"],"attrs":[{}],"width":640,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-chevron-right"]},"attrs":[{}],"properties":{"order":830,"id":18,"name":"chevron-right","prevSize":32,"code":59664},"setIdx":0,"setId":3,"iconIdx":10},{"icon":{"paths":["M842.667 247.937l-66.604-66.604-264.063 264.063-264.063-264.063-66.604 66.604 264.063 264.063-264.063 264.063 66.604 66.604 264.063-264.063 264.063 264.063 66.604-66.604-264.063-264.063 264.063-264.063z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-remove"]},"attrs":[{}],"properties":{"order":828,"id":17,"prevSize":32,"code":59663,"name":"remove"},"setIdx":0,"setId":3,"iconIdx":11},{"icon":{"paths":["M633.703 512l365.094-365.094c33.607-33.607 33.607-88.095 0-121.698-33.607-33.607-88.091-33.607-121.698 0l-365.099 365.099-365.099-365.104c-33.607-33.607-88.091-33.607-121.698 0-33.603 33.607-33.603 88.095 0 121.698l365.099 365.094-365.099 365.099c-33.603 33.607-33.603 88.095 0 121.698 33.607 33.607 88.091 33.607 121.698 0l365.099-365.099 365.099 365.099c33.603 33.607 88.091 33.607 121.698 0s33.607-88.091 0-121.698l-365.094-365.094z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-close"]},"attrs":[{}],"properties":{"order":826,"id":15,"name":"close","prevSize":32,"code":59662},"setIdx":0,"setId":3,"iconIdx":12},{"icon":{"paths":["M52.504 168.606v686.806c0 93.13 61.701 168.588 137.82 168.588 76.127 0 137.865-75.462 137.865-168.588v-686.806c0-93.085-61.738-168.577-137.865-168.577-76.119-0.030-137.82 75.492-137.82 168.577z","M833.635 0c-76.112 0-137.813 75.492-137.813 168.577v686.806c0 93.13 61.701 168.558 137.813 168.558s137.861-75.433 137.861-168.558v-686.776c-0.033-93.085-61.749-168.606-137.861-168.606z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-pause"]},"attrs":[{},{}],"properties":{"order":808,"id":1,"name":"pause","prevSize":32,"code":59661},"setIdx":0,"setId":3,"iconIdx":13},{"icon":{"paths":["M298.667 298.667h426.667v128l170.667-170.667-170.667-170.667v128h-512v256h85.333v-170.667zM725.333 725.333h-426.667v-128l-170.667 170.667 170.667 170.667v-128h512v-256h-85.333v170.667z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-list-loop"],"defaultCode":59648},"attrs":[{}],"properties":{"order":809,"id":2,"name":"list-loop","prevSize":32,"code":59648},"setIdx":0,"setId":3,"iconIdx":14},{"icon":{"paths":["M856 213.862v567.6h-120.4v-303.862c0-45.862 0-68.8 0-80.262s-5.738-17.2-17.2-22.938c-5.738-5.738-28.662-5.738-57.338-5.738h-11.462v-63.062c57.338-17.2 103.2-45.862 131.862-91.738h74.538z","M168 856l487.338-344-487.338-344z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-single"],"defaultCode":59649},"attrs":[{},{}],"properties":{"order":810,"id":3,"name":"single","prevSize":32,"code":59649},"setIdx":0,"setId":3,"iconIdx":15},{"icon":{"paths":["M298.667 298.667h426.667v128l170.667-170.667-170.667-170.667v128h-512v256h85.333v-170.667zM725.333 725.333h-426.667v-128l-170.667 170.667 170.667 170.667v-128h512v-256h-85.333v170.667zM554.667 640v-256h-42.667l-85.333 42.667v42.667h64v170.667h64z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-single-loop"],"defaultCode":59650},"attrs":[{}],"properties":{"order":811,"id":4,"name":"single-loop","prevSize":32,"code":59650},"setIdx":0,"setId":3,"iconIdx":16},{"icon":{"paths":["M167.065 412.951h594.284v99.049h-594.284zM167.065 214.858h594.284v99.049h-594.284zM167.065 611.049h396.191v99.049h-396.191zM662.301 611.049v297.142l247.617-148.574z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-list-order"],"defaultCode":59651},"attrs":[{}],"properties":{"order":812,"id":5,"name":"list-order","prevSize":32,"code":59651},"setIdx":0,"setId":3,"iconIdx":17},{"icon":{"paths":["M451.84 391.253l-221.013-220.587-60.16 60.16 220.587 220.587 60.587-60.16zM618.667 170.667l87.040 87.040-535.040 535.467 60.16 60.16 535.467-535.040 87.040 87.040v-234.667h-234.667zM632.747 572.16l-60.16 60.16 133.547 133.547-87.467 87.467h234.667v-234.667l-87.040 87.040-133.547-133.547z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-list-random"],"defaultCode":59652},"attrs":[{}],"properties":{"order":813,"id":6,"name":"list-random","prevSize":32,"code":59652},"setIdx":0,"setId":3,"iconIdx":18},{"icon":{"paths":["M209.962 21.763c-88.986-51.043-161.129-9.228-161.129 93.323v756.778c0 102.653 72.144 144.414 161.129 93.419l661.462-379.344c89.016-51.061 89.016-133.789 0-184.838l-661.462-379.338z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-play"],"defaultCode":59653},"attrs":[{}],"properties":{"order":814,"id":7,"name":"play","prevSize":32,"code":59653},"setIdx":0,"setId":3,"iconIdx":19},{"icon":{"paths":["M96.902 152.172c-53.489 0-96.898 64.037-96.898 143.005v433.651c0 78.944 43.432 143 96.898 143 53.545 0 96.902-64.056 96.902-143v-119.627l352.203 201.97c67.023 38.471 121.477 8.351 123.795-67l-225.149-129.123c-44.415-25.451-69.917-63.036-69.917-103.083 0-40.084 25.502-77.637 69.917-103.134l225.149-129.072c-2.318-75.295-56.772-105.452-123.795-66.986l-352.203 201.919v-119.515c0.023-78.995-43.358-143.005-96.902-143.005z","M502.256 583.092l397.712 228.079c68.475 39.291 124.032 7.103 124.032-71.883v-454.684c0-78.94-55.557-111.137-124.032-71.832l-397.74 228.019c-68.452 39.301-68.452 103.009 0.028 142.3z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-prevMusic"],"defaultCode":59654},"attrs":[{},{}],"properties":{"order":838,"id":22,"prevSize":32,"code":59668,"name":"prevMusic"},"setIdx":0,"setId":3,"iconIdx":20},{"icon":{"paths":["M927.098 871.828c53.489 0 96.898-64.037 96.898-143.005v-433.651c0-78.944-43.432-143-96.898-143-53.545 0-96.902 64.056-96.902 143v119.627l-352.203-201.97c-67.023-38.471-121.477-8.351-123.795 67l225.149 129.123c44.415 25.451 69.917 63.036 69.917 103.083 0 40.084-25.502 77.637-69.917 103.134l-225.149 129.072c2.318 75.295 56.772 105.452 123.795 66.986l352.203-201.919v119.515c-0.023 78.995 43.358 143.005 96.902 143.005z","M521.744 440.908l-397.712-228.079c-68.475-39.291-124.032-7.103-124.032 71.883v454.684c0 78.94 55.557 111.137 124.032 71.832l397.74-228.019c68.452-39.301 68.452-103.009-0.028-142.3z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-nextMusic"],"defaultCode":59654},"attrs":[{},{}],"properties":{"order":836,"id":8,"name":"nextMusic","prevSize":32,"code":59654},"setIdx":0,"setId":3,"iconIdx":21},{"icon":{"paths":["M583.263 738.762c-122.639 0-222.058-99.419-222.058-222.058s99.419-222.058 222.058-222.058c122.639 0 222.058 99.419 222.058 222.058v-0c-0.147 122.58-99.478 221.911-222.044 222.058l-0.014 0zM583.263 387.95c-71.109 0-128.754 57.645-128.754 128.754s57.645 128.754 128.754 128.754c71.109 0 128.754-57.645 128.754-128.754v0c-0.080-71.076-57.677-128.674-128.746-128.754l-0.008-0z","M1155.053 473.653l-248.686-430.602c-15.186-25.863-42.83-42.97-74.477-43.051l-0.012-0h-497.208c-31.693 0.050-59.378 17.165-74.362 42.646l-0.22 0.405-248.592 430.602c-7.228 12.356-11.496 27.205-11.496 43.051s4.268 30.695 11.717 43.461l-0.221-0.41 248.686 430.602c15.201 25.879 42.875 42.992 74.55 43.051l0.009 0h497.137c31.685-0.054 59.362-17.168 74.339-42.646l0.22-0.405 248.686-430.602c7.206-12.341 11.461-27.168 11.461-42.99 0-15.871-4.281-30.742-11.752-43.521l0.221 0.409zM344.242 930.696l-239.020-413.992 239.020-414.015h478.064l239.020 414.015-239.020 413.992z"],"attrs":[{},{}],"width":1157,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-setting"],"defaultCode":59655},"attrs":[{},{}],"properties":{"order":816,"id":9,"name":"setting","prevSize":32,"code":59655},"setIdx":0,"setId":3,"iconIdx":22},{"icon":{"paths":["M974.751 1024h-925.525c-27.228-0.19-49.226-22.307-49.226-49.561 0-0.119 0-0.238 0.001-0.357l-0 0.018v-414.489c-0.001-0.1-0.001-0.219-0.001-0.338 0-27.254 21.999-49.371 49.208-49.561l0.018-0c27.228 0.19 49.226 22.307 49.226 49.561 0 0.119-0 0.238-0.001 0.357l0-0.018v364.613h827.075v-365.504c0-27.193 22.044-49.237 49.237-49.237s49.237 22.044 49.237 49.237v0 415.38c0 0.007 0 0.016 0 0.025 0 13.741-5.516 26.193-14.456 35.262l0.006-0.006c-8.86 9.010-21.175 14.599-34.796 14.618l-0.004 0z","M512 582.803c-25.964-0.191-46.938-21.283-46.938-47.273 0-0.102 0-0.204 0.001-0.306l-0 0.016v-487.676c0-25.936 21.025-46.961 46.961-46.961s46.961 21.025 46.961 46.961v0 487.58c0.001 0.115 0.002 0.25 0.002 0.386 0 26.008-21.002 47.111-46.972 47.274l-0.016 0z","M512 658.929c-0.024 0-0.052 0-0.080 0-13.966 0-26.633-5.558-35.912-14.582l0.012 0.012-193.361-186.497c-8.999-8.738-14.582-20.95-14.582-34.466 0-12.694 4.925-24.238 12.969-32.824l-0.025 0.027c8.515-9.098 20.596-14.768 34.002-14.768 12.587 0 24.006 4.998 32.382 13.118l164.57 158.742 164.582-158.754c8.364-8.108 19.783-13.106 32.37-13.106 13.406 0 25.487 5.67 33.978 14.742l0.024 0.026c8.019 8.56 12.945 20.104 12.945 32.798 0 13.516-5.584 25.728-14.571 34.454l-0.012 0.011-193.385 186.521c-9.268 8.998-21.928 14.546-35.885 14.546-0.008 0-0.016-0-0.024-0l0.001 0zM540.755 575.41v0z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-download-2"],"defaultCode":59656},"attrs":[{},{},{}],"properties":{"order":817,"id":10,"name":"download-2","prevSize":32,"code":59656},"setIdx":0,"setId":3,"iconIdx":23},{"icon":{"paths":["M582.103 1024c-0.017 0-0.037 0-0.057 0-9.91 0-19.136-2.929-26.859-7.969l0.189 0.116-0.366-0.236c-37.015-20.471-322.346-182.272-474.148-387.423-50.493-68.213-80.822-154.009-80.822-246.889 0-19.705 1.365-39.091 4.006-58.069l-0.25 2.192c14.345-104.709 67.040-196.329 148.372-258.055 92.563-70.286 201.617-86.228 315.357-45.862 43.793 16.084 81.686 36.311 116.214 60.949l-1.48-1.003c33.049-23.635 70.942-43.862 111.376-58.855l3.359-1.091c113.792-40.339 222.847-24.423 315.383 45.862 81.333 61.831 134.027 153.477 148.372 258.055 2.401 16.819 3.771 36.243 3.771 55.988 0 92.855-30.315 178.629-81.587 247.965l0.802-1.136c-152.718 206.198-440.432 368.811-474.802 387.658-7.598 4.896-16.87 7.819-26.822 7.853l-0.009 0zM347.581 105.677c-43.428 0-89.997 12.46-135.598 47.119-59.056 44.894-97.353 111.593-107.798 187.821-1.757 12.365-2.76 26.647-2.76 41.162 0 68.642 22.432 132.045 60.365 183.279l-0.591-0.835c123.426 166.67 348.157 304.781 421.087 347.031 73.008-42.171 297.661-180.361 421.087-347.031 37.343-50.395 59.775-113.796 59.775-182.436 0-14.518-1.004-28.802-2.945-42.786l0.184 1.616c-10.471-76.202-48.742-142.901-107.824-187.821-159.131-120.939-330.121 28.271-337.398 34.685-8.691 7.859-20.269 12.668-32.97 12.668s-24.279-4.809-33.013-12.706l0.043 0.038c-5.052-4.555-93.557-81.804-201.643-81.804z"],"attrs":[{}],"width":1165,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-love"],"defaultCode":59657},"attrs":[{}],"properties":{"order":818,"id":11,"name":"love","prevSize":32,"code":59657},"setIdx":0,"setId":3,"iconIdx":24},{"icon":{"paths":["M968.321 913.171h-912.93c-30.591 0-55.39 24.799-55.39 55.39s24.799 55.39 55.39 55.39v0h912.93c30.591 0 55.39-24.799 55.39-55.39s-24.799-55.39-55.39-55.39v0z","M931.065 848.942c30.591 0 55.39-24.799 55.39-55.39v0-738.161c0-30.591-24.799-55.39-55.39-55.39s-55.39 24.799-55.39 55.39v0 738.137c-0 0.007-0 0.016-0 0.024 0 30.591 24.799 55.39 55.39 55.39l0-0z","M511.735 848.942c30.591 0 55.39-24.799 55.39-55.39v0-504.896c0-30.591-24.799-55.39-55.39-55.39s-55.39 24.799-55.39 55.39v0 504.871c-0 0.007-0 0.016-0 0.024 0 30.591 24.799 55.39 55.39 55.39l0-0z","M92.406 848.942c30.591 0 55.39-24.799 55.39-55.39v0-331.62c0-30.591-24.799-55.39-55.39-55.39s-55.39 24.799-55.39 55.39v0 331.596c-0 0.007-0 0.016-0 0.024 0 30.591 24.799 55.39 55.39 55.39l0-0z"],"attrs":[{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-leaderboard"],"defaultCode":59658},"attrs":[{},{},{},{}],"properties":{"order":819,"id":12,"name":"leaderboard","prevSize":32,"code":59658},"setIdx":0,"setId":3,"iconIdx":25},{"icon":{"paths":["M48.166 895.663c-26.601 0-48.166-21.564-48.166-48.166v0-799.332c0-26.601 21.564-48.166 48.166-48.166v0h755.983c26.601 0 48.166 21.564 48.166 48.166s-21.564 48.166-48.166 48.166v0h-707.817v751.166c0 26.601-21.564 48.166-48.166 48.166v0z","M975.834 1024h-736.933c-26.601 0-48.166-21.564-48.166-48.166v0-354.499c0-26.601 21.564-48.166 48.166-48.166s48.166 21.564 48.166 48.166v0 306.333h640.602v-633.859h-515.372c-26.601 0-48.166-21.564-48.166-48.166s21.564-48.166 48.166-48.166v0h563.537c26.601 0 48.166 21.564 48.166 48.166v0 730.19c0 26.601-21.564 48.166-48.166 48.166v0z","M623.744 786.76c-23.941 0-43.349-19.408-43.349-43.349v0-346.046c0-23.941 19.408-43.349 43.349-43.349s43.349 19.408 43.349 43.349v0 345.829c0 0.064 0.001 0.141 0.001 0.217 0 23.941-19.408 43.349-43.349 43.349-0 0-0-0-0.001-0l0 0z","M764.002 581.238c-0.010 0-0.022 0-0.034 0-11.992 0-22.847-4.869-30.695-12.739l-0.001-0.001-140.306-140.306c-7.864-7.864-12.729-18.729-12.729-30.73 0-24.001 19.457-43.458 43.458-43.458 12.001 0 22.865 4.864 30.73 12.729l140.306 140.33c7.964 7.864 12.896 18.781 12.896 30.851 0 23.941-19.408 43.349-43.349 43.349-0.097 0-0.195-0-0.292-0.001l0.015 0z","M537.239 867.414c-0.021 0-0.047 0-0.072 0-71.756 0-129.927-58.17-129.927-129.927s58.17-129.927 129.927-129.927c71.756 0 129.927 58.17 129.927 129.927l-0-0c-0.068 71.704-58.157 129.817-129.844 129.927l-0.010 0zM537.239 694.499c-23.741 0-42.988 19.246-42.988 42.988s19.246 42.988 42.988 42.988c23.741 0 42.988-19.246 42.988-42.988h0c-0.027-23.73-19.257-42.96-42.985-42.988l-0.003-0z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-album"],"defaultCode":59659},"attrs":[{},{},{},{},{}],"properties":{"order":820,"id":13,"name":"album","prevSize":32,"code":59659},"setIdx":0,"setId":3,"iconIdx":26},{"icon":{"paths":["M743.965 130.818c-78.798-80.684-188.672-130.72-310.232-130.72-239.41 0-433.49 194.080-433.49 433.49s194.080 433.49 433.49 433.49c117.777 0 224.584-46.97 302.71-123.199l-0.089 0.086c81.075-78.661 131.39-188.632 131.39-310.355 0-117.951-47.245-224.867-123.843-302.857l0.063 0.064zM669.092 675.089c-60.675 59.106-143.667 95.56-235.173 95.56-186.208 0-337.159-150.951-337.159-337.159 0-186.057 150.707-336.914 336.707-337.159l0.023-0c0.077-0 0.168-0 0.258-0 186.208 0 337.159 150.951 337.159 337.159 0 94.665-39.014 180.218-101.841 241.457l-0.071 0.069z","M1007.214 928.873l-159.5-163.763c-10.070-10.316-24.114-16.714-39.652-16.714-30.592 0-55.391 24.8-55.391 55.391 0 15.053 6.005 28.704 15.75 38.688l-0.011-0.011 160.536 164.823c10.025 10.268 24.006 16.636 39.474 16.636 2.35 0 4.666-0.147 6.939-0.432l-0.271 0.028c10.465-1.218 19.813-5.231 27.5-11.264l-0.118 0.089c13.151-10.191 21.535-25.989 21.535-43.745 0-0.259-0.002-0.517-0.005-0.775l0 0.039c-0.431-15.266-6.763-28.973-16.785-38.99l-0-0z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-search-2"],"defaultCode":59660},"attrs":[{},{}],"properties":{"order":821,"id":14,"name":"search-2","prevSize":32,"code":59660},"setIdx":0,"setId":3,"iconIdx":27}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"autoHost":false,"noie8":true,"ie7":false,"showSelector":false,"showMetrics":false,"showMetadata":false,"showVersion":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16,"showGrid":false,"quickUsageToken":{"UntitledProject":"N2VjNTI2ODAzZWI0N2M1NzhlMjNhYzY3OTEwMWRiMDEjMSMxNjA0MzkyNDUxIyMj"},"showLiga":false}} \ No newline at end of file +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M85.333 170.667v128h213.333v512h128v-512h213.333v-128h-554.667zM896 384h-384v128h128v298.667h128v-298.667h128v-128z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-font-size"]},"attrs":[{}],"properties":{"order":852,"id":30,"name":"font-size","prevSize":32,"code":59676},"setIdx":0,"setId":3,"iconIdx":0},{"icon":{"paths":["M932.54 573.38c17.54-29.7 27.46-61.38 27.46-99.68 0-88.030-74.436-171.16-171.64-171.16h-72.96c9.84-25.62 17.7-56.26 17.7-93.080 0-145.588-75.38-209.46-190.54-209.46-123.214 0-116.186 189.866-143.52 217.2-45.494 45.494-99.23 132.894-137.52 166.8h-197.52c-35.346 0-64 28.654-64 64v480c0 35.346 28.654 64 64 64h128c29.786 0 54.816-20.348 61.956-47.9 89.018 2.002 150.12 79.88 355.604 79.88 14.44 0 30.44 0.020 44.44 0.020 154.234 0 223.972-78.846 225.88-190.66 26.638-36.85 40.598-86.244 34.68-133.98 19.708-36.904 27.328-80.686 17.98-125.98zM809.040 681.040c25.12 42.26 2.52 98.82-27.88 115.14 15.4 97.56-35.216 131.8-106.24 131.8h-75.64c-143.278 0-236.058-75.64-343.28-75.64v-372.34h21.84c56.72 0 135.96-141.78 189.080-194.92 56.72-56.72 37.82-151.26 75.64-189.080 94.54 0 94.54 65.96 94.54 113.46 0 78.34-56.72 113.44-56.72 189.080h207.98c42.22 0 75.46 37.82 75.64 75.64 0.18 37.8-25.64 75.62-44.54 75.62 26.978 29.11 32.742 90.472-10.42 131.24zM176 864c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-thumbs-up"]},"attrs":[{}],"properties":{"order":851,"id":29,"name":"thumbs-up","prevSize":32,"code":59675},"setIdx":0,"setId":3,"iconIdx":1},{"icon":{"paths":["M682.667 469.333h-341.333v-85.333h341.333v85.333zM938.667 170.667v512c0 47.36-37.973 85.333-85.333 85.333h-260.267l-157.867 158.293c-8.533 8.107-19.2 12.373-29.867 12.373h-21.333c-23.467 0-42.667-19.2-42.667-42.667v-128h-170.667c-46.933 0-85.333-37.973-85.333-85.333v-512c0-47.36 38.4-85.333 85.333-85.333h682.667c47.36 0 85.333 38.4 85.333 85.333zM853.333 170.667h-682.667v512h256v131.413l131.413-131.413h295.253v-512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-comment"]},"attrs":[{}],"properties":{"order":850,"id":28,"name":"comment","prevSize":32,"code":59674},"setIdx":0,"setId":3,"iconIdx":2},{"icon":{"paths":["M336.213 144.64l-54.613-65.28-196.267 164.267 55.040 65.28 195.84-164.267zM938.667 244.053l-196.267-164.693-55.040 65.28 196.267 164.693 55.040-65.28zM512 170.667c-212.077 0-384 171.923-384 384v0c0 212.077 171.923 384 384 384v0c212.077 0 384-171.923 384-384v0c0-212.077-171.923-384-384-384v0zM512 853.333c-164.949 0-298.667-133.718-298.667-298.667v0c0-164.949 133.718-298.667 298.667-298.667v0c164.949 0 298.667 133.718 298.667 298.667v0c0 164.949-133.718 298.667-298.667 298.667v0zM384 469.333h154.88l-154.88 179.2v76.8h256v-85.333h-154.88l154.88-179.2v-76.8h-256v85.333z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-alarm-snooze"]},"attrs":[{}],"properties":{"order":849,"id":27,"name":"alarm-snooze","prevSize":32,"code":59673},"setIdx":0,"setId":3,"iconIdx":3},{"icon":{"paths":["M85.333 682.667h341.333v-85.333h-341.333zM768 597.333v-170.667h-85.333v170.667h-170.667v85.333h170.667v170.667h85.333v-170.667h170.667v-85.333zM597.333 256h-512v85.333h512zM597.333 426.667h-512v85.333h512v-85.333z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-playlist-plus"]},"attrs":[{}],"properties":{"order":847,"id":26,"name":"playlist-plus","prevSize":32,"code":59672},"setIdx":0,"setId":3,"iconIdx":4},{"icon":{"paths":["M512 340s-124.938-153.616-282-48c-140.476 153.648-60.182 358.16 282 538 42.678-16.722 88-34 88-34 38-12.784 56.31 41.484 32 52-55.178 23.87 11.948-8.282-120 56-583.048-276.3-424.014-605.938-322-670 173.6-131.78 324 20 324 20s116.316-121.046 280-46c208.064 117.056 128 323.8 90 392-18.304 30.308-79.118-8.318-64-32 40.68-75.776 91.044-214.698-50-300-140.162-60.16-258 72-258 72z","M766 736c-16.2 0.020-49.54-0.31-80 0-31.426 0.32-30.564 69.928 0 70 30.2 0.070 80 0 80 0s-0.136 85.6 0 96c0.416 31.922 64.522 31.582 64-2-0.144-9.298 0-94 0-94s76.016-0.062 86 0c31.464 0.092 29.894-67.96-2-68-9.768 0.186-84 0-84 0s-0.106-56.682 0-92c0.092-30.378-64.056-31.024-64 0 0.054 29.48-0.436 84.278 0 90z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-add-music"]},"attrs":[{},{}],"properties":{"order":843,"id":25,"name":"add-music","prevSize":32,"code":59670},"setIdx":0,"setId":3,"iconIdx":5},{"icon":{"paths":["M682.667 469.333h-341.333v-85.333h341.333v85.333zM938.667 170.667v512c0 47.36-37.973 85.333-85.333 85.333h-260.267l-157.867 158.293c-8.533 8.107-19.2 12.373-29.867 12.373h-21.333c-23.467 0-42.667-19.2-42.667-42.667v-128h-170.667c-46.933 0-85.333-37.973-85.333-85.333v-512c0-47.36 38.4-85.333 85.333-85.333h682.667c47.36 0 85.333 38.4 85.333 85.333zM853.333 170.667h-682.667v512h256v131.413l131.413-131.413h295.253v-512z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["comment-minus-outline"]},"attrs":[{}],"properties":{"order":840,"id":24,"name":"comment-minus-outline","prevSize":32,"code":59671},"setIdx":0,"setId":3,"iconIdx":6},{"icon":{"paths":["M666.587 719.627l-207.627-207.627 207.627-208.080-63.92-63.92-272 272 272 272 63.92-64.373z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-chevron-left"]},"attrs":[{}],"properties":{"order":845,"id":23,"name":"chevron-left","prevSize":32,"code":59669},"setIdx":0,"setId":3,"iconIdx":7},{"icon":{"paths":["M512 682.667c47.128 0 85.333 38.205 85.333 85.333v0c0 47.128-38.205 85.333-85.333 85.333v0c-47.128 0-85.333-38.205-85.333-85.333v0c0-47.128 38.205-85.333 85.333-85.333v0zM512 426.667c47.128 0 85.333 38.205 85.333 85.333v0c0 47.128-38.205 85.333-85.333 85.333v0c-47.128 0-85.333-38.205-85.333-85.333v0c0-47.128 38.205-85.333 85.333-85.333v0zM512 170.667c47.128 0 85.333 38.205 85.333 85.333v0c0 47.128-38.205 85.333-85.333 85.333v0c-47.128 0-85.333-38.205-85.333-85.333v0c0-47.128 38.205-85.333 85.333-85.333v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-dots-vertical"]},"attrs":[{}],"properties":{"order":833,"id":21,"name":"dots-vertical","prevSize":32,"code":59667},"setIdx":0,"setId":3,"iconIdx":8},{"icon":{"paths":["M256 512h128l-170.667-170.667-170.667 170.667h128c0 188.513 152.82 341.333 341.333 341.333v0c66.987 0 129.28-19.627 181.76-52.907l-62.293-62.293c-35.413 19.2-76.8 29.867-119.467 29.867-141.385 0-256-114.615-256-256v0zM330.24 223.573l62.293 62.293c35.84-18.773 76.8-29.867 119.467-29.867 141.385 0 256 114.615 256 256v0h-128l170.667 170.667 170.667-170.667-128 0c0-188.513-152.82-341.333-341.333-341.333v0c-66.987 0-129.28 19.627-181.76 52.907z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-autorenew"]},"attrs":[{}],"properties":{"order":832,"id":20,"name":"autorenew","prevSize":32,"code":59665},"setIdx":0,"setId":3,"iconIdx":9},{"icon":{"paths":["M426.667 170.667l85.333 85.333h341.333c47.128 0 85.333 38.205 85.333 85.333v0 426.667c0 47.128-38.205 85.333-85.333 85.333v0h-682.667c-47.36 0-85.333-38.4-85.333-85.333v-512c0-47.36 37.973-85.333 85.333-85.333h256zM640 384v128h-128v85.333h128v128h85.333v-128h128v-85.333h-128v-128h-85.333z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-folder-plus"]},"attrs":[{}],"properties":{"order":831,"id":19,"name":"folder-plus","prevSize":32,"code":59666},"setIdx":0,"setId":3,"iconIdx":10},{"icon":{"paths":["M570.952 545.942l-388.688 388.686c-18.746 18.746-49.138 18.746-67.882 0l-45.334-45.334c-18.714-18.714-18.75-49.044-0.080-67.802l308.042-309.492-308.042-309.49c-18.67-18.758-18.634-49.088 0.080-67.802l45.334-45.334c18.746-18.746 49.138-18.746 67.882 0l388.686 388.686c18.746 18.744 18.746 49.136 0.002 67.882z"],"attrs":[{}],"width":640,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-chevron-right"]},"attrs":[{}],"properties":{"order":830,"id":18,"name":"chevron-right","prevSize":32,"code":59664},"setIdx":0,"setId":3,"iconIdx":11},{"icon":{"paths":["M842.667 247.937l-66.604-66.604-264.063 264.063-264.063-264.063-66.604 66.604 264.063 264.063-264.063 264.063 66.604 66.604 264.063-264.063 264.063 264.063 66.604-66.604-264.063-264.063 264.063-264.063z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-remove"]},"attrs":[{}],"properties":{"order":828,"id":17,"prevSize":32,"code":59663,"name":"remove"},"setIdx":0,"setId":3,"iconIdx":12},{"icon":{"paths":["M633.703 512l365.094-365.094c33.607-33.607 33.607-88.095 0-121.698-33.607-33.607-88.091-33.607-121.698 0l-365.099 365.099-365.099-365.104c-33.607-33.607-88.091-33.607-121.698 0-33.603 33.607-33.603 88.095 0 121.698l365.099 365.094-365.099 365.099c-33.603 33.607-33.603 88.095 0 121.698 33.607 33.607 88.091 33.607 121.698 0l365.099-365.099 365.099 365.099c33.603 33.607 88.091 33.607 121.698 0s33.607-88.091 0-121.698l-365.094-365.094z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-close"]},"attrs":[{}],"properties":{"order":826,"id":15,"name":"close","prevSize":32,"code":59662},"setIdx":0,"setId":3,"iconIdx":13},{"icon":{"paths":["M52.504 168.606v686.806c0 93.13 61.701 168.588 137.82 168.588 76.127 0 137.865-75.462 137.865-168.588v-686.806c0-93.085-61.738-168.577-137.865-168.577-76.119-0.030-137.82 75.492-137.82 168.577z","M833.635 0c-76.112 0-137.813 75.492-137.813 168.577v686.806c0 93.13 61.701 168.558 137.813 168.558s137.861-75.433 137.861-168.558v-686.776c-0.033-93.085-61.749-168.606-137.861-168.606z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-pause"]},"attrs":[{},{}],"properties":{"order":808,"id":1,"name":"pause","prevSize":32,"code":59661},"setIdx":0,"setId":3,"iconIdx":14},{"icon":{"paths":["M298.667 298.667h426.667v128l170.667-170.667-170.667-170.667v128h-512v256h85.333v-170.667zM725.333 725.333h-426.667v-128l-170.667 170.667 170.667 170.667v-128h512v-256h-85.333v170.667z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-list-loop"],"defaultCode":59648},"attrs":[{}],"properties":{"order":809,"id":2,"name":"list-loop","prevSize":32,"code":59648},"setIdx":0,"setId":3,"iconIdx":15},{"icon":{"paths":["M856 213.862v567.6h-120.4v-303.862c0-45.862 0-68.8 0-80.262s-5.738-17.2-17.2-22.938c-5.738-5.738-28.662-5.738-57.338-5.738h-11.462v-63.062c57.338-17.2 103.2-45.862 131.862-91.738h74.538z","M168 856l487.338-344-487.338-344z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-single"],"defaultCode":59649},"attrs":[{},{}],"properties":{"order":810,"id":3,"name":"single","prevSize":32,"code":59649},"setIdx":0,"setId":3,"iconIdx":16},{"icon":{"paths":["M298.667 298.667h426.667v128l170.667-170.667-170.667-170.667v128h-512v256h85.333v-170.667zM725.333 725.333h-426.667v-128l-170.667 170.667 170.667 170.667v-128h512v-256h-85.333v170.667zM554.667 640v-256h-42.667l-85.333 42.667v42.667h64v170.667h64z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-single-loop"],"defaultCode":59650},"attrs":[{}],"properties":{"order":811,"id":4,"name":"single-loop","prevSize":32,"code":59650},"setIdx":0,"setId":3,"iconIdx":17},{"icon":{"paths":["M167.065 412.951h594.284v99.049h-594.284zM167.065 214.858h594.284v99.049h-594.284zM167.065 611.049h396.191v99.049h-396.191zM662.301 611.049v297.142l247.617-148.574z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-list-order"],"defaultCode":59651},"attrs":[{}],"properties":{"order":812,"id":5,"name":"list-order","prevSize":32,"code":59651},"setIdx":0,"setId":3,"iconIdx":18},{"icon":{"paths":["M451.84 391.253l-221.013-220.587-60.16 60.16 220.587 220.587 60.587-60.16zM618.667 170.667l87.040 87.040-535.040 535.467 60.16 60.16 535.467-535.040 87.040 87.040v-234.667h-234.667zM632.747 572.16l-60.16 60.16 133.547 133.547-87.467 87.467h234.667v-234.667l-87.040 87.040-133.547-133.547z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-list-random"],"defaultCode":59652},"attrs":[{}],"properties":{"order":813,"id":6,"name":"list-random","prevSize":32,"code":59652},"setIdx":0,"setId":3,"iconIdx":19},{"icon":{"paths":["M209.962 21.763c-88.986-51.043-161.129-9.228-161.129 93.323v756.778c0 102.653 72.144 144.414 161.129 93.419l661.462-379.344c89.016-51.061 89.016-133.789 0-184.838l-661.462-379.338z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-play"],"defaultCode":59653},"attrs":[{}],"properties":{"order":814,"id":7,"name":"play","prevSize":32,"code":59653},"setIdx":0,"setId":3,"iconIdx":20},{"icon":{"paths":["M96.902 152.172c-53.489 0-96.898 64.037-96.898 143.005v433.651c0 78.944 43.432 143 96.898 143 53.545 0 96.902-64.056 96.902-143v-119.627l352.203 201.97c67.023 38.471 121.477 8.351 123.795-67l-225.149-129.123c-44.415-25.451-69.917-63.036-69.917-103.083 0-40.084 25.502-77.637 69.917-103.134l225.149-129.072c-2.318-75.295-56.772-105.452-123.795-66.986l-352.203 201.919v-119.515c0.023-78.995-43.358-143.005-96.902-143.005z","M502.256 583.092l397.712 228.079c68.475 39.291 124.032 7.103 124.032-71.883v-454.684c0-78.94-55.557-111.137-124.032-71.832l-397.74 228.019c-68.452 39.301-68.452 103.009 0.028 142.3z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-prevMusic"],"defaultCode":59654},"attrs":[{},{}],"properties":{"order":838,"id":22,"prevSize":32,"code":59668,"name":"prevMusic"},"setIdx":0,"setId":3,"iconIdx":21},{"icon":{"paths":["M927.098 871.828c53.489 0 96.898-64.037 96.898-143.005v-433.651c0-78.944-43.432-143-96.898-143-53.545 0-96.902 64.056-96.902 143v119.627l-352.203-201.97c-67.023-38.471-121.477-8.351-123.795 67l225.149 129.123c44.415 25.451 69.917 63.036 69.917 103.083 0 40.084-25.502 77.637-69.917 103.134l-225.149 129.072c2.318 75.295 56.772 105.452 123.795 66.986l352.203-201.919v119.515c-0.023 78.995 43.358 143.005 96.902 143.005z","M521.744 440.908l-397.712-228.079c-68.475-39.291-124.032-7.103-124.032 71.883v454.684c0 78.94 55.557 111.137 124.032 71.832l397.74-228.019c68.452-39.301 68.452-103.009-0.028-142.3z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-nextMusic"],"defaultCode":59654},"attrs":[{},{}],"properties":{"order":836,"id":8,"name":"nextMusic","prevSize":32,"code":59654},"setIdx":0,"setId":3,"iconIdx":22},{"icon":{"paths":["M583.263 738.762c-122.639 0-222.058-99.419-222.058-222.058s99.419-222.058 222.058-222.058c122.639 0 222.058 99.419 222.058 222.058v-0c-0.147 122.58-99.478 221.911-222.044 222.058l-0.014 0zM583.263 387.95c-71.109 0-128.754 57.645-128.754 128.754s57.645 128.754 128.754 128.754c71.109 0 128.754-57.645 128.754-128.754v0c-0.080-71.076-57.677-128.674-128.746-128.754l-0.008-0z","M1155.053 473.653l-248.686-430.602c-15.186-25.863-42.83-42.97-74.477-43.051l-0.012-0h-497.208c-31.693 0.050-59.378 17.165-74.362 42.646l-0.22 0.405-248.592 430.602c-7.228 12.356-11.496 27.205-11.496 43.051s4.268 30.695 11.717 43.461l-0.221-0.41 248.686 430.602c15.201 25.879 42.875 42.992 74.55 43.051l0.009 0h497.137c31.685-0.054 59.362-17.168 74.339-42.646l0.22-0.405 248.686-430.602c7.206-12.341 11.461-27.168 11.461-42.99 0-15.871-4.281-30.742-11.752-43.521l0.221 0.409zM344.242 930.696l-239.020-413.992 239.020-414.015h478.064l239.020 414.015-239.020 413.992z"],"attrs":[{},{}],"width":1157,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-setting"],"defaultCode":59655},"attrs":[{},{}],"properties":{"order":816,"id":9,"name":"setting","prevSize":32,"code":59655},"setIdx":0,"setId":3,"iconIdx":23},{"icon":{"paths":["M974.751 1024h-925.525c-27.228-0.19-49.226-22.307-49.226-49.561 0-0.119 0-0.238 0.001-0.357l-0 0.018v-414.489c-0.001-0.1-0.001-0.219-0.001-0.338 0-27.254 21.999-49.371 49.208-49.561l0.018-0c27.228 0.19 49.226 22.307 49.226 49.561 0 0.119-0 0.238-0.001 0.357l0-0.018v364.613h827.075v-365.504c0-27.193 22.044-49.237 49.237-49.237s49.237 22.044 49.237 49.237v0 415.38c0 0.007 0 0.016 0 0.025 0 13.741-5.516 26.193-14.456 35.262l0.006-0.006c-8.86 9.010-21.175 14.599-34.796 14.618l-0.004 0z","M512 582.803c-25.964-0.191-46.938-21.283-46.938-47.273 0-0.102 0-0.204 0.001-0.306l-0 0.016v-487.676c0-25.936 21.025-46.961 46.961-46.961s46.961 21.025 46.961 46.961v0 487.58c0.001 0.115 0.002 0.25 0.002 0.386 0 26.008-21.002 47.111-46.972 47.274l-0.016 0z","M512 658.929c-0.024 0-0.052 0-0.080 0-13.966 0-26.633-5.558-35.912-14.582l0.012 0.012-193.361-186.497c-8.999-8.738-14.582-20.95-14.582-34.466 0-12.694 4.925-24.238 12.969-32.824l-0.025 0.027c8.515-9.098 20.596-14.768 34.002-14.768 12.587 0 24.006 4.998 32.382 13.118l164.57 158.742 164.582-158.754c8.364-8.108 19.783-13.106 32.37-13.106 13.406 0 25.487 5.67 33.978 14.742l0.024 0.026c8.019 8.56 12.945 20.104 12.945 32.798 0 13.516-5.584 25.728-14.571 34.454l-0.012 0.011-193.385 186.521c-9.268 8.998-21.928 14.546-35.885 14.546-0.008 0-0.016-0-0.024-0l0.001 0zM540.755 575.41v0z"],"attrs":[{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-download-2"],"defaultCode":59656},"attrs":[{},{},{}],"properties":{"order":817,"id":10,"name":"download-2","prevSize":32,"code":59656},"setIdx":0,"setId":3,"iconIdx":24},{"icon":{"paths":["M582.103 1024c-0.017 0-0.037 0-0.057 0-9.91 0-19.136-2.929-26.859-7.969l0.189 0.116-0.366-0.236c-37.015-20.471-322.346-182.272-474.148-387.423-50.493-68.213-80.822-154.009-80.822-246.889 0-19.705 1.365-39.091 4.006-58.069l-0.25 2.192c14.345-104.709 67.040-196.329 148.372-258.055 92.563-70.286 201.617-86.228 315.357-45.862 43.793 16.084 81.686 36.311 116.214 60.949l-1.48-1.003c33.049-23.635 70.942-43.862 111.376-58.855l3.359-1.091c113.792-40.339 222.847-24.423 315.383 45.862 81.333 61.831 134.027 153.477 148.372 258.055 2.401 16.819 3.771 36.243 3.771 55.988 0 92.855-30.315 178.629-81.587 247.965l0.802-1.136c-152.718 206.198-440.432 368.811-474.802 387.658-7.598 4.896-16.87 7.819-26.822 7.853l-0.009 0zM347.581 105.677c-43.428 0-89.997 12.46-135.598 47.119-59.056 44.894-97.353 111.593-107.798 187.821-1.757 12.365-2.76 26.647-2.76 41.162 0 68.642 22.432 132.045 60.365 183.279l-0.591-0.835c123.426 166.67 348.157 304.781 421.087 347.031 73.008-42.171 297.661-180.361 421.087-347.031 37.343-50.395 59.775-113.796 59.775-182.436 0-14.518-1.004-28.802-2.945-42.786l0.184 1.616c-10.471-76.202-48.742-142.901-107.824-187.821-159.131-120.939-330.121 28.271-337.398 34.685-8.691 7.859-20.269 12.668-32.97 12.668s-24.279-4.809-33.013-12.706l0.043 0.038c-5.052-4.555-93.557-81.804-201.643-81.804z"],"attrs":[{}],"width":1165,"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-love"],"defaultCode":59657},"attrs":[{}],"properties":{"order":818,"id":11,"name":"love","prevSize":32,"code":59657},"setIdx":0,"setId":3,"iconIdx":25},{"icon":{"paths":["M968.321 913.171h-912.93c-30.591 0-55.39 24.799-55.39 55.39s24.799 55.39 55.39 55.39v0h912.93c30.591 0 55.39-24.799 55.39-55.39s-24.799-55.39-55.39-55.39v0z","M931.065 848.942c30.591 0 55.39-24.799 55.39-55.39v0-738.161c0-30.591-24.799-55.39-55.39-55.39s-55.39 24.799-55.39 55.39v0 738.137c-0 0.007-0 0.016-0 0.024 0 30.591 24.799 55.39 55.39 55.39l0-0z","M511.735 848.942c30.591 0 55.39-24.799 55.39-55.39v0-504.896c0-30.591-24.799-55.39-55.39-55.39s-55.39 24.799-55.39 55.39v0 504.871c-0 0.007-0 0.016-0 0.024 0 30.591 24.799 55.39 55.39 55.39l0-0z","M92.406 848.942c30.591 0 55.39-24.799 55.39-55.39v0-331.62c0-30.591-24.799-55.39-55.39-55.39s-55.39 24.799-55.39 55.39v0 331.596c-0 0.007-0 0.016-0 0.024 0 30.591 24.799 55.39 55.39 55.39l0-0z"],"attrs":[{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-leaderboard"],"defaultCode":59658},"attrs":[{},{},{},{}],"properties":{"order":819,"id":12,"name":"leaderboard","prevSize":32,"code":59658},"setIdx":0,"setId":3,"iconIdx":26},{"icon":{"paths":["M48.166 895.663c-26.601 0-48.166-21.564-48.166-48.166v0-799.332c0-26.601 21.564-48.166 48.166-48.166v0h755.983c26.601 0 48.166 21.564 48.166 48.166s-21.564 48.166-48.166 48.166v0h-707.817v751.166c0 26.601-21.564 48.166-48.166 48.166v0z","M975.834 1024h-736.933c-26.601 0-48.166-21.564-48.166-48.166v0-354.499c0-26.601 21.564-48.166 48.166-48.166s48.166 21.564 48.166 48.166v0 306.333h640.602v-633.859h-515.372c-26.601 0-48.166-21.564-48.166-48.166s21.564-48.166 48.166-48.166v0h563.537c26.601 0 48.166 21.564 48.166 48.166v0 730.19c0 26.601-21.564 48.166-48.166 48.166v0z","M623.744 786.76c-23.941 0-43.349-19.408-43.349-43.349v0-346.046c0-23.941 19.408-43.349 43.349-43.349s43.349 19.408 43.349 43.349v0 345.829c0 0.064 0.001 0.141 0.001 0.217 0 23.941-19.408 43.349-43.349 43.349-0 0-0-0-0.001-0l0 0z","M764.002 581.238c-0.010 0-0.022 0-0.034 0-11.992 0-22.847-4.869-30.695-12.739l-0.001-0.001-140.306-140.306c-7.864-7.864-12.729-18.729-12.729-30.73 0-24.001 19.457-43.458 43.458-43.458 12.001 0 22.865 4.864 30.73 12.729l140.306 140.33c7.964 7.864 12.896 18.781 12.896 30.851 0 23.941-19.408 43.349-43.349 43.349-0.097 0-0.195-0-0.292-0.001l0.015 0z","M537.239 867.414c-0.021 0-0.047 0-0.072 0-71.756 0-129.927-58.17-129.927-129.927s58.17-129.927 129.927-129.927c71.756 0 129.927 58.17 129.927 129.927l-0-0c-0.068 71.704-58.157 129.817-129.844 129.927l-0.010 0zM537.239 694.499c-23.741 0-42.988 19.246-42.988 42.988s19.246 42.988 42.988 42.988c23.741 0 42.988-19.246 42.988-42.988h0c-0.027-23.73-19.257-42.96-42.985-42.988l-0.003-0z"],"attrs":[{},{},{},{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-album"],"defaultCode":59659},"attrs":[{},{},{},{},{}],"properties":{"order":820,"id":13,"name":"album","prevSize":32,"code":59659},"setIdx":0,"setId":3,"iconIdx":27},{"icon":{"paths":["M743.965 130.818c-78.798-80.684-188.672-130.72-310.232-130.72-239.41 0-433.49 194.080-433.49 433.49s194.080 433.49 433.49 433.49c117.777 0 224.584-46.97 302.71-123.199l-0.089 0.086c81.075-78.661 131.39-188.632 131.39-310.355 0-117.951-47.245-224.867-123.843-302.857l0.063 0.064zM669.092 675.089c-60.675 59.106-143.667 95.56-235.173 95.56-186.208 0-337.159-150.951-337.159-337.159 0-186.057 150.707-336.914 336.707-337.159l0.023-0c0.077-0 0.168-0 0.258-0 186.208 0 337.159 150.951 337.159 337.159 0 94.665-39.014 180.218-101.841 241.457l-0.071 0.069z","M1007.214 928.873l-159.5-163.763c-10.070-10.316-24.114-16.714-39.652-16.714-30.592 0-55.391 24.8-55.391 55.391 0 15.053 6.005 28.704 15.75 38.688l-0.011-0.011 160.536 164.823c10.025 10.268 24.006 16.636 39.474 16.636 2.35 0 4.666-0.147 6.939-0.432l-0.271 0.028c10.465-1.218 19.813-5.231 27.5-11.264l-0.118 0.089c13.151-10.191 21.535-25.989 21.535-43.745 0-0.259-0.002-0.517-0.005-0.775l0 0.039c-0.431-15.266-6.763-28.973-16.785-38.99l-0-0z"],"attrs":[{},{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["icon-search-2"],"defaultCode":59660},"attrs":[{},{}],"properties":{"order":821,"id":14,"name":"search-2","prevSize":32,"code":59660},"setIdx":0,"setId":3,"iconIdx":28}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"autoHost":false,"noie8":true,"ie7":false,"showSelector":false,"showMetrics":false,"showMetadata":false,"showVersion":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"classSelector":".icon","name":"icomoon"},"historySize":50,"showCodes":true,"gridSize":16,"showGrid":false,"quickUsageToken":{"UntitledProject":"N2VjNTI2ODAzZWI0N2M1NzhlMjNhYzY3OTEwMWRiMDEjMSMxNjA0MzkyNDUxIyMj"},"showLiga":false}} \ No newline at end of file diff --git a/src/screens/PlayDetail/Landscape/Player/components/ControlBtn.js b/src/screens/PlayDetail/Landscape/ControlBtn.js similarity index 94% rename from src/screens/PlayDetail/Landscape/Player/components/ControlBtn.js rename to src/screens/PlayDetail/Landscape/ControlBtn.js index 686097e6..0182c4b8 100644 --- a/src/screens/PlayDetail/Landscape/Player/components/ControlBtn.js +++ b/src/screens/PlayDetail/Landscape/ControlBtn.js @@ -24,7 +24,7 @@ export default ({ playNextModes }) => { const btnPrev = useMemo(() => ( - + ), [playPrev, theme]) @@ -45,12 +45,12 @@ export default ({ playNextModes }) => { }, []) const btnPlay = useMemo(() => ( togglePlay(playStatus)}> - + ), [playStatus, theme, togglePlay]) const btnNext = useMemo(() => ( - + ), [playNext, theme]) @@ -75,16 +75,16 @@ const styles = StyleSheet.create({ flexGrow: 0, flexDirection: 'row', paddingLeft: 15, - paddingRight: 15, + // paddingRight: 15, }, cotrolBtn: { - width: 42, - height: 42, + width: 52, + height: 52, justifyContent: 'center', alignItems: 'center', - // backgroundColor: '#ccc', shadowOpacity: 1, textShadowRadius: 1, + // backgroundColor: '#eee', }, }) diff --git a/src/screens/PlayDetail/Landscape/Lyric.js b/src/screens/PlayDetail/Landscape/Lyric.js index 8b937734..6d64e9e5 100644 --- a/src/screens/PlayDetail/Landscape/Lyric.js +++ b/src/screens/PlayDetail/Landscape/Lyric.js @@ -9,13 +9,24 @@ import { onNavigationComponentDidDisappearEvent } from '@/navigation' const LrcLine = memo(({ lrc, line, activeLine }) => { const theme = useGetter('common', 'theme') + const playerLandscapeStyle = useGetter('common', 'playerLandscapeStyle') return ( - {lrc.text} + {lrc.text} { lrc.translation - ? {lrc.translation} + ? {lrc.translation} : null } diff --git a/src/screens/PlayDetail/Landscape/MoreBtn/MusicAddBtn.js b/src/screens/PlayDetail/Landscape/MoreBtn/MusicAddBtn.js index a60127cf..3e49a613 100644 --- a/src/screens/PlayDetail/Landscape/MoreBtn/MusicAddBtn.js +++ b/src/screens/PlayDetail/Landscape/MoreBtn/MusicAddBtn.js @@ -34,7 +34,7 @@ export default memo(() => { const styles = StyleSheet.create({ cotrolBtn: { - marginLeft: 5, + marginRight: 5, width: 28, height: 28, justifyContent: 'center', diff --git a/src/screens/PlayDetail/Landscape/MoreBtn/PlayModeBtn.js b/src/screens/PlayDetail/Landscape/MoreBtn/PlayModeBtn.js index 1c879882..a4cd9076 100644 --- a/src/screens/PlayDetail/Landscape/MoreBtn/PlayModeBtn.js +++ b/src/screens/PlayDetail/Landscape/MoreBtn/PlayModeBtn.js @@ -74,7 +74,7 @@ export default memo(() => { const styles = StyleSheet.create({ cotrolBtn: { - marginLeft: 5, + marginRight: 5, width: 28, height: 28, justifyContent: 'center', diff --git a/src/screens/PlayDetail/Landscape/MoreBtn/TimeoutExit.js b/src/screens/PlayDetail/Landscape/MoreBtn/TimeoutExit.js index cc381cd9..60276da9 100644 --- a/src/screens/PlayDetail/Landscape/MoreBtn/TimeoutExit.js +++ b/src/screens/PlayDetail/Landscape/MoreBtn/TimeoutExit.js @@ -143,7 +143,7 @@ export default memo(() => { const styles = StyleSheet.create({ cotrolBtn: { - marginLeft: 5, + marginRight: 5, width: 28, height: 28, justifyContent: 'center', diff --git a/src/screens/PlayDetail/Landscape/MoreBtn/index.js b/src/screens/PlayDetail/Landscape/MoreBtn/index.js index c601bcce..48c289e9 100644 --- a/src/screens/PlayDetail/Landscape/MoreBtn/index.js +++ b/src/screens/PlayDetail/Landscape/MoreBtn/index.js @@ -21,6 +21,9 @@ const styles = StyleSheet.create({ flexGrow: 0, flexDirection: 'row', alignItems: 'center', + paddingLeft: 10, + paddingTop: 5, + paddingBottom: 5, // backgroundColor: 'rgba(0,0,0,0.1)', }, }) diff --git a/src/screens/PlayDetail/Landscape/Player/components/Progress.js b/src/screens/PlayDetail/Landscape/PlayBar/Progress.js similarity index 100% rename from src/screens/PlayDetail/Landscape/Player/components/Progress.js rename to src/screens/PlayDetail/Landscape/PlayBar/Progress.js diff --git a/src/screens/PlayDetail/Landscape/Player/components/Status.js b/src/screens/PlayDetail/Landscape/PlayBar/Status.js similarity index 100% rename from src/screens/PlayDetail/Landscape/Player/components/Status.js rename to src/screens/PlayDetail/Landscape/PlayBar/Status.js diff --git a/src/screens/PlayDetail/Landscape/Player/components/PlayInfo.js b/src/screens/PlayDetail/Landscape/PlayBar/index.js similarity index 94% rename from src/screens/PlayDetail/Landscape/Player/components/PlayInfo.js rename to src/screens/PlayDetail/Landscape/PlayBar/index.js index ea25c5c4..0c91f416 100644 --- a/src/screens/PlayDetail/Landscape/Player/components/PlayInfo.js +++ b/src/screens/PlayDetail/Landscape/PlayBar/index.js @@ -21,7 +21,7 @@ export default () => { const { curTimeStr, maxTimeStr, progress, bufferedProgress, duration } = usePlayTime() return ( - + @@ -40,9 +40,9 @@ export default () => { const styles = StyleSheet.create({ container: { - flexGrow: 1, + flexGrow: 0, paddingLeft: 15, - paddingRight: 15, + // paddingRight: 15, }, progress: { flexGrow: 1, diff --git a/src/screens/PlayDetail/Landscape/Player/index.js b/src/screens/PlayDetail/Landscape/Player/index.js deleted file mode 100644 index c31fac76..00000000 --- a/src/screens/PlayDetail/Landscape/Player/index.js +++ /dev/null @@ -1,34 +0,0 @@ -import React, { useCallback, memo, useMemo, useEffect } from 'react' -import { View, Text, StyleSheet } from 'react-native' -import { useLayout, useKeyboard } from '@/utils/hooks' -import { useGetter, useDispatch } from '@/store' -import { BorderWidths } from '@/theme' - -import PlayInfo from './components/PlayInfo' -import ControlBtn from './components/ControlBtn' - - -export default memo(({ playNextModes }) => { - // const { onLayout, ...layout } = useLayout() - const theme = useGetter('common', 'theme') - - return ( - - - - - ) -}) - -const styles = StyleSheet.create({ - container: { - width: '100%', - flexDirection: 'row', - // paddingTop: progressContentPadding, - // marginTop: -progressContentPadding, - // backgroundColor: 'rgba(0, 0, 0, .1)', - padding: 5, - // backgroundColor: AppColors.primary, - // backgroundColor: 'red', - }, -}) diff --git a/src/screens/PlayDetail/Landscape/components/Header.js b/src/screens/PlayDetail/Landscape/components/Header.js index 518464b2..2428ed49 100644 --- a/src/screens/PlayDetail/Landscape/components/Header.js +++ b/src/screens/PlayDetail/Landscape/components/Header.js @@ -1,30 +1,104 @@ -import React, { memo } from 'react' +import React, { memo, useState, useCallback } from 'react' import { View, StyleSheet, StatusBar, TouchableOpacity, Text } from 'react-native' import Icon from '@/components/common/Icon' import { useGetter, useDispatch } from '@/store' import { pop } from '@/navigation' - +import Popup from '@/components/common/Popup' +import Slider from '@/components/common/Slider' // import { AppColors } from '@/theme' +const LrcFontSizeStyles = StyleSheet.create({ + content: { + flexGrow: 0, + flexShrink: 1, + flexDirection: 'row', + flexWrap: 'nowrap', + alignItems: 'center', + paddingLeft: 15, + paddingRight: 15, + paddingTop: 15, + }, +}) +const LrcFontSize = () => { + const theme = useGetter('common', 'theme') + const playerLandscapeStyle = useGetter('common', 'playerLandscapeStyle') + const setPlayerLandscapeStyle = useDispatch('common', 'setPlayerLandscapeStyle') + const [sliderSize, setSliderSize] = useState(playerLandscapeStyle.lrcFontSize) + const [isSliding, setSliding] = useState(false) + + const handleSlidingStart = useCallback(value => { + setSliding(true) + }, []) + const handleValueChange = useCallback(value => { + setSliderSize(value) + }, []) + const handleSlidingComplete = useCallback(value => { + if (playerLandscapeStyle.lrcFontSize == value) return + setPlayerLandscapeStyle({ ...playerLandscapeStyle, lrcFontSize: value }) + setSliding(false) + }, [playerLandscapeStyle, setPlayerLandscapeStyle]) + + return ( + + {isSliding ? sliderSize : playerLandscapeStyle.lrcFontSize} + + + ) +} + +const Setting = ({ visible, hide }) => { + return ( + + + + ) +} export default memo(() => { const theme = useGetter('common', 'theme') + const playMusicInfo = useGetter('player', 'playMusicInfo') const componentIds = useGetter('common', 'componentIds') + + const [settingVisible, setSettingVisible] = useState(false) + const back = () => { pop(componentIds.playDetail) } + const showSetting = () => { + setSettingVisible(true) + } return ( - + - {/* */} + + {playMusicInfo.musicInfo?.name} + {playMusicInfo.musicInfo?.singer} + + + + + setSettingVisible(false)} /> ) }) @@ -39,18 +113,20 @@ const styles = StyleSheet.create({ flexDirection: 'row', // justifyContent: 'center', height: 40, - paddingRight: 40, }, button: { width: 40, justifyContent: 'center', alignItems: 'center', + flex: 0, + }, + titleContent: { + flex: 1, }, title: { flex: 1, - lineHeight: 40, - textAlign: 'center', - fontSize: 16, + // textAlign: 'center', + fontSize: 15, }, icon: { paddingLeft: 4, diff --git a/src/screens/PlayDetail/Landscape/index.js b/src/screens/PlayDetail/Landscape/index.js index ec69b26d..b9255b97 100644 --- a/src/screens/PlayDetail/Landscape/index.js +++ b/src/screens/PlayDetail/Landscape/index.js @@ -6,9 +6,9 @@ import { onNavigationComponentDidDisappearEvent } from '@/navigation' import Header from './components/Header' import Pic from './Pic' -import Title from './Title' +import ControlBtn from './ControlBtn' import Lyric from './Lyric' -import Player from './Player' +import PlayBar from './PlayBar' import MoreBtn from './MoreBtn' export default memo(({ componentId, animated }) => { @@ -38,22 +38,18 @@ export default memo(({ componentId, animated }) => { return ( <>
- - - - - - - <View> - <MoreBtn /> - </View> - </View> - </View> - <View style={styles.right}> - <Lyric /> + <View style={{ ...styles.container, backgroundColor: theme.primary }}> + <View style={styles.left}> + <Pic componentId={componentId} animated={animated} /> + <View style={styles.controlBtn} nativeID="pageIndicator"> + <MoreBtn /> + <ControlBtn /> </View> + <PlayBar /> + </View> + <View style={styles.right}> + <Lyric /> </View> - <Player /> </View> </> ) @@ -69,7 +65,8 @@ const styles = StyleSheet.create({ left: { flex: 1, width: '45%', - paddingLeft: 20, + // paddingLeft: 15, + paddingBottom: 10, // backgroundColor: '#eee', }, right: { @@ -77,4 +74,11 @@ const styles = StyleSheet.create({ flexGrow: 0, flexShrink: 0, }, + controlBtn: { + flex: 1, + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'space-between', + // backgroundColor: '#eee', + }, }) diff --git a/src/screens/PlayDetail/Portrait/Lyric.js b/src/screens/PlayDetail/Portrait/Lyric.js index 3ec02178..6e71d534 100644 --- a/src/screens/PlayDetail/Portrait/Lyric.js +++ b/src/screens/PlayDetail/Portrait/Lyric.js @@ -8,13 +8,24 @@ import { useLrcPlay, useLrcSet } from '@/plugins/lyric' const LrcLine = memo(({ lrc, line, activeLine }) => { const theme = useGetter('common', 'theme') + const playerPortraitStyle = useGetter('common', 'playerPortraitStyle') return ( <View style={styles.line}> - <Text style={{ ...styles.lineText, color: activeLine == line ? theme.secondary : theme.normal30 }}>{lrc.text}</Text> + <Text style={{ + ...styles.lineText, + fontSize: playerPortraitStyle.lrcFontSize / 10, + lineHeight: playerPortraitStyle.lrcFontSize / 10 * 1.25, + color: activeLine == line ? theme.secondary : theme.normal30, + }}>{lrc.text}</Text> { lrc.translation - ? <Text style={{ ...styles.lineTranslationText, color: activeLine == line ? theme.secondary : theme.normal30 }}>{lrc.translation}</Text> + ? <Text style={{ + ...styles.lineTranslationText, + fontSize: playerPortraitStyle.lrcFontSize / 10 * 0.8, + lineHeight: playerPortraitStyle.lrcFontSize / 10 * 0.8 * 1.25, + color: activeLine == line ? theme.secondary : theme.normal30, + }}>{lrc.translation}</Text> : null } </View> @@ -36,7 +47,6 @@ export default memo(() => { const lineRef = useRef(0) const linesRef = useRef([]) const isFirstSetLrc = useRef(true) - // const playMusicInfo = useGetter('player', 'playMusicInfo') // const [imgUrl, setImgUrl] = useState(null) // const theme = useGetter('common', 'theme') // const { onLayout, ...layout } = useLayout() @@ -162,16 +172,16 @@ const styles = StyleSheet.create({ }, lineText: { textAlign: 'center', - fontSize: 16, - lineHeight: 20, + // fontSize: 16, + // lineHeight: 20, // paddingTop: 5, // paddingBottom: 5, // opacity: 0, }, lineTranslationText: { textAlign: 'center', - fontSize: 13, - lineHeight: 17, + // fontSize: 13, + // lineHeight: 17, paddingTop: 5, // paddingBottom: 5, }, diff --git a/src/screens/PlayDetail/Portrait/Player/index.js b/src/screens/PlayDetail/Portrait/Player/index.js index b5041141..9c5373bb 100644 --- a/src/screens/PlayDetail/Portrait/Player/index.js +++ b/src/screens/PlayDetail/Portrait/Player/index.js @@ -4,7 +4,7 @@ import { useLayout, useKeyboard } from '@/utils/hooks' import { useGetter, useDispatch } from '@/store' import { BorderWidths } from '@/theme' -import Title from './components/Title' +// import Title from './components/Title' import MoreBtn from './components/MoreBtn' import PlayInfo from './components/PlayInfo' import ControlBtn from './components/ControlBtn' @@ -17,7 +17,7 @@ export default memo(({ playNextModes }) => { return ( <View style={{ ...styles.container, backgroundColor: theme.primary }}> <View style={{ ...styles.info }} > - <Title /> + {/* <Title /> */} <MoreBtn /> </View> <View style={styles.status}> @@ -43,6 +43,7 @@ const styles = StyleSheet.create({ info: { flexDirection: 'row', paddingBottom: 10, + justifyContent: 'flex-end', }, status: { flexDirection: 'column', diff --git a/src/screens/PlayDetail/Portrait/components/Header.js b/src/screens/PlayDetail/Portrait/components/Header.js index 518464b2..2461176a 100644 --- a/src/screens/PlayDetail/Portrait/components/Header.js +++ b/src/screens/PlayDetail/Portrait/components/Header.js @@ -1,30 +1,102 @@ -import React, { memo } from 'react' +import React, { memo, useState, useCallback } from 'react' import { View, StyleSheet, StatusBar, TouchableOpacity, Text } from 'react-native' import Icon from '@/components/common/Icon' import { useGetter, useDispatch } from '@/store' import { pop } from '@/navigation' - +import Popup from '@/components/common/Popup' +import Slider from '@/components/common/Slider' // import { AppColors } from '@/theme' +const LrcFontSizeStyles = StyleSheet.create({ + content: { + flexGrow: 0, + flexShrink: 1, + flexDirection: 'row', + flexWrap: 'nowrap', + alignItems: 'center', + paddingLeft: 15, + paddingRight: 15, + }, +}) +const LrcFontSize = () => { + const theme = useGetter('common', 'theme') + const playerPortraitStyle = useGetter('common', 'playerPortraitStyle') + const setPlayerPortraitStyle = useDispatch('common', 'setPlayerPortraitStyle') + const [sliderSize, setSliderSize] = useState(playerPortraitStyle.lrcFontSize) + const [isSliding, setSliding] = useState(false) + + const handleSlidingStart = useCallback(value => { + setSliding(true) + }, []) + const handleValueChange = useCallback(value => { + setSliderSize(value) + }, []) + const handleSlidingComplete = useCallback(value => { + if (playerPortraitStyle.lrcFontSize == value) return + setPlayerPortraitStyle({ ...playerPortraitStyle, lrcFontSize: value }) + setSliding(false) + }, [playerPortraitStyle, setPlayerPortraitStyle]) + + return ( + <View style={LrcFontSizeStyles.content}> + <Text style={{ color: theme.secondary10 }}>{isSliding ? sliderSize : playerPortraitStyle.lrcFontSize}</Text> + <Slider + minimumValue={100} + maximumValue={300} + onSlidingComplete={handleSlidingComplete} + onValueChange={handleValueChange} + onSlidingStart={handleSlidingStart} + step={2} + value={playerPortraitStyle.lrcFontSize} + /> + </View> + ) +} + +const Setting = ({ visible, hide }) => { + return ( + <Popup + visible={visible} + hideDialog={hide} + title='' + > + <LrcFontSize /> + </Popup> + ) +} export default memo(() => { const theme = useGetter('common', 'theme') + const playMusicInfo = useGetter('player', 'playMusicInfo') const componentIds = useGetter('common', 'componentIds') + + const [settingVisible, setSettingVisible] = useState(false) + const back = () => { pop(componentIds.playDetail) } + const showSetting = () => { + setSettingVisible(true) + } return ( <View style={{ ...styles.header, backgroundColor: theme.primary }} nativeID="header"> <StatusBar backgroundColor="rgba(0,0,0,0)" barStyle="dark-content" translucent={true} /> <View style={{ ...styles.container }}> - <TouchableOpacity onPress={back} style={{ ...styles.button }}> + <TouchableOpacity onPress={back} style={styles.button}> <Icon name="chevron-left" style={{ color: theme.normal }} size={24} /> </TouchableOpacity> - {/* <Text style={{ ...styles.title, color: theme.normal }}></Text> */} + <View style={styles.titleContent}> + <Text numberOfLines={1} style={{ ...styles.title, color: theme.normal10 }}>{playMusicInfo.musicInfo?.name}</Text> + <Text numberOfLines={1} style={{ ...styles.title, color: theme.normal20, fontSize: 12 }}>{playMusicInfo.musicInfo?.singer}</Text> + </View> + <TouchableOpacity onPress={showSetting} style={styles.button}> + <Icon name="font-size" style={{ color: theme.normal30 }} size={24} /> + </TouchableOpacity> </View> + <Setting visible={settingVisible} hide={() => setSettingVisible(false)} /> </View> ) }) @@ -39,18 +111,20 @@ const styles = StyleSheet.create({ flexDirection: 'row', // justifyContent: 'center', height: 40, - paddingRight: 40, }, button: { width: 40, justifyContent: 'center', alignItems: 'center', + flex: 0, + }, + titleContent: { + flex: 1, }, title: { flex: 1, - lineHeight: 40, textAlign: 'center', - fontSize: 16, + fontSize: 15, }, icon: { paddingLeft: 4, diff --git a/src/store/modules/common/action.js b/src/store/modules/common/action.js index 548d5619..414f3e63 100644 --- a/src/store/modules/common/action.js +++ b/src/store/modules/common/action.js @@ -43,6 +43,8 @@ export const TYPES = { setDesktopLyricPosition: null, setDesktopLyricTextPosition: null, setDesktopLyricStyle: null, + setPlayerPortraitStyle: null, + setPlayerLandscapeStyle: null, } for (const key of Object.keys(TYPES)) { TYPES[key] = `common__${key}` @@ -369,3 +371,21 @@ export const setSyncStatus = statusInfo => async(dispatch, getState) => { payload: statusInfo, }) } + +export const setPlayerPortraitStyle = style => async(dispatch, getState) => { + dispatch({ + type: TYPES.setPlayerPortraitStyle, + payload: style, + }) + const { common } = getState() + await setData(settingKey, common.setting) +} + +export const setPlayerLandscapeStyle = style => async(dispatch, getState) => { + dispatch({ + type: TYPES.setPlayerLandscapeStyle, + payload: style, + }) + const { common } = getState() + await setData(settingKey, common.setting) +} diff --git a/src/store/modules/common/getter.js b/src/store/modules/common/getter.js index 2b928990..783a5a6e 100644 --- a/src/store/modules/common/getter.js +++ b/src/store/modules/common/getter.js @@ -66,3 +66,6 @@ const apiSourceListFormated = apiSourceInfo.map(api => ({ export const apiSourceList = state => apiSourceListFormated export const supportQualitys = state => apiSourceInfo.find(s => s.id == state.common.setting.apiSource).supportQualitys + +export const playerPortraitStyle = state => state.common.setting.player.portrait.style +export const playerLandscapeStyle = state => state.common.setting.player.landscape.style diff --git a/src/store/modules/common/reducer.js b/src/store/modules/common/reducer.js index 75896427..d09e218b 100644 --- a/src/store/modules/common/reducer.js +++ b/src/store/modules/common/reducer.js @@ -413,6 +413,36 @@ const mutations = { if (message != null) newState.syncStatus.message = message return newState }, + [TYPES.setPlayerPortraitStyle](state, style) { + return { + ...state, + setting: { + ...state.setting, + player: { + ...state.setting.player, + portrait: { + ...state.setting.player.portrait, + style, + }, + }, + }, + } + }, + [TYPES.setPlayerLandscapeStyle](state, style) { + return { + ...state, + setting: { + ...state.setting, + player: { + ...state.setting.player, + landscape: { + ...state.setting.player.landscape, + style, + }, + }, + }, + } + }, } export default (state = initialState, action) =>