refactor for file page

This commit is contained in:
smanylov
2026-03-26 11:56:36 +07:00
parent 4d5bae0812
commit a9861967ef
17 changed files with 50 additions and 36 deletions
@@ -1,17 +1,17 @@
// app/files/[id]/page.tsx
'use server'
import ViolationPageTitle from '@/app/ui/violations/file-page/violation-page-title';
import ViolationPageViolationInfo from '@/app/ui/violations/file-page/violation-page-violation-info';
import ViolationPpageFileStatistic from '@/app/ui/violations/file-page/violation-page-file-statistic';
import ViolationPageFileInfo from '@/app/ui/violations/file-page/violation-page-file-info';
import ViolationPageActions from '@/app/ui/violations/file-page/violation-page-actions';
import ViolationPageViolationsList from '@/app/ui/violations/file-page/violation-page-violations-list';
import ViolationPageNote from '@/app/ui/violations/file-page/violation-page-note';
import FilePageTitle from '@/app/ui/file-page/file-page-title';
import FilePageViolationInfo from '@/app/ui/file-page/file-page-violation-info';
import ViolationPpageFileStatistic from '@/app/ui/file-page/file-page-file-statistic';
import FilePageFileInfo from '@/app/ui/file-page/file-page-file-info';
import FilePageActions from '@/app/ui/file-page/file-page-actions';
import FilePageViolationsList from '@/app/ui/file-page/file-page-violations-list';
import FilePageNote from '@/app/ui/file-page/file-page-note';
import { getFileViolations } from '@/app/actions/violationActions';
import { viewFileInfo } from '@/app/actions/fileEntity';
import { useTranslations } from 'next-intl';
import ViolationFileNotFound from '@/app/ui/violations/file-page/violation-file-not-found';
import ViolationFileNotFound from '@/app/ui/file-page/file-page-file-not-found';
type MonitoringStatus = 'NONE' | 'MONITORING_DAILY' | 'MONITORING_WEEKLY' | 'MONITORING_MONTHLY';
type MimeType = 'image' | 'video' | 'audio' | 'document';
@@ -67,23 +67,23 @@ export default async function Page({
return (
<div className="violation-details">
<ViolationPageTitle fileInfo={fileInfo} />
<FilePageTitle fileInfo={fileInfo} />
<div>
<div
className="grid grid-cols-[2fr_1fr] gap-3"
>
<ViolationPageFileInfo fileInfo={fileInfo} />
{/* <ViolationPageActions /> */}
<FilePageFileInfo fileInfo={fileInfo} />
{/* <FilePageActions /> */}
<ViolationPpageFileStatistic />
</div>
<div>
<ViolationPageViolationsList
<FilePageViolationsList
fileViolations={fileViolations}
currentPage={currentPage}
fileId={id}
/>
<ViolationPageNote />
{/* <ViolationPageViolationInfo /> */}
<FilePageNote />
{/* <FilePageViolationInfo /> */}
</div>
</div>
</div>
+1 -1
View File
@@ -14,9 +14,9 @@ export default function Page() {
description="monitoring-copyright-infringements-description"
/>
<ViolationsStatistic />
<ViolationsMyCases />
<ViolationsCheckAllSection />
<ViolationsTable />
<ViolationsMyCases />
<div className="analytics-grid">
<AnalyticsCardDistribution />
<AnalyticsCardGeography />
+14 -3
View File
@@ -39,8 +39,6 @@ export async function searchUserFiles(fileId: string) {
export async function searchGlobalFiles(fileId: string, currentPage: number) {
const token = await getSessionData('token');
console.log('searchGlobalFiles');
console.log(currentPage);
//удалить когда поиск будет нормально работать
/* return {
@@ -114,13 +112,26 @@ export async function searchGlobalFiles(fileId: string, currentPage: number) {
}
} catch (error) {
let errorMessage: string = 'error';
if (error) {
const typedError = error as any;
switch (typedError.message_desc) {
case 'No results found':
errorMessage = 'no-similar-files-title'
break;
default:
errorMessage = 'error'
break;
}
}
return {
images: [],
page: 0,
pageSize: 0,
totalPages: 0,
totalResults: 0,
error: 'error'
error: errorMessage
}
}
}
@@ -75,7 +75,7 @@ export default function DashboardUserViolations() {
>
<div className="file-icon violent">
<Link
href={`/pages/violations/${file.fileId}`}
href={`/pages/file/${file.fileId}`}
className="bg-violet-500 hover:bg-violet-600"
title={t('view')}
>
@@ -1,4 +1,4 @@
export default function ViolationPageActions() {
export default function FilePageActions() {
return (
<div
className="block-wrapper"
@@ -1,12 +1,12 @@
'use client'
import { FileDetails } from '@/app/[locale]/pages/violations/[id]/page';
import { FileDetails } from '@/app/[locale]/pages/file/[id]/page';
import { convertBytes } from '@/app/lib/convertBytes';
import { formatDate } from '@/app/lib/formatDate';
import { useTranslations } from 'next-intl';
import { useEffect } from 'react';
export default function ViolationPageFileInfo({ fileInfo }: { fileInfo: FileDetails }) {
export default function FilenPageFileInfo({ fileInfo }: { fileInfo: FileDetails }) {
const t = useTranslations('Global');
return (
@@ -2,7 +2,7 @@
import { useTranslations } from 'next-intl'
export default function ViolationFileNotFound() {
export default function FilePageNotFound() {
const t = useTranslations('Global');
return (
@@ -1,4 +1,4 @@
export default function ViolationPpageFileStatistic() {
export default function FilePpageFileStatistic() {
return (
<div
className="block-wrapper"
@@ -1,4 +1,4 @@
export default function ViolationPageNote() {
export default function FilePageNote() {
return (
<div
className="violation-page-note block-wrapper"
@@ -2,9 +2,9 @@
import { useTranslations } from 'next-intl';
import { IconEyeDashed } from '@/app/ui/icons/icons';
import { FileDetails } from '@/app/[locale]/pages/violations/[id]/page';
import { FileDetails } from '@/app/[locale]/pages/file/[id]/page';
export default function ViolationPageTitle({ fileInfo }: { fileInfo: FileDetails }) {
export default function FilePageTitle({ fileInfo }: { fileInfo: FileDetails }) {
const t = useTranslations('Global');
return (
@@ -1,4 +1,4 @@
export default function ViolationPageViolationInfo() {
export default function FilePageViolationInfo() {
return (
<div
className="block-wrapper"
@@ -6,7 +6,7 @@ import Link from 'next/link';
import { useRouter, usePathname } from 'next/navigation';
import { useEffect, useState } from 'react';
import { formatDate } from '@/app/lib/formatDate';
import ViolationPageNote from '@/app/ui/violations/file-page/violation-page-note';
import ViolationPageNote from '@/app/ui/file-page/file-page-note';
interface ViolationFileDetail {
id: number;
@@ -29,7 +29,7 @@ interface ViolationFile {
has_previous: boolean
}
export default function ViolationPageViolationsList({
export default function FilePageViolationsList({
fileViolations,
currentPage,
fileId
+1 -1
View File
@@ -293,7 +293,7 @@ export default function LocalFileCheck() {
{searchResult}
{fileLink && (
<Link
href={`/pages/violations/${fileLink}`}
href={`/pages/file/${fileLink}`}
className="local-file-check-link"
>
{t('read-more')}
@@ -1,7 +1,7 @@
import { convertBytes } from '@/app/lib/convertBytes';
import { formatDate, formatDateTime } from '@/app/lib/formatDate';
import { useTranslations } from 'next-intl';
import { FileDetails } from '@/app/[locale]/pages/violations/[id]/page';
import { FileDetails } from '@/app/[locale]/pages/file/[id]/page';
export function FileInfoModalWindow({ fileInfo, setWindowClose, setWindowChildren }: {
fileInfo: FileDetails,
@@ -103,7 +103,6 @@ export default function PaymentTabTariffs() {
setIsProcessing(false);
setErrorMessage(null);
}
}
function PaymentConfirmationModal() {
+5 -1
View File
@@ -124,7 +124,7 @@ export function FileSearchPanel(
if (result.error) {
throw result.error;
}
if (result.images.length) {
if (result.totalResults) {
setSearchedGlobalFiles(result.images);
setSearchTotalPages(result.totalPages);
setSearchCurrentPages(page);
@@ -133,7 +133,11 @@ export function FileSearchPanel(
setSearchedGlobalFilesShowNull(true);
}
} catch (error) {
if (error) {
setGlobalSearchErrorMessage(error as string);
} else {
setGlobalSearchErrorMessage('error');
}
} finally {
await queryClient.invalidateQueries({ queryKey: ['userData'] });
await queryClient.invalidateQueries({ queryKey: ['userSearchData'] });
+1 -1
View File
@@ -253,7 +253,7 @@ export default function ViolationsTable() {
<IconEye />
</button> */}
<Link
href={`/pages/violations/${row.original.fileId}`}
href={`/pages/file/${row.original.fileId}`}
className="bg-violet-500 hover:bg-violet-600"
title={t('view')}
>