This commit is contained in:
2025-06-19 14:03:26 +05:00
parent 4fcb334d69
commit 8bdf63eb57
15 changed files with 26 additions and 29 deletions
+1 -1
View File
@@ -63,7 +63,7 @@ function CurrentSessionCard({
</p>
<div className="size-[0.139vw] bg-[#7D7D7D] rounded-full" />
<p className="caption-s font-medium text-[#7D7D7D]">
{session.owner.fullname}
{session.manager.fullname}
</p>
</div>
</div>
+1 -1
View File
@@ -15,7 +15,7 @@ function SessionCard({ session }: { session: Session }) {
<div className="rounded-[1.111vw] w-full h-full flex items-center gap-[0.556vw] group-hover:bg-[#F6F6F6] transition-colors duration-200 px-[1.111vw] py-[0.972vw]">
<div className="size-[2.5vw] bg-[#F6F6F6] rounded-full"></div>
<div className="flex flex-col w-full gap-[0.278vw]">
<p className="button-m font-medium">{session.owner.fullname}</p>
<p className="button-m font-medium">{session.manager.fullname}</p>
<p className="caption-s font-medium text-[#7D7D7D]">
Клиент: {session.client.name}&nbsp;&nbsp;
{session.app.name}
+1 -1
View File
@@ -6,7 +6,7 @@ function SessionCommentItem({ comment }: { comment: Comment }) {
return (
<motion.div layout className="flex gap-[0.833vw] items-end">
<div className="relative flex flex-col gap-[0.556vw] p-[0.833vw] bg-white rounded-[0.833vw] w-full rounded-br-none">
<p className="button-m font-medium">{comment.owner.fullname}</p>
<p className="button-m font-medium">{comment.manager.fullname}</p>
<div className="flex flex-col max-w-[19.583vw]">
<p className="caption-s break-words whitespace-pre-wrap overflow-hidden">
{comment.text}
@@ -106,7 +106,9 @@ function CurrentSessionModal({ session }: { session: Session }) {
<div className="flex flex-col gap-[0.556vw]">
<div className="flex gap-[0.556vw]">
<p className="caption-s font-medium text-[#BDBDBD]">Менеджер:</p>
<p className="caption-s font-medium">{session.owner.fullname}</p>
<p className="caption-s font-medium">
{session.manager.fullname}
</p>
</div>
<div className="flex gap-[0.556vw]">
<p className="caption-s font-medium text-[#BDBDBD]">
+1 -1
View File
@@ -45,7 +45,7 @@ function SessionModal({ session }: { session: Session }) {
<div className="flex flex-col gap-[0.556vw] justify-center items-center pt-[1.111vw]">
<div className="size-[3.333vw] rounded-full bg-white"></div>
<div className="flex flex-col gap-[0.278vw] items-center">
<p className="title-s font-medium">{session.owner.fullname}</p>
<p className="title-s font-medium">{session.manager.fullname}</p>
<p className="caption-s text-[#BDBDBD] font-medium">
Продолжительность:{" "}
{getIntervalDuration(session.createdAt, session.updatedAt)}
+2 -2
View File
@@ -6,7 +6,7 @@ import MultySelect from "../components/MultySelect";
import SearchInput from "../components/SearchInput";
import { useState } from "react";
import { useQuery } from "@tanstack/react-query";
import { User } from "../types/User";
import { Manager } from "../types/Manager";
import { Client } from "../types/Client";
import { useDebounce } from "@uidotdev/usehooks";
import pluralize from "../utils/pluralize";
@@ -20,7 +20,7 @@ function ClientsPage() {
const { data: me } = useQuery({
queryKey: ["me"],
queryFn: () => api.get("auth/me").json<User>(),
queryFn: () => api.get("auth/me").json<Manager>(),
});
const { data: clients, isLoading } = useQuery({
+2 -2
View File
@@ -1,5 +1,5 @@
import { useQuery } from "@tanstack/react-query";
import { User } from "../types/User";
import { Manager } from "../types/Manager";
import api from "../utils/api";
import { Server } from "../types/Server";
import DesktopCard from "../components/DesktopCard";
@@ -13,7 +13,7 @@ import { useNavigate } from "react-router";
function DashboardPage() {
const { data: me } = useQuery({
queryKey: ["me"],
queryFn: () => api.get("auth/me").json<User>(),
queryFn: () => api.get("auth/me").json<Manager>(),
});
const { data: servers } = useQuery({
+2 -2
View File
@@ -2,14 +2,14 @@ import { Navigate, Outlet } from "react-router";
import useAuthStore from "../stores/useAuthStore";
import api from "../utils/api";
import { useQuery } from "@tanstack/react-query";
import { User } from "../types/User";
import { Manager } from "../types/Manager";
function ProtectedPage() {
const { token } = useAuthStore();
const { data: user, isLoading } = useQuery({
queryKey: ["me"],
queryFn: () => api.get("auth/me").json<User>(),
queryFn: () => api.get("auth/me").json<Manager>(),
enabled: !!token,
});
+3 -3
View File
@@ -1,6 +1,6 @@
import { useQuery } from "@tanstack/react-query";
import api from "../utils/api";
import { User } from "../types/User";
import { Manager } from "../types/Manager";
import { Session } from "../types/Session";
import { useState } from "react";
import { App } from "../types/App";
@@ -28,12 +28,12 @@ function SessionsPage() {
const { data: me } = useQuery({
queryKey: ["me"],
queryFn: () => api.get("auth/me").json<User>(),
queryFn: () => api.get("auth/me").json<Manager>(),
});
const { data: managers } = useQuery({
queryKey: ["managers"],
queryFn: () => api.get("users").json<User[]>(),
queryFn: () => api.get("users").json<Manager[]>(),
enabled: !!me,
});
-1
View File
@@ -5,6 +5,5 @@ export interface Client {
phone: string;
companyId: string;
createdAt: string;
ownerId: string;
updatedAt: string;
}
+4 -5
View File
@@ -1,12 +1,11 @@
import { Manager } from "./Manager";
export interface Comment {
id: string;
text: string;
createdAt: Date;
updatedAt: Date;
ownerId: string;
managerId: string;
sessionId: string;
owner: {
ownerId: string;
fullname: string;
};
manager: Manager;
}
+2 -2
View File
@@ -1,11 +1,11 @@
import { App } from "./App";
import { Server } from "./Server";
import { User } from "./User";
import { Manager } from "./Manager";
export interface Company {
id: string;
name: string;
apps?: App[];
servers?: Server[];
users?: User[];
managers?: Manager[];
}
+1 -1
View File
@@ -1,6 +1,6 @@
import { Company } from "./Company";
export interface User {
export interface Manager {
id: string;
email: string;
fullname: string;
-3
View File
@@ -1,3 +0,0 @@
export interface IOwner {
fullname: string;
}
+3 -3
View File
@@ -1,12 +1,12 @@
import { App as App } from "./App";
import { Comment } from "./Comment";
import { IOwner as Owner } from "./Owner";
import { Server } from "./Server";
import { Client } from "./Client";
import { Manager } from "./Manager";
export interface Session {
id: string;
ownerId: string;
managerId: string;
serverId: string;
clientId: string;
companyId: string;
@@ -15,7 +15,7 @@ export interface Session {
server: Server;
client: Client;
app: App;
owner: Owner;
manager: Manager;
createdAt: Date;
updatedAt: Date;
}