Repository navigation
Stage Apps - #11631
Stage Apps#11631
Conversation
The rich-text styles had no rule for images, so a screenshot in a description rendered at its natural width, ran out of the column and under the panels beside it on the task page. Limit images to the column and let the height follow, including when the editor stored a fixed width and height.
Feat/task page add subtask
…olish Feat/timesheet approvals polish
…flow fix(record-view): keep rich-text images inside their column
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
[High impact] The PR changes task and timesheet workflows used across the app. Fix the late approval answer before merging so navigation cannot leave the page acting on the wrong timesheet. Findings
SummaryThis PR refreshes timesheet review pages and adds subtask actions.
|
There was a problem hiding this comment.
🟡 Changes recommended
A pending timesheet response can overwrite the newly selected timesheet and misdirect review actions, while stale task statuses and missing scroll registration cause additional functional defects.
3 open issues
What changed in this PR
Promotes frontend updates from stage-apps to stage, improving timesheet review, subtask management, and project-board interactions.
Changes:
- Redesigns timesheet approvals and details with aligned tables, status counts, summaries, and revised actions.
- Adds subtask creation, inline status changes, parent navigation, and supporting tests.
- Refines board drag-and-drop, record-view image sizing, overlap warnings, and translations.
| File | Description |
|---|---|
| packages/ui-core/shared/src/lib/timesheet/edit-time-log-modal/edit-time-log-modal.component.scss | Styles the overlap callout and constrains dialog width. |
| packages/ui-core/shared/src/lib/timesheet/edit-time-log-modal/edit-time-log-modal.component.html | Replaces the nested overlap card with an accessible callout. |
| packages/ui-core/shared/src/lib/tasks/add-task-dialog/add-task-dialog.component.ts | Adds parent locking and contextual headings. |
| packages/ui-core/shared/src/lib/tasks/add-task-dialog/add-task-dialog.component.spec.ts | Tests locked-parent behavior and headings. |
| packages/ui-core/shared/src/lib/tasks/add-task-dialog/add-task-dialog.component.html | Displays the contextual dialog heading. |
| packages/ui-core/shared/src/lib/record-view/record-view.component.scss | Constrains rich-text images to their column. |
| packages/ui-core/shared/src/lib/record-view/record-view-page.component.ts | Adds a configurable back-button label. |
| packages/ui-core/shared/src/lib/record-view/record-view-page.component.html | Applies the back-button label to accessibility text and tooltip. |
| packages/ui-core/i18n/assets/i18n/zh.json | Adds Chinese filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/ru.json | Adds Russian filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/pt.json | Adds Portuguese filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/pl.json | Adds Polish filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/nl.json | Adds Dutch filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/it.json | Adds Italian filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/he.json | Adds Hebrew filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/fr.json | Adds French filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/es.json | Adds Spanish filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/en.json | Adds English filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/de.json | Adds German filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/bg.json | Adds Bulgarian filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/ar.json | Adds Arabic filter and subtask labels. |
| packages/ui-core/i18n/assets/i18n/ach.json | Adds filter and subtask labels to the locale file. |
| apps/gauzy/src/app/pages/tasks/components/task-view/task-view-page.utils.ts | Selects the initial subtask status. |
| apps/gauzy/src/app/pages/tasks/components/task-view/task-view-page.utils.spec.ts | Tests initial-status selection and fallbacks. |
| apps/gauzy/src/app/pages/tasks/components/task-view/task-view-page.component.ts | Implements subtask creation, status updates, and parent navigation. |
| apps/gauzy/src/app/pages/tasks/components/task-view/task-view-page.component.spec.ts | Tests subtask workflows, permissions, and navigation. |
| apps/gauzy/src/app/pages/tasks/components/task-view/task-view-page.component.scss | Aligns subtask metadata and status controls. |
| apps/gauzy/src/app/pages/tasks/components/task-view/task-view-page.component.html | Adds subtask actions, assignees, priorities, and status menus. |
| apps/gauzy/src/app/pages/projects/components/project-view/project-board/project-board.component.ts | Updates drop targeting, placement, and column highlighting. |
| apps/gauzy/src/app/pages/projects/components/project-view/project-board/project-board.component.spec.ts | Tests drop placement, highlighting, and failed-save rollback. |
| apps/gauzy/src/app/pages/projects/components/project-view/project-board/project-board.component.scss | Enlarges columns and styles drop targets. |
| apps/gauzy/src/app/pages/projects/components/project-view/project-board/project-board.component.html | Adds scrolling configuration and drag-target bindings. |
| apps/gauzy/src/app/pages/employees/timesheet/view/view/view.component.ts | Groups logs, calculates summaries, and adds review actions. |
| apps/gauzy/src/app/pages/employees/timesheet/view/view/view.component.scss | Styles the summary and scrollable log grid. |
| apps/gauzy/src/app/pages/employees/timesheet/view/view/view.component.html | Rebuilds the details page with summary and row actions. |
| apps/gauzy/src/app/pages/employees/timesheet/view/view.module.ts | Updates imports for loading, tooltips, and empty states. |
| apps/gauzy/src/app/pages/employees/timesheet/approvals/approvals/approvals.component.ts | Adds status counts, filtered selection, and request guards. |
| apps/gauzy/src/app/pages/employees/timesheet/approvals/approvals/approvals.component.scss | Styles status filters and the approvals grid. |
| apps/gauzy/src/app/pages/employees/timesheet/approvals/approvals/approvals.component.html | Adds status filtering, row navigation, and revised actions. |
| apps/gauzy/src/app/pages/employees/timesheet/approvals/approvals.module.ts | Adds tooltip support and removes the unused badge module. |
Review effort: Balanced
…ed alone The route reuses the timesheet page for another timesheet. An Approve or Deny whose answer landed after the page moved on merged timesheet A's answer, id included, into timesheet B, so B showed its logs while the review actions targeted A. The answer is now applied only while the page still shows the timesheet it was about. Answers Greptile and Copilot on ever-co#11630 / ever-co#11631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tatuses After an edit or a board move put the task in another project, refresh() kept the old project's statuses until the new ones were read, so Add subtask in that interval created the subtask with a status of the old project, and the status menu offered it. The old statuses now go as on a load, and Add subtask reads the new project's own. Answers Copilot on ever-co#11630 / ever-co#11631. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>


PR
Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.
Summary by cubic
Promotes the accumulated frontend changes from
stage-appstostagefor release.Written for commit a90d690. Summary will update on new commits.