drishti/src/MailboxList.tsx

41 lines
895 B
TypeScript
Raw Normal View History

import React from "react";
import Stack from "react-bootstrap/Stack";
import Client from "./client/Client";
import { IAccount } from "./client/types";
import Mailbox from "./Mailbox";
type MailboxListProps = {
account: IAccount | null;
client: Client | null;
};
type MailboxListState = {};
class MailboxList extends React.Component<MailboxListProps, MailboxListState> {
componentDidUpdate() {
if (this.props.account == null) return;
if (this.props.client == null) return;
this.props.client.mailboxList(this.props.account.id, []);
}
render() {
return this.props.account == null ||
this.props.account.mailboxes == null ? (
<Stack />
) : (
<Stack>
{this.props.account.mailboxes.map((m) => (
<Mailbox
accountId={this.props.account!.id}
id={m.id}
key={m.id}
name={m.name}
/>
))}
</Stack>
);
}
}
export default MailboxList;