diff --git a/package.json b/package.json
index 43f2c04c..06dfcb31 100755
--- a/package.json
+++ b/package.json
@@ -58,7 +58,8 @@
"build": "craco build",
"test": "craco test",
"eject": "craco eject",
- "cypress:open": "cypress open"
+ "cypress:open": "cypress open",
+ "code:format": "prettier . --write --ignore-unknown"
},
"browserslist": {
"production": [
@@ -79,6 +80,7 @@
"@types/react-beautiful-dnd": "^13.1.4",
"@types/react-cytoscapejs": "^1.2.4",
"craco-alias": "^3.0.1",
- "cypress": "^13.6.1"
+ "cypress": "^13.6.1",
+ "prettier": "^3.1.1"
}
}
diff --git a/prettierrc b/prettierrc
new file mode 100644
index 00000000..80e56165
--- /dev/null
+++ b/prettierrc
@@ -0,0 +1,12 @@
+{
+ "semi": true,
+ "trailingComma": "es5",
+ "singleQuote": false,
+ "printWidth": 120,
+ "tabWidth": 2,
+ "useTabs": false,
+ "endOfLine": "auto",
+ "bracketSpacing": true,
+ "arrowParens": "always",
+ "jsxSingleQuote": false
+}
diff --git a/src/App.tsx b/src/App.tsx
index 7136bf2e..96b97130 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,100 +1,100 @@
-import ContactFormModal from "@ui_kit/ContactForm";
-import ImageCrop from "@ui_kit/Modal/ImageCrop";
-import dayjs from "dayjs";
-import "dayjs/locale/ru";
-import SigninDialog from "./pages/auth/Signin";
-import SignupDialog from "./pages/auth/Signup";
-import { ViewPage } from "./pages/ViewPublicationPage";
-import { Route, Routes, useLocation, useNavigate, Navigate } from "react-router-dom";
-import "./index.css";
-import ContactFormPage from "./pages/ContactFormPage/ContactFormPage";
-import InstallQuiz from "./pages/InstallQuiz/InstallQuiz";
-import Landing from "./pages/Landing/Landing";
-import QuestionsPage from "./pages/Questions/QuestionsPage";
-import { Result } from "./pages/ResultPage/Result";
-import { ResultSettings } from "./pages/ResultPage/ResultSettings";
-import MyQuizzesFull from "./pages/createQuize/MyQuizzesFull";
-import Main from "./pages/main";
-import EditPage from "./pages/startPage/EditPage";
-import { clearAuthToken, getMessageFromFetchError, useUserAccountFetcher, useUserFetcher } from "@frontend/kitui";
-import { clearUserData, setUser, setUserAccount, useUserStore } from "@root/user";
-import { enqueueSnackbar } from "notistack";
-import PrivateRoute from "@ui_kit/PrivateRoute";
-
-import { Restore } from "./pages/startPage/Restore";
-
-dayjs.locale("ru");
-
-const routeslink = [
- { path: "/list", page: , header: false, sidebar: false },
- { path: "/questions/:quizId", page: , header: true, sidebar: true },
- { path: "/contacts", page: , header: true, sidebar: true },
- { path: "/result", page: , header: true, sidebar: true },
- { path: "/settings", page: , header: true, sidebar: true },
-] as const;
-
-export default function App() {
- const userId = useUserStore((state) => state.userId);
- const location = useLocation();
- const navigate = useNavigate();
-
- useUserFetcher({
- url: `https://hub.pena.digital/user/${userId}`,
- userId,
- onNewUser: setUser,
- onError: (error) => {
- const errorMessage = getMessageFromFetchError(error);
- if (errorMessage) {
- enqueueSnackbar(errorMessage);
- clearUserData();
- clearAuthToken();
- }
- },
- });
-
- useUserAccountFetcher({
- url: "https://squiz.pena.digital/customer/account",
- userId,
- onNewUserAccount: setUserAccount,
- onError: (error) => {
- const errorMessage = getMessageFromFetchError(error);
- if (errorMessage) {
- enqueueSnackbar(errorMessage);
- clearUserData();
- clearAuthToken();
- navigate("/signin");
- }
- },
- });
-
- if (location.state?.redirectTo)
- return ;
-
- return (
- <>
-
- {location.state?.backgroundLocation && (
-
- } />
- } />
- } />
-
- )}
-
- } />
- } />
- } />
- } />
- }>
- {routeslink.map((e, i) => (
- } />
- ))}
-
- } />
- } />
- } />
-
-
- >
- );
-}
+import ContactFormModal from "@ui_kit/ContactForm";
+import ImageCrop from "@ui_kit/Modal/ImageCrop";
+import dayjs from "dayjs";
+import "dayjs/locale/ru";
+import SigninDialog from "./pages/auth/Signin";
+import SignupDialog from "./pages/auth/Signup";
+import { ViewPage } from "./pages/ViewPublicationPage";
+import { Route, Routes, useLocation, useNavigate, Navigate } from "react-router-dom";
+import "./index.css";
+import ContactFormPage from "./pages/ContactFormPage/ContactFormPage";
+import InstallQuiz from "./pages/InstallQuiz/InstallQuiz";
+import Landing from "./pages/Landing/Landing";
+import QuestionsPage from "./pages/Questions/QuestionsPage";
+import { Result } from "./pages/ResultPage/Result";
+import { ResultSettings } from "./pages/ResultPage/ResultSettings";
+import MyQuizzesFull from "./pages/createQuize/MyQuizzesFull";
+import Main from "./pages/main";
+import EditPage from "./pages/startPage/EditPage";
+import { clearAuthToken, getMessageFromFetchError, useUserAccountFetcher, useUserFetcher } from "@frontend/kitui";
+import { clearUserData, setUser, setUserAccount, useUserStore } from "@root/user";
+import { enqueueSnackbar } from "notistack";
+import PrivateRoute from "@ui_kit/PrivateRoute";
+
+import { Restore } from "./pages/startPage/Restore";
+
+dayjs.locale("ru");
+
+const routeslink = [
+ { path: "/list", page: , header: false, sidebar: false },
+ { path: "/questions/:quizId", page: , header: true, sidebar: true },
+ { path: "/contacts", page: , header: true, sidebar: true },
+ { path: "/result", page: , header: true, sidebar: true },
+ { path: "/settings", page: , header: true, sidebar: true },
+] as const;
+
+export default function App() {
+ const userId = useUserStore((state) => state.userId);
+ const location = useLocation();
+ const navigate = useNavigate();
+
+ useUserFetcher({
+ url: `https://hub.pena.digital/user/${userId}`,
+ userId,
+ onNewUser: setUser,
+ onError: (error) => {
+ const errorMessage = getMessageFromFetchError(error);
+ if (errorMessage) {
+ enqueueSnackbar(errorMessage);
+ clearUserData();
+ clearAuthToken();
+ }
+ },
+ });
+
+ useUserAccountFetcher({
+ url: "https://squiz.pena.digital/customer/account",
+ userId,
+ onNewUserAccount: setUserAccount,
+ onError: (error) => {
+ const errorMessage = getMessageFromFetchError(error);
+ if (errorMessage) {
+ enqueueSnackbar(errorMessage);
+ clearUserData();
+ clearAuthToken();
+ navigate("/signin");
+ }
+ },
+ });
+
+ if (location.state?.redirectTo)
+ return ;
+
+ return (
+ <>
+
+ {location.state?.backgroundLocation && (
+
+ } />
+ } />
+ } />
+
+ )}
+
+ } />
+ } />
+ } />
+ } />
+ }>
+ {routeslink.map((e, i) => (
+ } />
+ ))}
+
+ } />
+ } />
+ } />
+
+
+ >
+ );
+}
diff --git a/yarn.lock b/yarn.lock
index 5c6fbdc9..8a861543 100755
--- a/yarn.lock
+++ b/yarn.lock
@@ -8313,6 +8313,11 @@ prelude-ls@~1.1.2:
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
+prettier@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848"
+ integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==
+
pretty-bytes@^5.3.0, pretty-bytes@^5.4.1, pretty-bytes@^5.6.0:
version "5.6.0"
resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz"