nitro-react/src/components/guide-tool/views/GuideToolUserPendingView.tsx

38 lines
1.7 KiB
TypeScript
Raw Normal View History

2021-12-04 18:43:06 +01:00
import { GuideSessionRequesterCancelsMessageComposer } from '@nitrots/nitro-renderer';
import { FC, useCallback } from 'react';
2022-02-23 06:37:47 +01:00
import { LocalizeText } from '../../../api';
import { SendMessageHook } from '../../../hooks';
import { NitroCardContentView } from '../../../layout';
interface GuideToolUserPendingViewProps
{
helpRequestDescription: string;
helpRequestAverageTime: number;
}
2021-12-04 18:43:06 +01:00
export const GuideToolUserPendingView: FC<GuideToolUserPendingViewProps> = props =>
{
const { helpRequestDescription = null, helpRequestAverageTime = 0 } = props;
const cancelRequest = useCallback(() =>
{
SendMessageHook(new GuideSessionRequesterCancelsMessageComposer());
}, []);
return (
<NitroCardContentView className="text-black flex flex-column gap-2">
<div className="duty-status py-2 px-3">
<div className="fw-bold">{ LocalizeText('guide.help.request.guide.accept.request.title') }</div>
<div className="text-muted">{ LocalizeText('guide.help.request.type.1') }</div>
<div className="text-wrap text-break">{ helpRequestDescription }</div>
</div>
<div>
<div className="fw-bold">{ LocalizeText('guide.help.request.user.pending.info.title') }</div>
<div>{ LocalizeText('guide.help.request.user.pending.info.message') }</div>
<div>{ LocalizeText('guide.help.request.user.pending.info.waiting', ['waitingtime'], [helpRequestAverageTime.toString()]) }</div>
</div>
<button className="btn btn-danger mt-auto" onClick={ cancelRequest }>{ LocalizeText('guide.help.request.user.pending.cancel.button') }</button>
</NitroCardContentView>
);
};