From fb7c0a1206587d9ee6e78f0d14339b75b71db53e Mon Sep 17 00:00:00 2001
From: Jimpulse48 <107091480+Jimpulse48@users.noreply.github.com>
Date: Wed, 17 May 2023 21:26:17 -0500
Subject: [PATCH 1/5] updated styles
---
client/src/containers/MainContainer/MainContainer.jsx | 1 +
client/src/containers/Sidebar/Sidebar.module.scss | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/client/src/containers/MainContainer/MainContainer.jsx b/client/src/containers/MainContainer/MainContainer.jsx
index f450085..fd3ac20 100644
--- a/client/src/containers/MainContainer/MainContainer.jsx
+++ b/client/src/containers/MainContainer/MainContainer.jsx
@@ -59,6 +59,7 @@ const MainContainer = () => {
.then((result) => {
console.log('result from signup request: ', result);
setHaveAccount(true);
+ setLogin(true);
})
.catch((err) => {
console.log(err);
diff --git a/client/src/containers/Sidebar/Sidebar.module.scss b/client/src/containers/Sidebar/Sidebar.module.scss
index cbca283..059e597 100644
--- a/client/src/containers/Sidebar/Sidebar.module.scss
+++ b/client/src/containers/Sidebar/Sidebar.module.scss
@@ -33,7 +33,7 @@
width: 300px;
height: inherit;
position: absolute;
- left: -300px;
+ left: -250px;
top: 0;
transition: 200ms ease-in;
From 4a60f3ed35edd055cd1862995a28059b6d06b088 Mon Sep 17 00:00:00 2001
From: Jimpulse48 <107091480+Jimpulse48@users.noreply.github.com>
Date: Thu, 18 May 2023 13:01:51 -0500
Subject: [PATCH 2/5] greet user, logout button, sidebar position
---
.../MainContainer/MainContainer.jsx | 26 ++++++++++++-----
.../MainContainer/MainContainer.module.scss | 28 +++++++++++++++++++
.../containers/Sidebar/Sidebar.module.scss | 2 +-
server/routes/authenticationRouter.js | 8 +++---
4 files changed, 52 insertions(+), 12 deletions(-)
diff --git a/client/src/containers/MainContainer/MainContainer.jsx b/client/src/containers/MainContainer/MainContainer.jsx
index 0029963..5e50f20 100644
--- a/client/src/containers/MainContainer/MainContainer.jsx
+++ b/client/src/containers/MainContainer/MainContainer.jsx
@@ -18,19 +18,19 @@ const MainContainer = () => {
fetch('http://localhost:3000/authentication/login', {
method: 'POST',
headers: {
- 'Content-Type': 'application/json'
+ 'Content-Type': 'application/json',
},
// include cookies from cross origin request
credentials: 'include',
body: JSON.stringify({
username: usernameInputValue,
- password: passwordInputValue
- })
+ password: passwordInputValue,
+ }),
})
.then((result) => result.json())
.then((result) => {
console.log('result from login request: ', result);
- setLogin(true);
+ setLogin(result.username);
})
.catch((err) => {
console.log(err);
@@ -53,12 +53,12 @@ const MainContainer = () => {
fetch('http://localhost:3000/authentication/signup', {
method: 'POST',
headers: {
- 'Content-Type': 'application/json'
+ 'Content-Type': 'application/json',
},
body: JSON.stringify({
username: nameValue,
- password: passwordValue
- })
+ password: passwordValue,
+ }),
})
.then((result) => result.json())
.then((result) => {
@@ -72,6 +72,18 @@ const MainContainer = () => {
return login ? (
+
+
+
+ welcome, {login}
+
+
) : haveAccount ? (
diff --git a/client/src/containers/MainContainer/MainContainer.module.scss b/client/src/containers/MainContainer/MainContainer.module.scss
index 3028ec1..7ce2c77 100644
--- a/client/src/containers/MainContainer/MainContainer.module.scss
+++ b/client/src/containers/MainContainer/MainContainer.module.scss
@@ -4,3 +4,31 @@
display: flex;
}
+
+.div {
+ position: absolute;
+ top: 1rem;
+ right: 3rem;
+}
+
+.button {
+ margin-right: 1rem;
+ border: 1px solid transparent;
+ border-radius: 5px;
+}
+
+.h2 {
+ display: inline-block;
+ background: -webkit-linear-gradient(#ffffff, #333);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
+
+.span {
+ font-family: 'Courier New', Courier, monospace;
+ font-size: 48px;
+ text-transform: uppercase;
+ background: -webkit-linear-gradient(#ffffff, #e2b2b2);
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+}
diff --git a/client/src/containers/Sidebar/Sidebar.module.scss b/client/src/containers/Sidebar/Sidebar.module.scss
index f29bab6..d0c1f22 100644
--- a/client/src/containers/Sidebar/Sidebar.module.scss
+++ b/client/src/containers/Sidebar/Sidebar.module.scss
@@ -38,7 +38,7 @@
width: 300px;
height: inherit;
position: absolute;
- left: -300px;
+ left: -250px;
top: 0;
transition: 200ms ease-in;
diff --git a/server/routes/authenticationRouter.js b/server/routes/authenticationRouter.js
index be5249b..d984f58 100644
--- a/server/routes/authenticationRouter.js
+++ b/server/routes/authenticationRouter.js
@@ -18,17 +18,17 @@ router.post(
(req, res) => {
console.log(req.user);
const token = jwt.sign({ userId: req.user.id }, secret, {
- expiresIn: '1d'
+ expiresIn: '1d',
});
res.cookie('token', token, {
expires: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000), // Expires in 30 days
- httpOnly: true
+ httpOnly: true,
});
res.cookie('userId', req.user.id, {
expires: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000), // Expires in 30 days
- httpOnly: true
+ httpOnly: true,
});
- return res.status(202).json({ token });
+ return res.status(202).json({ username: req.user.username });
}
);
From 5b122e61587d1013ea4e7d06ec917b7aac39610d Mon Sep 17 00:00:00 2001
From: Jimpulse48 <107091480+Jimpulse48@users.noreply.github.com>
Date: Thu, 18 May 2023 13:09:19 -0500
Subject: [PATCH 3/5] auto login after sign up
---
client/src/containers/MainContainer/MainContainer.jsx | 2 +-
server/routes/authenticationRouter.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/client/src/containers/MainContainer/MainContainer.jsx b/client/src/containers/MainContainer/MainContainer.jsx
index 8b6dc2b..948e2fb 100644
--- a/client/src/containers/MainContainer/MainContainer.jsx
+++ b/client/src/containers/MainContainer/MainContainer.jsx
@@ -64,7 +64,7 @@ const MainContainer = () => {
.then((result) => {
console.log('result from signup request: ', result);
setHaveAccount(true);
- setLogin(true);
+ setLogin(result.username);
})
.catch((err) => {
console.log(err);
diff --git a/server/routes/authenticationRouter.js b/server/routes/authenticationRouter.js
index d984f58..60ead2a 100644
--- a/server/routes/authenticationRouter.js
+++ b/server/routes/authenticationRouter.js
@@ -9,7 +9,7 @@ require('dotenv').config();
const secret = process.env.JWT_SECRET;
router.post('/signup', authenticationController.signUp, (req, res) => {
- return res.status(201).json(res.locals.newUser);
+ return res.status(201).json({ username: res.locals.newUser.username });
});
router.post(
From 1fc6c31818f33cf4e303af14da48d3c73c40707e Mon Sep 17 00:00:00 2001
From: Jimpulse48 <107091480+Jimpulse48@users.noreply.github.com>
Date: Thu, 18 May 2023 13:21:01 -0500
Subject: [PATCH 4/5] added feedback for copy
---
.../SnippetDisplay/SnippetDisplay.jsx | 92 ++++++++++---------
1 file changed, 47 insertions(+), 45 deletions(-)
diff --git a/client/src/components/SnippetDisplay/SnippetDisplay.jsx b/client/src/components/SnippetDisplay/SnippetDisplay.jsx
index 85d5f40..c15fc78 100644
--- a/client/src/components/SnippetDisplay/SnippetDisplay.jsx
+++ b/client/src/components/SnippetDisplay/SnippetDisplay.jsx
@@ -12,6 +12,7 @@ import { langs } from '@uiw/codemirror-extensions-langs';
// importing utils
import { Card, Button } from 'react-bootstrap';
+import { set } from 'mongoose';
const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
const defaultDisplayValues = {
@@ -19,7 +20,7 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
language: '',
comments: '',
storedCode: '',
- tags: []
+ tags: [],
};
const [copied, setCopied] = useState(false);
@@ -30,9 +31,16 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
setCurrentDisplay(selectedSnippet);
}, [selectedSnippet, getSnippet]);
+ const handleCopy = () => {
+ setCopied(true);
+ setTimeout(() => {
+ setCopied(false);
+ }, 2000);
+ };
+
const deleteSnippet = (snippetId) => {
fetch('/snippets?' + new URLSearchParams({ snippetId }), {
- method: 'DELETE'
+ method: 'DELETE',
})
.then((response) => {
if (response.ok) {
@@ -44,7 +52,7 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
return {
log: `SnippetDisiplay.deleteSnippet: Error: ${err}`,
status: err.status,
- message: 'There was an error deleting snippet.'
+ message: 'There was an error deleting snippet.',
};
});
};
@@ -53,7 +61,7 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
fetch(`/snippets?${new URLSearchParams({ snippetId })}`, {
method: 'PUT',
headers: { 'Content-type': 'application/json' },
- body: JSON.stringify(currentDisplay)
+ body: JSON.stringify(currentDisplay),
})
.then((response) => {
//Are we using this response anywhere? IF not, delete this.
@@ -68,66 +76,63 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
return {
log: `SnippetDisplay.editSnippet: Error: ${err}`,
status: err.status,
- message: 'There was an error editing code snippet.'
+ message: 'There was an error editing code snippet.',
};
});
};
const displayContent = (
-
+
-
-
Title:
+
+ Title:
{
if (editButtonState) {
setCurrentDisplay({
...currentDisplay,
- title: e.target.value
+ title: e.target.value,
});
}
- }}
- >
+ }}>
-
-
Language:
+
+ Language:
{
if (editButtonState) {
setCurrentDisplay({
...currentDisplay,
- language: e.target.value
+ language: e.target.value,
});
}
- }}
- >
+ }}>
-
-
Comments:
+
+ Comments:
{
if (editButtonState) {
setCurrentDisplay({
...currentDisplay,
- comments: e.target.value
+ comments: e.target.value,
});
}
- }}
- >
+ }}>
{
if (editButtonState) {
setCurrentDisplay({ ...currentDisplay, tags: e });
@@ -141,59 +146,56 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
{\n console.log(\'Hello World!)\n}'}
onChange={(e) => {
setCurrentDisplay({ ...currentDisplay, storedCode: e });
- }}
- >
- setCopied(true)}
- >
-
+ }}>
+
+
+ {copied && copied to clipboard!}
);
return (
-
+
{displayContent}
@@ -204,6 +206,6 @@ const SnippetDisplay = ({ selectedSnippet, getSnippet }) => {
SnippetDisplay.propTypes = {
selectedSnippet: PropTypes.object,
- getSnippet: PropTypes.func
+ getSnippet: PropTypes.func,
};
export default SnippetDisplay;
From 8fcbc2b5a75a09cbc951d5ddfdcfdef166b4d4b2 Mon Sep 17 00:00:00 2001
From: Jimpulse48 <107091480+Jimpulse48@users.noreply.github.com>
Date: Thu, 18 May 2023 14:24:23 -0500
Subject: [PATCH 5/5] responds to incorrect un or pw
---
client/src/components/userStart/Login.jsx | 51 +++++++++++++------
.../components/userStart/Login.module.scss | 8 +++
.../MainContainer/MainContainer.jsx | 9 +++-
.../MainContainer/MainContainer.module.scss | 1 +
4 files changed, 52 insertions(+), 17 deletions(-)
create mode 100644 client/src/components/userStart/Login.module.scss
diff --git a/client/src/components/userStart/Login.jsx b/client/src/components/userStart/Login.jsx
index 19449f6..30d9b2e 100644
--- a/client/src/components/userStart/Login.jsx
+++ b/client/src/components/userStart/Login.jsx
@@ -1,29 +1,48 @@
-import React, {useState} from 'react';
-
-
+import React, { useState } from 'react';
+import styles from './Login.module.scss';
// eslint-disable-next-line react/prop-types
-const Login = ({handleLogin, handleHaveAccount}) => {
-
-
-
+const Login = ({ handleLogin, handleHaveAccount, style, error }) => {
return (
) : haveAccount ? (
-
+
) : (
diff --git a/client/src/containers/MainContainer/MainContainer.module.scss b/client/src/containers/MainContainer/MainContainer.module.scss
index 7ce2c77..27f568c 100644
--- a/client/src/containers/MainContainer/MainContainer.module.scss
+++ b/client/src/containers/MainContainer/MainContainer.module.scss
@@ -32,3 +32,4 @@
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
+