import { Component, ReactNode } from 'react'; import { View } from '@tarojs/components'; import pt from '@/plain-text'; export class DutyData { constructor() { this.isInDuty = false; this.inDutyCnt = 3; this.currentDuty = '2'; this.offDutyReason = '学园维修'; this.dutyRecoverTime = '下周一'; } isInDuty: boolean; inDutyCnt: number; currentDuty: 'off' | '1' | '2' | '3'; offDutyReason: string; // from backend dutyRecoverTime: string; // from backend } export class DutyInfo extends Component { props = { data: new DutyData(), }; offDutyContent(): ReactNode { const data = this.props.data; const od = pt.get().mainPage.dutyCard.offDuty; return ( {od.title} {od.reason(data.offDutyReason)} {od.recoverTime(data.dutyRecoverTime)} ); } inDutyContent(): ReactNode { const data = this.props.data; const id = pt.get().mainPage.dutyCard.inDuty; return ( {id.title} {id.currentDutyText(data.currentDuty)} {id.inDutyCnt(data.inDutyCnt)} ); } render(): ReactNode { if (this.props.data.isInDuty) { return this.inDutyContent(); } else { return this.offDutyContent(); } } }