mail page imap connection mime 5 bis rest 16 login page 28

This commit is contained in:
alma 2025-04-16 10:27:33 +02:00
parent a7d06570d6
commit c4355749ce

View File

@ -39,26 +39,23 @@ export function Email() {
try {
const response = await fetch('/api/mail');
const data = await response.json();
const rawData = await response.json();
console.log('Raw API response:', data); // Debug log
console.log('Raw API response:', rawData);
if (!response.ok) {
if (response.status === 401) {
signIn();
return;
}
throw new Error(data.error || 'Failed to fetch emails');
throw new Error(rawData.error || 'Failed to fetch emails');
}
// Make sure we're accessing the emails array from the response
if (!Array.isArray(data.emails)) {
console.error('Expected emails array in response, got:', data);
throw new Error('Invalid response format: emails array not found');
}
// Handle both array and object responses
const emailsArray = Array.isArray(rawData) ? rawData : (rawData.emails || []);
// Transform the emails array into the expected format
const transformedEmails = data.emails.map((email: any) => ({
const transformedEmails = emailsArray.map((email: any) => ({
id: String(email.id),
subject: email.subject || '(No subject)',
sender: {
@ -69,10 +66,10 @@ export function Email() {
isUnread: !email.read
}));
console.log('Transformed emails:', transformedEmails); // Debug log
console.log('Transformed emails:', transformedEmails);
setEmails(transformedEmails);
setMailUrl(data.mailUrl);
setMailUrl(rawData.mailUrl || 'https://espace.slm-lab.net/apps/mail/'); // Fallback URL
setError(null);
} catch (err) {
console.error('Error fetching emails:', err);