From 55a8be801160c68875db29f779e3151e162c81da Mon Sep 17 00:00:00 2001 From: zalexa19 Date: Fri, 20 Feb 2026 21:22:43 +0100 Subject: [PATCH 1/2] moved strikes component files into components/ --- .../education/strikes/StrikesComponent.tsx | 4 ++-- .../trainee-profile/education/strikes/api/api.ts | 1 - .../{ => components}/StrikeDetailsModal.tsx | 13 ++++--------- .../strikes/{ => components}/StrikesList.tsx | 16 +++++----------- 4 files changed, 11 insertions(+), 23 deletions(-) rename client/src/features/trainee-profile/education/strikes/{ => components}/StrikeDetailsModal.tsx (95%) rename client/src/features/trainee-profile/education/strikes/{ => components}/StrikesList.tsx (86%) diff --git a/client/src/features/trainee-profile/education/strikes/StrikesComponent.tsx b/client/src/features/trainee-profile/education/strikes/StrikesComponent.tsx index 361b651b..31abc5fc 100644 --- a/client/src/features/trainee-profile/education/strikes/StrikesComponent.tsx +++ b/client/src/features/trainee-profile/education/strikes/StrikesComponent.tsx @@ -4,8 +4,8 @@ import { useAddStrike, useDeleteStrike, useEditStrike } from './data/mutations'; import AddIcon from '@mui/icons-material/Add'; import { ConfirmationDialog } from '../../../../components/ConfirmationDialog'; import { Strike } from './models/strike'; -import { StrikeDetailsModal } from './StrikeDetailsModal'; -import { StrikesList } from './StrikesList'; +import { StrikeDetailsModal } from './components/StrikeDetailsModal'; +import { StrikesList } from './components/StrikesList'; import { useGetStrikes } from './data/strike-queries'; import { useState } from 'react'; import { useTraineeProfileContext } from '../../context/useTraineeProfileContext'; diff --git a/client/src/features/trainee-profile/education/strikes/api/api.ts b/client/src/features/trainee-profile/education/strikes/api/api.ts index bba9210f..191140b8 100644 --- a/client/src/features/trainee-profile/education/strikes/api/api.ts +++ b/client/src/features/trainee-profile/education/strikes/api/api.ts @@ -9,7 +9,6 @@ export const getStrikes = async (traineeId: string) => { return data.map((strike) => mapStrikeToDomain(strike)); }; -// TODO: Move these to mutation file export const deleteStrike = async (traineeId: string, strikeId: string) => { await axios.delete(`/api/trainees/${traineeId}/strikes/${strikeId}`); }; diff --git a/client/src/features/trainee-profile/education/strikes/StrikeDetailsModal.tsx b/client/src/features/trainee-profile/education/strikes/components/StrikeDetailsModal.tsx similarity index 95% rename from client/src/features/trainee-profile/education/strikes/StrikeDetailsModal.tsx rename to client/src/features/trainee-profile/education/strikes/components/StrikeDetailsModal.tsx index 54fed171..e225555e 100644 --- a/client/src/features/trainee-profile/education/strikes/StrikeDetailsModal.tsx +++ b/client/src/features/trainee-profile/education/strikes/components/StrikeDetailsModal.tsx @@ -14,10 +14,10 @@ import { TextField, Typography, } from '@mui/material'; -import { Strike, StrikeReason } from './models/strike'; +import { Strike, StrikeReason } from '../models/strike'; import { LoadingButton } from '@mui/lab'; -import { formatDate } from '../../utils/dateHelper'; +import { formatDate } from '../../../utils/dateHelper'; import { useState } from 'react'; type StrikeInput = Omit & { @@ -111,12 +111,7 @@ export const StrikeDetailsModal = ({ }; return ( - + diff --git a/client/src/features/trainee-profile/education/strikes/StrikesList.tsx b/client/src/features/trainee-profile/education/strikes/components/StrikesList.tsx similarity index 86% rename from client/src/features/trainee-profile/education/strikes/StrikesList.tsx rename to client/src/features/trainee-profile/education/strikes/components/StrikesList.tsx index 0f5b7e9a..d9a7565e 100644 --- a/client/src/features/trainee-profile/education/strikes/StrikesList.tsx +++ b/client/src/features/trainee-profile/education/strikes/components/StrikesList.tsx @@ -1,12 +1,12 @@ import { Box, IconButton, List, ListItem, ListItemAvatar, ListItemText, Typography } from '@mui/material'; -import { AvatarWithTooltip } from '../components/AvatarWithTooltip'; +import { AvatarWithTooltip } from '../../components/AvatarWithTooltip'; import DeleteIcon from '@mui/icons-material/Delete'; import EditIcon from '@mui/icons-material/Edit'; -import MarkdownText from '../../components/MarkdownText'; -import { Strike } from './models/strike'; -import { formatDateForDisplay } from '../../utils/dateHelper'; +import MarkdownText from '../../../components/MarkdownText'; import React from 'react'; +import { Strike } from '../models/strike'; +import { formatDateForDisplay } from '../../../utils/dateHelper'; interface StrikesListProps { strikes: Strike[]; @@ -82,13 +82,7 @@ export const StrikesList: React.FC = ({ strikes, onClickEdit, + {formatStrikeReason(strike.reason || '')} {formatDateForDisplay(strike.date)} From c0381109e83f4d351dfe4bc2ee958dd18a152e7e Mon Sep 17 00:00:00 2001 From: zalexa19 Date: Fri, 20 Feb 2026 21:39:18 +0100 Subject: [PATCH 2/2] enabled absolute imports on the client --- client/tsconfig.json | 4 ++++ client/vite.config.ts | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/client/tsconfig.json b/client/tsconfig.json index a7fc6fbf..dc701a6e 100644 --- a/client/tsconfig.json +++ b/client/tsconfig.json @@ -1,5 +1,9 @@ { "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["src/*"] + }, "target": "ES2020", "useDefineForClassFields": true, "lib": ["ES2020", "DOM", "DOM.Iterable"], diff --git a/client/vite.config.ts b/client/vite.config.ts index c93edad9..16dae900 100644 --- a/client/vite.config.ts +++ b/client/vite.config.ts @@ -1,4 +1,6 @@ import { defineConfig, loadEnv } from 'vite'; + +import path from 'path'; import react from '@vitejs/plugin-react'; // https://vitejs.dev/config/ @@ -7,6 +9,12 @@ export default defineConfig(({ mode }) => { const backendProxyTarget = env.VITE_BACKEND_PROXY_TARGET ?? 'http://localhost:7777'; return { plugins: [react()], + resolve: { + alias: { + // This maps the '@' symbol to your 'src' folder + '@': path.resolve(__dirname, './src'), + }, + }, server: { // Automatically open the app in the browser on server start. open: '/',