@@ -14,14 +14,14 @@ import { showToast } from '../../utils/showToast';
14
14
import { getString } from '@strings/translations' ;
15
15
import { Appbar , EmptyView } from '@components' ;
16
16
import { TaskQueueScreenProps } from '@navigators/types' ;
17
- import ServiceManager , { BackgroundTask } from '@services/ServiceManager' ;
17
+ import ServiceManager , { QueuedBackgroundTask } from '@services/ServiceManager' ;
18
18
import { useSafeAreaInsets } from 'react-native-safe-area-context' ;
19
19
import { useMMKVObject } from 'react-native-mmkv' ;
20
20
21
21
const DownloadQueue = ( { navigation } : TaskQueueScreenProps ) => {
22
22
const theme = useTheme ( ) ;
23
23
const { bottom } = useSafeAreaInsets ( ) ;
24
- const [ taskQueue ] = useMMKVObject < BackgroundTask [ ] > (
24
+ const [ taskQueue ] = useMMKVObject < QueuedBackgroundTask [ ] > (
25
25
ServiceManager . manager . STORE_KEY ,
26
26
) ;
27
27
const [ isRunning , setIsRunning ] = useState ( ServiceManager . manager . isRunning ) ;
@@ -34,6 +34,8 @@ const DownloadQueue = ({ navigation }: TaskQueueScreenProps) => {
34
34
}
35
35
} , [ taskQueue ] ) ;
36
36
37
+ //TODO: there should probably be a way to cancel a specific task from this screen
38
+
37
39
return (
38
40
< >
39
41
< Appbar
@@ -71,15 +73,21 @@ const DownloadQueue = ({ navigation }: TaskQueueScreenProps) => {
71
73
contentContainerStyle = { { flexGrow : 1 , paddingBottom : 100 } }
72
74
keyExtractor = { ( item , index ) => 'task_' + index }
73
75
data = { taskQueue || [ ] }
74
- renderItem = { ( { item, index } ) => (
76
+ renderItem = { ( { item } ) => (
75
77
< View style = { { padding : 16 } } >
76
- < Text style = { { color : theme . onSurface } } >
77
- { item . name } - { ServiceManager . manager . getTaskDescription ( item ) }
78
- </ Text >
78
+ < Text style = { { color : theme . onSurface } } > { item . meta . name } </ Text >
79
+ { item . meta . progressText ? (
80
+ < Text style = { { color : theme . onSurfaceVariant } } >
81
+ { item . meta . progressText }
82
+ </ Text >
83
+ ) : null }
79
84
< ProgressBar
80
- indeterminate = { taskQueue && taskQueue . length > 0 && index === 0 }
85
+ indeterminate = {
86
+ item . meta . isRunning && item . meta . progress === undefined
87
+ }
88
+ progress = { item . meta . progress }
81
89
color = { theme . primary }
82
- style = { { marginTop : 8 } }
90
+ style = { { marginTop : 8 , backgroundColor : theme . surface2 } }
83
91
/>
84
92
</ View >
85
93
) }
0 commit comments