upd
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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} •
|
||||
{session.app.name}
|
||||
|
||||
@@ -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]">
|
||||
|
||||
@@ -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)}
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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,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,
|
||||
});
|
||||
|
||||
|
||||
@@ -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,
|
||||
});
|
||||
|
||||
|
||||
@@ -5,6 +5,5 @@ export interface Client {
|
||||
phone: string;
|
||||
companyId: string;
|
||||
createdAt: string;
|
||||
ownerId: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
import { Company } from "./Company";
|
||||
|
||||
export interface User {
|
||||
export interface Manager {
|
||||
id: string;
|
||||
email: string;
|
||||
fullname: string;
|
||||
@@ -1,3 +0,0 @@
|
||||
export interface IOwner {
|
||||
fullname: string;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user