1
0
Fork 0

fix: sort emails

user-stream
Paul Makles 2023-09-03 12:25:45 +01:00
parent 64671be091
commit 8246232461
No known key found for this signature in database
GPG Key ID: 5059F398521BB0F6
1 changed files with 26 additions and 9 deletions

View File

@ -31,7 +31,10 @@ import {
TableRow, TableRow,
} from "@/components/ui/table"; } from "@/components/ui/table";
import { toast } from "@/components/ui/use-toast"; import { toast } from "@/components/ui/use-toast";
import { createEmailClassification, fetchEmailClassifications } from "@/lib/actions"; import {
createEmailClassification,
fetchEmailClassifications,
} from "@/lib/actions";
import { EmailClassification } from "@/lib/db"; import { EmailClassification } from "@/lib/db";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
@ -44,7 +47,7 @@ export default function Classifications() {
useEffect(() => { useEffect(() => {
fetchEmailClassifications().then((domains) => { fetchEmailClassifications().then((domains) => {
setDomains(domains); setDomains(domains.sort((a, b) => a._id.localeCompare(b._id)));
setLoaded(true); setLoaded(true);
}); });
}, []); }, []);
@ -69,7 +72,9 @@ export default function Classifications() {
<AlertDialogDescription className="flex flex-row gap-1"> <AlertDialogDescription className="flex flex-row gap-1">
<Input <Input
value={domainDraft} value={domainDraft}
onChange={(e) => setDomainDraft(e.currentTarget.value)} onChange={(e) =>
setDomainDraft(e.currentTarget.value)
}
placeholder="reddit.com" placeholder="reddit.com"
/> />
<Popover <Popover
@ -88,10 +93,13 @@ export default function Classifications() {
<PopoverContent> <PopoverContent>
<Command> <Command>
{CLASSIFICATIONS.map((c) => ( {CLASSIFICATIONS.map((c) => (
<CommandItem key={c} onSelect={() => { <CommandItem
key={c}
onSelect={() => {
setClassificationDraft(c); setClassificationDraft(c);
setClassificationOpen(false); setClassificationOpen(false);
}}> }}
>
{c} {c}
</CommandItem> </CommandItem>
))} ))}
@ -106,8 +114,17 @@ export default function Classifications() {
disabled={!domainDraft || !classificationDraft} disabled={!domainDraft || !classificationDraft}
onClick={async () => { onClick={async () => {
try { try {
await createEmailClassification(domainDraft, classificationDraft); await createEmailClassification(
setDomains([...domains, { _id: domainDraft, classification: classificationDraft }]); domainDraft,
classificationDraft
);
setDomains([
...domains,
{
_id: domainDraft,
classification: classificationDraft,
},
]);
setDomainDraft(""); setDomainDraft("");
setClassificationDraft(""); setClassificationDraft("");
setClassificationOpen(false); setClassificationOpen(false);