add format check, update prettier rules, apply rules consistently

This commit is contained in:
Gregor Vostrak
2025-07-29 18:58:31 +02:00
parent b11672732b
commit cb30487a21
323 changed files with 3728 additions and 5579 deletions

View File

@@ -17,10 +17,7 @@ import TimeEntryMoreOptionsDropdown from '@/packages/ui/src/TimeEntry/TimeEntryM
import TimeTrackerProjectTaskDropdown from '@/packages/ui/src/TimeTracker/TimeTrackerProjectTaskDropdown.vue';
import BillableToggleButton from '@/packages/ui/src/Input/BillableToggleButton.vue';
import { ref, inject, type ComputedRef } from 'vue';
import {
formatHumanReadableDuration,
formatStartEnd,
} from '@/packages/ui/src/utils/time';
import { formatHumanReadableDuration, formatStartEnd } from '@/packages/ui/src/utils/time';
import TimeEntryRow from '@/packages/ui/src/TimeEntry/TimeEntryRow.vue';
import GroupedItemsCountButton from '@/packages/ui/src/GroupedItemsCountButton.vue';
import type { TimeEntriesGroupedByType } from '@/types/time-entries';
@@ -95,31 +92,23 @@ function onSelectChange(checked: boolean) {
class="border-b border-default-background-separator bg-row-background min-w-0 transition"
data-testid="time_entry_row">
<MainContainer class="min-w-0">
<div
class="sm:flex py-1.5 items-center min-w-0 justify-between group">
<div class="sm:flex py-1.5 items-center min-w-0 justify-between group">
<div class="flex space-x-3 items-center min-w-0">
<Checkbox
:checked="
timeEntry.timeEntries.every(
(aggregateTimeEntry: TimeEntry) =>
selectedTimeEntries.includes(
aggregateTimeEntry
)
timeEntry.timeEntries.every((aggregateTimeEntry: TimeEntry) =>
selectedTimeEntries.includes(aggregateTimeEntry)
)
"
@update:checked="onSelectChange" />
<div class="flex items-center min-w-0">
<GroupedItemsCountButton
:expanded="expanded"
@click="expanded = !expanded">
<GroupedItemsCountButton :expanded="expanded" @click="expanded = !expanded">
{{ timeEntry?.timeEntries?.length }}
</GroupedItemsCountButton>
<TimeEntryDescriptionInput
class="min-w-0 mr-4"
:model-value="timeEntry.description"
@changed="
updateTimeEntryDescription
"></TimeEntryDescriptionInput>
@changed="updateTimeEntryDescription"></TimeEntryDescriptionInput>
<TimeTrackerProjectTaskDropdown
:clients
:create-project
@@ -132,9 +121,7 @@ function onSelectChange(checked: boolean) {
:enable-estimated-time
:currency="currency"
:task="timeEntry.task_id"
@changed="
updateProjectAndTask
"></TimeTrackerProjectTaskDropdown>
@changed="updateProjectAndTask"></TimeTrackerProjectTaskDropdown>
</div>
</div>
<div class="flex items-center font-medium lg:space-x-2">
@@ -142,21 +129,30 @@ function onSelectChange(checked: boolean) {
:create-tag
:tags="tags"
:model-value="timeEntry.tags"
@changed="
updateTimeEntryTags
"></TimeEntryRowTagDropdown>
@changed="updateTimeEntryTags"></TimeEntryRowTagDropdown>
<BillableToggleButton
:model-value="timeEntry.billable"
class="opacity-50 focus-visible:opacity-100 group-hover:opacity-100"
size="small"
@changed="
updateTimeEntryBillable
"></BillableToggleButton>
@changed="updateTimeEntryBillable"></BillableToggleButton>
<div class="flex-1">
<button
:class="twMerge('text-text-secondary px-1 py-1.5 bg-transparent text-center hover:bg-card-background rounded-lg border border-transparent hover:border-card-border text-sm font-medium focus-visible:outline-none focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:bg-tertiary', organization?.time_format === '12-hours' ? 'w-[170px]' : 'w-[120px]')"
:class="
twMerge(
'text-text-secondary px-1 py-1.5 bg-transparent text-center hover:bg-card-background rounded-lg border border-transparent hover:border-card-border text-sm font-medium focus-visible:outline-none focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:bg-tertiary',
organization?.time_format === '12-hours'
? 'w-[170px]'
: 'w-[120px]'
)
"
@click="expanded = !expanded">
{{ formatStartEnd(timeEntry.start, timeEntry.end, organization?.time_format) }}
{{
formatStartEnd(
timeEntry.start,
timeEntry.end,
organization?.time_format
)
}}
</button>
</div>
<button
@@ -174,9 +170,7 @@ function onSelectChange(checked: boolean) {
<TimeTrackerStartStop
:active="!!(timeEntry.start && !timeEntry.end)"
class="opacity-20 flex group-hover:opacity-100 focus-visible:opacity-100"
@changed="
onStartStopClick(timeEntry)
"></TimeTrackerStartStop>
@changed="onStartStopClick(timeEntry)"></TimeTrackerStartStop>
<TimeEntryMoreOptionsDropdown
@delete="
deleteTimeEntries(timeEntry?.timeEntries ?? [])
@@ -196,8 +190,7 @@ function onSelectChange(checked: boolean) {
:tasks="tasks"
:selected="
!!selectedTimeEntries.find(
(filterEntry: TimeEntry) =>
filterEntry.id === subEntry.id
(filterEntry: TimeEntry) => filterEntry.id === subEntry.id
)
"
:create-client
@@ -205,9 +198,7 @@ function onSelectChange(checked: boolean) {
:create-project
:tags="tags"
indent
:update-time-entry="
(timeEntry: TimeEntry) => updateTimeEntry(timeEntry)
"
:update-time-entry="(timeEntry: TimeEntry) => updateTimeEntry(timeEntry)"
:on-start-stop-click="() => onStartStopClick(subEntry)"
:delete-time-entry="() => deleteTimeEntries([subEntry])"
:currency="currency"