|
@@ -1,4 +1,4 @@
|
|
|
-import { View, Image, PickerView, PickerViewColumn, Text } from "@tarojs/components";
|
|
|
|
|
|
|
+import { View, Image, PickerView, PickerViewColumn, Text, ScrollView } from "@tarojs/components";
|
|
|
import './record_time.scss'
|
|
import './record_time.scss'
|
|
|
import Taro, { useRouter, useShareAppMessage } from "@tarojs/taro";
|
|
import Taro, { useRouter, useShareAppMessage } from "@tarojs/taro";
|
|
|
import { rpxToPx } from "@/utils/tools";
|
|
import { rpxToPx } from "@/utils/tools";
|
|
@@ -22,6 +22,8 @@ import FollowInfo from "@/_moment/components/follow_info";
|
|
|
import MomentDetailShare from "@/pages/moment/moment_detail_share";
|
|
import MomentDetailShare from "@/pages/moment/moment_detail_share";
|
|
|
import RingProgress from "@/_record/components/ring_progress.weapp";
|
|
import RingProgress from "@/_record/components/ring_progress.weapp";
|
|
|
import PickerCard from "@/_record/components/picker_card";
|
|
import PickerCard from "@/_record/components/picker_card";
|
|
|
|
|
+import { jumpPage } from "@/features/trackTimeDuration/hooks/Common";
|
|
|
|
|
+import { BASE_IMG_URL } from "@/services/http/api";
|
|
|
|
|
|
|
|
|
|
|
|
|
let timer
|
|
let timer
|
|
@@ -33,7 +35,17 @@ if (process.env.TARO_ENV == 'rn') {
|
|
|
LinearGradient = require('react-native-linear-gradient').default
|
|
LinearGradient = require('react-native-linear-gradient').default
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-export default function RecordTime(props: { scenario: string, join_id?: string, contentHeight: number, showPicker: any, hidePicker: any, count: number, complete: any }) {
|
|
|
|
|
|
|
+export default function RecordTime(props: {
|
|
|
|
|
+ scenario: string,
|
|
|
|
|
+ join_id?: string,
|
|
|
|
|
+ contentHeight: number,
|
|
|
|
|
+ showPicker: any,
|
|
|
|
|
+ hidePicker: any,
|
|
|
|
|
+ count: number,
|
|
|
|
|
+ theme_color: string,
|
|
|
|
|
+ complete: any,
|
|
|
|
|
+ event: any,
|
|
|
|
|
+}) {
|
|
|
const systemInfo: any = Taro.getWindowInfo ? Taro.getWindowInfo() : Taro.getSystemInfoSync();
|
|
const systemInfo: any = Taro.getWindowInfo ? Taro.getWindowInfo() : Taro.getSystemInfoSync();
|
|
|
const navigationBarHeight = systemInfo.statusBarHeight + 44;
|
|
const navigationBarHeight = systemInfo.statusBarHeight + 44;
|
|
|
const screenHeight = systemInfo.screenHeight
|
|
const screenHeight = systemInfo.screenHeight
|
|
@@ -136,37 +148,41 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
}
|
|
}
|
|
|
}, [status, showDatePicker, showEndDatePicker, showDurationPicker])
|
|
}, [status, showDatePicker, showEndDatePicker, showDurationPicker])
|
|
|
|
|
|
|
|
-
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
- const { events } = record
|
|
|
|
|
- events.map((item) => {
|
|
|
|
|
- if (item.scenario == scenario) {
|
|
|
|
|
- setInfo(item)
|
|
|
|
|
- setStatus(item.status)
|
|
|
|
|
- setLoaded(true)
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
downloadFile()
|
|
downloadFile()
|
|
|
- // timer = setInterval(() => {
|
|
|
|
|
- // if (picker1Ref.current || picker2Ref.current || picker3Ref.current) return
|
|
|
|
|
- // if (statusRef.current == 'DONE') return
|
|
|
|
|
- // setCount(count => count + 1)
|
|
|
|
|
- // }, 1000)
|
|
|
|
|
- // return () => {
|
|
|
|
|
- // clearInterval(timer)
|
|
|
|
|
- // }
|
|
|
|
|
}, [])
|
|
}, [])
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+
|
|
|
|
|
+ setInfo(props.event)
|
|
|
|
|
+ setStatus(props.event.status)
|
|
|
|
|
+ setLoaded(true)
|
|
|
|
|
+ }, [props.event])
|
|
|
|
|
+
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
|
setCount(props.count)
|
|
setCount(props.count)
|
|
|
}, [props.count])
|
|
}, [props.count])
|
|
|
|
|
|
|
|
function downloadFile() {
|
|
function downloadFile() {
|
|
|
Taro.downloadFile({
|
|
Taro.downloadFile({
|
|
|
- url: 'https://background-pictures.oss-cn-beijing.aliyuncs.com/inapp/checkmark.png',
|
|
|
|
|
|
|
+ url: BASE_IMG_URL+'cp_check_f.png',
|
|
|
|
|
+ success: (res) => {
|
|
|
|
|
+ if (res.statusCode === 200) {
|
|
|
|
|
+ global.checkFastImg = res.tempFilePath
|
|
|
|
|
+
|
|
|
|
|
+ } else {
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: (err) => {
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ Taro.downloadFile({
|
|
|
|
|
+ url: BASE_IMG_URL+'cp_check_s.png',
|
|
|
success: (res) => {
|
|
success: (res) => {
|
|
|
if (res.statusCode === 200) {
|
|
if (res.statusCode === 200) {
|
|
|
- global.checkImg = res.tempFilePath
|
|
|
|
|
|
|
+ global.checkSleepImg = res.tempFilePath
|
|
|
|
|
|
|
|
} else {
|
|
} else {
|
|
|
}
|
|
}
|
|
@@ -219,7 +235,10 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
function start() {
|
|
function start() {
|
|
|
// var date = TimeFormatter.stringToDate(selDate, time)
|
|
// var date = TimeFormatter.stringToDate(selDate, time)
|
|
|
// date.setMilliseconds(new Date(enterTimestmap).getMilliseconds())
|
|
// date.setMilliseconds(new Date(enterTimestmap).getMilliseconds())
|
|
|
-
|
|
|
|
|
|
|
+ if (!user.isLogin) {
|
|
|
|
|
+ jumpPage('/_account/pages/ChooseAuth', 'ChooseAuth')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
var params: any = {
|
|
var params: any = {
|
|
|
scenario: scenario, //ACTIVITY
|
|
scenario: scenario, //ACTIVITY
|
|
@@ -300,7 +319,10 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
if (posting) return
|
|
if (posting) return
|
|
|
setPosting(true)
|
|
setPosting(true)
|
|
|
addEvents(params).then(res => {
|
|
addEvents(params).then(res => {
|
|
|
- props.complete((res as any).data)
|
|
|
|
|
|
|
+ var dt = (res as any).data
|
|
|
|
|
+ dt.theme_color = props.theme_color
|
|
|
|
|
+ props.complete(dt)
|
|
|
|
|
+
|
|
|
// setShowHighlight(true)
|
|
// setShowHighlight(true)
|
|
|
// setTimeout(() => {
|
|
// setTimeout(() => {
|
|
|
// setShowHighlight(false)
|
|
// setShowHighlight(false)
|
|
@@ -308,8 +330,8 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
// setTimeout(() => {
|
|
// setTimeout(() => {
|
|
|
// setShowResult(true)
|
|
// setShowResult(true)
|
|
|
// }, 2000)
|
|
// }, 2000)
|
|
|
- // Taro.eventCenter.trigger('refreshClockIndex')
|
|
|
|
|
- // Taro.eventCenter.trigger('refreshMoments', '')
|
|
|
|
|
|
|
+ Taro.eventCenter.trigger('refreshClockIndex')
|
|
|
|
|
+ Taro.eventCenter.trigger('refreshMoments', '')
|
|
|
// setInfo((res as any).data)
|
|
// setInfo((res as any).data)
|
|
|
// setStatus((res as any).data.status)
|
|
// setStatus((res as any).data.status)
|
|
|
// setShareUrl('')
|
|
// setShareUrl('')
|
|
@@ -380,7 +402,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
return {
|
|
return {
|
|
|
value: '',
|
|
value: '',
|
|
|
footer: '',
|
|
footer: '',
|
|
|
- color: MainColorType.orange,
|
|
|
|
|
|
|
+ color: props.theme_color ?? MainColorType.orange,
|
|
|
result: TimeFormatter.formateDurationBySeconds(info.time.end_timestamp / 1000 - info.time.start_timestamp / 1000),
|
|
result: TimeFormatter.formateDurationBySeconds(info.time.end_timestamp / 1000 - info.time.start_timestamp / 1000),
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -391,7 +413,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
return {
|
|
return {
|
|
|
target: str,
|
|
target: str,
|
|
|
goal: t('health.adjust_goal'),
|
|
goal: t('health.adjust_goal'),
|
|
|
- color: MainColorType.orange
|
|
|
|
|
|
|
+ color: props.theme_color ?? MainColorType.orange
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
var percent = 100 * (new Date().getTime() - info.time.start_timestamp) / info.time.duration
|
|
var percent = 100 * (new Date().getTime() - info.time.start_timestamp) / info.time.duration
|
|
@@ -451,7 +473,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
</View>
|
|
</View>
|
|
|
|
|
|
|
|
</View>
|
|
</View>
|
|
|
- <View className="share_card2" style={{ background: MainColorType.orange, marginTop: rpxToPx(26) + navigationBarHeight }}>
|
|
|
|
|
|
|
+ <View className="share_card2" style={{ background: props.theme_color ?? MainColorType.orange, marginTop: rpxToPx(26) + navigationBarHeight }}>
|
|
|
{/* {
|
|
{/* {
|
|
|
shareUrl.length > 0 ? <Image src={shareUrl} style={{ width: rpxToPx(900), height: rpxToPx(720) }} /> :
|
|
shareUrl.length > 0 ? <Image src={shareUrl} style={{ width: rpxToPx(900), height: rpxToPx(720) }} /> :
|
|
|
<View style={{ width: rpxToPx(900), height: rpxToPx(720), backgroundColor: MainColorType.g02 }} />
|
|
<View style={{ width: rpxToPx(900), height: rpxToPx(720), backgroundColor: MainColorType.g02 }} />
|
|
@@ -465,13 +487,13 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
width: rpxToPx(88)
|
|
width: rpxToPx(88)
|
|
|
}}
|
|
}}
|
|
|
real={{
|
|
real={{
|
|
|
- color: MainColorType.orange,
|
|
|
|
|
|
|
+ color: props.theme_color ?? MainColorType.orange,
|
|
|
width: rpxToPx(16),
|
|
width: rpxToPx(16),
|
|
|
start: getStartArc(info.time.start_timestamp),
|
|
start: getStartArc(info.time.start_timestamp),
|
|
|
duration: getDurationArc(info.time.start_timestamp, info.time.end_timestamp)
|
|
duration: getDurationArc(info.time.start_timestamp, info.time.end_timestamp)
|
|
|
}}
|
|
}}
|
|
|
extra={ringExtra()}
|
|
extra={ringExtra()}
|
|
|
- shareBg={[MainColorType.orange]}
|
|
|
|
|
|
|
+ shareBg={[props.theme_color ?? MainColorType.orange]}
|
|
|
isCompleted
|
|
isCompleted
|
|
|
shareCover={
|
|
shareCover={
|
|
|
url => {
|
|
url => {
|
|
@@ -484,6 +506,10 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
{
|
|
{
|
|
|
showResult ? <View style={{ display: 'flex', flex: 1, flexDirection: 'row' }}>
|
|
showResult ? <View style={{ display: 'flex', flex: 1, flexDirection: 'row' }}>
|
|
|
<NewButton type={NewButtonType.custom} onClick={() => {
|
|
<NewButton type={NewButtonType.custom} onClick={() => {
|
|
|
|
|
+ if (!user.isLogin) {
|
|
|
|
|
+ jumpPage('/_account/pages/ChooseAuth', 'ChooseAuth')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
setShowDatePicker(true)
|
|
setShowDatePicker(true)
|
|
|
}}>
|
|
}}>
|
|
|
<View className="operate_item" >
|
|
<View className="operate_item" >
|
|
@@ -493,6 +519,10 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
</View>
|
|
</View>
|
|
|
</NewButton>
|
|
</NewButton>
|
|
|
<NewButton type={NewButtonType.custom} onClick={() => {
|
|
<NewButton type={NewButtonType.custom} onClick={() => {
|
|
|
|
|
+ if (!user.isLogin) {
|
|
|
|
|
+ jumpPage('/_account/pages/ChooseAuth', 'ChooseAuth')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
tapEndPicker()
|
|
tapEndPicker()
|
|
|
}}>
|
|
}}>
|
|
|
<View className="operate_item" >
|
|
<View className="operate_item" >
|
|
@@ -610,6 +640,10 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
<View style={{ height: rpxToPx(26) }} />
|
|
<View style={{ height: rpxToPx(26) }} />
|
|
|
<View className="progress_card">
|
|
<View className="progress_card">
|
|
|
<View onClick={() => {
|
|
<View onClick={() => {
|
|
|
|
|
+ if (!user.isLogin) {
|
|
|
|
|
+ jumpPage('/_account/pages/ChooseAuth', 'ChooseAuth')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
tapClock()
|
|
tapClock()
|
|
|
// setShowDurationPicker(true)
|
|
// setShowDurationPicker(true)
|
|
|
}}>
|
|
}}>
|
|
@@ -628,7 +662,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
duration: status == 'WFS' ? getDurationArc(new Date().getTime(), new Date().getTime() + info.time.duration) : getDurationArc(info.time.start_timestamp, info.time.start_timestamp + info.time.duration)
|
|
duration: status == 'WFS' ? getDurationArc(new Date().getTime(), new Date().getTime() + info.time.duration) : getDurationArc(info.time.start_timestamp, info.time.start_timestamp + info.time.duration)
|
|
|
}}
|
|
}}
|
|
|
real={status == 'WFS' ? null : {
|
|
real={status == 'WFS' ? null : {
|
|
|
- color: MainColorType.orange,
|
|
|
|
|
|
|
+ color: props.theme_color ?? MainColorType.orange,
|
|
|
width: rpxToPx(88),
|
|
width: rpxToPx(88),
|
|
|
start: getStartArc(info.time.start_timestamp),
|
|
start: getStartArc(info.time.start_timestamp),
|
|
|
duration: getDurationArc(info.time.start_timestamp, new Date().getTime())
|
|
duration: getDurationArc(info.time.start_timestamp, new Date().getTime())
|
|
@@ -646,7 +680,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
<View className={showHighlight ? 'card_highlight start_card_show' : ''} />
|
|
<View className={showHighlight ? 'card_highlight start_card_show' : ''} />
|
|
|
<View className="black_50 h24">{scenario == 'FAST' ? t('health.started') : t('health.bedtime1')}</View>
|
|
<View className="black_50 h24">{scenario == 'FAST' ? t('health.started') : t('health.bedtime1')}</View>
|
|
|
<View className="h44 bold" style={{ marginTop: rpxToPx(8), marginBottom: rpxToPx(8) }}>{TimeFormatter.abbrTimestampFormat(info.time.start_timestamp)}</View>
|
|
<View className="h44 bold" style={{ marginTop: rpxToPx(8), marginBottom: rpxToPx(8) }}>{TimeFormatter.abbrTimestampFormat(info.time.start_timestamp)}</View>
|
|
|
- <View className="h30 bold" style={{ color: MainColorType.orange }}>{scenario == 'FAST' ? t('health.adjust_start') : t('health.adjust_bedtime')}</View>
|
|
|
|
|
|
|
+ <View className="h30 bold" style={{ color: props.theme_color ?? MainColorType.orange }}>{scenario == 'FAST' ? t('health.adjust_start') : t('health.adjust_bedtime')}</View>
|
|
|
</View>
|
|
</View>
|
|
|
</NewButton>
|
|
</NewButton>
|
|
|
<NewButton type={NewButtonType.custom} onClick={() => {
|
|
<NewButton type={NewButtonType.custom} onClick={() => {
|
|
@@ -655,7 +689,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
<View className="operate_item_index">
|
|
<View className="operate_item_index">
|
|
|
<View className="black_50 h24">{t('health.time_goal', { time: TimeFormatter.formateDurationBySeconds(info.time.duration / 1000) })}</View>
|
|
<View className="black_50 h24">{t('health.time_goal', { time: TimeFormatter.formateDurationBySeconds(info.time.duration / 1000) })}</View>
|
|
|
<View className="h44 bold" style={{ marginTop: rpxToPx(8), marginBottom: rpxToPx(8) }}>{TimeFormatter.abbrTimestampFormat(info.time.target_end_timestamp)}</View>
|
|
<View className="h44 bold" style={{ marginTop: rpxToPx(8), marginBottom: rpxToPx(8) }}>{TimeFormatter.abbrTimestampFormat(info.time.target_end_timestamp)}</View>
|
|
|
- <View className="h30 bold" style={{ color: MainColorType.orange }}>{t('health.adjust_goal')}</View>
|
|
|
|
|
|
|
+ <View className="h30 bold" style={{ color: props.theme_color ?? MainColorType.orange }}>{t('health.adjust_goal')}</View>
|
|
|
</View>
|
|
</View>
|
|
|
</NewButton>
|
|
</NewButton>
|
|
|
</View>
|
|
</View>
|
|
@@ -666,7 +700,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
title={scenario == 'FAST' ? record.actions.FAST_START : record.actions.SLEEP_BEDTIME}
|
|
title={scenario == 'FAST' ? record.actions.FAST_START : record.actions.SLEEP_BEDTIME}
|
|
|
width={rpxToPx(490)}
|
|
width={rpxToPx(490)}
|
|
|
height={rpxToPx(108)}
|
|
height={rpxToPx(108)}
|
|
|
- color={MainColorType.orange}
|
|
|
|
|
|
|
+ color={props.theme_color ?? MainColorType.orange}
|
|
|
onClick={start}
|
|
onClick={start}
|
|
|
/>
|
|
/>
|
|
|
}
|
|
}
|
|
@@ -677,7 +711,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
title={scenario == 'FAST' ? record.actions.FAST_END : record.actions.SLEEP_WAKE_UP}
|
|
title={scenario == 'FAST' ? record.actions.FAST_END : record.actions.SLEEP_WAKE_UP}
|
|
|
width={rpxToPx(490)}
|
|
width={rpxToPx(490)}
|
|
|
height={rpxToPx(108)}
|
|
height={rpxToPx(108)}
|
|
|
- color={MainColorType.orange}
|
|
|
|
|
|
|
+ color={props.theme_color ?? MainColorType.orange}
|
|
|
onClick={end}
|
|
onClick={end}
|
|
|
/>
|
|
/>
|
|
|
{/* <NewButton
|
|
{/* <NewButton
|
|
@@ -781,7 +815,7 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
duration: status == 'WFS' ? getDurationArc(new Date().getTime(), new Date().getTime() + info.time.duration) : getDurationArc(info.time.start_timestamp, info.time.start_timestamp + info.time.duration)
|
|
duration: status == 'WFS' ? getDurationArc(new Date().getTime(), new Date().getTime() + info.time.duration) : getDurationArc(info.time.start_timestamp, info.time.start_timestamp + info.time.duration)
|
|
|
}}
|
|
}}
|
|
|
real={status == 'WFS' ? null : {
|
|
real={status == 'WFS' ? null : {
|
|
|
- color: MainColorType.orange,
|
|
|
|
|
|
|
+ color: props.theme_color ?? MainColorType.orange,
|
|
|
width: rpxToPx(88),
|
|
width: rpxToPx(88),
|
|
|
start: getStartArc(info.time.start_timestamp),
|
|
start: getStartArc(info.time.start_timestamp),
|
|
|
duration: getDurationArc(info.time.start_timestamp, new Date().getTime())
|
|
duration: getDurationArc(info.time.start_timestamp, new Date().getTime())
|
|
@@ -851,14 +885,47 @@ export default function RecordTime(props: { scenario: string, join_id?: string,
|
|
|
}
|
|
}
|
|
|
</View>
|
|
</View>
|
|
|
}
|
|
}
|
|
|
- return <View style={{ width: rpxToPx(750), height: 1000, display: 'flex', flexShrink: 0, alignItems: 'center', flexDirection: 'column' }}>
|
|
|
|
|
- {
|
|
|
|
|
- status == 'DONE' ? doneComponent() : render()
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ return <ScrollView style={{ position: 'relative', zIndex: 1000, height: props.contentHeight }} scrollY>
|
|
|
|
|
+ <View style={{ width: rpxToPx(750), display: 'flex', flexShrink: 0, alignItems: 'center', flexDirection: 'column' }}>
|
|
|
|
|
+ {
|
|
|
|
|
+ status == 'DONE' ? doneComponent() : render()
|
|
|
|
|
+ }
|
|
|
|
|
+ {
|
|
|
|
|
+ scenario == 'FAST' && <NewButton type={NewButtonType.custom} onClick={() => {
|
|
|
|
|
+ if (!user.isLogin) {
|
|
|
|
|
+ jumpPage('/_account/pages/ChooseAuth', 'ChooseAuth')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ jumpPage('/_health/pages/fast_sleep')
|
|
|
|
|
+ }}>
|
|
|
|
|
+ <View className="time_record_card">
|
|
|
|
|
+ {global.language == 'en' ? 'Fast & Sleep' : '断食与睡眠'}
|
|
|
|
|
+ <View className="timer_record_card_arrow">
|
|
|
|
|
+ <IconArrow width={rpxToPx(34)} color={MainColorType.black_25} />
|
|
|
|
|
+ </View>
|
|
|
|
|
+ </View>
|
|
|
|
|
+ </NewButton>
|
|
|
|
|
+ }
|
|
|
|
|
+ <NewButton type={NewButtonType.custom} onClick={() => {
|
|
|
|
|
+ if (!user.isLogin) {
|
|
|
|
|
+ jumpPage('/_account/pages/ChooseAuth', 'ChooseAuth')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ jumpPage('/pages/metric/Metric')
|
|
|
|
|
+ }}>
|
|
|
|
|
+ <View className="time_record_card">
|
|
|
|
|
+ {global.language == 'en' ? 'Metrics' : '指标'}
|
|
|
|
|
+ <View className="timer_record_card_arrow">
|
|
|
|
|
+ <IconArrow width={rpxToPx(34)} color={MainColorType.black_25} />
|
|
|
|
|
+ </View>
|
|
|
|
|
+ </View>
|
|
|
|
|
+ </NewButton>
|
|
|
|
|
|
|
|
- <MomentDetailShare
|
|
|
|
|
- user={user}
|
|
|
|
|
- canvas_id={"time_record" + scenario}
|
|
|
|
|
- btnColor={MainColorType.orange} />
|
|
|
|
|
- </View>
|
|
|
|
|
|
|
+ <MomentDetailShare
|
|
|
|
|
+ user={user}
|
|
|
|
|
+ canvas_id={"time_record" + scenario}
|
|
|
|
|
+ btnColor={props.theme_color ?? MainColorType.orange} />
|
|
|
|
|
+ <View style={{ height: 100 }} />
|
|
|
|
|
+ </View>
|
|
|
|
|
+ </ScrollView>
|
|
|
}
|
|
}
|