feat(reporting): enhance time reports page with new filters and components

- Added new components for filtering by billable status, categories, projects, members, and teams in the time reports overview.
- Implemented a new header component to manage the layout and functionality of the time reports page.
- Refactored existing components to improve organization and maintainability, including the removal of deprecated files.
- Updated localization files to support new UI elements and ensure consistency across languages.
- Adjusted the language selector to reflect the correct language codes for Chinese.
This commit is contained in:
chamikaJ
2025-07-24 11:40:39 +05:30
parent fe3fb5e627
commit 20ce0c9687
44 changed files with 2897 additions and 1294 deletions

View File

@@ -26,5 +26,8 @@
"noDueDate": "Pa datë përfundimi",
"save": "Ruaj",
"clear": "Pastro",
"nextWeek": "Javën e ardhshme"
"nextWeek": "Javën e ardhshme",
"noSubtasks": "Pa nëndetyra",
"showSubtasks": "Shfaq nëndetyrat",
"hideSubtasks": "Fshih nëndetyrat"
}

View File

@@ -38,5 +38,13 @@
"createClient": "Krijo klient",
"searchInputPlaceholder": "Kërko sipas emrit ose emailit",
"hoursPerDayValidationMessage": "Orët në ditë duhet të jenë një numër midis 1 dhe 24",
"noPermission": "Nuk ka leje"
"workingDaysValidationMessage": "Ditët e punës duhet të jenë një numër pozitiv",
"manDaysValidationMessage": "Ditët e punëtorëve duhet të jenë një numër pozitiv",
"noPermission": "Nuk ka leje",
"progressSettings": "Cilësimet e Progresit",
"manualProgress": "Progresi Manual",
"manualProgressTooltip": "Lejo përditësimet manuale të progresit për detyrat pa nëndetyra",
"weightedProgress": "Progresi i Ponderuar",
"weightedProgressTooltip": "Llogarit progresin bazuar në peshat e nëndetyrave",
"timeProgress": "Progresi i Bazuar në Kohë"
}

View File

@@ -0,0 +1,34 @@
{
"recurring": "Përsëritës",
"recurringTaskConfiguration": "Konfigurimi i detyrës përsëritëse",
"repeats": "Përsëritet",
"daily": "Ditore",
"weekly": "Javore",
"everyXDays": "Çdo X ditë",
"everyXWeeks": "Çdo X javë",
"everyXMonths": "Çdo X muaj",
"monthly": "Mujore",
"selectDaysOfWeek": "Zgjidh ditët e javës",
"mon": "Hën",
"tue": "Mar",
"wed": "Mër",
"thu": "Enj",
"fri": "Pre",
"sat": "Sht",
"sun": "Die",
"monthlyRepeatType": "Lloji i përsëritjes mujore",
"onSpecificDate": "Në një datë specifike",
"onSpecificDay": "Në një ditë specifike",
"dateOfMonth": "Data e muajit",
"weekOfMonth": "Java e muajit",
"dayOfWeek": "Dita e javës",
"first": "E para",
"second": "E dyta",
"third": "E treta",
"fourth": "E katërta",
"last": "E fundit",
"intervalDays": "Intervali (ditë)",
"intervalWeeks": "Intervali (javë)",
"intervalMonths": "Intervali (muaj)",
"saveChanges": "Ruaj ndryshimet"
}

View File

@@ -5,6 +5,7 @@
"searchByName": "Kërko sipas emrit",
"selectAll": "Zgjidh të Gjitha",
"clearAll": "Pastro të Gjitha",
"teams": "Ekipet",
"searchByProject": "Kërko sipas emrit të projektit",
@@ -15,6 +16,8 @@
"billable": "Fakturueshme",
"nonBillable": "Jo Fakturueshme",
"allBillableTypes": "Të Gjitha Llojet e Fakturueshme",
"filterByBillableStatus": "Filtro sipas statusit të fakturueshmërisë",
"total": "Total",
@@ -28,6 +31,9 @@
"membersTimeSheet": "Fletë Kohore e Anëtarëve",
"member": "Anëtar",
"members": "Anëtarët",
"searchByMember": "Kërko sipas anëtarit",
"utilization": "Përdorimi",
"estimatedVsActual": "Vlerësuar vs Aktual",
"workingDays": "Ditë Pune",
@@ -40,5 +46,17 @@
"noCategory": "Pa Kategori",
"noProjects": "Nuk u gjetën projekte",
"noTeams": "Nuk u gjetën ekipe",
"noData": "Nuk u gjetën të dhëna"
"noData": "Nuk u gjetën të dhëna",
"groupBy": "Gruppo sipas",
"groupByCategory": "Kategori",
"groupByTeam": "Ekip",
"groupByStatus": "Status",
"groupByNone": "Asnjë",
"clearSearch": "Pastro kërkimin",
"selectedProjects": "Projektet e Zgjedhura",
"projectsSelected": "projekte të zgjedhura",
"showSelected": "Shfaq Vetëm të Zgjedhurat",
"expandAll": "Zgjero të Gjitha",
"collapseAll": "Mbyll të Gjitha",
"ungrouped": "Pa Grupuar"
}

View File

@@ -38,5 +38,13 @@
"createClient": "Kunde erstellen",
"searchInputPlaceholder": "Nach Name oder E-Mail suchen",
"hoursPerDayValidationMessage": "Stunden pro Tag müssen zwischen 1 und 24",
"noPermission": "Keine Berechtigung"
"workingDaysValidationMessage": "Arbeitstage müssen eine positive Zahl sein",
"manDaysValidationMessage": "Personentage müssen eine positive Zahl sein",
"noPermission": "Keine Berechtigung",
"progressSettings": "Fortschrittseinstellungen",
"manualProgress": "Manueller Fortschritt",
"manualProgressTooltip": "Manuelle Fortschrittsaktualisierungen für Aufgaben ohne Unteraufgaben erlauben",
"weightedProgress": "Gewichteter Fortschritt",
"weightedProgressTooltip": "Fortschritt basierend auf Unteraufgaben-Gewichten berechnen",
"timeProgress": "Zeitbasierter Fortschritt"
}

View File

@@ -0,0 +1,34 @@
{
"recurring": "Wiederkehrend",
"recurringTaskConfiguration": "Wiederkehrende Aufgabenkonfiguration",
"repeats": "Wiederholt sich",
"daily": "Täglich",
"weekly": "Wöchentlich",
"everyXDays": "Alle X Tage",
"everyXWeeks": "Alle X Wochen",
"everyXMonths": "Alle X Monate",
"monthly": "Monatlich",
"selectDaysOfWeek": "Wochentage auswählen",
"mon": "Mo",
"tue": "Di",
"wed": "Mi",
"thu": "Do",
"fri": "Fr",
"sat": "Sa",
"sun": "So",
"monthlyRepeatType": "Monatlicher Wiederholungstyp",
"onSpecificDate": "An einem bestimmten Datum",
"onSpecificDay": "An einem bestimmten Tag",
"dateOfMonth": "Datum des Monats",
"weekOfMonth": "Woche des Monats",
"dayOfWeek": "Wochentag",
"first": "Erste",
"second": "Zweite",
"third": "Dritte",
"fourth": "Vierte",
"last": "Letzte",
"intervalDays": "Intervall (Tage)",
"intervalWeeks": "Intervall (Wochen)",
"intervalMonths": "Intervall (Monate)",
"saveChanges": "Änderungen speichern"
}

View File

@@ -5,6 +5,7 @@
"searchByName": "Nach Namen suchen",
"selectAll": "Alle auswählen",
"clearAll": "Alle löschen",
"teams": "Teams",
"searchByProject": "Nach Projektnamen suchen",
@@ -15,6 +16,8 @@
"billable": "Abrechenbar",
"nonBillable": "Nicht abrechenbar",
"allBillableTypes": "Alle Abrechnungsarten",
"filterByBillableStatus": "Nach abrechenbarem Status filtern",
"total": "Gesamt",
@@ -28,6 +31,9 @@
"membersTimeSheet": "Mitglieder-Zeiterfassung",
"member": "Mitglied",
"members": "Mitglieder",
"searchByMember": "Nach Mitglied suchen",
"utilization": "Auslastung",
"estimatedVsActual": "Geschätzt vs. Tatsächlich",
"workingDays": "Arbeitstage",
@@ -40,5 +46,17 @@
"noCategory": "Keine Kategorie",
"noProjects": "Keine Projekte gefunden",
"noTeams": "Keine Teams gefunden",
"noData": "Keine Daten gefunden"
"noData": "Keine Daten gefunden",
"groupBy": "Gruppieren nach",
"groupByCategory": "Kategorie",
"groupByTeam": "Team",
"groupByStatus": "Status",
"groupByNone": "Keine",
"clearSearch": "Suche löschen",
"selectedProjects": "Ausgewählte Projekte",
"projectsSelected": "Projekte ausgewählt",
"showSelected": "Nur Ausgewählte anzeigen",
"expandAll": "Alle erweitern",
"collapseAll": "Alle einklappen",
"ungrouped": "Nicht gruppiert"
}

View File

@@ -5,6 +5,7 @@
"searchByName": "Search by name",
"selectAll": "Select All",
"clearAll": "Clear All",
"teams": "Teams",
"searchByProject": "Search by project name",
@@ -15,6 +16,8 @@
"billable": "Billable",
"nonBillable": "Non Billable",
"allBillableTypes": "All Billable Types",
"filterByBillableStatus": "Filter by billable status",
"total": "Total",
@@ -28,6 +31,9 @@
"membersTimeSheet": "Members Time Sheet",
"member": "Member",
"members": "Members",
"searchByMember": "Search by member",
"utilization": "Utilization",
"estimatedVsActual": "Estimated vs Actual",
"workingDays": "Working Days",

View File

@@ -5,6 +5,7 @@
"searchByName": "Buscar por nombre",
"selectAll": "Seleccionar Todo",
"clearAll": "Limpiar Todo",
"teams": "Equipos",
"searchByProject": "Buscar por nombre del proyecto",
@@ -15,6 +16,8 @@
"billable": "Facturable",
"nonBillable": "No Facturable",
"allBillableTypes": "Todos los Tipos Facturables",
"filterByBillableStatus": "Filtrar por estado facturable",
"total": "Total",
@@ -28,6 +31,9 @@
"membersTimeSheet": "Hoja de Tiempo de Miembros",
"member": "Miembro",
"members": "Miembros",
"searchByMember": "Buscar por miembro",
"utilization": "Utilización",
"estimatedVsActual": "Estimado vs Real",
"workingDays": "Días Laborables",

View File

@@ -5,6 +5,7 @@
"searchByName": "Pesquisar por nome",
"selectAll": "Selecionar Tudo",
"clearAll": "Limpar Tudo",
"teams": "Equipes",
"searchByProject": "Pesquisar por nome do projeto",
@@ -15,6 +16,8 @@
"billable": "Faturável",
"nonBillable": "Não Faturável",
"allBillableTypes": "Todos os Tipos Faturáveis",
"filterByBillableStatus": "Filtrar por status faturável",
"total": "Total",
@@ -28,6 +31,9 @@
"membersTimeSheet": "Folha de Tempo de Membros",
"member": "Membro",
"members": "Membros",
"searchByMember": "Pesquisar por membro",
"utilization": "Utilização",
"estimatedVsActual": "Estimado vs Real",
"workingDays": "Dias Úteis",

View File

@@ -15,5 +15,15 @@
"assignToMe": "分配给我",
"archive": "归档",
"newTaskNamePlaceholder": "写一个任务名称",
"newSubtaskNamePlaceholder": "写一个子任务名称"
"newSubtaskNamePlaceholder": "写一个子任务名称",
"untitledSection": "无标题部分",
"unmapped": "未映射",
"clickToChangeDate": "点击更改日期",
"noDueDate": "无截止日期",
"save": "保存",
"clear": "清除",
"nextWeek": "下周",
"noSubtasks": "无子任务",
"showSubtasks": "显示子任务",
"hideSubtasks": "隐藏子任务"
}

View File

@@ -38,5 +38,13 @@
"createClient": "创建客户",
"searchInputPlaceholder": "按名称或电子邮件搜索",
"hoursPerDayValidationMessage": "每天小时数必须是1到24之间的数字",
"noPermission": "无权限"
"workingDaysValidationMessage": "工作日必须是正数",
"manDaysValidationMessage": "人天必须是正数",
"noPermission": "无权限",
"progressSettings": "进度设置",
"manualProgress": "手动进度",
"manualProgressTooltip": "允许对没有子任务的任务进行手动进度更新",
"weightedProgress": "加权进度",
"weightedProgressTooltip": "基于子任务权重计算进度",
"timeProgress": "基于时间的进度"
}

View File

@@ -0,0 +1,34 @@
{
"recurring": "重复",
"recurringTaskConfiguration": "重复任务配置",
"repeats": "重复",
"daily": "每日",
"weekly": "每周",
"everyXDays": "每X天",
"everyXWeeks": "每X周",
"everyXMonths": "每X月",
"monthly": "每月",
"selectDaysOfWeek": "选择星期几",
"mon": "周一",
"tue": "周二",
"wed": "周三",
"thu": "周四",
"fri": "周五",
"sat": "周六",
"sun": "周日",
"monthlyRepeatType": "每月重复类型",
"onSpecificDate": "在特定日期",
"onSpecificDay": "在特定星期几",
"dateOfMonth": "月份日期",
"weekOfMonth": "月份周数",
"dayOfWeek": "星期几",
"first": "第一",
"second": "第二",
"third": "第三",
"fourth": "第四",
"last": "最后",
"intervalDays": "间隔(天)",
"intervalWeeks": "间隔(周)",
"intervalMonths": "间隔(月)",
"saveChanges": "保存更改"
}

View File

@@ -4,6 +4,7 @@
"timeSheet": "时间表",
"searchByName": "按名称搜索",
"selectAll": "全选",
"clearAll": "清除全部",
"teams": "团队",
"searchByProject": "按项目名称搜索",
"projects": "项目",
@@ -11,6 +12,8 @@
"categories": "类别",
"billable": "可计费",
"nonBillable": "不可计费",
"allBillableTypes": "所有计费类型",
"filterByBillableStatus": "按计费状态筛选",
"total": "总计",
"projectsTimeSheet": "项目时间表",
"loggedTime": "已记录时间(小时)",
@@ -19,6 +22,9 @@
"for": "为",
"membersTimeSheet": "成员时间表",
"member": "成员",
"members": "成员",
"searchByMember": "按成员搜索",
"utilization": "利用率",
"estimatedVsActual": "预计用时 vs 实际用时",
"workingDays": "工作日",
"manDays": "人天",
@@ -29,5 +35,17 @@
"noCategory": "无类别",
"noProjects": "未找到项目",
"noTeams": "未找到团队",
"noData": "未找到数据"
"noData": "未找到数据",
"groupBy": "分组方式",
"groupByCategory": "类别",
"groupByTeam": "团队",
"groupByStatus": "状态",
"groupByNone": "无",
"clearSearch": "清除搜索",
"selectedProjects": "已选项目",
"projectsSelected": "个项目已选择",
"showSelected": "仅显示已选择",
"expandAll": "全部展开",
"collapseAll": "全部折叠",
"ungrouped": "未分组"
}