import { IssueMessageData, ReleaseIssuesMessageComposer } from '@nitrots/nitro-renderer'; import { FC, useRef } from 'react'; import { LocalizeText, SendMessageComposer } from '../../../../api'; import { Button, Column, Grid } from '../../../../common'; interface ModToolsMyIssuesTabViewProps { myIssues: IssueMessageData[]; handleIssue: (issueId: number) => void; } export const ModToolsMyIssuesTabView: FC = props => { const { myIssues = null, handleIssue = null } = props; const pendingReleasesRef = useRef>(new Set()); const releaseIssue = (issueId: number) => { if(pendingReleasesRef.current.has(issueId)) return; pendingReleasesRef.current.add(issueId); SendMessageComposer(new ReleaseIssuesMessageComposer([ issueId ])); setTimeout(() => pendingReleasesRef.current.delete(issueId), 2000); }; return (
{ LocalizeText('moderation.tickets.col.type') }
{ LocalizeText('moderation.tickets.col.roomPlayer') }
{ LocalizeText('moderation.tickets.col.opened') }
{ myIssues && (myIssues.length > 0) && myIssues.map(issue => { return (
{ issue.categoryId }
{ issue.reportedUserName }
{ new Date(Date.now() - issue.issueAgeInMilliseconds).toLocaleTimeString() }
); }) }
); };