mail page ui correction maj compose 20 bis 9
This commit is contained in:
parent
ba392749ce
commit
f1befb1515
@ -116,7 +116,7 @@ export async function GET() {
|
|||||||
const allEmails: Email[] = [];
|
const allEmails: Email[] = [];
|
||||||
|
|
||||||
imap.once('ready', () => {
|
imap.once('ready', () => {
|
||||||
// Get all mailboxes
|
// First, get all mailboxes to find the correct folder names
|
||||||
imap.getBoxes((err, boxes) => {
|
imap.getBoxes((err, boxes) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error('Error getting mailboxes:', err);
|
console.error('Error getting mailboxes:', err);
|
||||||
@ -125,11 +125,15 @@ export async function GET() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define folders to check
|
// Log available mailboxes to see their structure
|
||||||
const foldersToCheck = ['INBOX', '[Gmail]/Sent Mail', '[Gmail]/Trash', '[Gmail]/Starred'];
|
console.log('Available mailboxes:', Object.keys(boxes));
|
||||||
|
|
||||||
|
// For Infomaniak, common folder names are:
|
||||||
|
const foldersToCheck = ['INBOX', 'Sent', 'Trash', 'Drafts'];
|
||||||
let foldersProcessed = 0;
|
let foldersProcessed = 0;
|
||||||
|
|
||||||
foldersToCheck.forEach(folderName => {
|
const processFolder = (folderName: string) => {
|
||||||
|
console.log(`Opening folder: ${folderName}`);
|
||||||
imap.openBox(folderName, false, (err, box) => {
|
imap.openBox(folderName, false, (err, box) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.error(`Error opening ${folderName}:`, err);
|
console.error(`Error opening ${folderName}:`, err);
|
||||||
@ -140,6 +144,8 @@ export async function GET() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(`Successfully opened ${folderName}, messages:`, box.messages.total);
|
||||||
|
|
||||||
if (box.messages.total === 0) {
|
if (box.messages.total === 0) {
|
||||||
foldersProcessed++;
|
foldersProcessed++;
|
||||||
if (foldersProcessed === foldersToCheck.length) {
|
if (foldersProcessed === foldersToCheck.length) {
|
||||||
@ -164,7 +170,7 @@ export async function GET() {
|
|||||||
starred: false,
|
starred: false,
|
||||||
body: '',
|
body: '',
|
||||||
to: '',
|
to: '',
|
||||||
folder: folderName // Add folder information
|
folder: folderName
|
||||||
};
|
};
|
||||||
|
|
||||||
msg.on('body', (stream, info) => {
|
msg.on('body', (stream, info) => {
|
||||||
@ -201,12 +207,18 @@ export async function GET() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
f.once('end', () => {
|
f.once('end', () => {
|
||||||
|
console.log(`Finished processing ${folderName}`);
|
||||||
foldersProcessed++;
|
foldersProcessed++;
|
||||||
if (foldersProcessed === foldersToCheck.length) {
|
if (foldersProcessed === foldersToCheck.length) {
|
||||||
finishProcessing();
|
finishProcessing();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
// Process each folder sequentially to avoid IMAP connection issues
|
||||||
|
foldersToCheck.forEach(folder => processFolder(folder));
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function finishProcessing() {
|
function finishProcessing() {
|
||||||
@ -218,8 +230,6 @@ export async function GET() {
|
|||||||
imap.end();
|
imap.end();
|
||||||
resolve(NextResponse.json(response));
|
resolve(NextResponse.json(response));
|
||||||
}
|
}
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
imap.once('error', (err) => {
|
imap.once('error', (err) => {
|
||||||
console.error('IMAP error:', err);
|
console.error('IMAP error:', err);
|
||||||
|
|||||||
@ -484,9 +484,9 @@ export default function MailPage() {
|
|||||||
case 'starred':
|
case 'starred':
|
||||||
return email.starred;
|
return email.starred;
|
||||||
case 'sent':
|
case 'sent':
|
||||||
return email.folder === '[Gmail]/Sent Mail';
|
return email.folder === 'Sent';
|
||||||
case 'trash':
|
case 'trash':
|
||||||
return email.folder === '[Gmail]/Trash';
|
return email.folder === 'Trash';
|
||||||
default:
|
default:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user