Rip apart client, build a wrapper.

The goal here is to be able to augment the client with additional data
as we get it. At this point I'm now augmenting with the mailbox data
that the MailboxList is requesting and showing that.

That's progress.

There may be significant issues with making multiple requests in a
single round-trip because my client library appears to do things like
hard-coding the position of specific requests. I may have to work around
this.
This commit is contained in:
Eli Ribble 2024-08-27 22:49:48 -07:00
parent c17e8b9ad0
commit bab5d421d4
7 changed files with 195 additions and 141 deletions

View file

@ -6,58 +6,54 @@ import React, { useState } from "react";
type AuthProps = {
onLogin: (email: string, password: string) => void;
show: boolean;
};
const AuthModal: React.FC<AuthProps> = ({ onLogin }) => {
const AuthModal: React.FC<AuthProps> = ({ onLogin, show }) => {
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
return (
<div
className="modal show"
style={{ display: "block", position: "initial" }}
>
<Modal.Dialog>
<Modal.Header closeButton>
<Modal.Title>Modal title</Modal.Title>
</Modal.Header>
<Modal show={show}>
<Modal.Header closeButton>
<Modal.Title>Modal title</Modal.Title>
</Modal.Header>
<Modal.Body>
<Form
onSubmit={(e) => {
e.preventDefault();
onLogin(email, password);
}}
>
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Label>Email address</Form.Label>
<Form.Control
type="email"
placeholder="Enter email"
onChange={(e) => setEmail(e.target.value)}
/>
<Form.Text className="text-muted">
We'll never share your email with anyone else.
</Form.Text>
</Form.Group>
<Modal.Body>
<Form
onSubmit={(e) => {
e.preventDefault();
onLogin(email, password);
}}
>
<Form.Group className="mb-3" controlId="formBasicEmail">
<Form.Label>Email address</Form.Label>
<Form.Control
type="email"
placeholder="Enter email"
onChange={(e) => setEmail(e.target.value)}
/>
<Form.Text className="text-muted">
We'll never share your email with anyone else.
</Form.Text>
</Form.Group>
<Form.Group className="mb-3" controlId="formBasicPassword">
<Form.Label>Password</Form.Label>
<Form.Control
type="password"
placeholder="Password"
onChange={(e) => setPassword(e.target.value)}
/>
</Form.Group>
<Button variant="primary" type="submit">
Login
</Button>
</Form>
</Modal.Body>
<Form.Group className="mb-3" controlId="formBasicPassword">
<Form.Label>Password</Form.Label>
<Form.Control
type="password"
placeholder="Password"
onChange={(e) => setPassword(e.target.value)}
/>
</Form.Group>
<Button variant="primary" type="submit">
Login
</Button>
</Form>
</Modal.Body>
<Modal.Footer></Modal.Footer>
</Modal.Dialog>
</div>
<Modal.Footer></Modal.Footer>
</Modal>
);
};
export default AuthModal;