diff --git a/frontend/components/basic/Layout.tsx b/frontend/components/basic/Layout.tsx
index 819a87db0..5057f70ce 100644
--- a/frontend/components/basic/Layout.tsx
+++ b/frontend/components/basic/Layout.tsx
@@ -1,37 +1,38 @@
/* eslint-disable no-unexpected-multiline */
/* eslint-disable react-hooks/exhaustive-deps */
-import { useEffect, useState } from "react";
-import Link from "next/link";
-import { useRouter } from "next/router";
+import { useEffect, useState } from 'react';
+import Link from 'next/link';
+import { useRouter } from 'next/router';
import {
faBookOpen,
faGear,
faKey,
faMobile,
faPlug,
- faUser,
-} from "@fortawesome/free-solid-svg-icons";
-import { faPlus } from "@fortawesome/free-solid-svg-icons";
-import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
+ faUser
+} from '@fortawesome/free-solid-svg-icons';
+import { faPlus } from '@fortawesome/free-solid-svg-icons';
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
-import getOrganizations from "~/pages/api/organization/getOrgs";
-import getOrganizationUserProjects from "~/pages/api/organization/GetOrgUserProjects";
-import getOrganizationUsers from "~/pages/api/organization/GetOrgUsers";
-import addUserToWorkspace from "~/pages/api/workspace/addUserToWorkspace";
-import createWorkspace from "~/pages/api/workspace/createWorkspace";
-import getWorkspaces from "~/pages/api/workspace/getWorkspaces";
-import uploadKeys from "~/pages/api/workspace/uploadKeys";
-import checkUserAction from "~/pages/api/userActions/checkUserAction";
+import getOrganizations from '~/pages/api/organization/getOrgs';
+import getOrganizationUserProjects from '~/pages/api/organization/GetOrgUserProjects';
+import getOrganizationUsers from '~/pages/api/organization/GetOrgUsers';
+import checkUserAction from '~/pages/api/userActions/checkUserAction';
+import addUserToWorkspace from '~/pages/api/workspace/addUserToWorkspace';
+import createWorkspace from '~/pages/api/workspace/createWorkspace';
+import getWorkspaces from '~/pages/api/workspace/getWorkspaces';
+import uploadKeys from '~/pages/api/workspace/uploadKeys';
-import NavBarDashboard from "../navigation/NavBarDashboard";
-import { tempLocalStorage } from "../utilities/checks/tempLocalStorage";
+import NavBarDashboard from '../navigation/NavBarDashboard';
+import onboardingCheck from '../utilities/checks/OnboardingCheck';
+import { tempLocalStorage } from '../utilities/checks/tempLocalStorage';
import {
decryptAssymmetric,
- encryptAssymmetric,
-} from "../utilities/cryptography/crypto";
-import Button from "./buttons/Button";
-import AddWorkspaceDialog from "./dialog/AddWorkspaceDialog";
-import Listbox from "./Listbox";
+ encryptAssymmetric
+} from '../utilities/cryptography/crypto';
+import Button from './buttons/Button';
+import AddWorkspaceDialog from './dialog/AddWorkspaceDialog';
+import Listbox from './Listbox';
interface LayoutProps {
children: React.ReactNode;
@@ -41,16 +42,13 @@ export default function Layout({ children }: LayoutProps) {
const router = useRouter();
const [workspaceList, setWorkspaceList] = useState([]);
const [workspaceMapping, setWorkspaceMapping] = useState([{ 1: 2 }]);
- const [workspaceSelected, setWorkspaceSelected] = useState("∞");
- const [newWorkspaceName, setNewWorkspaceName] = useState("");
+ const [workspaceSelected, setWorkspaceSelected] = useState('∞');
+ const [newWorkspaceName, setNewWorkspaceName] = useState('');
const [isOpen, setIsOpen] = useState(false);
const [loading, setLoading] = useState(false);
const [error, setError] = useState(false);
- const [hasUserClickedSlack, setHasUserClickedSlack] = useState(false);
- const [hasUserClickedIntro, setHasUserClickedIntro] = useState(false);
- const [hasUserStarred, setHasUserStarred] = useState(false);
- const [usersInOrg, setUsersInOrg] = useState(false);
- const [totalOnboardingActionsDone, setTotalOnboardingActionsDone] = useState(0);
+ const [totalOnboardingActionsDone, setTotalOnboardingActionsDone] =
+ useState(0);
function closeModal() {
setIsOpen(false);
@@ -77,35 +75,35 @@ export default function Layout({ children }: LayoutProps) {
if (!currentWorkspaces.includes(workspaceName)) {
const newWorkspace = await createWorkspace({
workspaceName,
- organizationId: tempLocalStorage("orgData.id"),
+ organizationId: tempLocalStorage('orgData.id')
});
const newWorkspaceId = newWorkspace._id;
if (addAllUsers) {
const orgUsers = await getOrganizationUsers({
- orgId: tempLocalStorage("orgData.id"),
+ orgId: tempLocalStorage('orgData.id')
});
orgUsers.map(async (user: any) => {
- if (user.status == "accepted") {
+ if (user.status == 'accepted') {
const result = await addUserToWorkspace(
user.user.email,
newWorkspaceId
);
if (result?.invitee && result?.latestKey) {
- const PRIVATE_KEY = tempLocalStorage("PRIVATE_KEY");
+ const PRIVATE_KEY = tempLocalStorage('PRIVATE_KEY');
// assymmetrically decrypt symmetric key with local private key
const key = decryptAssymmetric({
ciphertext: result.latestKey.encryptedKey,
nonce: result.latestKey.nonce,
publicKey: result.latestKey.sender.publicKey,
- privateKey: PRIVATE_KEY,
+ privateKey: PRIVATE_KEY
});
const { ciphertext, nonce } = encryptAssymmetric({
plaintext: key,
publicKey: result.invitee.publicKey,
- privateKey: PRIVATE_KEY,
+ privateKey: PRIVATE_KEY
}) as { ciphertext: string; nonce: string };
uploadKeys(
@@ -118,11 +116,11 @@ export default function Layout({ children }: LayoutProps) {
}
});
}
- router.push("/dashboard/" + newWorkspaceId + "?Development");
+ router.push('/dashboard/' + newWorkspaceId + '?Development');
setIsOpen(false);
- setNewWorkspaceName("");
+ setNewWorkspaceName('');
} else {
- console.error("A project with this name already exists.");
+ console.error('A project with this name already exists.');
setError(true);
setLoading(false);
}
@@ -136,59 +134,59 @@ export default function Layout({ children }: LayoutProps) {
const menuItems = [
{
href:
- "/dashboard/" +
+ '/dashboard/' +
workspaceMapping[workspaceSelected as any] +
- "?Development",
- title: "Secrets",
- emoji: