sheets.tsx (5589cdf32b2bb0f641e5ac7bf1f6152cd6b9b70e) sheets.tsx (740e39476f71e0e17304d812ac0a4c4cdc183ed1)
1import React, {useMemo, useState} from 'react';
2import {StyleSheet, View} from 'react-native';
3import rpx from '@/utils/rpx';
4import ThemeText from '@/components/base/themeText';
5import useColors from '@/hooks/useColors';
6import {TouchableWithoutFeedback} from 'react-native-gesture-handler';
1import React, {useMemo, useState} from 'react';
2import {StyleSheet, View} from 'react-native';
3import rpx from '@/utils/rpx';
4import ThemeText from '@/components/base/themeText';
5import useColors from '@/hooks/useColors';
6import {TouchableWithoutFeedback} from 'react-native-gesture-handler';
7import MusicSheet from '@/core/musicSheet';
8import {FlashList} from '@shopify/flash-list';
9import ListItem from '@/components/base/listItem';
10import {ROUTE_PATH, useNavigate} from '@/entry/router';
11import {ImgAsset} from '@/constants/assetsConst';
12import {showDialog} from '@/components/dialogs/useDialog';
13import Toast from '@/utils/toast';
14import Empty from '@/components/base/empty';
15import IconButton from '@/components/base/iconButton';
16import {showPanel} from '@/components/panels/usePanel';
17import {localPluginPlatform} from '@/constants/commonConst';
7import {FlashList} from '@shopify/flash-list';
8import ListItem from '@/components/base/listItem';
9import {ROUTE_PATH, useNavigate} from '@/entry/router';
10import {ImgAsset} from '@/constants/assetsConst';
11import {showDialog} from '@/components/dialogs/useDialog';
12import Toast from '@/utils/toast';
13import Empty from '@/components/base/empty';
14import IconButton from '@/components/base/iconButton';
15import {showPanel} from '@/components/panels/usePanel';
16import {localPluginPlatform} from '@/constants/commonConst';
17import MusicSheet from '@/core/musicSheet';
18
19export default function Sheets() {
20 const [index, setIndex] = useState(0);
21 const colors = useColors();
22 const navigate = useNavigate();
23
18
19export default function Sheets() {
20 const [index, setIndex] = useState(0);
21 const colors = useColors();
22 const navigate = useNavigate();
23
24 const allSheets = MusicSheet.useSheets();
25 const staredSheets = MusicSheet.useStarredMusicSheet();
24 const allSheets = MusicSheet.useSheetsBase();
25 const staredSheets = MusicSheet.useStarredSheets();
26
27 const selectedTabTextStyle = useMemo(() => {
28 return [
29 styles.selectTabText,
30 {
31 borderBottomColor: colors.primary,
32 },
33 ];

--- 54 unchanged lines hidden (view full) ---

88 </TouchableWithoutFeedback>
89 <View style={styles.more}>
90 <IconButton
91 name="plus"
92 style={styles.newSheetButton}
93 sizeType="normal"
94 accessibilityLabel="新建歌单"
95 onPress={() => {
26
27 const selectedTabTextStyle = useMemo(() => {
28 return [
29 styles.selectTabText,
30 {
31 borderBottomColor: colors.primary,
32 },
33 ];

--- 54 unchanged lines hidden (view full) ---

88 </TouchableWithoutFeedback>
89 <View style={styles.more}>
90 <IconButton
91 name="plus"
92 style={styles.newSheetButton}
93 sizeType="normal"
94 accessibilityLabel="新建歌单"
95 onPress={() => {
96 showPanel('NewMusicSheet');
96 showPanel('CreateMusicSheet');
97 }}
98 />
99 <IconButton
100 name="inbox-arrow-down"
101 sizeType="normal"
102 accessibilityLabel="导入歌单"
103 onPress={() => {
104 showPanel('ImportMusicSheet');

--- 34 unchanged lines hidden (view full) ---

139 ? 'heart'
140 : null
141 }
142 />
143 <ListItem.Content
144 title={sheet.title}
145 description={
146 isLocalSheet
97 }}
98 />
99 <IconButton
100 name="inbox-arrow-down"
101 sizeType="normal"
102 accessibilityLabel="导入歌单"
103 onPress={() => {
104 showPanel('ImportMusicSheet');

--- 34 unchanged lines hidden (view full) ---

139 ? 'heart'
140 : null
141 }
142 />
143 <ListItem.Content
144 title={sheet.title}
145 description={
146 isLocalSheet
147 ? `${sheet.musicList?.length ?? '-'}首`
147 ? `${sheet.worksNum}首`
148 : `${sheet.artist}`
149 }
150 />
151 {sheet.id !== MusicSheet.defaultSheet.id ? (
152 <ListItem.ListItemIcon
153 position="right"
154 icon="trash-outline"
155 onPress={() => {

--- 62 unchanged lines hidden ---
148 : `${sheet.artist}`
149 }
150 />
151 {sheet.id !== MusicSheet.defaultSheet.id ? (
152 <ListItem.ListItemIcon
153 position="right"
154 icon="trash-outline"
155 onPress={() => {

--- 62 unchanged lines hidden ---