diff --git a/src/App.js b/src/App.js
index 95001782..6f37f300 100644
--- a/src/App.js
+++ b/src/App.js
@@ -12,6 +12,7 @@ import Footer from './Components/Footer.js'
import Public from './Pages/Public.js'
import Home from './Pages/Home.js'
import Settings from './Pages/Settings.js'
+import Template from './Pages/Template.js'
import Navbar from './Components/Navbar.js'
export default function App() {
@@ -42,6 +43,9 @@ export default function App() {
+
+
+
diff --git a/src/Components/Navbar.js b/src/Components/Navbar.js
index 77ab850e..349052bb 100644
--- a/src/Components/Navbar.js
+++ b/src/Components/Navbar.js
@@ -27,6 +27,7 @@ const Navbar = ({ setIsSubmit, forceUpdate}) => {
{/* for some reason just using react router's link elements doesn't work here, maybe look into that */}
history.push('/pk-webs/dash')} >Dash
history.push('/pk-webs/settings')} >Settings
+ history.push('/pk-webs/template')}>Templates
history.push('/pk-webs/profile')}>Public profile
{ localStorage.getItem('token') ? <>
logOut()}>Log out> : "" }
diff --git a/src/Components/Private/MemberCard.js b/src/Components/Private/MemberCard.js
index dad641c2..e44762e2 100644
--- a/src/Components/Private/MemberCard.js
+++ b/src/Components/Private/MemberCard.js
@@ -47,7 +47,8 @@ export default function MemberCard(props) {
const {
register: registerEdit,
- handleSubmit: handleSubmitEdit
+ handleSubmit: handleSubmitEdit,
+ setValue
} = useForm();
const {
@@ -259,7 +260,8 @@ export default function MemberCard(props) {
- Description:
+ Description:
+ { localStorage.getItem('template1') ? setValue('description', localStorage.getItem('template1'))}>Template 1 : ""} { localStorage.getItem('template2') ? setValue('description', localStorage.getItem('template2'))}>Template 2 : ""} { localStorage.getItem('template3') ? setValue('description', localStorage.getItem('template3'))}>Template 3 : ""}
setEditMode(false)}>Cancel Submit setOpen(o => !o)}>Delete
diff --git a/src/Components/Private/Memberlist.js b/src/Components/Private/Memberlist.js
index 91c8eb34..83a26696 100644
--- a/src/Components/Private/Memberlist.js
+++ b/src/Components/Private/Memberlist.js
@@ -43,7 +43,7 @@ export default function Memberlist() {
prefix: "", suffix: ""
}]);
- const {register, handleSubmit} = useForm();
+ const {register, handleSubmit, setValue: setTemplate} = useForm();
const fetchMembers = useCallback( () => {
setIsLoading(true);
@@ -401,7 +401,8 @@ export default function Memberlist() {
> : "" }
- Description:
+ Description:
+ { localStorage.getItem('template1') ? setTemplate('description', localStorage.getItem('template1'))}>Template 1 : ""} { localStorage.getItem('template2') ? setTemplate('description', localStorage.getItem('template2'))}>Template 2 : ""} { localStorage.getItem('template3') ? setTemplate('description', localStorage.getItem('template3'))}>Template 3 : ""}
Submit Cancel
diff --git a/src/Pages/Template.js b/src/Pages/Template.js
new file mode 100644
index 00000000..2c108d67
--- /dev/null
+++ b/src/Pages/Template.js
@@ -0,0 +1,68 @@
+import { useEffect, useState } from 'react';
+import * as BS from 'react-bootstrap';
+import { FaFileAlt } from 'react-icons/fa';
+import { useForm } from 'react-hook-form';
+import autosize from 'autosize';
+
+const Template = () => {
+ const [isSubmit, setIsSubmit] = useState(false);
+
+ const { register, handleSubmit } = useForm();
+
+ var template1 = "";
+ var template2 = "";
+ var template3 = "";
+ if (localStorage.getItem('template1') !== null) template1 = localStorage.getItem('template1');
+ if (localStorage.getItem('template2') !== null) template2 = localStorage.getItem('template2');
+ if (localStorage.getItem('template3') !== null) template3 = localStorage.getItem('template3');
+
+ const onSubmit = data => {
+ localStorage.setItem('template1', data.template1);
+ localStorage.setItem('template2', data.template2);
+ localStorage.setItem('template3', data.template3);
+ setIsSubmit(true);
+ };
+
+ useEffect(() => {
+ autosize(document.querySelectorAll('textarea'));
+ });
+
+ return (
+ <>
+
+
+
+
+ Templates
+
+
+
+ Templates allow you to quickly set up a member description with a specific layout. Put in the template in one of the below fields, and access it whenever you create or edit a member. You can set up to 3 templates.
+ Note: just like the settings, these templates are saved in your localstorage, which means you will have to set them again on every different device/browser you use. If you clear your local storage, the templates will also be cleared!
+
+
+
+
+
+
+
+ Template 1.
+
+
+
+ Template 2.
+
+
+
+ Template 3.
+
+
+ Submit { isSubmit? Templates saved!
: ""}
+
+
+
+ >
+ );
+}
+
+export default Template;
\ No newline at end of file