import { Project } from '../../entities/Project'; import { FolderIcon, CalendarIcon, InboxIcon, ArrowRightIcon, ClockIcon, MoonIcon, CheckCircleIcon, Bars4Icon, } from '@heroicons/react/24/outline'; export const getTitleAndIcon = ( query: URLSearchParams, projects: Project[], t: (key: string, options?: any) => string ) => { try { // Default titles as fallbacks in case translation function fails const defaultTitles = { project: 'Project', today: 'Today', inbox: 'Inbox', next: 'Next Actions', upcoming: 'Upcoming', someday: 'Someday', completed: 'Completed', allTasks: 'All Tasks', }; const projectId = query.get('project_id'); if (projectId) { const project = projects.find( (p) => p.id?.toString() === projectId ); return { title: project ? project.name : t('sidebar.projects'), icon: FolderIcon, }; } try { if (query.get('type') === 'today') { return { title: t('tasks.today'), icon: CalendarIcon }; } if (query.get('type') === 'inbox') { return { title: t('sidebar.inbox'), icon: InboxIcon }; } if (query.get('type') === 'next') { return { title: t('sidebar.nextActions'), icon: ArrowRightIcon, }; } if (query.get('type') === 'upcoming') { return { title: t('sidebar.upcoming'), icon: ClockIcon }; } if (query.get('type') === 'someday') { return { title: t('taskViews.someday') || defaultTitles.someday, icon: MoonIcon, }; } if (query.get('status') === 'done') { return { title: t('sidebar.completed'), icon: CheckCircleIcon }; } return { title: t('sidebar.allTasks'), icon: Bars4Icon }; } catch (e) { console.error('Translation error for task view title:', e); // Return appropriate fallback based on type or status if (query.get('type') === 'today') return { title: defaultTitles.today, icon: CalendarIcon }; if (query.get('type') === 'inbox') return { title: defaultTitles.inbox, icon: InboxIcon }; if (query.get('type') === 'next') return { title: defaultTitles.next, icon: ArrowRightIcon }; if (query.get('type') === 'upcoming') return { title: defaultTitles.upcoming, icon: ClockIcon }; if (query.get('type') === 'someday') return { title: defaultTitles.someday, icon: MoonIcon }; if (query.get('status') === 'done') return { title: defaultTitles.completed, icon: CheckCircleIcon, }; return { title: defaultTitles.allTasks, icon: Bars4Icon }; } } catch (error) { console.error('Error in getTitleAndIcon:', error); return { title: 'Tasks', icon: Bars4Icon }; } };