From e185d04039d7f52327acec1963a6dd9133ce0e91 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 27 Nov 2022 14:48:15 +1100 Subject: [PATCH] fix login form --- TODO.md | 2 ++ api/src/rpc.ts | 4 ++++ client/src/routes/login.tsx | 35 ++++++++++++++++++----------------- client/src/ws.ts | 2 -- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/TODO.md b/TODO.md index 40006d3..f78ec8c 100644 --- a/TODO.md +++ b/TODO.md @@ -1,5 +1,7 @@ # TODO +contact options on landing page + listing ids overflowing skip unofficial release diff --git a/api/src/rpc.ts b/api/src/rpc.ts index 5e62291..b1bb7c1 100644 --- a/api/src/rpc.ts +++ b/api/src/rpc.ts @@ -113,6 +113,10 @@ export default function createRpc(log: Log, pg: Pg, user: User, ws, discogs, off const userMsg: UserMessage = [RpcMessageType.User, user]; send(userMsg); + const userOffers = await offers.userOffers(user); + const offersMsg: OffersMessage = [RpcMessageType.Offers, userOffers]; + send(offersMsg); + const wants = await pg.userWants(user); const wantsMsg: WantsMessage = [RpcMessageType.Wants, wants]; send(wantsMsg); diff --git a/client/src/routes/login.tsx b/client/src/routes/login.tsx index 0dca412..f46cc93 100644 --- a/client/src/routes/login.tsx +++ b/client/src/routes/login.tsx @@ -12,12 +12,9 @@ const Login = ({ mode }) => { const user = useSelector((state: State) => state.user); const ws = useSelector((state: State) => state.ws); - const [email, setEmail] = useState('') - const [password, setPassword] = useState(''); - const [confirmPassword, setConfirmPassword] = useState(''); const [error, setError] = useState(''); - async function postLogin() { + async function postLogin(email, password) { const [error, user] = await http.postLogin(email, password); if (error) return setError(error); route('/'); @@ -26,7 +23,9 @@ const Login = ({ mode }) => { ws.connect(); } - async function postRegister() { + async function postRegister(email, password, confirm) { + if (password !== confirm) return setError('passwords do not match'); + const [error, user] = await http.postRegister(email, password); if (error) return setError(error); route('/search'); @@ -35,8 +34,10 @@ const Login = ({ mode }) => { function handleSubmit(e) { e.preventDefault(); - if (mode === 'login') return postLogin() - if (mode === 'register') return postRegister(); + + console.log(e.target.email, e.target.password, e.target.confirm); + if (mode === 'login') return postLogin(e.target.email.value, e.target.password.value); + if (mode === 'register') return postRegister(e.target.email.value, e.target.password.value, e.target.confirm.value); } const emailRef = useRef() @@ -52,21 +53,21 @@ const Login = ({ mode }) => { if (mode === 'register') return ( @@ -76,17 +77,17 @@ const Login = ({ mode }) => { return ( @@ -101,7 +102,7 @@ function LoginPage({ mode }) {

Mates Crates is a record importing service.

We bundle orders together from thousands of online stores to reduce the cost of shipping vinyl.

-

Based in Preston.

+

Records can then be picked up from Preston.

) diff --git a/client/src/ws.ts b/client/src/ws.ts index 69fbe68..acf12e0 100644 --- a/client/src/ws.ts +++ b/client/src/ws.ts @@ -112,8 +112,6 @@ export default function createSocket(dispatch) { console.log('websocket connected', SOCKET_URL) sendPing(); sendAcpOffers(); - sendOffers(); - sendWants(); } function onError(event) {