diff --git a/front/components/StarProgress.tsx b/front/components/StarProgress.tsx new file mode 100644 index 0000000..7f85e95 --- /dev/null +++ b/front/components/StarProgress.tsx @@ -0,0 +1,55 @@ +import * as React from 'react'; +import { Progress } from 'native-base'; +import { View, ViewStyle, StyleProp } from 'react-native'; +import { Ionicons } from '@expo/vector-icons'; + +export interface StarProgressProps { + value: number; + max: number; + starSteps: number[]; + style?: StyleProp; +} + +const StarProgress = (props: StarProgressProps) => { + return ( + + + {props.starSteps.map((step) => { + return ( + + ); + })} + + ); +}; + +export default StarProgress; diff --git a/front/views/PlayView.tsx b/front/views/PlayView.tsx index 9706ce9..2a7eecd 100644 --- a/front/views/PlayView.tsx +++ b/front/views/PlayView.tsx @@ -14,6 +14,7 @@ import { useToast, Icon, HStack, + Image, } from 'native-base'; import IconButton from '../components/IconButton'; import { Ionicons } from '@expo/vector-icons'; @@ -34,6 +35,7 @@ import url from 'url'; import { PianoCanvasContext, PianoCanvasMsg, NoteTiming } from '../models/PianoGame'; import { Metronome } from '../components/Metronome'; import PartitionMagic from '../components/Play/PartitionMagic'; +import StarProgress from '../components/StarProgress'; type PlayViewProps = { songId: number; @@ -324,23 +326,50 @@ const PlayView = ({ songId, type, route }: RouteProps) => { return ; } return ( - - + - + {/* - - - + */} + + {score} + + + Cool + + x1 + + + + ) => { - - - - - Score: {score}% - - -
- {song.data.name} -
- + - {midiKeyboardFound && ( - <> - } - onPress={() => { - if (paused) { - onResume(); - } else { - onPause(); - } - }} - /> - - {time < 0 - ? paused - ? '0:00' - : Math.floor((time % 60000) / 1000) - .toFixed(0) - .toString() - : `${Math.floor(time / 60000)}:${Math.floor( - (time % 60000) / 1000 - ) - .toFixed(0) - .toString() - .padStart(2, '0')}`} - - } - onPress={() => { - onEnd(); - }} - /> - - )} - -
-
+ cover + + {song.data.name} + {song.data.artistId} + + + + + } + onPress={() => { + if (paused) { + onResume(); + } else { + onPause(); + } + }} + /> + + {time < 0 + ? paused + ? '0:00' + : Math.floor((time % 60000) / 1000) + .toFixed(0) + .toString() + : `${Math.floor(time / 60000)}:${Math.floor((time % 60000) / 1000) + .toFixed(0) + .toString() + .padStart(2, '0')}`} + + + 2:30 + + + {midiKeyboardFound && ( + <> + } + onPress={() => { + onEnd(); + }} + /> + + )} + +
); };