leon 1 éve
szülő
commit
0a3d667be7

A különbségek nem kerülnek megjelenítésre, a fájl túl nagy
+ 0 - 0
ios/main.jsbundle


+ 1 - 0
src/app.scss

@@ -307,6 +307,7 @@ page {
     margin-left: 0px;
     height: 1px;
     background-color: #323232;
+    transform: scaleY(0.5);
 }
 
 .cell_bottom {

+ 59 - 58
src/context/locales/en.js

@@ -118,10 +118,10 @@ export default {
             fast_sleep_desc: 'Track your overnight fast before bed, during sleep, and after waking up',
             free: 'Free',
             limit_time_offer: 'Limit-Time Offer',
-            next:'Next',
-            alert_title:'Premium Access Required',
-            alert_content:'Grow your faststreak to {{day}} {{day_unit}} to unlock.',
-            alert_btn:'Got it',
+            next: 'Next',
+            alert_title: 'Premium Access Required',
+            alert_content: 'Grow your faststreak to {{day}} {{day_unit}} to unlock.',
+            alert_btn: 'Got it',
         },
         suggest: {
             step_0_title: 'Set End Time for Fasting',
@@ -138,7 +138,7 @@ export default {
             fall_sleep_picker_footer: 'It takes 10 to 30 minutes for most people to fall asleep once they\'re in bed.',
             step_3_title: 'Suggested Sleep Schedule',
             sleep_suggest_header: 'To wake up feeling fresh at {{time}}, go to bed at one of the following times:',
-            sleep_suggest_footer:'A good night\'s sleep consists of 5 or 6 complete sleep cycles, each lasting 90 minutes on average.',
+            sleep_suggest_footer: 'A good night\'s sleep consists of 5 or 6 complete sleep cycles, each lasting 90 minutes on average.',
             cycles: '{{times}} sleep cycles',
             go_to_bed_at: 'Go to bed at {{time}}',
             restorative: 'Restorative',
@@ -146,24 +146,25 @@ export default {
             set_myself: 'Set Schedule Myself',
             popular: 'Popular',
             recent: 'Recent',
-            btn:'Suggest Schedule',
-            done:'Done',
-            hour:' hours',
-            hours2:' hrs ',
-            minute:' mins',
+            btn: 'Next',
+            done: 'Done',
+            hour: ' hours',
+            hours2: ' hrs ',
+            minute: ' mins',
+            mins: 'mins'
         },
         set_goal: {
             set_action_plan: 'Set Schedule',
             almost_done: 'Almost done!',
             header: 'Review your schedule',
             footer: 'Feel free to modify your shedule as needed.',
-            fast:'Fasting',
-            sleep:'Sleep',
-            start_fasting:'Start fasting',
-            go_to_bed:'Go to bed',
-            wake_up:'Wake up',
-            end_fasting:'End fasting',
-            done:'Done',
+            fast: 'Fasting',
+            sleep: 'Sleep',
+            start_fasting: 'Start fasting',
+            go_to_bed: 'Go to bed',
+            wake_up: 'Wake up',
+            end_fasting: 'End fasting',
+            done: 'Done',
             next_day: 'Next day ',
         },
 
@@ -173,56 +174,56 @@ export default {
                 desc: 'You\'re on a {{day}}-day faststreak.',//'You\'re on a {{day}}-day streak.\n{{day_left}} more {{day_unit}} until unlocking \'Fasting with sleep.\'',
                 btn: 'Keep it going'
             },
-            gain_access:{
-                title:'Premium Feature Unlocked',
-                desc:'You\'ve earned access to \'Fasting with Sleep\' {{reason}} Are you ready to upgrade?',
+            gain_access: {
+                title: 'Premium Feature Unlocked',
+                desc: 'You\'ve earned access to \'Fasting with Sleep\' {{reason}} Are you ready to upgrade?',
                 // desc:'You\'ve unlocked \'Fasting with Sleep\' since you\'re on a {{day}}-day streak.\nAre you ready to up the game?',
-                upgrade:'Upgrade to Fasting with Sleep',
-                upgrade_desc:'Expiring in {{time}}',
-                stay_btn:'Stay with Fasting Only',
-                reason:'since you\'re on a {{day}}-day faststreak.',
+                upgrade: 'Upgrade to Fasting with Sleep',
+                upgrade_desc: 'Expiring in {{time}}',
+                stay_btn: 'Stay with Fasting Only',
+                reason: 'since you\'re on a {{day}}-day faststreak.',
                 // more:'Learn more'
             },
-            upgrade_pro:{
-                title:'Congrats on Your PRO Status!',
-                desc:'To preserve this status, continue your fasting streak in {{time}} and begin your sleep streak. Remember to keep both of them going.',
-                btn:'I got this!'
+            upgrade_pro: {
+                title: 'Congrats on Your PRO Status!',
+                desc: 'To preserve this status, continue your fasting streak in {{time}} and begin your sleep streak. Remember to keep both of them going.',
+                btn: 'I got this!'
             },
-            sleep_schedule:{
-                title:'Sleep Schedule',
-                desc:'Your previous sleep schedule was {{start_time}} - {{end_time}}.\nDo you want to set a new schedule?',
-                confirm:'Set a new schedule',
-                cancel:'Keep old schedule'
+            sleep_schedule: {
+                title: 'Sleep Schedule',
+                desc: 'Your previous sleep schedule was {{start_time}} - {{end_time}}.\nDo you want to set a new schedule?',
+                confirm: 'Set a new schedule',
+                cancel: 'Keep old schedule'
             },
-            stay_qualified:{
-                title:'Streaks Updated',
-                desc:'You\'re on a {{fast_streak_day}}-day faststreak \nand on a {{sleep_streak_day}}-day sleepstreak.',
+            stay_qualified: {
+                title: 'Streaks Updated',
+                desc: 'You\'re on a {{fast_streak_day}}-day faststreak \nand on a {{sleep_streak_day}}-day sleepstreak.',
                 // desc:'You\'re on a {{fast_streak_day}}-day fasting streak and a {{sleep_streak_day}}-day sleep streak.\nKeep \'em going to stay in the game.',
-                btn:'Keep them going',
+                btn: 'Keep them going',
             },
-            lose_access:{
-                title:'Premium Access Lost',
-                desc:'You\'ve lost access to \'Fasting with Sleep\' {{reason}} To regain access, achieve a new {{require_days}}-day faststreak.',
-                btn:'Got it'
+            lose_access: {
+                title: 'Premium Access Lost',
+                desc: 'You\'ve lost access to \'Fasting with Sleep\' {{reason}} To regain access, achieve a new {{require_days}}-day faststreak.',
+                btn: 'Got it'
                 // confirm:'Become a PRO member',
                 // cancel:'Achieve New Fasting Streak'
             },
-            lost_reason:{
-                fast_streak_lost:'since you lost your faststreak.',
-                sleep_streak_lost:'since you lost your sleepstreak.',
-                fast_sleep_streaks_lost:'since you lost your fast and sleepstreaks.',
-                sleep_streak_not_growing:'since you didn\'t grow your sleepstreak.',
-                not_satisfied_after_delete:'since your faststreak fell below {{day}} {{day_unit}}.',
+            lost_reason: {
+                fast_streak_lost: 'since you lost your faststreak.',
+                sleep_streak_lost: 'since you lost your sleepstreak.',
+                fast_sleep_streaks_lost: 'since you lost your fast and sleepstreaks.',
+                sleep_streak_not_growing: 'since you didn\'t grow your sleepstreak.',
+                not_satisfied_after_delete: 'since your faststreak fell below {{day}} {{day_unit}}.',
                 // fast_streak_lost:'since you lost your fasting streak on {{date}}',
                 // sleep_streak_lost:'since you lost your sleep streak on {{date}}',
                 // fast_sleep_streaks_lost:'since you lost both of your fasting and sleep streaks on {{date}}',
                 // sleep_streak_not_growing:'since you didn\'t grow your sleep streak',
                 // not_satisfied_after_delete:'since you no longer have a fasting streak that satisfy the base requirement',
             }
-            
+
         },
-        notification:{
-            action_title:{
+        notification: {
+            action_title: {
                 start_timer_now: 'Start timer now with 1-tap',
                 pick_earlier_start: 'Pick an earlier start',
                 skip: 'Skip',
@@ -490,15 +491,15 @@ export default {
                 countdown_titles: 'Don\'t lose your streaks. Keep them going!',
                 countdown_fast: 'Current fast streak will reset to zero in {{time}}.',
                 countdown_sleep: 'Current sleep streak will reset to zero in {{time}}.',
-                last_reset:'Last Reset',
-                next_reset:'Next Reset',
+                last_reset: 'Last Reset',
+                next_reset: 'Next Reset',
                 not_determined: 'Not Determined',
-                faststreak:'Faststreak',
-                sleepstreak:'Sleepstreak',
-                alert_title:'Begin Your Sleepstreak',
-                alert_content:'Begin growing your sleepstreak \nalong with your faststreak.',
-                alert_confirm:'Got it!',
-                heads_up:'Heads-up',
+                faststreak: 'Faststreak',
+                sleepstreak: 'Sleepstreak',
+                alert_title: 'Begin Your Sleepstreak',
+                alert_content: 'Begin growing your sleepstreak \nalong with your faststreak.',
+                alert_confirm: 'Got it!',
+                heads_up: 'Heads-up',
             },
             change_tz_alert: {
                 title: 'New Time Zone Detected',

+ 2 - 1
src/context/locales/zh.js

@@ -149,11 +149,12 @@ export default {
             set_myself: '自己设置',
             popular: '热门',
             recent: '最近',
-            btn:'推荐日程',
+            btn:'下一步',
             done:'完成',
             hour:'小时',
             hours2:'小时',
             minute:'分钟',
+            mins:'分钟'
         },
         set_goal: {
             set_action_plan: '设置日程',

+ 41 - 21
src/features/trackTimeDuration/components/StreakItem.tsx

@@ -63,9 +63,9 @@ export default function StreakItem(props: { isFast: boolean, data: any }) {
         return '天'
     }
 
-    function nextStatus(){
-        const {status} = props.data.current
-        if (status == 'EXPIRED'){
+    function nextStatus() {
+        const { status } = props.data.current
+        if (status == 'EXPIRED') {
             return t('feature.track_time_duration.streaks.last_reset')
         }
         else {
@@ -74,9 +74,9 @@ export default function StreakItem(props: { isFast: boolean, data: any }) {
     }
 
     function getTime() {
-        const {status} = props.data.current
-        var ts:any=null;
-        switch (status){
+        const { status } = props.data.current
+        var ts: any = null;
+        switch (status) {
             case 'EXPIRED':
                 ts = props.data.current.prev_reset_ts
                 break;
@@ -88,16 +88,16 @@ export default function StreakItem(props: { isFast: boolean, data: any }) {
                 return t('feature.track_time_duration.streaks.not_determined');
         }
 
-            var date = new Date(ts)
-            var time = TimeFormatter.padZero(date.getHours()) + ':' + TimeFormatter.padZero(date.getMinutes())
-            if (TimeFormatter.dateDescription(ts, true) == 'Today') {
-                return 'Tonight ' + time
-            }
-            if (TimeFormatter.dateDescription(ts, true) == '今天') {
-                return '今晚 ' + time
-            }
-            return TimeFormatter.dateDescription(ts, true) + ' ' + time
-   
+        var date = new Date(ts)
+        var time = TimeFormatter.padZero(date.getHours()) + ':' + TimeFormatter.padZero(date.getMinutes())
+        if (TimeFormatter.dateDescription(ts, true) == 'Today') {
+            return 'Tonight ' + time
+        }
+        if (TimeFormatter.dateDescription(ts, true) == '今天') {
+            return '今晚 ' + time
+        }
+        return TimeFormatter.dateDescription(ts, true) + ' ' + time
+
     }
 
     function tapDetail() {
@@ -109,15 +109,35 @@ export default function StreakItem(props: { isFast: boolean, data: any }) {
         })
     }
 
+    function dayUnit(num) {
+        if (global.language == 'en') {
+            return num == 1 ? 'day' : 'days'
+        }
+        return '天'
+    }
+
 
     return <View className='streaks_item' onClick={goDetail}>
         <View className='streaks_item_header'>
             <Text className='streak_item_type'>{props.isFast ? t('feature.track_time_duration.streaks.faststreak') : t('feature.track_time_duration.streaks.sleepstreak')}</Text>
             {/* <IconShare2 width={rpxToPx(32)} color={props.isFast ? ColorType.fast : ColorType.sleep} /> */}
         </View>
-        <Text className='streak_index'
-            style={{ color: props.data.current.num_days == 0 ? '#ffffff99' : props.isFast ? ColorType.fast : ColorType.sleep }}
-        >{props.data.current.num_days}</Text>
+        <View style={{ flexDirection: 'row', 
+        display: 'flex',
+        marginTop:rpxToPx(6),
+        alignItems:'flex-end' }}>
+            <Text className='streak_index'
+                style={{ color: props.data.current.num_days == 0 ? '#ffffff99' : props.isFast ? ColorType.fast : ColorType.sleep }}
+            >{props.data.current.num_days}</Text>
+            <Text className='streak_index_day'
+                style={{
+                    color: props.data.current.num_days == 0 ? '#ffffff99' : props.isFast ? ColorType.fast : ColorType.sleep,
+                    fontSize: global.language == 'en' ? rpxToPx(40) : rpxToPx(32)
+                }}>
+                {dayUnit(props.data.current.num_days)}
+            </Text>
+        </View>
+
         {
             props.data.current.num_days < 7 ? <View className='streak_item_point_bg'>
                 {
@@ -162,12 +182,12 @@ export default function StreakItem(props: { isFast: boolean, data: any }) {
         <Text className='streak_status'>{getTime()}</Text>
         <View className='streak_bottom'>
             {
-                props.data.current.status=='ACTIVE' && <View className='streak_bottom_info' style={{ backgroundColor: 'red' }}>
+                props.data.current.status == 'ACTIVE' && <View className='streak_bottom_info' style={{ backgroundColor: 'red' }}>
                     <Text className='streak_bottom_info_text'>{TimeFormatter.countdown(props.data.current.reset_ts)}</Text>
                 </View>
             }
             {
-                props.data.current.status=='HEADS_UP' && <View className='streak_bottom_info' style={{ backgroundColor: ColorType.sleep }} onClick={(e) => {
+                props.data.current.status == 'HEADS_UP' && <View className='streak_bottom_info' style={{ backgroundColor: ColorType.sleep }} onClick={(e) => {
                     if (process.env.TARO_ENV == 'weapp')
                         e.stopPropagation()
                     tapDetail()

+ 26 - 9
src/features/trackTimeDuration/components/Streaks.scss

@@ -23,11 +23,11 @@
     width: 318px;
     background-color: #1C1C1C;
     box-sizing: border-box;
-    border-radius: 24px;
+    border-radius: 36px;
     padding-left: 24px;
     padding-right: 24px;
-    padding-top: 20px;
-    padding-bottom: 40px;
+    padding-top: 24px;
+    padding-bottom: 32px;
     display: flex;
     flex-direction: column;
     align-items: center;
@@ -41,7 +41,7 @@
 }
 
 .streak_item_type {
-    font-size: 32px;
+    font-size: 22px;
     line-height: 32px;
     color: #fff;
     opacity: 0.6;
@@ -51,7 +51,7 @@
     display: flex;
     flex-direction: row;
     align-items: center;
-    margin-top: 24px;
+    margin-top: 18px;
     // margin-bottom: 58px;
 }
 
@@ -135,7 +135,7 @@
     height: 1px;
     margin-right: 10px;
     background: linear-gradient(270deg, #2F2F2F 0%, rgba(47, 47, 47, 0) 100%);
-    transform: scaleY(0.5);
+    // transform: scaleY(0.5);
     flex: 1;
 }
 
@@ -143,7 +143,7 @@
     height: 1px;
     margin-left: 10px;
     background: linear-gradient(90deg, #2F2F2F 0%, rgba(47, 47, 47, 0) 100%);
-    transform: scaleY(0.5);
+    // transform: scaleY(0.5);
     flex: 1;
 }
 
@@ -171,22 +171,33 @@
 }
 
 .streak_index {
-    margin-top: 12px;
     font-weight: bold;
-    font-size: 48px;
+    font-size: 56px;
+    line-height: 60px;
+}
+
+.streak_index_day{
+    font-size: 40px;
+    line-height: 40px;
+    font-weight: bold;
+    margin-left: 4px;
+    margin-bottom: 6px;
 }
 
 .streak_next {
     display: flex;
     flex-direction: row;
     margin-top: 24px;
+    height: 20px;
     width: 120%;
     align-items: center;
 }
 
 .streak_next_text{
     font-size: 16px;
+    line-height: 20px;
     color: #2F2F2F;
+    
 }
 
 .streak_status {
@@ -197,6 +208,9 @@
     justify-content: center;
     color: #fff;
     opacity: 0.3;
+    font-size: 20px;
+    line-height: 24px;
+    font-weight: bold;
 }
 
 .streak_bottom{
@@ -210,16 +224,19 @@
 
 .streak_bottom_info{
     height: 34px;
+    min-width: 114px;
     padding-left: 15px;
     padding-right: 15px;
     border-radius: 6px;
     display: flex;
     align-items: center;
     justify-content: center;
+    box-sizing: border-box;
 }
 
 .streak_bottom_info_text{
     font-size: 20px;
     color: #fff;
     font-weight: bold;
+    margin-bottom: 2px;
 }

+ 12 - 4
src/pages/clock/ChooseScenario.scss

@@ -145,14 +145,14 @@
     height: 72px;
     line-height: 72px;
     font-size: 28px;
-    color: #9E9E9E;
+    color: #ffffff99;
     font-weight: bold;
     display: flex;
 }
 
 .suggest_item_title {
     font-size: 48px;
-    line-height: 48px;
+    line-height: 56px;
     color: #9E9E9E;
     font-weight: bold;
     display: flex;
@@ -162,10 +162,9 @@
 .suggest_item_desc {
     font-weight: bold;
     font-size: 24px;
-    line-height: 24px;
+    line-height: 32px;
     color: #fff;
     opacity: 0.2;
-    margin-top: 5px;
 }
 
 .suggest_choose {
@@ -173,6 +172,13 @@
     flex-direction: row;
     align-items: center;
     justify-content: space-between;
+    margin-top: 8px;
+}
+
+.suggest_choose_text{
+    font-size: 32px;
+    font-weight: bold;
+    line-height: 48px;
 }
 
 .choose_item_check_bg {
@@ -198,6 +204,7 @@
     border-top-left-radius: 18px;
     border-top-right-radius: 18px;
     border-bottom-left-radius: 18px;
+    font-weight: bold;
 }
 
 .suggest_tag {
@@ -213,6 +220,7 @@
     align-items: center;
     justify-content: center;
     color: #000;
+    font-weight: bold;
     
 }
 

+ 10 - 9
src/pages/clock/ChooseScenario.tsx

@@ -26,7 +26,7 @@ if (process.env.TARO_ENV == 'rn') {
 export default function ChooseScenario() {
     const [selected, setSelected] = useState(-1);
     const ring = useSelector((state: any) => state.ring);
-    const [access,setAccess] = useState<any>(null);
+    const [access, setAccess] = useState<any>(null);
     const { t } = useTranslation();
     const [count, setCount] = useState(0)
     const dispatch = useDispatch();
@@ -48,6 +48,7 @@ export default function ChooseScenario() {
         getClocks().then(res => {
             setSelected((res as any).current_record.scenario == 'FAST_SLEEP' ? 1 : 0)
             setAccess((res as any).access)
+            dispatch(chooseMode({ isMixed: (res as any).current_record.scenario == 'FAST_SLEEP' }))
         })
         getPlans().then(res => {
             const data = res as { scenarios: any[] };
@@ -85,12 +86,12 @@ export default function ChooseScenario() {
     }
 
     function chooseType(index: number) {
-        const {qualification} = access.current
+        const { qualification } = access.current
         if (qualification.status != "PROVISIONAL_QUALIFIED" && index == 1) {
-            const {streak_fast_min_required} = qualification.condition;
+            const { streak_fast_min_required } = qualification.condition;
             showAlert({
                 title: t('feature.choose_scenario.alert_title'),
-                content: t('feature.choose_scenario.alert_content',{day:streak_fast_min_required,day_unit:streak_fast_min_required==1?'day':'days'}),
+                content: t('feature.choose_scenario.alert_content', { day: streak_fast_min_required, day_unit: streak_fast_min_required == 1 ? 'day' : 'days' }),
                 showCancel: false,
                 confirmText: t('feature.choose_scenario.alert_btn'),
             })
@@ -102,16 +103,16 @@ export default function ChooseScenario() {
 
     const common: RingCommon = {
         useCase: 'ChooseScenario',
-        radius: 33,
-        lineWidth: 8,
+        radius: 30,
+        lineWidth: 12,
         isFast: true,
         status: 'WAIT_FOR_START'
     }
 
     const common2: RingCommon = {
         useCase: 'ChooseScenario',
-        radius: 23,
-        lineWidth: 8,
+        radius: 16,
+        lineWidth: 12,
         isFast: true,
         status: 'WAIT_FOR_START'
     }
@@ -201,7 +202,7 @@ export default function ChooseScenario() {
                         start={{ x: 0, y: 0 }}
                         end={{ x: 1, y: 0 }}
                     >
-                        <Text style={{ fontSize: rpxToPx(20) }}>{t('feature.choose_scenario.limit_time_offer')}</Text>
+                        <Text style={{ fontSize: rpxToPx(20),fontWeight:'bold' }}>{t('feature.choose_scenario.limit_time_offer')}</Text>
                     </LinearGradient>
             }
             {

+ 30 - 8
src/pages/clock/SetGoal.tsx

@@ -19,7 +19,7 @@ import { getLocalPush } from "@/features/trackTimeDuration/actions/TrackTimeActi
 let OneSignal
 let NativeAppEventEmitter
 let Jto
-let uploadPermissions,checkNotification
+let uploadPermissions, checkNotification
 if (process.env.TARO_ENV == 'rn') {
     OneSignal = require('react-native-onesignal').OneSignal
     NativeAppEventEmitter = require('react-native').NativeAppEventEmitter
@@ -112,9 +112,14 @@ export default function SetGoal() {
         }
         var hours = Math.floor(duration / 60)
         var minutes = duration % 60
-        var str = hours + (global.language=='en'?' hours':'小时')// + minutes + ' minutes'
+        var str = hours + (global.language == 'en' ? ' hours' : '小时')// + minutes + ' minutes'
         if (minutes > 0) {
-            str += ` ${minutes}`+(global.language=='en'?' minutes':'分钟')
+            if (global.language == 'en') {
+                str += ` ${minutes}` + (global.language == 'en' ? ' minutes' : '分钟')
+            }
+            else {
+                str += `${minutes}` + '分钟'
+            }
         }
         setFastDuration(str)
     }
@@ -136,9 +141,15 @@ export default function SetGoal() {
         }
         var hours = Math.floor(duration / 60)
         var minutes = duration % 60
-        var str = hours + (global.language=='en'?' hours':'小时')// + minutes + ' minutes'
+        var str = hours + (global.language == 'en' ? ' hours' : '小时')// + minutes + ' minutes'
         if (minutes > 0) {
-            str += ` ${minutes}`+(global.language=='en'?' minutes':'分钟')
+            if (global.language == 'en') {
+                str += ` ${minutes}` + (global.language == 'en' ? ' minutes' : '分钟')
+            }
+            else {
+                str += `${minutes}` + '分钟'
+            }
+
         }
         setSleepDuration(str)
     }
@@ -332,7 +343,7 @@ export default function SetGoal() {
         }
     }
 
-    function popRNAlert(){
+    function popRNAlert() {
         debugger
         if (target.isMixed) {
             popMixScheduleAlert(fastTarget.start_time, sleepTarget.start_time)
@@ -461,7 +472,7 @@ export default function SetGoal() {
         }
 
         <View style={{ color: '#fff' }}>
-            <View className="cell_bg">
+            <View className="cell_bg" style={{ overflow: 'hidden' }}>
                 <View className="cell_full" style={{
                     // marginLeft: rpxToPx(46),
                     // marginRight: rpxToPx(46),
@@ -473,6 +484,9 @@ export default function SetGoal() {
                     <Text className="cell_title">{t('feature.set_goal.fast')}</Text>
                     <Text className="cell_value" style={{ color: ColorType.fast }}>{fastDuration}</Text>
                 </View>
+                {
+                    target.isMixed && <View className="cell_line" style={{ marginLeft: -rpxToPx(46), marginRight: -rpxToPx(46) }} />
+                }
                 {
                     target.isMixed && <View className="cell_full" style={{
                         marginLeft: 0,
@@ -489,7 +503,7 @@ export default function SetGoal() {
 
             <View style={{ height: rpxToPx(20) }} />
 
-            <View className="cell_bg">
+            <View className="cell_bg" style={{ overflow: 'hidden' }}>
                 <View className="cell_top" style={{
                     marginLeft: 0,
                     marginRight: 0,
@@ -505,6 +519,9 @@ export default function SetGoal() {
                     <Image className="cell_arrow" src={require('@/assets/images/arrow3.png')} />
                     <View className="cell_line" style={{ height: 1 }} />
                 </View>
+                {
+                    target.isMixed && <View className="cell_line" style={{ marginLeft: -rpxToPx(46), marginRight: -rpxToPx(46) }} />
+                }
                 {
                     target.isMixed && <View className="cell_top" style={{
                         marginLeft: 0,
@@ -522,6 +539,9 @@ export default function SetGoal() {
                         <View className="cell_line" style={{ height: 1 }} />
                     </View>
                 }
+                {
+                    target.isMixed && <View className="cell_line" style={{ marginLeft: -rpxToPx(46), marginRight: -rpxToPx(46) }} />
+                }
                 {
                     target.isMixed && <View className="cell_bottom" style={{
                         marginLeft: 0,
@@ -539,6 +559,8 @@ export default function SetGoal() {
                         <Image className="cell_arrow" src={require('@/assets/images/arrow3.png')} />
                     </View>
                 }
+                <View className="cell_line" style={{ marginLeft: -rpxToPx(46), marginRight: -rpxToPx(46) }} />
+
                 <View className="cell_bottom" style={{
                     marginLeft: 0,
                     marginRight: 0,

+ 13 - 13
src/pages/clock/Suggest.tsx

@@ -293,7 +293,7 @@ export default function Suggest() {
 
         var minutes: string[] = []
         for (let i = min; i <= max; i += step) {
-            minutes.push(i + '')
+            minutes.push(i + ' '+t('feature.suggest.mins'))
         }
         return [minutes]
     }
@@ -420,8 +420,8 @@ export default function Suggest() {
     function ringCommon() {
         return {
             useCase: 'ChooseScenario',
-            radius: 33,
-            lineWidth: 8,
+            radius: 30,
+            lineWidth: 12,
             isFast: true,
             status: 'WAIT_FOR_START'
         }
@@ -493,7 +493,7 @@ export default function Suggest() {
                             {
                                 index == suggestIndex &&
                                 <View className="suggest_choose">
-                                    <View style={{ color: ColorType.fast }}>{t('feature.suggest.start_fast_time', { time: item.time })}</View>
+                                    <View className="suggest_choose_text" style={{ color: ColorType.fast }}>{t('feature.suggest.start_fast_time', { time: item.time })}</View>
 
                                 </View>
                             }
@@ -549,7 +549,7 @@ export default function Suggest() {
 
     function suggestList() {
         if (pageStep == 1 && process.env.TARO_ENV === 'weapp') {
-            return <ScrollView scrollY style={{ height: 400 }} scrollTop={scrollTop}>
+            return <ScrollView scrollY style={{ height: 450 }} scrollTop={scrollTop}>
                 {
                     scrollContent()
                 }
@@ -557,7 +557,7 @@ export default function Suggest() {
         }
 
         if (pageStep == 1 && process.env.TARO_ENV === 'rn') {
-            return <ScrollViewRN style={{ height: 400 }} ref={scrollViewRef}>
+            return <ScrollViewRN style={{ height: rpxToPx(868) }} ref={scrollViewRef}>
                 {
                     scrollContent()
                 }
@@ -581,7 +581,7 @@ export default function Suggest() {
                             <View className="suggest_item_desc">{t('feature.suggest.cycles',{times:item.number})}</View>
                             {
                                 index == suggestIndex && <View className="suggest_choose">
-                                    <View style={{ color: ColorType.sleep }}>{t('feature.suggest.go_to_bed_at', { time: item.time })}</View>
+                                    <View className="suggest_choose_text" style={{ color: ColorType.sleep }}>{t('feature.suggest.go_to_bed_at', { time: item.time })}</View>
                                 </View>
                             }
 
@@ -625,12 +625,12 @@ export default function Suggest() {
     }
 
     function btnText(){
-        if (pageStep == 3){
-            return t('feature.suggest.done')
-        }
-        if (pageStep == 1 && !target.isMixed){
-            return t('feature.suggest.done')
-        }
+        // if (pageStep == 3){
+        //     return t('feature.suggest.done')
+        // }
+        // if (pageStep == 1 && !target.isMixed){
+        //     return t('feature.suggest.done')
+        // }
         return t('feature.suggest.btn')
     }
 

Nem az összes módosított fájl került megjelenítésre, mert túl sok fájl változott