diff --git a/package-lock.json b/package-lock.json
index 525f267..d2b7920 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
"formik": "^2.2.9",
"gh-pages": "^4.0.0",
"javascript-time-ago": "^2.5.6",
+ "nvm": "^0.0.4",
"react": "^18.2.0",
"react-gravatar": "^2.6.3",
"react-markdown": "^8.0.3",
@@ -12819,6 +12820,15 @@
"url": "https://github.com/fb55/nth-check?sponsor=1"
}
},
+ "node_modules/nvm": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/nvm/-/nvm-0.0.4.tgz",
+ "integrity": "sha512-jvmyELykYcdyd0VCGY0E8Aqe5MngEasVvlPvrcJHbwBMUbVqa72mPdQuPzyTcykEtEx7jDrMY0QA5MoV+8EhgA==",
+ "deprecated": "This is NOT the correct nvm. Visit https://nvm.sh and use the curl command to install it.",
+ "bin": {
+ "nvm": "bin/nvm"
+ }
+ },
"node_modules/nwsapi": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz",
@@ -27419,6 +27429,11 @@
"boolbase": "^1.0.0"
}
},
+ "nvm": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/nvm/-/nvm-0.0.4.tgz",
+ "integrity": "sha512-jvmyELykYcdyd0VCGY0E8Aqe5MngEasVvlPvrcJHbwBMUbVqa72mPdQuPzyTcykEtEx7jDrMY0QA5MoV+8EhgA=="
+ },
"nwsapi": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.1.tgz",
diff --git a/package.json b/package.json
index 1bcdab1..5d491bb 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"formik": "^2.2.9",
"gh-pages": "^4.0.0",
"javascript-time-ago": "^2.5.6",
+ "nvm": "^0.0.4",
"react": "^18.2.0",
"react-gravatar": "^2.6.3",
"react-markdown": "^8.0.3",
diff --git a/src/App.jsx b/src/App.jsx
index 3a8ce4a..79582d0 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,5 +1,5 @@
import { BrowserRouter, Route, Routes } from 'react-router-dom';
-import { UserProvider, QuestionProvider } from 'contexts';
+import { UserProvider, QuestionProvider, FormProvider } from './contexts';
import {
Ask,
Buffet,
@@ -14,42 +14,48 @@ import {
Register,
Reset,
Search,
-} from 'containers';
+} from './containers';
export default function App() {
return (
-
- }>
- } />
+
+
+ }>
+ } />
-
- } />
- } />
-
- } />
- } />
+
+ } />
+ } />
+
+ } />
+ } />
+
+
+ } />
+
+
+ } />
+ } />
+
+
+ } />
+
+
+ {/* */}
+ } />
+ {/* */}
+
+
+ } />
+
+
+ } />
-
- } />
-
-
- } />
- } />
- } />
- {/* */}
- } />
- {/* */}
-
-
- } />
-
-
- } />
-
-
+
+
);
diff --git a/src/components/MdPreview.jsx b/src/components/MdPreview.jsx
new file mode 100644
index 0000000..ede7da5
--- /dev/null
+++ b/src/components/MdPreview.jsx
@@ -0,0 +1,27 @@
+import { useForm } from "contexts"
+import { useState } from "react"
+import ReactMarkdown from "react-markdown"
+import {Paper, Typography, Button} from '@mui/material'
+export default function MdPreview(){
+ const [preview, setPreview] = useState(false)
+ const {content} = useForm()
+
+ function handleClick(){
+ setPreview(!preview)
+ }
+ return(
+
+
+
+ {preview ?
Text Preview: : null}
+
+ )
+
+}
\ No newline at end of file
diff --git a/src/components/index.js b/src/components/index.js
index eca1a78..72153d0 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -6,6 +6,7 @@ import Navbar from './Navbar';
import PaginationEngine from './PaginationEngine';
import PaginatedList from './PaginatedList';
import SearchBar from './SearchBar';
+import MdPreview from './MdPreview';
export {
CreationInfoTag,
@@ -16,4 +17,5 @@ export {
PaginationEngine,
PaginatedList,
SearchBar,
+ MdPreview
};
diff --git a/src/containers/Ask.jsx b/src/containers/Ask.jsx
index 52f50d5..d39d679 100644
--- a/src/containers/Ask.jsx
+++ b/src/containers/Ask.jsx
@@ -1,17 +1,14 @@
-<<<<<<< HEAD
import { Card, CardContent, Paper, Typography } from '@mui/material';
-import { AskForm } from '../controllers';
+import { AskForm } from '../controllers/FormControllers';
import ReactMarkdown from 'react-markdown';
-import { useForm } from '../contexts/FormContext';
+import { useForm } from '../contexts';
+import {MdPreview} from 'components'
-=======
-import { Card, CardContent } from '@mui/material';
-import { AskForm } from 'controllers/FormControllers';
->>>>>>> fb8023fcd79e9e1390e47f3ea4f22a605274b5a4
export default function Ask() {
+
const {content} = useForm()
@@ -28,13 +25,12 @@ export default function Ask() {
+
+
-
-
- Text Preview:
-
-
+
+
diff --git a/src/containers/Login.jsx b/src/containers/Login.jsx
index 2f2f85f..de7c640 100644
--- a/src/containers/Login.jsx
+++ b/src/containers/Login.jsx
@@ -1,6 +1,6 @@
import { Link, useLocation } from 'react-router-dom';
import { Card, CardContent, Grid, Typography, Alert } from '@mui/material';
-import { LoginForm } from '../controllers';
+import { LoginForm } from '../controllers/FormControllers';
export default function Login() {
let location = useLocation();
diff --git a/src/containers/Mail.jsx b/src/containers/Mail.jsx
index e150225..38c7fb6 100644
--- a/src/containers/Mail.jsx
+++ b/src/containers/Mail.jsx
@@ -1,12 +1,16 @@
import { Card, CardContent } from '@mui/material';
import React from 'react';
import { Inbox, SendMail } from 'controllers';
+import ReactMarkdown from 'react-markdown';
+import { useForm } from 'contexts';
+import { MdPreview } from 'components';
export default function Mail() {
return (
+
diff --git a/src/contexts/ContextProvider.jsx b/src/contexts/ContextProvider.jsx
index 9f677c2..efe8ccb 100644
--- a/src/contexts/ContextProvider.jsx
+++ b/src/contexts/ContextProvider.jsx
@@ -1,22 +1,11 @@
-<<<<<<< HEAD
-import { QuestionProvider, UserProvider, FormProvider} from '.';
-
-=======
-import { UserProvider } from 'contexts';
->>>>>>> fb8023fcd79e9e1390e47f3ea4f22a605274b5a4
+import { UserProvider, FormProvider } from '.';
export default function ContextProvider({ children }) {
return (
-<<<<<<< HEAD
-
-
- {children}
-
-
-=======
- {children}
->>>>>>> fb8023fcd79e9e1390e47f3ea4f22a605274b5a4
+
+ {children}
+
);
}
diff --git a/src/controllers/SendMailController.jsx b/src/controllers/SendMailController.jsx
index 25a7bfd..e8db5f0 100644
--- a/src/controllers/SendMailController.jsx
+++ b/src/controllers/SendMailController.jsx
@@ -3,10 +3,26 @@ import { Form } from 'controllers/FormControllers';
import { composeMailFields } from 'services/fields';
import { postMail } from 'services/mailServices';
import { mailSchema } from 'services/schemas';
-
+import { useEffect } from 'react';
+import { useNavigate } from 'react-router-dom';
export default function SendMailController() {
+
const { userData } = useUser();
+ const navigate = useNavigate();
+ useEffect(() => {
+ if(checkAuth()){
+ navigate('/users/login', {state: {name : 'ask', msg : 'you need to be authenticated to access this feature' , prevPath: '/ask'}})
+ }
+ }, []);
+
+ function checkAuth(){
+
+ if(!userData.username){
+ return true;
+ }
+ }
+
const sendMail = ({ reciever, subject, text }) =>
postMail(userData.username, reciever, subject, text);