session files

This commit is contained in:
2025-06-16 16:24:45 +05:00
parent e11bcb13f3
commit 7f606cedf2
33 changed files with 153 additions and 67 deletions
+4 -4
View File
@@ -1,9 +1,9 @@
import { Server } from "../../types/IServer.ts";
import { Server } from "../../types/Server.ts";
import { useEffect, useRef, useState } from "react";
import { IApp } from "../../types/IApp.ts";
import { IApp } from "../../types/App.ts";
import api from "../../utils/api.ts";
import { Session } from "../../types/ISession.ts";
import { Client } from "../../types/IClient.ts";
import { Session } from "../../types/Session.ts";
import { Client } from "../../types/Client.ts";
import useModalStore from "../../stores/useModalStore.ts";
import TableSelector from "../TableSelector.tsx";
import NewInput from "../NewInput.tsx";
@@ -3,7 +3,7 @@ import FlashIcon from "../icons/FlashIcon";
import Button from "../Button";
import ChevronRightIcon from "../icons/ChevronRightIcon";
import useModalStore from "../../stores/useModalStore";
import { Session } from "../../types/ISession";
import { Session } from "../../types/Session";
import { useEffect, useState } from "react";
import EndSessionModal from "./EndSessionModal";
+1 -1
View File
@@ -2,7 +2,7 @@ import { useState } from "react";
import NewInput from "../NewInput";
import Button from "../Button";
import useModalStore from "../../stores/useModalStore";
import { Server } from "../../types/IServer";
import { Server } from "../../types/Server";
import { useQueryClient } from "@tanstack/react-query";
import { useMutation } from "@tanstack/react-query";
import api from "../../utils/api";
+1 -1
View File
@@ -1,7 +1,7 @@
import { useMutation } from "@tanstack/react-query";
import { useQueryClient } from "@tanstack/react-query";
import useModalStore from "../../stores/useModalStore";
import { Session } from "../../types/ISession";
import { Session } from "../../types/Session";
import Button from "../Button";
import CurrentSessionModal from "./CurrentSessionModal";
import api from "../../utils/api";
+24 -5
View File
@@ -1,4 +1,4 @@
import { Session } from "../../types/ISession";
import { Session } from "../../types/Session";
import { format } from "date-fns";
import { ru } from "date-fns/locale";
import getIntervalDuration from "../../utils/interval-duration";
@@ -7,11 +7,29 @@ import Button from "../Button";
import ChevronRightIcon from "../icons/ChevronRightIcon";
import Badge from "../Badge";
import ClientCard from "../ClientCard";
import DownloadIcon from "../icons/DownloadIcon";
import ShareIcon from "../icons/ShareIcon";
import SessionComments from "../SessionComments";
import { useQuery } from "@tanstack/react-query";
import api from "../../utils/api";
import { useEffect } from "react";
import SessionFiles from "../SessionFiles";
function SessionModal({ session }: { session: Session }) {
const { data } = useQuery({
queryKey: ["file-list"],
queryFn: () =>
api
.get("files", {
searchParams: {
sessionId: session.id,
},
})
.json<string[]>(),
});
useEffect(() => {
console.log(data);
}, [data]);
return (
<div className="bg-[#FFFFFF] w-[49.722vw] rounded-[2.222vw]">
<div className="w-full flex justify-center items-center h-[4.861vw] border-b-1 border-[#D6D6D6]">
@@ -111,7 +129,7 @@ function SessionModal({ session }: { session: Session }) {
<h3 className="title-s flex items-center font-medium gap-[0.556vw]">
<span>Документы по сеансу</span> <Badge count={4} />
</h3>
<div className="flex w-full gap-[0.556vw]">
{/* <div className="flex w-full gap-[0.556vw]">
<Button variant="primary" size="large" className="w-full">
<span className="w-[1.111vw] h-[1.111vw] text-[#7B60F3]">
<DownloadIcon />
@@ -123,7 +141,8 @@ function SessionModal({ session }: { session: Session }) {
<ShareIcon />
</span>
</Button>
</div>
</div> */}
{data && <SessionFiles files={data} session={session} />}
</div>
</div>
<SessionComments sessionId={session.id} />