import type { BarChartTypes } from 'types/Charts' ; import type { RateObject , SummaryItemType , SummaryKeys } from 'types/Summary' ; import { formattedNumber , getPrice } from './number' ; const SNAPP_BIKE = 'اسنپ بایک' ; const isSnappBike = ( name ) => name === SNAPP_BIKE ; const formatCarName = ( name ) => `ماشین ${ name }` ; const getRidesCount = ( count ) => { return `${ count } سفر` ; } ; type GetTypeFormatType = { format : ( value : string ) => string ; } ; const getTypeFormat = { _hours : { format : ( value ) => `ساعت ${ value }` } , _weeks : { format : ( value ) => `${ value }` } , _days : { format : ( value ) => `روز ${ value }ام` } , _months : { format : ( value ) => `${ value } ماه` } , _years : { format : ( value ) => `سال ${ value }` } , _types : { format : ( value ) => `${ value }` } , _rates : { format : ( value ) => `${ value } امتیاز` } , _cars : { format : ( value ) => { return isSnappBike ( value ) ? SNAPP_BIKE : formatCarName ( value ) ; } , } , } ; const getFormattedSummary = { count : { format : ( value ) => { return { message : formattedNumber ( value ) , unit : 'سفر' } ; } , } , prices : { format : ( value ) => { return { message : getPrice ( Number ( value ) , false ) , unit : 'تومان' , } ; } , } , } ; export const getTooltipMessage = ( count , price , value , type ) => { return `${ getTypeFormat [ type ] . format ( value ) } | ${ getPrice ( price ) } (${ getRidesCount ( count ) })` ; } ; export const getSummaryItemMessage = ( value , type ) => { return getFormattedSummary [ type ] . format ( value ) ; } ; export const getRateSummaryMessage = ( { count , sum , } ) : SummaryItemType => { return { description : `${ count } سفر` , message : formattedNumber ( sum / count , 2 ) , unit : 'امتیاز' , } ; } ; export const getStartAndEndDate = ( start , end ) => `${ start }   تا   ${ end }` ; export const mapToPersian = { _hours : 'ساعت‌های شبانه‌روز' , _weeks : 'روزهای هفته' , _days : 'روزهای ماه' , _months : 'ماه‌های سال' , _years : 'سال' , _cars : 'مدل ماشین' , _rates : 'امتیاز سفر' , _types : 'نوع سرویس' , } ; export const getExportName = { _hours : 'Hours' , _weeks : 'Weeks' , _days : 'Days' , _months : 'Months' , _years : 'Years' , _cars : 'Cars' , _rates : 'Rates' , _types : 'ServiceTypes' , } ; export const getErrorMessage = { 401 : 'خیلی وقته بهم سر نزدی! باید دوباره وارد حساب اسنپت بشی.' , } ; export const getLastRideDateMessage = ( lastEndRange ) => { return `تاریخ آخرین سفر: ${ lastEndRange }` ; } ;