Split email cache into full content and stubs.

This also introduces status for in-flight requests to avoid perpetual,
unnecessary loops of change-the-re-get-data.
This commit is contained in:
Eli Ribble 2024-08-28 19:25:20 -07:00
parent fb53a7506f
commit 4e1922c5fa
8 changed files with 219 additions and 47 deletions

View file

@ -53,6 +53,7 @@ class App extends React.Component<AppProps, AppState> {
this.setState({
...this.state,
account: this.account(),
email: this.client.email(emailId),
location: {
accountId: accountId,
emailId: emailId,
@ -107,6 +108,7 @@ class App extends React.Component<AppProps, AppState> {
accounts: this.client.state.session
? this.client.state.session.accounts
: {},
email: this.client.email(this.state.location.emailId),
mailbox: this.mailbox(),
});
});
@ -130,6 +132,7 @@ class App extends React.Component<AppProps, AppState> {
accounts={this.state.accounts}
client={this.client}
email={this.state.email}
emailId={this.state.location.emailId}
mailbox={this.state.mailbox}
/>
<AuthModal