feat(absence) : extract Absence front into Nuxt module layer
LST-66 (2.3) front. Companion to the backend module migration. - Move pages (absences, team-absences), 8 components, the absences service + DTO and the useAbsenceHelpers composable into frontend/modules/absence/ (auto-detected layer; composable now auto-imported). - Rewrite consumers: AdminAbsencePolicyTab and the time-tracking calendar (getPublicHolidays) point to ~/modules/absence/... - Middlewares (employee/admin) and shared services (clients, users, user-data DTO) stay at the root. i18n stays global. - Routes /absences and /team-absences preserved. nuxt build passes; routes confirmed.
This commit is contained in:
@@ -51,8 +51,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsencePolicy } from '~/services/dto/absence'
|
import type { AbsencePolicy } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
|
|
||||||
const service = useAbsenceService()
|
const service = useAbsenceService()
|
||||||
const rows = ref<AbsencePolicy[]>([])
|
const rows = ref<AbsencePolicy[]>([])
|
||||||
|
|||||||
+2
-2
@@ -19,8 +19,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsenceBalance } from '~/services/dto/absence'
|
import type { AbsenceBalance } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: boolean
|
modelValue: boolean
|
||||||
+1
-2
@@ -73,8 +73,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsenceBalance } from '~/services/dto/absence'
|
import type { AbsenceBalance } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceHelpers } from '~/composables/useAbsenceHelpers'
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
balances: AbsenceBalance[]
|
balances: AbsenceBalance[]
|
||||||
+2
-3
@@ -52,9 +52,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsenceRequest } from '~/services/dto/absence'
|
import type { AbsenceRequest } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
import { useAbsenceHelpers } from '~/composables/useAbsenceHelpers'
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
absences: AbsenceRequest[]
|
absences: AbsenceRequest[]
|
||||||
+1
-1
@@ -29,7 +29,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { HalfDay } from '~/services/dto/absence'
|
import type { HalfDay } from '~/modules/absence/services/dto/absence'
|
||||||
|
|
||||||
const props = withDefaults(defineProps<{
|
const props = withDefaults(defineProps<{
|
||||||
/** ISO date string "YYYY-MM-DD" or null. */
|
/** ISO date string "YYYY-MM-DD" or null. */
|
||||||
+2
-3
@@ -135,9 +135,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsenceRequest } from '~/services/dto/absence'
|
import type { AbsenceRequest } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
import { useAbsenceHelpers } from '~/composables/useAbsenceHelpers'
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: boolean
|
modelValue: boolean
|
||||||
+2
-3
@@ -26,9 +26,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsenceRequest } from '~/services/dto/absence'
|
import type { AbsenceRequest } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
import { useAbsenceHelpers } from '~/composables/useAbsenceHelpers'
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: boolean
|
modelValue: boolean
|
||||||
+2
-3
@@ -105,9 +105,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsencePolicy, AbsencePreviewResult, AbsenceType, HalfDay } from '~/services/dto/absence'
|
import type { AbsencePolicy, AbsencePreviewResult, AbsenceType, HalfDay } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
import { useAbsenceHelpers } from '~/composables/useAbsenceHelpers'
|
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
modelValue: boolean
|
modelValue: boolean
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
import type { AbsenceRequest, AbsenceStatus, AbsenceType, HalfDay } from '~/services/dto/absence'
|
import type { AbsenceRequest, AbsenceStatus, AbsenceType, HalfDay } from '~/modules/absence/services/dto/absence'
|
||||||
|
|
||||||
export type BadgeVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger'
|
export type BadgeVariant = 'neutral' | 'info' | 'success' | 'warning' | 'danger'
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
export default defineNuxtConfig({})
|
||||||
@@ -69,9 +69,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { AbsenceBalance, AbsencePolicy, AbsenceRequest, AbsenceStatus, AbsenceType } from '~/services/dto/absence'
|
import type { AbsenceBalance, AbsencePolicy, AbsenceRequest, AbsenceStatus, AbsenceType } from '~/modules/absence/services/dto/absence'
|
||||||
import { useAbsenceService, type AbsenceRequestFilters } from '~/services/absences'
|
import { useAbsenceService, type AbsenceRequestFilters } from '~/modules/absence/services/absences'
|
||||||
import { useAbsenceHelpers } from '~/composables/useAbsenceHelpers'
|
|
||||||
|
|
||||||
type Row = AbsenceRequest & { typeLabelText: string; periodText: string; daysText: string; createdAtText: string }
|
type Row = AbsenceRequest & { typeLabelText: string; periodText: string; daysText: string; createdAtText: string }
|
||||||
|
|
||||||
@@ -198,12 +198,11 @@ import type {
|
|||||||
AbsenceRequest,
|
AbsenceRequest,
|
||||||
AbsenceStatus,
|
AbsenceStatus,
|
||||||
AbsenceType,
|
AbsenceType,
|
||||||
} from "~/services/dto/absence";
|
} from "~/modules/absence/services/dto/absence";
|
||||||
import {
|
import {
|
||||||
useAbsenceService,
|
useAbsenceService,
|
||||||
type AbsenceRequestFilters,
|
type AbsenceRequestFilters,
|
||||||
} from "~/services/absences";
|
} from "~/modules/absence/services/absences";
|
||||||
import { useAbsenceHelpers } from "~/composables/useAbsenceHelpers";
|
|
||||||
import { useUserService } from "~/services/users";
|
import { useUserService } from "~/services/users";
|
||||||
import type { UserData } from "~/services/dto/user-data";
|
import type { UserData } from "~/services/dto/user-data";
|
||||||
|
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import type { TimeEntry } from '~/modules/time-tracking/services/dto/time-entry'
|
import type { TimeEntry } from '~/modules/time-tracking/services/dto/time-entry'
|
||||||
import { useAbsenceService } from '~/services/absences'
|
import { useAbsenceService } from '~/modules/absence/services/absences'
|
||||||
|
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const absenceService = useAbsenceService()
|
const absenceService = useAbsenceService()
|
||||||
|
|||||||
Reference in New Issue
Block a user