import { CloseIssuesMessageComposer, ReleaseIssuesMessageComposer } from '@nitrots/nitro-renderer'; import { FC, useState } from 'react'; import { GetIssueCategoryName, LocalizeText, SendMessageComposer } from '../../../../api'; import { Button, Column, Grid, NitroCardContentView, NitroCardHeaderView, NitroCardView, Text } from '../../../../common'; import { useModTools } from '../../../../hooks'; import { CfhChatlogView } from './CfhChatlogView'; interface IssueInfoViewProps { issueId: number; onIssueInfoClosed(issueId: number): void; } export const ModToolsIssueInfoView: FC = props => { const { issueId = null, onIssueInfoClosed = null } = props; const [ cfhChatlogOpen, setcfhChatlogOpen ] = useState(false); const { tickets = [], openUserInfo = null } = useModTools(); const ticket = tickets.find(issue => (issue.issueId === issueId)); const releaseIssue = (issueId: number) => { SendMessageComposer(new ReleaseIssuesMessageComposer([ issueId ])); onIssueInfoClosed(issueId); }; const closeIssue = (resolutionType: number) => { SendMessageComposer(new CloseIssuesMessageComposer([ issueId ], resolutionType)); onIssueInfoClosed(issueId); }; return ( <> onIssueInfoClosed(issueId) } /> Issue Information
Source { GetIssueCategoryName(ticket.categoryId) }
Category { LocalizeText('help.cfh.topic.' + ticket.reportedCategoryId) }
Description { ticket.message }
Caller openUserInfo(ticket.reporterUserId) }>{ ticket.reporterUserName }
Reported User openUserInfo(ticket.reportedUserId) }>{ ticket.reportedUserName }
{ cfhChatlogOpen && setcfhChatlogOpen(false) }/> } ); };