import React, { ReactElement, useEffect } from 'react'; import Head from 'next/head' import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; import dayjs from "dayjs"; import {useAppDispatch, useAppSelector} from "../../stores/hooks"; import {useRouter} from "next/router"; import { fetch } from '../../stores/matters/mattersSlice' import {saveFile} from "../../helpers/fileSaver"; import dataFormatter from '../../helpers/dataFormatter'; import ImageField from "../../components/ImageField"; import LayoutAuthenticated from "../../layouts/Authenticated"; import {getPageTitle} from "../../config"; import SectionTitleLineWithButton from "../../components/SectionTitleLineWithButton"; import SectionMain from "../../components/SectionMain"; import CardBox from "../../components/CardBox"; import BaseButton from "../../components/BaseButton"; import BaseDivider from "../../components/BaseDivider"; import {mdiChartTimelineVariant} from "@mdi/js"; import {SwitchField} from "../../components/SwitchField"; import FormField from "../../components/FormField"; const MattersView = () => { const router = useRouter() const dispatch = useAppDispatch() const { matters } = useAppSelector((state) => state.matters) const { id } = router.query; function removeLastCharacter(str) { console.log(str,`str`) return str.slice(0, -1); } useEffect(() => { dispatch(fetch({ id })); }, [dispatch, id]); return ( <>
Owner
{matters?.owner?.firstName ?? 'No data'}
Title
{matters?.title}
MatterType
{matters?.matter_type ?? 'No data'}
Status
{matters?.status ?? 'No data'}
Jurisdiction
{matters?.jurisdiction}
CourtName
{matters?.court_name}
CaseNumber
{matters?.case_number}
No FiledAt
}No NextHearingAt
}Notes
{matters.notes ? :No data
}Matter_parties Matter
| PartyRole | DisplayName | OrganizationName | Phone | Address | |
|---|---|---|---|---|---|
| { item.party_role } | { item.display_name } | { item.organization_name } | { item.email } | { item.phone } | { item.address } |
Files Matter
| FileName | ContentType | FileExtension | SizeBytes | StorageProvider | StorageKey | ChecksumSha256 | IsOcrRequired | ProcessingStatus | UploadedAt | Tags |
|---|---|---|---|---|---|---|---|---|---|---|
| { item.file_name } | { item.content_type } | { item.file_extension } | { item.size_bytes } | { item.storage_provider } | { item.storage_key } | { item.checksum_sha256 } | { dataFormatter.booleanFormatter(item.is_ocr_required) } | { item.processing_status } | { dataFormatter.dateTimeFormatter(item.uploaded_at) } | { item.tags } |
Assistant_threads Matter
| Title | ThreadScope | IsPinned | LastActivityAt |
|---|---|---|---|
| { item.title } | { item.thread_scope } | { dataFormatter.booleanFormatter(item.is_pinned) } | { dataFormatter.dateTimeFormatter(item.last_activity_at) } |
Ai_jobs Matter
| JobType | Status | InputSummary | OutputSummary | CostUSD | QueuedAt | StartedAt | CompletedAt | ErrorMessage |
|---|---|---|---|---|---|---|---|---|
| { item.job_type } | { item.status } | { item.input_summary } | { item.output_summary } | { item.cost_usd } | { dataFormatter.dateTimeFormatter(item.queued_at) } | { dataFormatter.dateTimeFormatter(item.started_at) } | { dataFormatter.dateTimeFormatter(item.completed_at) } | { item.error_message } |
Generated_documents Matter
| DocumentTitle | DocumentType | Format | LastEditedAt |
|---|---|---|---|
| { item.document_title } | { item.document_type } | { item.format } | { dataFormatter.dateTimeFormatter(item.last_edited_at) } |
Research_queries Matter
| QueryText | Jurisdiction | SourceScope | SearchedAt | FiltersJson |
|---|---|---|---|---|
| { item.query_text } | { item.jurisdiction } | { item.source_scope } | { dataFormatter.dateTimeFormatter(item.searched_at) } | { item.filters_json } |
Citator_checks Matter
| Standing | Analysis | ConflictsSummary | CheckedAt |
|---|---|---|---|
| { item.standing } | { item.analysis } | { item.conflicts_summary } | { dataFormatter.dateTimeFormatter(item.checked_at) } |
Mock_trials Matter
| SessionTitle | Mode | InputType | Status | ScheduledAt | StartedAt | EndedAt |
|---|---|---|---|---|---|---|
| { item.session_title } | { item.mode } | { item.input_type } | { item.status } | { dataFormatter.dateTimeFormatter(item.scheduled_at) } | { dataFormatter.dateTimeFormatter(item.started_at) } | { dataFormatter.dateTimeFormatter(item.ended_at) } |
Transcription_jobs Matter
| Status | SourceLanguage | TargetLanguage | SpeakerDiarization | ConfidenceAvg | TranscriptText | SummaryText | StartedAt | FinishedAt | ErrorMessage |
|---|---|---|---|---|---|---|---|---|---|
| { item.status } | { item.source_language } | { item.target_language } | { dataFormatter.booleanFormatter(item.speaker_diarization) } | { item.confidence_avg } | { item.transcript_text } | { item.summary_text } | { dataFormatter.dateTimeFormatter(item.started_at) } | { dataFormatter.dateTimeFormatter(item.finished_at) } | { item.error_message } |
Medical_chronology_reports Matter
| ReportTitle | Status | GeneratedAt |
|---|---|---|
| { item.report_title } | { item.status } | { dataFormatter.dateTimeFormatter(item.generated_at) } |
Causation_analyses Matter
| AnalysisTitle | Status | GeneratedAt |
|---|---|---|
| { item.analysis_title } | { item.status } | { dataFormatter.dateTimeFormatter(item.generated_at) } |
Audit_events Matter
| EventName | EventCategory | EventDetails | OccurredAt | IpAddress | UserAgent |
|---|---|---|---|---|---|
| { item.event_name } | { item.event_category } | { item.event_details } | { dataFormatter.dateTimeFormatter(item.occurred_at) } | { item.ip_address } | { item.user_agent } |