minor fixes

This commit is contained in:
2026-01-29 08:56:11 -06:00
parent 876f1f65a2
commit b7e74242b8
8 changed files with 30 additions and 16 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "api", "name": "api",
"version": "2.0.0-beta-3", "version": "2.0.0-beta-4",
"description": "", "description": "",
"author": "", "author": "",
"private": true, "private": true,

View File

@@ -77,10 +77,11 @@ export class LogController {
@Body() logDto: LogDto @Body() logDto: LogDto
): Promise<UpdateResult> { ): Promise<UpdateResult> {
try { try {
console.log(logDto);
return await this.logService.update(id, logDto); return await this.logService.update(id, logDto);
} catch (error) { } catch (error) {
const customError = error as CustomError; const customError = error as CustomError;
console.log(customError)
throw new HttpException(customError.message, customError.statusCode); throw new HttpException(customError.message, customError.statusCode);
} }
} }

View File

@@ -51,7 +51,11 @@ export class LogService {
} }
} }
async update(id: string, log: LogDto): Promise<UpdateResult> { async update(id: string, logDto: LogDto): Promise<UpdateResult> {
const log = logDto
delete log.tracks;
return await this.logRepository.update(id, log); return await this.logRepository.update(id, log);
} }

View File

@@ -1,7 +1,7 @@
{ {
"name": "client", "name": "client",
"private": true, "private": true,
"version": "2.0.0-beta-3", "version": "2.0.0-beta-4",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",

View File

@@ -33,7 +33,7 @@ const LogForm = () => {
`api/logs/${logbookContext.state.selectedLogId}` `api/logs/${logbookContext.state.selectedLogId}`
); );
const log = response.data; const log = response.data;
console.log(log)
reset(log); reset(log);
} catch (error) { } catch (error) {
const axiosError = error as AxiosError; const axiosError = error as AxiosError;
@@ -485,7 +485,9 @@ const LogForm = () => {
type='number' type='number'
className='input w-full' className='input w-full'
disabled={state.isDisabled} disabled={state.isDisabled}
onChange={onChange} min={0}
onChange={(event) => onChange(Number(event.target.value))}
step={0.1}
value={value} value={value}
/> />
)} )}
@@ -505,6 +507,7 @@ const LogForm = () => {
className='textarea w-full' className='textarea w-full'
disabled={state.isDisabled} disabled={state.isDisabled}
onChange={onChange} onChange={onChange}
value={value}
></textarea> ></textarea>
)} )}
/> />

View File

@@ -1,3 +1,4 @@
import { useState } from "react";
import { LogbookDrawerProps } from "./LogbookDrawerProps.interface"; import { LogbookDrawerProps } from "./LogbookDrawerProps.interface";
import LogForm from "../logForm/LogForm"; import LogForm from "../logForm/LogForm";
import TracksForm from "../tracksForm/TracksForm"; import TracksForm from "../tracksForm/TracksForm";
@@ -9,7 +10,8 @@ import { FormMode } from "../../enums/formMode";
import httpClient from "../../httpClient/httpClient"; import httpClient from "../../httpClient/httpClient";
import { AxiosError } from "axios"; import { AxiosError } from "axios";
import { useLogbookContext } from "../../hooks/logbookContext/UseLogbookContext"; import { useLogbookContext } from "../../hooks/logbookContext/UseLogbookContext";
import { ChangeEventHandler, MouseEventHandler, useState } from "react"; import { useBreakpoints } from "../../hooks/useBreakpoints/UseBreakpoints";
import { ScreenSize } from "../../enums/screenSize";
const LogbookDrawer = ({ onOpenClose }: LogbookDrawerProps) => { const LogbookDrawer = ({ onOpenClose }: LogbookDrawerProps) => {
const [activeTab, setActiveTab] = useState<string>('time'); const [activeTab, setActiveTab] = useState<string>('time');
@@ -40,6 +42,7 @@ const LogbookDrawer = ({ onOpenClose }: LogbookDrawerProps) => {
}; };
const methods = useForm(); const methods = useForm();
const logbookContext = useLogbookContext() const logbookContext = useLogbookContext()
const { screenSize } = useBreakpoints();
const onCancel = () => { const onCancel = () => {
methods.reset(defaultValues); methods.reset(defaultValues);
@@ -49,6 +52,7 @@ const LogbookDrawer = ({ onOpenClose }: LogbookDrawerProps) => {
const onSubmit = async (data: unknown) => { const onSubmit = async (data: unknown) => {
try { try {
logbookContext.dispatch({ type: 'SET_IS_FORM_DISABLED', payload: true });
logbookContext.dispatch({ type: 'SET_IS_FORM_LOADING', payload: true }); logbookContext.dispatch({ type: 'SET_IS_FORM_LOADING', payload: true });
if (!logbookContext.state.selectedLogId) { if (!logbookContext.state.selectedLogId) {
@@ -58,21 +62,20 @@ const LogbookDrawer = ({ onOpenClose }: LogbookDrawerProps) => {
} }
methods.reset(defaultValues); methods.reset(defaultValues);
logbookContext.dispatch({ type: 'SET_IS_FORM_DISABLED', payload: false });
logbookContext.dispatch({ type: 'SET_FORM_MODE', payload: FormMode.CANCEL });
} catch (error) { } catch (error) {
const axiosError = error as AxiosError; const axiosError = error as AxiosError;
logbookContext.dispatch({ type: 'SET_FORM_ALERT', payload: { severity: 'error', message: axiosError.message }}); logbookContext.dispatch({ type: 'SET_FORM_ALERT', payload: { severity: 'error', message: axiosError.message }});
} finally { } finally {
logbookContext.dispatch({ type: 'SET_IS_FORM_LOADING', payload: false }); logbookContext.dispatch({ type: 'SET_IS_FORM_LOADING', payload: false });
logbookContext.dispatch({ type: 'SET_IS_FORM_DISABLED', payload: false });
logbookContext.dispatch({ type: 'SET_FORM_MODE', payload: FormMode.CANCEL });
onOpenClose(FormMode.CANCEL);
} }
}; };
const onSelectedKeyChanged = (tab: string) => {
setActiveTab(tab)
}
const onTabClicked = (event: any) => { const onTabClicked = (event: any) => {
setActiveTab(event.target.ariaLabel) setActiveTab(event.target.ariaLabel)
} }
@@ -86,7 +89,7 @@ const LogbookDrawer = ({ onOpenClose }: LogbookDrawerProps) => {
aria-label='close-sidebar' aria-label='close-sidebar'
className='drawer-overlay' className='drawer-overlay'
></label> ></label>
<div className='menu bg-base-100 text-base-content min-h-full p-4' style={{ width: '25%' }}> <div className={`menu bg-base-100 text-base-content min-h-full p-4 ${screenSize === ScreenSize.SM ? 'w-full' : screenSize === ScreenSize.MD ? 'w-[66%]' : 'w-[25%]'}`}>
<FormProvider {...methods}> <FormProvider {...methods}>
<form className='prose max-w-none' onSubmit={methods.handleSubmit(onSubmit)} style={{ paddingBottom: '50px' }}> <form className='prose max-w-none' onSubmit={methods.handleSubmit(onSubmit)} style={{ paddingBottom: '50px' }}>
<div className='grid grid-cols-12 mb-6'> <div className='grid grid-cols-12 mb-6'>

View File

@@ -12,6 +12,8 @@ import httpClient from '../../httpClient/httpClient';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faSave, faXmark } from '@fortawesome/free-solid-svg-icons'; import { faSave, faXmark } from '@fortawesome/free-solid-svg-icons';
import { states } from './states'; import { states } from './states';
import { useBreakpoints } from '../../hooks/useBreakpoints/UseBreakpoints';
import { ScreenSize } from '../../enums/screenSize';
const PilotForm: React.FC<IPilotFormProps> = ({ const PilotForm: React.FC<IPilotFormProps> = ({
pilotId, pilotId,
@@ -43,6 +45,7 @@ const PilotForm: React.FC<IPilotFormProps> = ({
}); });
const [isDisabled, setIsDisabled] = useState<boolean>(false); const [isDisabled, setIsDisabled] = useState<boolean>(false);
const [isError, setIsError] = useState<boolean>(false); const [isError, setIsError] = useState<boolean>(false);
const { screenSize } = useBreakpoints();
const onCancel = () => { const onCancel = () => {
methods.reset(defaultValues); methods.reset(defaultValues);
@@ -112,7 +115,7 @@ const PilotForm: React.FC<IPilotFormProps> = ({
aria-label='close-sidebar' aria-label='close-sidebar'
className='drawer-overlay' className='drawer-overlay'
></label> ></label>
<div className='menu bg-base-100 text-base-content min-h-full p-4' style={{ width: '25%' }}> <div className={`menu bg-base-100 text-base-content min-h-full p-4 ${screenSize === ScreenSize.SM ? 'w-full' : screenSize === ScreenSize.MD ? 'w-[66%]' : 'w-[25%]'}`}>
<FormProvider {...methods}> <FormProvider {...methods}>
<form className='prose max-w-none' onSubmit={methods.handleSubmit(onSubmit)} style={{ paddingBottom: '50px' }}> <form className='prose max-w-none' onSubmit={methods.handleSubmit(onSubmit)} style={{ paddingBottom: '50px' }}>
<div className='grid grid-cols-12 gap-3'> <div className='grid grid-cols-12 gap-3'>

View File

@@ -1,6 +1,6 @@
{ {
"name": "@noahspan/flying", "name": "@noahspan/flying",
"version": "2.0.0-beta-3", "version": "2.0.0-beta-4",
"scripts": { "scripts": {
"start": "node api/dist/main", "start": "node api/dist/main",
"format": "prettier --write \"**/src/**/*.ts\" \"**/test/**/*.ts\"", "format": "prettier --write \"**/src/**/*.ts\" \"**/test/**/*.ts\"",