From d83842e669e759ef0cf1379eced24e5f52fc70cf Mon Sep 17 00:00:00 2001 From: Dalton Burkhart Date: Sat, 14 Feb 2026 01:57:46 -0500 Subject: [PATCH 1/8] Fixed all files for proper componnt child checks --- apps/frontend/src/charka-ui.d.ts | 64 +++++++++++++++++++ .../components/forms/newDonationFormModal.tsx | 17 +++-- .../forms/pantryApplicationModal.tsx | 3 +- .../components/forms/requestDetailsModal.tsx | 2 +- apps/frontend/src/containers/FormRequests.tsx | 2 +- .../src/containers/pantryDashboard.tsx | 3 +- .../src/containers/volunteerManagement.tsx | 2 +- apps/frontend/src/types/types.ts | 6 +- apps/frontend/tsconfig.json | 6 +- yarn.lock | 49 ++------------ 10 files changed, 93 insertions(+), 61 deletions(-) create mode 100644 apps/frontend/src/charka-ui.d.ts diff --git a/apps/frontend/src/charka-ui.d.ts b/apps/frontend/src/charka-ui.d.ts new file mode 100644 index 000000000..0dd649dfd --- /dev/null +++ b/apps/frontend/src/charka-ui.d.ts @@ -0,0 +1,64 @@ +/* eslint-disable @typescript-eslint/no-empty-object-type */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import '@chakra-ui/react'; + +declare module '@chakra-ui/react' { + export interface ComponentProps { + asChild?: boolean; + children?: React.ReactNode; + as?: any; + [key: string]: any; + } + + // Menu components + export interface MenuTriggerProps extends ComponentProps {} + export interface MenuContentProps extends ComponentProps {} + export interface MenuItemProps extends ComponentProps {} + export interface MenuPositionerProps extends ComponentProps {} + export interface MenuRootProps extends ComponentProps {} + export interface MenuCheckboxItemProps extends ComponentProps {} + export interface MenuRadioItemGroupProps extends ComponentProps {} + export interface MenuRadioItemProps extends ComponentProps {} + + // Dialog components + export interface DialogCloseTriggerProps extends ComponentProps {} + export interface DialogContentProps extends ComponentProps {} + export interface DialogBackdropProps extends ComponentProps {} + export interface DialogPositionerProps extends ComponentProps {} + export interface DialogTitleProps extends ComponentProps {} + export interface DialogTriggerProps extends ComponentProps {} + + // Checkbox components + export interface CheckboxLabelProps extends ComponentProps {} + export interface CheckboxControlProps extends ComponentProps {} + + // Radio components + export interface RadioGroupItemProps extends ComponentProps {} + export interface RadioGroupItemControlProps extends ComponentProps {} + export interface RadioGroupItemTextProps extends ComponentProps {} + + // Pagination components + export interface PaginationPrevTriggerProps extends ComponentProps {} + export interface PaginationNextTriggerProps extends ComponentProps {} + export interface PaginationItemsProps extends ComponentProps {} + + // Tabs components + export interface TabsTriggerProps extends ComponentProps {} + export interface TabsContentProps extends ComponentProps {} + export interface TabsListProps extends ComponentProps {} + + // Field components + export interface FieldLabelProps extends ComponentProps {} + export interface FieldRootProps extends ComponentProps {} + export interface FieldHelperTextProps extends ComponentProps {} + + // Common components + export interface ButtonProps extends ComponentProps {} + export interface IconButtonProps extends ComponentProps {} + export interface BoxProps extends ComponentProps {} + export interface LinkProps extends ComponentProps {} + export interface TextProps extends ComponentProps {} + export interface CardProps extends ComponentProps {} + export interface CardBodyProps extends ComponentProps {} + export interface TextareaProps extends ComponentProps {} +} diff --git a/apps/frontend/src/components/forms/newDonationFormModal.tsx b/apps/frontend/src/components/forms/newDonationFormModal.tsx index cfc22116b..11d1d9f3e 100644 --- a/apps/frontend/src/components/forms/newDonationFormModal.tsx +++ b/apps/frontend/src/components/forms/newDonationFormModal.tsx @@ -14,7 +14,7 @@ import { } from '@chakra-ui/react'; import { useState } from 'react'; import ApiClient from '@api/apiClient'; -import { FoodTypes } from '../../types/types'; +import { FoodTypes, FoodType } from '../../types/types'; interface NewDonationFormModalProps { onDonationSuccess: () => void; @@ -22,12 +22,21 @@ interface NewDonationFormModalProps { onClose: () => void; } +interface DonationRow { + id: number; + foodItem: string; + foodType: FoodType | ''; + numItems: string; + ozPerItem: string; + valuePerItem: string; +} + const NewDonationFormModal: React.FC = ({ onDonationSuccess, isOpen, onClose, }) => { - const [rows, setRows] = useState([ + const [rows, setRows] = useState([ { id: 1, foodItem: '', @@ -51,7 +60,7 @@ const NewDonationFormModal: React.FC = ({ calculateTotals(updatedRows); }; - const calculateTotals = (updatedRows: typeof rows) => { + const calculateTotals = (updatedRows: DonationRow[]) => { let totalItems = 0, totalOz = 0, totalValue = 0; @@ -123,7 +132,7 @@ const NewDonationFormModal: React.FC = ({ reservedQuantity: 0, ozPerItem: parseFloat(row.ozPerItem), estimatedValue: parseFloat(row.valuePerItem), - foodType: row.foodType, + foodType: row.foodType as FoodType, })); await ApiClient.postMultipleDonationItems({ donationId, items }); diff --git a/apps/frontend/src/components/forms/pantryApplicationModal.tsx b/apps/frontend/src/components/forms/pantryApplicationModal.tsx index ceb8179c2..4a4efdd71 100644 --- a/apps/frontend/src/components/forms/pantryApplicationModal.tsx +++ b/apps/frontend/src/components/forms/pantryApplicationModal.tsx @@ -1,6 +1,5 @@ -import React, { useEffect, useState } from 'react'; +import React from 'react'; import { Button, Dialog, Grid, GridItem, Text } from '@chakra-ui/react'; -import ApiClient from '@api/apiClient'; import { Pantry } from 'types/types'; interface PantryApplicationModalProps { diff --git a/apps/frontend/src/components/forms/requestDetailsModal.tsx b/apps/frontend/src/components/forms/requestDetailsModal.tsx index 5a63830da..ce31fd4c4 100644 --- a/apps/frontend/src/components/forms/requestDetailsModal.tsx +++ b/apps/frontend/src/components/forms/requestDetailsModal.tsx @@ -311,7 +311,7 @@ const RequestDetailsModal: React.FC = ({ count={orderDetailsList.length} pageSize={1} page={currentPage} - onChange={(page) => setCurrentPage(page)} + onChange={(page: number) => setCurrentPage(page)} > diff --git a/apps/frontend/src/containers/FormRequests.tsx b/apps/frontend/src/containers/FormRequests.tsx index 8d5b2246d..f3bc33c8e 100644 --- a/apps/frontend/src/containers/FormRequests.tsx +++ b/apps/frontend/src/containers/FormRequests.tsx @@ -204,7 +204,7 @@ const FormRequests: React.FC = () => { count={Math.ceil(requests.length / pageSize)} pageSize={1} page={currentPage} - onChange={(page) => setCurrentPage(page)} + onChange={(page: number) => setCurrentPage(page)} > diff --git a/apps/frontend/src/containers/pantryDashboard.tsx b/apps/frontend/src/containers/pantryDashboard.tsx index 39e98346a..228084c1c 100644 --- a/apps/frontend/src/containers/pantryDashboard.tsx +++ b/apps/frontend/src/containers/pantryDashboard.tsx @@ -61,7 +61,7 @@ const PantryDashboard: React.FC = () => { transform="translateY(-50%)" > - +