UI updates continued

This commit is contained in:
Darren Clarke 2022-12-14 13:24:50 +01:00
parent 2b9672fedf
commit 6a0cc58f60
No known key found for this signature in database
GPG key ID: E2483E6F82907488
24 changed files with 1209 additions and 306 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
.env .env
.env.local
.next .next
node_modules node_modules

View file

@ -4,7 +4,7 @@ import { Sidebar } from "./Sidebar";
export const Layout = ({ children }) => ( export const Layout = ({ children }) => (
<Grid container direction="row"> <Grid container direction="row">
<Sidebar open /> <Sidebar open />
<Grid item sx={{ ml: "300px", width: "100%", height: "100vh" }}> <Grid item sx={{ ml: "270px", width: "100%", height: "100vh" }}>
{children} {children}
</Grid> </Grid>
</Grid> </Grid>

View file

@ -1,16 +1,15 @@
import { FC } from "react"; import { FC, useState } from "react";
import { import {
Box, Box,
Grid, Grid,
Typography, Typography,
List, List,
ListItem, ListItemButton,
ListItemIcon, ListItemIcon,
ListItemText, ListItemText,
ListItemSecondaryAction,
Drawer, Drawer,
Accordion, Collapse,
AccordionSummary,
AccordionDetails,
} from "@mui/material"; } from "@mui/material";
import { import {
FeaturedPlayList as FeaturedPlayListIcon, FeaturedPlayList as FeaturedPlayListIcon,
@ -20,53 +19,119 @@ import {
Cottage as CottageIcon, Cottage as CottageIcon,
Settings as SettingsIcon, Settings as SettingsIcon,
} from "@mui/icons-material"; } from "@mui/icons-material";
import { useRouter } from "next/router";
import Link from "next/link"; import Link from "next/link";
import Image from "next/image";
import LinkLogo from "public/link-logo-small.png";
const MenuItem = ({ name, href, Icon, iconSize, indent = 0 }: any) => ( const openWidth = 270;
<Link href={href} passHref> const closedWidth = 100;
<ListItem button sx={{ p: 0, pb: 2, pr: indent * 5 }}>
<ListItemIcon const MenuItem = ({
sx={{ name,
color: `white`, href,
}} Icon,
> iconSize,
<Box inset = false,
selected = false,
badge,
}: any) => (
<Link href={href}>
<ListItemButton
sx={{ p: 0, mb: 1, bl: iconSize === 0 ? "1px solid white" : "inherit" }}
selected={selected}
>
{iconSize > 0 ? (
<ListItemIcon
sx={{ sx={{
width: iconSize, color: `white`,
height: iconSize, minWidth: 0,
mr: 0.5, mr: 2,
}} }}
> >
{iconSize > 0 && <Icon />} <Box
sx={{
width: iconSize,
height: iconSize,
mr: 0.5,
mt: "-4px",
}}
>
<Icon />
</Box>
</ListItemIcon>
) : (
<Box
sx={{
width: 30,
height: "28px",
position: "relative",
ml: "9px",
mr: "1px",
}}
>
<Box
sx={{
width: "1px",
height: "56px",
backgroundColor: "white",
position: "absolute",
left: "3px",
top: "-10px",
}}
/>
<Box
sx={{
width: "42px",
height: "42px",
position: "absolute",
top: "-27px",
left: "3px",
border: "solid 1px #fff",
borderColor: "transparent transparent transparent #fff",
borderRadius: "60px",
rotate: "-35deg",
}}
/>
</Box> </Box>
)}
<ListItemText <ListItemText
primary={ inset={inset}
<Typography primary={
variant="body1" <Typography
sx={{ variant="body1"
color: "#fff !important", sx={{
fontSize: 14, fontSize: 16,
fontFamily: "Roboto", fontFamily: "Roboto",
fontWeight: 400, fontWeight: "bold",
marginLeft: "12px", border: 0,
marginTop: "-1px", textAlign: "left",
textDecoration: "none !important", }}
">a": { >
textDecoration: "none !important", {name}
}, </Typography>
"a:visited": { }
textDecoration: "none !important", />
}, {badge && (
border: 0, <ListItemSecondaryAction>
}} <Typography
> color="textSecondary"
{name} variant="body1"
</Typography> className="badge"
} sx={{
/> backgroundColor: "#FFB620",
</ListItemIcon> color: "black !important",
</ListItem> borderRadius: 10,
px: 1,
fontSize: 12,
fontWeight: "bold",
}}
>
{badge}
</Typography>
</ListItemSecondaryAction>
)}
</ListItemButton>
</Link> </Link>
); );
@ -74,115 +139,299 @@ interface SidebarProps {
open: boolean; open: boolean;
} }
export const Sidebar: FC<SidebarProps> = ({ open }) => ( export const Sidebar: FC<SidebarProps> = ({ open }) => {
<Drawer const { pathname } = useRouter();
sx={{ width: 300, flexShrink: 0 }} console.log({ pathname });
variant="permanent" return (
anchor="left" <Drawer
open={open} sx={{ width: open ? openWidth : closedWidth, flexShrink: 0 }}
PaperProps={{ variant="permanent"
sx: { anchor="left"
width: 300, open={open}
border: 0, PaperProps={{
}, sx: {
}} width: open ? openWidth : closedWidth,
> border: 0,
<Grid },
container }}
direction="column"
justifyContent="space-between"
wrap="nowrap"
sx={{ backgroundColor: "#25272A", height: "100%", p: 2 }}
> >
<Grid item> <Grid
<Typography variant="h6" sx={{ fontSize: 12, color: "white" }}> container
Hello direction="column"
</Typography> justifyContent="space-between"
</Grid> wrap="nowrap"
<Grid item> sx={{ backgroundColor: "#25272A", height: "100%", p: 2 }}
<Typography variant="h2" sx={{ fontSize: 22, color: "white", mb: 1.5 }}> >
Agent/User <Grid item container>
</Typography> <Grid item>
</Grid> <Box sx={{ width: "40px", height: "40px" }}>
<Grid item> <Image
<Box sx={{ height: 1.5, width: "100%", backgroundColor: "white" }} /> src={LinkLogo}
</Grid> alt="Link logo"
<Grid item container direction="column" sx={{ mt: "6px" }} flexGrow={1}> width={40}
<List component="nav"> height={40}
<MenuItem name="Home" href="/" Icon={CottageIcon} iconSize={20} /> style={{
<Accordion objectFit: "cover",
filter: "grayscale(100) brightness(100)",
}}
/>
</Box>
.
</Grid>
<Grid item>
<Typography
variant="h2"
sx={{
fontSize: 26,
color: "white",
fontWeight: 700,
mt: 1,
ml: 0.5,
fontFamily: "Poppins",
}}
>
CDR Link
</Typography>
</Grid>
</Grid>
<Grid item>
<Box
sx={{ sx={{
backgroundColor: "#25272A", height: "0.5px",
border: 0, width: "100%",
m: 0, backgroundColor: "#666",
p: 0, mb: 1,
boxShadow: "none", }}
mt: -1, />
mb: -1, </Grid>
<Grid item>
<Typography
variant="h6"
sx={{ fontSize: 12, color: "#999", fontWeight: "bold" }}
>
Hello
</Typography>
</Grid>
<Grid item>
<Typography
variant="h2"
sx={{ fontSize: 22, color: "white", mb: 1.5, fontWeight: "bold" }}
>
Nicholas
</Typography>
</Grid>
<Grid item>
<Box
sx={{ height: "0.5px", width: "100%", backgroundColor: "#666" }}
/>
</Grid>
<Grid item container direction="column" sx={{ mt: "6px" }} flexGrow={1}>
<List
component="nav"
sx={{
a: {
textDecoration: "none",
".MuiListItemButton-root": {
p: 1,
borderRadius: 2,
"&:hover": {
background: "#555",
},
".MuiTypography-root": {
p: {
color: "#999 !important",
fontSize: 16,
},
},
".badge": {
p: { fontSize: 12, color: "black !important" },
},
},
".Mui-selected": {
background: "#444",
color: "#fff !important",
".MuiTypography-root": {
p: {
color: "#fff !important",
fontSize: 16,
},
},
".badge": {
p: { fontSize: 12, color: "black !important" },
},
},
},
}} }}
> >
<AccordionSummary sx={{ p: 0, m: 0 }}> <MenuItem
<MenuItem name="Home"
name="My tickets" href="/"
href="/assigned" Icon={CottageIcon}
Icon={FeaturedPlayListIcon} iconSize={20}
iconSize={20} selected={pathname.endsWith("/")}
/> />
</AccordionSummary> <MenuItem
<AccordionDetails sx={{ p: 0, mt: -2, ml: "20px" }}> name="Tickets"
<MenuItem href="/tickets/assigned"
name="Assigned" Icon={FeaturedPlayListIcon}
href="/assigned" selected={pathname.startsWith("/tickets")}
Icon={FeaturedPlayListIcon} iconSize={20}
iconSize={0} />
/>
<MenuItem
name="Urgent"
href="/urgent"
Icon={FeaturedPlayListIcon}
iconSize={0}
/>
<MenuItem
name="Pending"
href="/pending"
Icon={FeaturedPlayListIcon}
iconSize={0}
/>
<MenuItem
name="Unassigned"
href="/unassigned"
Icon={FeaturedPlayListIcon}
iconSize={0}
/>
</AccordionDetails>
</Accordion>
<MenuItem <Collapse
name="Leafcutter" in={pathname.startsWith("/tickets")}
href="/leafcutter" timeout="auto"
Icon={AnalyticsIcon} unmountOnExit
iconSize={20} onClick={undefined}
/> >
<MenuItem <List component="div" disablePadding>
name="Profile" <MenuItem
href="/profile" name="Assigned"
Icon={PersonIcon} href="/tickets/assigned"
iconSize={20} Icon={FeaturedPlayListIcon}
/> iconSize={0}
<MenuItem selected={pathname.endsWith("/tickets/assigned")}
name="Settings" badge={3}
href="/settings" />
Icon={SettingsIcon} <MenuItem
iconSize={20} name="Urgent"
/> href="/tickets/urgent"
<MenuItem Icon={FeaturedPlayListIcon}
name="Logout" iconSize={0}
href="/logout" selected={pathname.endsWith("/tickets/urgent")}
Icon={LogoutIcon} badge={1}
iconSize={20} />
/> <MenuItem
</List> name="Pending"
href="/tickets/pending"
Icon={FeaturedPlayListIcon}
iconSize={0}
selected={pathname.endsWith("/tickets/pending")}
badge={9}
/>
<MenuItem
name="Unassigned"
href="/tickets/unassigned"
Icon={FeaturedPlayListIcon}
iconSize={0}
selected={pathname.endsWith("/tickets/unnassigned")}
badge={27}
/>
<MenuItem
name="New Ticket UI"
href="/tickets/181"
Icon={SettingsIcon}
iconSize={0}
selected={pathname.endsWith("/tickets/181")}
/>
</List>
</Collapse>
<MenuItem
name="Leafcutter"
href="/leafcutter"
Icon={AnalyticsIcon}
iconSize={20}
selected={pathname.endsWith("/leafcutter")}
/>
<Collapse
in={pathname.startsWith("/leafcutter")}
timeout="auto"
unmountOnExit
onClick={undefined}
>
<List component="div" disablePadding>
<MenuItem
name="Dashboard"
href="/leafcutter"
iconSize={0}
selected={pathname.endsWith("/leafcutter")}
/>
<MenuItem
name="Search and Create"
href="/leafcutter/create"
iconSize={0}
selected={pathname.endsWith("/leafcutter/create")}
/>
<MenuItem
name="Trends"
href="/leafcutter/trends"
iconSize={0}
selected={pathname.endsWith("/leafcutter/trends")}
/>
<MenuItem
name="FAQ"
href="/leafcutter/faq"
iconSize={0}
selected={pathname.endsWith("/leafcutter/faq")}
/>
<MenuItem
name="About"
href="/leafcutter/about"
Icon={AnalyticsIcon}
iconSize={0}
selected={pathname.endsWith("/leafcutter/about")}
/>
</List>
</Collapse>
<MenuItem
name="Profile"
href="/profile"
Icon={PersonIcon}
iconSize={20}
selected={pathname.endsWith("/profile")}
/>
<MenuItem
name="Admin"
href="/admin/zammad"
Icon={SettingsIcon}
iconSize={20}
/>
<Collapse
in={pathname.startsWith("/admin/")}
timeout="auto"
unmountOnExit
onClick={undefined}
>
<List component="div" disablePadding>
<MenuItem
name="Zammad Settings"
href="/admin/zammad"
Icon={FeaturedPlayListIcon}
iconSize={0}
selected={pathname.endsWith("/admin/zammad")}
/>
<MenuItem
name="Metamigo"
href="/admin/metamigo"
Icon={FeaturedPlayListIcon}
iconSize={0}
selected={pathname.endsWith("/admin/metamigo")}
/>
<MenuItem
name="Label Studio"
href="/admin/label-studio"
Icon={FeaturedPlayListIcon}
iconSize={0}
selected={pathname.endsWith("/admin/label-studio")}
/>
</List>
</Collapse>
<MenuItem
name="Logout"
href="/logout"
Icon={LogoutIcon}
iconSize={20}
/>
</List>
</Grid>
</Grid> </Grid>
</Grid> </Drawer>
</Drawer> );
); };

View file

@ -0,0 +1,79 @@
import { FC, useEffect } from "react";
import { Grid, Box, Typography } from "@mui/material";
import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css";
import {
MainContainer,
ChatContainer,
MessageList,
Message,
MessageInput,
Conversation,
ConversationHeader,
} from "@chatscope/chat-ui-kit-react";
interface TicketDetailProps {
ticket: any;
articles: any[];
}
export const TicketDetail: FC<TicketDetailProps> = ({ ticket, articles }) => {
console.log({ here: "here", ticket });
return (
<MainContainer>
<ChatContainer>
<ConversationHeader>
<ConversationHeader.Content>
<Box
sx={{
width: "100%",
textAlign: "center",
fontWeight: "bold",
}}
>
<Typography
variant="h5"
sx={{ fontFamily: "Poppins", fontWeight: 700 }}
>
{ticket.title}
</Typography>
<Typography
variant="h6"
sx={{ fontFamily: "Roboto", fontWeight: 400 }}
>{`Ticket #${ticket.number} (created ${new Date(
ticket.created_at
).toLocaleDateString()})`}</Typography>
</Box>
</ConversationHeader.Content>
</ConversationHeader>
<MessageList>
{articles.map((article: any) => (
<Message
className={
article.internal
? "internal-note"
: article.sender === "Agent"
? "outgoing-message"
: "incoming-message"
}
model={{
message: article.body.replace(/<div>*<br>*<div>/g, ""),
sentTime: article.updated_at,
sender: article.from,
direction: article.sender === "Agent" ? "outgoing" : "incoming",
position: "last",
type: "html",
}}
/>
))}
</MessageList>
{/* <MessageInput
placeholder="Type message here"
sendOnReturnDisabled
attachButton={false}
sendButton={false}
/> */}
</ChatContainer>
</MainContainer>
);
};

75
components/TicketEdit.tsx Normal file
View file

@ -0,0 +1,75 @@
import { FC, useEffect } from "react";
import { Grid, Box, Typography, TextField } from "@mui/material";
import "@chatscope/chat-ui-kit-styles/dist/default/styles.min.css";
import {
MainContainer,
ChatContainer,
MessageList,
Message,
MessageInput,
Conversation,
ConversationHeader,
} from "@chatscope/chat-ui-kit-react";
interface TicketEditProps {
ticket: any;
}
export const TicketEdit: FC<TicketEditProps> = ({ ticket }) => {
return (
<Box sx={{ height: "100vh", background: "#ddd", p: 2 }}>
<Grid container direction="column" spacing={3}>
<Grid item>
<TextField
label="Group"
size="small"
sx={{
width: "100%",
fieldset: { backgroundColor: "white" },
}}
/>
</Grid>
<Grid item>
<TextField
label="Owner"
size="small"
sx={{
width: "100%",
fieldset: { backgroundColor: "white" },
}}
/>
</Grid>
<Grid item>
<TextField
label="State"
size="small"
sx={{
width: "100%",
fieldset: { backgroundColor: "white" },
}}
/>
</Grid>
<Grid item>
<TextField
label="Priority"
size="small"
sx={{
width: "100%",
fieldset: { backgroundColor: "white" },
}}
/>
</Grid>
<Grid item>
<TextField
label="Tags"
size="small"
sx={{
width: "100%",
fieldset: { backgroundColor: "white" },
}}
/>
</Grid>
</Grid>
</Box>
);
};

View file

@ -29,6 +29,9 @@ export const ZammadWrapper: FC<ZammadWrapperProps> = ({
// @ts-ignore // @ts-ignore
linkElement.contentDocument.querySelector("#navigation").style = linkElement.contentDocument.querySelector("#navigation").style =
"display: none"; "display: none";
// @ts-ignore
linkElement.contentDocument.querySelector("body").style =
"font-family: Arial";
if (hideSidebar) { if (hideSidebar) {
// @ts-ignore // @ts-ignore

View file

@ -3,7 +3,15 @@ module.exports = {
locales: ["en", "fr"], locales: ["en", "fr"],
defaultLocale: "en", defaultLocale: "en",
}, },
async redirects() {
return [
{
source: "/zammad#ticket/zoom/:path*",
destination: "/ticket/:path*",
permanent: true,
},
];
},
rewrites: async () => ({ rewrites: async () => ({
fallback: [ fallback: [
{ {

443
package-lock.json generated
View file

@ -8,6 +8,8 @@
"name": "link-shell", "name": "link-shell",
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"@chatscope/chat-ui-kit-react": "^1.9.8",
"@chatscope/chat-ui-kit-styles": "^1.4.0",
"@emotion/cache": "^11.10.5", "@emotion/cache": "^11.10.5",
"@emotion/react": "^11.10.5", "@emotion/react": "^11.10.5",
"@emotion/server": "^11.10.0", "@emotion/server": "^11.10.0",
@ -16,28 +18,28 @@
"@fontsource/poppins": "^4.5.10", "@fontsource/poppins": "^4.5.10",
"@fontsource/roboto": "^4.5.8", "@fontsource/roboto": "^4.5.8",
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.110", "@mui/lab": "^5.0.0-alpha.112",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^5.17.14", "@mui/x-data-grid-pro": "^5.17.15",
"@mui/x-date-pickers-pro": "^5.0.9", "@mui/x-date-pickers-pro": "^5.0.10",
"date-fns": "^2.29.3", "date-fns": "^2.29.3",
"http-proxy-middleware": "^2.0.6", "http-proxy-middleware": "^2.0.6",
"material-ui-popup-state": "^4.1.0", "material-ui-popup-state": "^5.0.3",
"next": "^13.0", "next": "^13.0",
"next-auth": "^4.17.0", "next-auth": "^4.18.6",
"next-http-proxy-middleware": "^1.2.5", "next-http-proxy-middleware": "^1.2.5",
"react": "^18", "react": "^18",
"react-dom": "^18", "react-dom": "^18",
"react-iframe": "^1.8.5", "react-iframe": "^1.8.5",
"react-polyglot": "^0.7.2", "react-polyglot": "^0.7.2",
"swr": "^1.3.0" "swr": "^2.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.20.5", "@babel/core": "^7.20.5",
"@types/react": "^18", "@types/react": "^18",
"@types/uuid": "^9.0.0", "@types/uuid": "^9.0.0",
"babel-loader": "^9.1.0", "babel-loader": "^9.1.0",
"eslint": "^8.28.0", "eslint": "^8.29.0",
"eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb": "^19.0.4",
"eslint-config-next": "^13.0.6", "eslint-config-next": "^13.0.6",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
@ -45,7 +47,7 @@
"eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.31.11", "eslint-plugin-react": "^7.31.11",
"typescript": "^4.9.3" "typescript": "^4.9.4"
} }
}, },
"node_modules/@ampproject/remapping": { "node_modules/@ampproject/remapping": {
@ -317,9 +319,9 @@
} }
}, },
"node_modules/@babel/runtime": { "node_modules/@babel/runtime": {
"version": "7.20.5", "version": "7.20.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.5.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz",
"integrity": "sha512-+4k537wJj1TFJnGfT3gHR5gz5os0XUVYebg4Utdq0KtIxJqiWHtHSSivHBIMFR5Bt0uojHXJKExtKbOywqDtFg==", "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==",
"dependencies": { "dependencies": {
"regenerator-runtime": "^0.13.11" "regenerator-runtime": "^0.13.11"
}, },
@ -386,6 +388,30 @@
"node": ">=6.9.0" "node": ">=6.9.0"
} }
}, },
"node_modules/@chatscope/chat-ui-kit-react": {
"version": "1.9.8",
"resolved": "https://registry.npmjs.org/@chatscope/chat-ui-kit-react/-/chat-ui-kit-react-1.9.8.tgz",
"integrity": "sha512-CLcZfSLORUATQEB4IeM75bp7e8v5dpJbggIHG0WrUEWHbQ/E6eI77kFZXqQT4bI00gMOevifqavScutaLZqcxQ==",
"dependencies": {
"@chatscope/chat-ui-kit-styles": "^1.2.0",
"@fortawesome/fontawesome-free": "^5.12.1",
"@fortawesome/fontawesome-svg-core": "^1.2.26",
"@fortawesome/free-solid-svg-icons": "^5.12.0",
"@fortawesome/react-fontawesome": "^0.1.8",
"classnames": "^2.2.6",
"prop-types": "^15.7.2"
},
"peerDependencies": {
"prop-types": "^15.7.2",
"react": "^16.12.0 || ^17.0.0 || ^18.2.0",
"react-dom": "^16.12.0 || ^17.0.0 || ^18.2.0"
}
},
"node_modules/@chatscope/chat-ui-kit-styles": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@chatscope/chat-ui-kit-styles/-/chat-ui-kit-styles-1.4.0.tgz",
"integrity": "sha512-016mBJD3DESw7Nh+lkKcPd22xG92ghA0VpIXIbjQtmXhC7Ve6wRazTy8z1Ahut+Tbv179+JxrftuMngsj/yV8Q=="
},
"node_modules/@date-io/core": { "node_modules/@date-io/core": {
"version": "2.16.0", "version": "2.16.0",
"resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz", "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz",
@ -672,6 +698,60 @@
"resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz", "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz",
"integrity": "sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA==" "integrity": "sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA=="
}, },
"node_modules/@fortawesome/fontawesome-common-types": {
"version": "0.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
"integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/fontawesome-free": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/fontawesome-svg-core": {
"version": "1.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
"integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
"hasInstallScript": true,
"dependencies": {
"@fortawesome/fontawesome-common-types": "^0.2.36"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/free-solid-svg-icons": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
"integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
"hasInstallScript": true,
"dependencies": {
"@fortawesome/fontawesome-common-types": "^0.2.36"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/react-fontawesome": {
"version": "0.1.19",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz",
"integrity": "sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==",
"dependencies": {
"prop-types": "^15.8.1"
},
"peerDependencies": {
"@fortawesome/fontawesome-svg-core": "~1 || ~6",
"react": ">=16.x"
}
},
"node_modules/@humanwhocodes/config-array": { "node_modules/@humanwhocodes/config-array": {
"version": "0.11.7", "version": "0.11.7",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz",
@ -840,15 +920,15 @@
} }
}, },
"node_modules/@mui/lab": { "node_modules/@mui/lab": {
"version": "5.0.0-alpha.110", "version": "5.0.0-alpha.112",
"resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.110.tgz", "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.112.tgz",
"integrity": "sha512-SkX5QNbaWouO7BXvb8zpFzDizLt7UzgaebqKSvFJLF28OXiNDfPVCle6IIB4g7hAyb/o19Kbhxs9V+LwK5gQzA==", "integrity": "sha512-XKxxUevHup9l9THXWhPcWxm8LZj+E8KDOz6cWqXOnXfSZwFYsvK/nB2R4PCiy/wobURk/+qxIAzryBA9pnSk2g==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@mui/base": "5.0.0-alpha.108", "@mui/base": "5.0.0-alpha.110",
"@mui/system": "^5.10.16", "@mui/system": "^5.11.0",
"@mui/types": "^7.2.2", "@mui/types": "^7.2.3",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-is": "^18.2.0" "react-is": "^18.2.0"
@ -881,14 +961,14 @@
} }
}, },
"node_modules/@mui/lab/node_modules/@mui/base": { "node_modules/@mui/lab/node_modules/@mui/base": {
"version": "5.0.0-alpha.108", "version": "5.0.0-alpha.110",
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.108.tgz", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.110.tgz",
"integrity": "sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA==", "integrity": "sha512-q4TH9T3sTBknTXXTEf2zO8F3nbHg5iGgiaRx9XErTbXvHrmLrQXbQ4hmrLERocSTBFCFWkKyne/qZj0diWlPtA==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@emotion/is-prop-valid": "^1.2.0", "@emotion/is-prop-valid": "^1.2.0",
"@mui/types": "^7.2.2", "@mui/types": "^7.2.3",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"@popperjs/core": "^2.11.6", "@popperjs/core": "^2.11.6",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
@ -957,12 +1037,12 @@
} }
}, },
"node_modules/@mui/private-theming": { "node_modules/@mui/private-theming": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.0.tgz",
"integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==", "integrity": "sha512-UFQLb9x5Sj4pg2GhhCGw3Ls/y1Hw/tz9RsBrULvUF0Vgps1z19o7XTq2xqUvp7pN7fJTW7eVIT2gwVg2xlk8PQ==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
}, },
"engines": { "engines": {
@ -983,11 +1063,11 @@
} }
}, },
"node_modules/@mui/styled-engine": { "node_modules/@mui/styled-engine": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz",
"integrity": "sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw==", "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@emotion/cache": "^11.10.5", "@emotion/cache": "^11.10.5",
"csstype": "^3.1.1", "csstype": "^3.1.1",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
@ -1014,15 +1094,15 @@
} }
}, },
"node_modules/@mui/system": { "node_modules/@mui/system": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.0.tgz",
"integrity": "sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A==", "integrity": "sha512-HFUT7Dlmyq6Wfuxsw8QBXZxXDYIQQaJ4YHaZd7s+nDMcjerLnILxjh2g3a6umtOUM+jEcRaFJAtvLZvlGfa5fw==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@mui/private-theming": "^5.10.16", "@mui/private-theming": "^5.11.0",
"@mui/styled-engine": "^5.10.16", "@mui/styled-engine": "^5.11.0",
"@mui/types": "^7.2.2", "@mui/types": "^7.2.3",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"csstype": "^3.1.1", "csstype": "^3.1.1",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
@ -1053,9 +1133,9 @@
} }
}, },
"node_modules/@mui/types": { "node_modules/@mui/types": {
"version": "7.2.2", "version": "7.2.3",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz", "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz",
"integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==", "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==",
"peerDependencies": { "peerDependencies": {
"@types/react": "*" "@types/react": "*"
}, },
@ -1066,11 +1146,11 @@
} }
}, },
"node_modules/@mui/utils": { "node_modules/@mui/utils": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.0.tgz",
"integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==", "integrity": "sha512-DP/YDaVVCVzJpZ5FFPLKNmaJkeaYRviTyIZkL/D5/FmPXQiA6ecd6z0/+VwoNQtp7aXAQWaRhvz4FM25yqFlHA==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/react-is": "^16.7.1 || ^17.0.0", "@types/react-is": "^16.7.1 || ^17.0.0",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
@ -1113,9 +1193,9 @@
} }
}, },
"node_modules/@mui/x-data-grid-pro": { "node_modules/@mui/x-data-grid-pro": {
"version": "5.17.14", "version": "5.17.15",
"resolved": "https://registry.npmjs.org/@mui/x-data-grid-pro/-/x-data-grid-pro-5.17.14.tgz", "resolved": "https://registry.npmjs.org/@mui/x-data-grid-pro/-/x-data-grid-pro-5.17.15.tgz",
"integrity": "sha512-POIj/FUurNVv18QePgZ7sUoUQyjdtL0MR3aonXKYIfrTBvSAJ08Vv5GspMX0QcKWjS2eN19MhrYV79ayuvFDUA==", "integrity": "sha512-pNa+C5y+fHZW/7fxoVmYhOun1KN5j8ahCrpwlt3Sl4P/GHOb7EpleufQTZvr2kwmBDn0G0JjSYCH9BhZC1Ohew==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.9", "@babel/runtime": "^7.18.9",
"@mui/utils": "^5.10.3", "@mui/utils": "^5.10.3",
@ -1137,9 +1217,9 @@
} }
}, },
"node_modules/@mui/x-date-pickers": { "node_modules/@mui/x-date-pickers": {
"version": "5.0.9", "version": "5.0.10",
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.9.tgz", "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.10.tgz",
"integrity": "sha512-PM3RU8MiwDVi+dSDGJ7ylI0hCe79wSCDfrjghS8ApGGFn/n87S8pUZxsZ5czw3mVRN6VfS2C19peo4nM1Tx+nA==", "integrity": "sha512-k+SKBqlpYsY49JVs7PORDvnfoXw9nJELfImR/3jTgHqP8hQQ6loFjB9ZFvc5NjV4Jf2NIJFmdcp6g8cO31Wmbg==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.9", "@babel/runtime": "^7.18.9",
"@date-io/core": "^2.15.0", "@date-io/core": "^2.15.0",
@ -1195,9 +1275,9 @@
} }
}, },
"node_modules/@mui/x-date-pickers-pro": { "node_modules/@mui/x-date-pickers-pro": {
"version": "5.0.9", "version": "5.0.10",
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers-pro/-/x-date-pickers-pro-5.0.9.tgz", "resolved": "https://registry.npmjs.org/@mui/x-date-pickers-pro/-/x-date-pickers-pro-5.0.10.tgz",
"integrity": "sha512-7Sn3vb8OmCIYpNSSplH8qRoRgyYUEJBM9VWqpxRuZNQIjMAAZa571quLDMf+8DPVNB5RW+wf6Xl8tY3Vwnq3dA==", "integrity": "sha512-104x0+P8RrtI7/cL+3Z6V7uo4KouuzlLKM2e24fxiOf1/BFxQ0QgA6hkBlQnSeOZhZdHKzHXjbjrmYoMAyIkxw==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.18.9", "@babel/runtime": "^7.18.9",
"@date-io/date-fns": "^2.15.0", "@date-io/date-fns": "^2.15.0",
@ -1205,7 +1285,7 @@
"@date-io/luxon": "^2.15.0", "@date-io/luxon": "^2.15.0",
"@date-io/moment": "^2.15.0", "@date-io/moment": "^2.15.0",
"@mui/utils": "^5.10.3", "@mui/utils": "^5.10.3",
"@mui/x-date-pickers": "5.0.9", "@mui/x-date-pickers": "5.0.10",
"@mui/x-license-pro": "5.17.12", "@mui/x-license-pro": "5.17.12",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"prop-types": "^15.7.2", "prop-types": "^15.7.2",
@ -2739,9 +2819,9 @@
} }
}, },
"node_modules/eslint": { "node_modules/eslint": {
"version": "8.28.0", "version": "8.29.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz",
"integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint/eslintrc": "^1.3.3", "@eslint/eslintrc": "^1.3.3",
@ -4353,17 +4433,17 @@
} }
}, },
"node_modules/material-ui-popup-state": { "node_modules/material-ui-popup-state": {
"version": "4.1.0", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-4.1.0.tgz", "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.3.tgz",
"integrity": "sha512-YAxLT10XALsUuuo46sc81NKD6oKJzlkcKP3e+IqC0pKwzAhOAZIQ+RUHXT6Mz3bXHKoHCsM+NdIQxR4mOH/KEQ==", "integrity": "sha512-AdlAEDmOAQ3BZMnNfyKD5CL+aNMb8zd5tDZWG5Ykx3vcuPbaL6SPjJ5kWuWXrJvapL9I8wwxaYhV4gt3tZmyOA==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.12.5", "@babel/runtime": "^7.20.6",
"@mui/material": "^5.0.0", "@mui/material": "^5.0.0",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"prop-types": "^15.7.2" "prop-types": "^15.7.2"
}, },
"peerDependencies": { "peerDependencies": {
"react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
} }
}, },
"node_modules/merge-stream": { "node_modules/merge-stream": {
@ -4527,9 +4607,9 @@
} }
}, },
"node_modules/next-auth": { "node_modules/next-auth": {
"version": "4.17.0", "version": "4.18.6",
"resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.17.0.tgz", "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.18.6.tgz",
"integrity": "sha512-aN2tdnjS0MDeUpB2tBDOaWnegkgeMWrsccujbXRGMJ607b+EwRcy63MFGSr0OAboDJEe0902piXQkt94GqF8Qw==", "integrity": "sha512-0TQwbq5X9Jyd1wUVYUoyvHJh4JWXeW9UOcMEl245Er/Y5vsSbyGJHt8M7xjRMzk9mORVMYehoMdERgyiq/jCgA==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.16.3", "@babel/runtime": "^7.16.3",
"@panva/hkdf": "^1.0.1", "@panva/hkdf": "^1.0.1",
@ -5656,9 +5736,15 @@
} }
}, },
"node_modules/swr": { "node_modules/swr": {
"version": "1.3.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/swr/-/swr-1.3.0.tgz", "resolved": "https://registry.npmjs.org/swr/-/swr-2.0.0.tgz",
"integrity": "sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==", "integrity": "sha512-IhUx5yPkX+Fut3h0SqZycnaNLXLXsb2ECFq0Y29cxnK7d8r7auY2JWNbCW3IX+EqXUg3rwNJFlhrw5Ye/b6k7w==",
"dependencies": {
"use-sync-external-store": "^1.2.0"
},
"engines": {
"pnpm": "7"
},
"peerDependencies": { "peerDependencies": {
"react": "^16.11.0 || ^17.0.0 || ^18.0.0" "react": "^16.11.0 || ^17.0.0 || ^18.0.0"
} }
@ -5885,9 +5971,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "4.9.3", "version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"dev": true, "dev": true,
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",
@ -5945,6 +6031,14 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"node_modules/use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/util-deprecate": { "node_modules/util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@ -6362,9 +6456,9 @@
} }
}, },
"@babel/runtime": { "@babel/runtime": {
"version": "7.20.5", "version": "7.20.6",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.5.tgz", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.6.tgz",
"integrity": "sha512-+4k537wJj1TFJnGfT3gHR5gz5os0XUVYebg4Utdq0KtIxJqiWHtHSSivHBIMFR5Bt0uojHXJKExtKbOywqDtFg==", "integrity": "sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==",
"requires": { "requires": {
"regenerator-runtime": "^0.13.11" "regenerator-runtime": "^0.13.11"
} }
@ -6416,6 +6510,25 @@
"to-fast-properties": "^2.0.0" "to-fast-properties": "^2.0.0"
} }
}, },
"@chatscope/chat-ui-kit-react": {
"version": "1.9.8",
"resolved": "https://registry.npmjs.org/@chatscope/chat-ui-kit-react/-/chat-ui-kit-react-1.9.8.tgz",
"integrity": "sha512-CLcZfSLORUATQEB4IeM75bp7e8v5dpJbggIHG0WrUEWHbQ/E6eI77kFZXqQT4bI00gMOevifqavScutaLZqcxQ==",
"requires": {
"@chatscope/chat-ui-kit-styles": "^1.2.0",
"@fortawesome/fontawesome-free": "^5.12.1",
"@fortawesome/fontawesome-svg-core": "^1.2.26",
"@fortawesome/free-solid-svg-icons": "^5.12.0",
"@fortawesome/react-fontawesome": "^0.1.8",
"classnames": "^2.2.6",
"prop-types": "^15.7.2"
}
},
"@chatscope/chat-ui-kit-styles": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/@chatscope/chat-ui-kit-styles/-/chat-ui-kit-styles-1.4.0.tgz",
"integrity": "sha512-016mBJD3DESw7Nh+lkKcPd22xG92ghA0VpIXIbjQtmXhC7Ve6wRazTy8z1Ahut+Tbv179+JxrftuMngsj/yV8Q=="
},
"@date-io/core": { "@date-io/core": {
"version": "2.16.0", "version": "2.16.0",
"resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz", "resolved": "https://registry.npmjs.org/@date-io/core/-/core-2.16.0.tgz",
@ -6622,6 +6735,40 @@
"resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz", "resolved": "https://registry.npmjs.org/@fontsource/roboto/-/roboto-4.5.8.tgz",
"integrity": "sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA==" "integrity": "sha512-CnD7zLItIzt86q4Sj3kZUiLcBk1dSk81qcqgMGaZe7SQ1P8hFNxhMl5AZthK1zrDM5m74VVhaOpuMGIL4gagaA=="
}, },
"@fortawesome/fontawesome-common-types": {
"version": "0.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
"integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg=="
},
"@fortawesome/fontawesome-free": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz",
"integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg=="
},
"@fortawesome/fontawesome-svg-core": {
"version": "1.2.36",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
"integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
"requires": {
"@fortawesome/fontawesome-common-types": "^0.2.36"
}
},
"@fortawesome/free-solid-svg-icons": {
"version": "5.15.4",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
"integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
"requires": {
"@fortawesome/fontawesome-common-types": "^0.2.36"
}
},
"@fortawesome/react-fontawesome": {
"version": "0.1.19",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz",
"integrity": "sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==",
"requires": {
"prop-types": "^15.8.1"
}
},
"@humanwhocodes/config-array": { "@humanwhocodes/config-array": {
"version": "0.11.7", "version": "0.11.7",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.7.tgz",
@ -6732,29 +6879,29 @@
} }
}, },
"@mui/lab": { "@mui/lab": {
"version": "5.0.0-alpha.110", "version": "5.0.0-alpha.112",
"resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.110.tgz", "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.112.tgz",
"integrity": "sha512-SkX5QNbaWouO7BXvb8zpFzDizLt7UzgaebqKSvFJLF28OXiNDfPVCle6IIB4g7hAyb/o19Kbhxs9V+LwK5gQzA==", "integrity": "sha512-XKxxUevHup9l9THXWhPcWxm8LZj+E8KDOz6cWqXOnXfSZwFYsvK/nB2R4PCiy/wobURk/+qxIAzryBA9pnSk2g==",
"requires": { "requires": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@mui/base": "5.0.0-alpha.108", "@mui/base": "5.0.0-alpha.110",
"@mui/system": "^5.10.16", "@mui/system": "^5.11.0",
"@mui/types": "^7.2.2", "@mui/types": "^7.2.3",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
"react-is": "^18.2.0" "react-is": "^18.2.0"
}, },
"dependencies": { "dependencies": {
"@mui/base": { "@mui/base": {
"version": "5.0.0-alpha.108", "version": "5.0.0-alpha.110",
"resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.108.tgz", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.110.tgz",
"integrity": "sha512-KjzRUts2i/ODlMfywhFTqTzQl+Cr9nlDSZxJcnYjrbOV/iRyQNBTDoiFJt+XEdRi0fZBHnk74AFbnP56ehybsA==", "integrity": "sha512-q4TH9T3sTBknTXXTEf2zO8F3nbHg5iGgiaRx9XErTbXvHrmLrQXbQ4hmrLERocSTBFCFWkKyne/qZj0diWlPtA==",
"requires": { "requires": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@emotion/is-prop-valid": "^1.2.0", "@emotion/is-prop-valid": "^1.2.0",
"@mui/types": "^7.2.2", "@mui/types": "^7.2.3",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"@popperjs/core": "^2.11.6", "@popperjs/core": "^2.11.6",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
@ -6783,53 +6930,53 @@
} }
}, },
"@mui/private-theming": { "@mui/private-theming": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.0.tgz",
"integrity": "sha512-0MArkJaOHRCKqL/GWjngGZmyOeRz+uxffhx82bKcewr8swqV7xx7EFP02pk0L/gLdfcvYdqwH4YTVjG/+TaKrg==", "integrity": "sha512-UFQLb9x5Sj4pg2GhhCGw3Ls/y1Hw/tz9RsBrULvUF0Vgps1z19o7XTq2xqUvp7pN7fJTW7eVIT2gwVg2xlk8PQ==",
"requires": { "requires": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
} }
}, },
"@mui/styled-engine": { "@mui/styled-engine": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.0.tgz",
"integrity": "sha512-ZMSjXvtiGwGDKqrSlXhpxK2voUaF2/lpC/pSTfFmZvKH9j9a9h1/iwo3ybgjFVYGgbfNeW4h0xEchiRohu9xsw==", "integrity": "sha512-AF06K60Zc58qf0f7X+Y/QjaHaZq16znliLnGc9iVrV/+s8Ln/FCoeNuFvhlCbZZQ5WQcJvcy59zp0nXrklGGPQ==",
"requires": { "requires": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@emotion/cache": "^11.10.5", "@emotion/cache": "^11.10.5",
"csstype": "^3.1.1", "csstype": "^3.1.1",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
} }
}, },
"@mui/system": { "@mui/system": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/system/-/system-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.0.tgz",
"integrity": "sha512-OqI9B1jZ9zQ/dmoqseku4CzdEs9DbLiiMOaWxC3WeAJxM1UavlCgXz0encqm93LIlmSL7TjuHN1/rW8BJCnU8A==", "integrity": "sha512-HFUT7Dlmyq6Wfuxsw8QBXZxXDYIQQaJ4YHaZd7s+nDMcjerLnILxjh2g3a6umtOUM+jEcRaFJAtvLZvlGfa5fw==",
"requires": { "requires": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@mui/private-theming": "^5.10.16", "@mui/private-theming": "^5.11.0",
"@mui/styled-engine": "^5.10.16", "@mui/styled-engine": "^5.11.0",
"@mui/types": "^7.2.2", "@mui/types": "^7.2.3",
"@mui/utils": "^5.10.16", "@mui/utils": "^5.11.0",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"csstype": "^3.1.1", "csstype": "^3.1.1",
"prop-types": "^15.8.1" "prop-types": "^15.8.1"
} }
}, },
"@mui/types": { "@mui/types": {
"version": "7.2.2", "version": "7.2.3",
"resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.2.tgz", "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz",
"integrity": "sha512-siex8cZDtWeC916cXOoUOnEQQejuMYmHtc4hM6VkKVYaBICz3VIiqyiAomRboTQHt2jchxQ5Q5ATlbcDekTxDA==", "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==",
"requires": {} "requires": {}
}, },
"@mui/utils": { "@mui/utils": {
"version": "5.10.16", "version": "5.11.0",
"resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.10.16.tgz", "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.0.tgz",
"integrity": "sha512-3MB/SGsgiiu9Z55CFmAfiONUoR7AAue/H4F6w3mc2LnhFQCsoVvXhioDPcsiRpUMIQr34jDPzGXdCuqWooPCXQ==", "integrity": "sha512-DP/YDaVVCVzJpZ5FFPLKNmaJkeaYRviTyIZkL/D5/FmPXQiA6ecd6z0/+VwoNQtp7aXAQWaRhvz4FM25yqFlHA==",
"requires": { "requires": {
"@babel/runtime": "^7.20.1", "@babel/runtime": "^7.20.6",
"@types/prop-types": "^15.7.5", "@types/prop-types": "^15.7.5",
"@types/react-is": "^16.7.1 || ^17.0.0", "@types/react-is": "^16.7.1 || ^17.0.0",
"prop-types": "^15.8.1", "prop-types": "^15.8.1",
@ -6849,9 +6996,9 @@
} }
}, },
"@mui/x-data-grid-pro": { "@mui/x-data-grid-pro": {
"version": "5.17.14", "version": "5.17.15",
"resolved": "https://registry.npmjs.org/@mui/x-data-grid-pro/-/x-data-grid-pro-5.17.14.tgz", "resolved": "https://registry.npmjs.org/@mui/x-data-grid-pro/-/x-data-grid-pro-5.17.15.tgz",
"integrity": "sha512-POIj/FUurNVv18QePgZ7sUoUQyjdtL0MR3aonXKYIfrTBvSAJ08Vv5GspMX0QcKWjS2eN19MhrYV79ayuvFDUA==", "integrity": "sha512-pNa+C5y+fHZW/7fxoVmYhOun1KN5j8ahCrpwlt3Sl4P/GHOb7EpleufQTZvr2kwmBDn0G0JjSYCH9BhZC1Ohew==",
"requires": { "requires": {
"@babel/runtime": "^7.18.9", "@babel/runtime": "^7.18.9",
"@mui/utils": "^5.10.3", "@mui/utils": "^5.10.3",
@ -6864,9 +7011,9 @@
} }
}, },
"@mui/x-date-pickers": { "@mui/x-date-pickers": {
"version": "5.0.9", "version": "5.0.10",
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.9.tgz", "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-5.0.10.tgz",
"integrity": "sha512-PM3RU8MiwDVi+dSDGJ7ylI0hCe79wSCDfrjghS8ApGGFn/n87S8pUZxsZ5czw3mVRN6VfS2C19peo4nM1Tx+nA==", "integrity": "sha512-k+SKBqlpYsY49JVs7PORDvnfoXw9nJELfImR/3jTgHqP8hQQ6loFjB9ZFvc5NjV4Jf2NIJFmdcp6g8cO31Wmbg==",
"requires": { "requires": {
"@babel/runtime": "^7.18.9", "@babel/runtime": "^7.18.9",
"@date-io/core": "^2.15.0", "@date-io/core": "^2.15.0",
@ -6883,9 +7030,9 @@
} }
}, },
"@mui/x-date-pickers-pro": { "@mui/x-date-pickers-pro": {
"version": "5.0.9", "version": "5.0.10",
"resolved": "https://registry.npmjs.org/@mui/x-date-pickers-pro/-/x-date-pickers-pro-5.0.9.tgz", "resolved": "https://registry.npmjs.org/@mui/x-date-pickers-pro/-/x-date-pickers-pro-5.0.10.tgz",
"integrity": "sha512-7Sn3vb8OmCIYpNSSplH8qRoRgyYUEJBM9VWqpxRuZNQIjMAAZa571quLDMf+8DPVNB5RW+wf6Xl8tY3Vwnq3dA==", "integrity": "sha512-104x0+P8RrtI7/cL+3Z6V7uo4KouuzlLKM2e24fxiOf1/BFxQ0QgA6hkBlQnSeOZhZdHKzHXjbjrmYoMAyIkxw==",
"requires": { "requires": {
"@babel/runtime": "^7.18.9", "@babel/runtime": "^7.18.9",
"@date-io/date-fns": "^2.15.0", "@date-io/date-fns": "^2.15.0",
@ -6893,7 +7040,7 @@
"@date-io/luxon": "^2.15.0", "@date-io/luxon": "^2.15.0",
"@date-io/moment": "^2.15.0", "@date-io/moment": "^2.15.0",
"@mui/utils": "^5.10.3", "@mui/utils": "^5.10.3",
"@mui/x-date-pickers": "5.0.9", "@mui/x-date-pickers": "5.0.10",
"@mui/x-license-pro": "5.17.12", "@mui/x-license-pro": "5.17.12",
"clsx": "^1.2.1", "clsx": "^1.2.1",
"prop-types": "^15.7.2", "prop-types": "^15.7.2",
@ -8016,9 +8163,9 @@
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
}, },
"eslint": { "eslint": {
"version": "8.28.0", "version": "8.29.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.29.0.tgz",
"integrity": "sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==", "integrity": "sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@eslint/eslintrc": "^1.3.3", "@eslint/eslintrc": "^1.3.3",
@ -9179,11 +9326,11 @@
} }
}, },
"material-ui-popup-state": { "material-ui-popup-state": {
"version": "4.1.0", "version": "5.0.3",
"resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-4.1.0.tgz", "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.3.tgz",
"integrity": "sha512-YAxLT10XALsUuuo46sc81NKD6oKJzlkcKP3e+IqC0pKwzAhOAZIQ+RUHXT6Mz3bXHKoHCsM+NdIQxR4mOH/KEQ==", "integrity": "sha512-AdlAEDmOAQ3BZMnNfyKD5CL+aNMb8zd5tDZWG5Ykx3vcuPbaL6SPjJ5kWuWXrJvapL9I8wwxaYhV4gt3tZmyOA==",
"requires": { "requires": {
"@babel/runtime": "^7.12.5", "@babel/runtime": "^7.20.6",
"@mui/material": "^5.0.0", "@mui/material": "^5.0.0",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"prop-types": "^15.7.2" "prop-types": "^15.7.2"
@ -9300,9 +9447,9 @@
} }
}, },
"next-auth": { "next-auth": {
"version": "4.17.0", "version": "4.18.6",
"resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.17.0.tgz", "resolved": "https://registry.npmjs.org/next-auth/-/next-auth-4.18.6.tgz",
"integrity": "sha512-aN2tdnjS0MDeUpB2tBDOaWnegkgeMWrsccujbXRGMJ607b+EwRcy63MFGSr0OAboDJEe0902piXQkt94GqF8Qw==", "integrity": "sha512-0TQwbq5X9Jyd1wUVYUoyvHJh4JWXeW9UOcMEl245Er/Y5vsSbyGJHt8M7xjRMzk9mORVMYehoMdERgyiq/jCgA==",
"requires": { "requires": {
"@babel/runtime": "^7.16.3", "@babel/runtime": "^7.16.3",
"@panva/hkdf": "^1.0.1", "@panva/hkdf": "^1.0.1",
@ -10085,10 +10232,12 @@
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
}, },
"swr": { "swr": {
"version": "1.3.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/swr/-/swr-1.3.0.tgz", "resolved": "https://registry.npmjs.org/swr/-/swr-2.0.0.tgz",
"integrity": "sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==", "integrity": "sha512-IhUx5yPkX+Fut3h0SqZycnaNLXLXsb2ECFq0Y29cxnK7d8r7auY2JWNbCW3IX+EqXUg3rwNJFlhrw5Ye/b6k7w==",
"requires": {} "requires": {
"use-sync-external-store": "^1.2.0"
}
}, },
"synckit": { "synckit": {
"version": "0.8.4", "version": "0.8.4",
@ -10251,9 +10400,9 @@
"dev": true "dev": true
}, },
"typescript": { "typescript": {
"version": "4.9.3", "version": "4.9.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
"integrity": "sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==", "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
"dev": true "dev": true
}, },
"unbox-primitive": { "unbox-primitive": {
@ -10285,6 +10434,12 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
"integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
"requires": {}
},
"util-deprecate": { "util-deprecate": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",

View file

@ -9,6 +9,8 @@
"lint": "next lint" "lint": "next lint"
}, },
"dependencies": { "dependencies": {
"@chatscope/chat-ui-kit-react": "^1.9.8",
"@chatscope/chat-ui-kit-styles": "^1.4.0",
"@emotion/cache": "^11.10.5", "@emotion/cache": "^11.10.5",
"@emotion/react": "^11.10.5", "@emotion/react": "^11.10.5",
"@emotion/server": "^11.10.0", "@emotion/server": "^11.10.0",
@ -17,28 +19,28 @@
"@fontsource/poppins": "^4.5.10", "@fontsource/poppins": "^4.5.10",
"@fontsource/roboto": "^4.5.8", "@fontsource/roboto": "^4.5.8",
"@mui/icons-material": "^5", "@mui/icons-material": "^5",
"@mui/lab": "^5.0.0-alpha.110", "@mui/lab": "^5.0.0-alpha.112",
"@mui/material": "^5", "@mui/material": "^5",
"@mui/x-data-grid-pro": "^5.17.14", "@mui/x-data-grid-pro": "^5.17.15",
"@mui/x-date-pickers-pro": "^5.0.9", "@mui/x-date-pickers-pro": "^5.0.10",
"date-fns": "^2.29.3", "date-fns": "^2.29.3",
"http-proxy-middleware": "^2.0.6", "http-proxy-middleware": "^2.0.6",
"material-ui-popup-state": "^4.1.0", "material-ui-popup-state": "^5.0.3",
"next": "^13.0", "next": "^13.0",
"next-auth": "^4.17.0", "next-auth": "^4.18.6",
"next-http-proxy-middleware": "^1.2.5", "next-http-proxy-middleware": "^1.2.5",
"react": "^18", "react": "^18",
"react-dom": "^18", "react-dom": "^18",
"react-iframe": "^1.8.5", "react-iframe": "^1.8.5",
"react-polyglot": "^0.7.2", "react-polyglot": "^0.7.2",
"swr": "^1.3.0" "swr": "^2.0.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.20.5", "@babel/core": "^7.20.5",
"@types/react": "^18", "@types/react": "^18",
"@types/uuid": "^9.0.0", "@types/uuid": "^9.0.0",
"babel-loader": "^9.1.0", "babel-loader": "^9.1.0",
"eslint": "^8.28.0", "eslint": "^8.29.0",
"eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb": "^19.0.4",
"eslint-config-next": "^13.0.6", "eslint-config-next": "^13.0.6",
"eslint-config-prettier": "^8.5.0", "eslint-config-prettier": "^8.5.0",
@ -46,6 +48,6 @@
"eslint-plugin-jsx-a11y": "^6.6.1", "eslint-plugin-jsx-a11y": "^6.6.1",
"eslint-plugin-prettier": "^4.2.1", "eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.31.11", "eslint-plugin-react": "^7.31.11",
"typescript": "^4.9.3" "typescript": "^4.9.4"
} }
} }

View file

@ -0,0 +1,30 @@
import Head from "next/head";
import { Grid } from "@mui/material";
import { Layout } from "components/Layout";
import Iframe from "react-iframe";
const Metamigo = () => (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid
container
spacing={0}
sx={{ height: "100%", width: "100%" }}
direction="column"
>
<Grid item sx={{ height: "100vh", width: "100%" }}>
<Iframe
id="link"
url={"https://quepasa.link.smex.org"}
width="100%"
height="100%"
frameBorder={0}
/>
</Grid>
</Grid>
</Layout>
);
export default Metamigo;

30
pages/admin/metamigo.tsx Normal file
View file

@ -0,0 +1,30 @@
import Head from "next/head";
import { Grid } from "@mui/material";
import { Layout } from "components/Layout";
import Iframe from "react-iframe";
const Metamigo = () => (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid
container
spacing={0}
sx={{ height: "100%", width: "100%" }}
direction="column"
>
<Grid item sx={{ height: "100vh", width: "100%" }}>
<Iframe
id="link"
url={"https://sigarillo.link.smex.org"}
width="100%"
height="100%"
frameBorder={0}
/>
</Grid>
</Grid>
</Layout>
);
export default Metamigo;

View file

@ -0,0 +1,36 @@
import { useState } from "react";
import Head from "next/head";
import { Grid, Button } from "@mui/material";
import { Layout } from "components/Layout";
import Iframe from "react-iframe";
const Leafcutter = () => {
const [leafcutterURL, setLeafcutterURL] = useState(
"https://lc.digiresilience.org/about"
);
return (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid
container
spacing={0}
sx={{ height: "100%", width: "100%" }}
direction="column"
>
<Grid item sx={{ height: "100vh", width: "100%" }}>
<Iframe
id="link"
url={leafcutterURL}
width="100%"
height="100%"
frameBorder={0}
/>
</Grid>
</Grid>
</Layout>
);
};
export default Leafcutter;

View file

@ -0,0 +1,36 @@
import { useState } from "react";
import Head from "next/head";
import { Grid, Button } from "@mui/material";
import { Layout } from "components/Layout";
import Iframe from "react-iframe";
const Leafcutter = () => {
const [leafcutterURL, setLeafcutterURL] = useState(
"https://lc.digiresilience.org/create"
);
return (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid
container
spacing={0}
sx={{ height: "100%", width: "100%" }}
direction="column"
>
<Grid item sx={{ height: "100vh", width: "100%" }}>
<Iframe
id="link"
url={leafcutterURL}
width="100%"
height="100%"
frameBorder={0}
/>
</Grid>
</Grid>
</Layout>
);
};
export default Leafcutter;

36
pages/leafcutter/faq.tsx Normal file
View file

@ -0,0 +1,36 @@
import { useState } from "react";
import Head from "next/head";
import { Grid, Button } from "@mui/material";
import { Layout } from "components/Layout";
import Iframe from "react-iframe";
const Leafcutter = () => {
const [leafcutterURL, setLeafcutterURL] = useState(
"https://lc.digiresilience.org/faq"
);
return (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid
container
spacing={0}
sx={{ height: "100%", width: "100%" }}
direction="column"
>
<Grid item sx={{ height: "100vh", width: "100%" }}>
<Iframe
id="link"
url={leafcutterURL}
width="100%"
height="100%"
frameBorder={0}
/>
</Grid>
</Grid>
</Layout>
);
};
export default Leafcutter;

View file

@ -0,0 +1,36 @@
import { useState } from "react";
import Head from "next/head";
import { Grid, Button } from "@mui/material";
import { Layout } from "components/Layout";
import Iframe from "react-iframe";
const Leafcutter = () => {
const [leafcutterURL, setLeafcutterURL] = useState(
"https://lc.digiresilience.org/trends"
);
return (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid
container
spacing={0}
sx={{ height: "100%", width: "100%" }}
direction="column"
>
<Grid item sx={{ height: "100vh", width: "100%" }}>
<Iframe
id="link"
url={leafcutterURL}
width="100%"
height="100%"
frameBorder={0}
/>
</Grid>
</Grid>
</Layout>
);
};
export default Leafcutter;

54
pages/tickets/[...id].tsx Normal file
View file

@ -0,0 +1,54 @@
import Head from "next/head";
import { NextPage, GetServerSideProps, GetServerSidePropsContext } from "next";
import { Grid, Box } from "@mui/material";
import { Layout } from "components/Layout";
import { TicketDetail } from "components/TicketDetail";
import { TicketEdit } from "components/TicketEdit";
const Link: NextPage = ({ ticket, articles }: any) => (
<Layout>
<Head>
<title>Link Shell</title>
</Head>
<Grid container spacing={0} sx={{ height: "100vh" }} direction="row">
<Grid item sx={{ height: "100vh" }} xs={10}>
<TicketDetail ticket={ticket} articles={articles} />
</Grid>
<Grid item xs={2} sx={{ height: "100vh" }}>
<TicketEdit ticket={ticket} />
</Grid>
</Grid>
</Layout>
);
export const getServerSideProps: GetServerSideProps = async (
context: GetServerSidePropsContext
) => {
const {
params: { id },
} = context;
const baseURL = "https://help.cdr.link/api/v1";
const token = process.env.ZAMMAD_TOKEN;
const headers = { Authorization: `Token ${token}` };
const rawTicket = await fetch(`${baseURL}/tickets/${id}`, {
headers,
});
const ticket = await rawTicket.json();
const rawArticles = await fetch(
`${baseURL}/ticket_articles/by_ticket/${id}`,
{
headers,
}
);
const articles = await rawArticles.json();
console.log({ ticket, articles });
return {
props: {
ticket,
articles,
},
};
};
export default Link;

BIN
public/link-logo-small.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View file

@ -3,3 +3,76 @@ body {
overscroll-behavior-y: none; overscroll-behavior-y: none;
text-size-adjust: none; text-size-adjust: none;
} }
.internal-note .cs-message__content {
background-color: #FFB62088 !important;
border: 2px solid #FFB620 !important;
border-radius: 0 !important;
margin: 12px;
font-family: Roboto !important;
font-size: 16px !important;
padding: 20px !important;
}
.incoming-message .cs-message__content {
color: white !important;
background-color: #43CC47 !important;
border-radius: 14px !important;
margin: 12px;
font-family: Roboto !important;
font-size: 16px !important;
padding: 20px !important;
}
.outgoing-message .cs-message__content {
color: white !important;
background-color: #1982FC !important;
border-radius: 14px !important;
margin: 12px;
font-family: Roboto !important;
font-size: 16px !important;
padding: 20px !important;
}
.incoming-message .cs-message__content a {
color: white !important;
}
.outgoing-message .cs-message__content a {
color: white !important;
}
.cs-message-input__content-editor-wrapper {
background-color: white !important;
border: 1px solid #ccc !important;
margin: 10px !important;
}
.cs-message-input__content-editor-container {
background-color: white !important;
}
.cs-message-input__content-editor {
background-color: white !important;
font-family: Roboto !important;
}
.cs-conversation-header {
background-color: #ddd !important;
border: 0 !important;
padding: 20px !important;
border-bottom: 1px solid #ccc !important;
}
.cs-message-list {
background-color: #eee !important;
}
.cs-message-input {
background-color: #dfdfdf !important;
}
.cs-main-container {
border: 0 !important;
border-right: 1px solid #ccc !important;
}