Commit cbfa788c authored by jakub uhlarik's avatar jakub uhlarik
Browse files

feat(frontend): add delete load

parent ed4cab0f
Loading
Loading
Loading
Loading
+18 −4
Original line number Diff line number Diff line
@@ -28,19 +28,27 @@ import {
  sortNameAtom,
  sortPriceAtom,
} from '../../state/atoms';
import { ApiError } from '../../types/Error';
import { ErrorView } from '../ErrorView.tsx';

export type PartTableInput<T> = {
  name: SellablePartName;
  data: T[];
  addPart: (arg0: T) => void;
  deletePart: (id: string) => void;
  deleteFn: (id: string) => void;
  deleteLoading: boolean;
  errorDelete: ApiError | null;
  isErrorDelete: boolean;
};

export function PartTable<T extends SellablePart>({
  name,
  data,
  addPart,
  deletePart,
  deleteFn: deletePart,
  deleteLoading,
  errorDelete,
  isErrorDelete,
}: PartTableInput<T>) {
  const navigate = useNavigate();
  const setOrdering = useSetRecoilState(sortingAtom);
@@ -80,6 +88,11 @@ export function PartTable<T extends SellablePart>({

  return (
    <div className="main__parts">
      {isErrorDelete && errorDelete !== null ? (
        <ErrorView dataType={name} error={errorDelete} />
      ) : (
        ''
      )}
      <h1 className="parts__title">Choose {name}</h1>
      <TableContainer className="parts__container">
        {filters}
@@ -93,7 +106,7 @@ export function PartTable<T extends SellablePart>({
                    <KeyboardArrowUpIcon />
                  ) : (
                    <KeyboardArrowDownIcon />
                  )}{' '}
                  )}
                </IconButton>
              </TableCell>
              <TableCell>
@@ -103,7 +116,7 @@ export function PartTable<T extends SellablePart>({
                    <KeyboardArrowUpIcon />
                  ) : (
                    <KeyboardArrowDownIcon />
                  )}{' '}
                  )}
                </IconButton>
              </TableCell>
              <TableCell></TableCell>
@@ -136,6 +149,7 @@ export function PartTable<T extends SellablePart>({
                  {admin ? (
                    <Button
                      variant="contained"
                      disabled={deleteLoading}
                      onClick={() => {
                        deletePart(oneRow.id);
                      }}
+2 −3
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ export function MemoryParts() {
  const setMemories = useSetRecoilState(memoriesAtom);
  const setMemoryFilters = useSetRecoilState(memoryFiltersAtom);
  const mem = ['memories'];
  const { deleteFn } = useDelete(mem, deleteMemoryApi);
  const deleteHook = useDelete(mem, deleteMemoryApi);
  useQuery({
    queryKey: mem,
    queryFn: async () =>
@@ -48,8 +48,7 @@ export function MemoryParts() {
      name="Memory"
      data={filteredMemories ?? []}
      addPart={addMemory}
      deletePart={deleteFn}
      deleteLoad={deleteLoad}
      {...deleteHook}
    />
  );
}
+2 −2
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ export function MotherBoardParts() {
  const setMotherboards = useSetRecoilState(motherboardsAtom);
  const setMotherboardFilters = useSetRecoilState(motherboardFiltersAtom);
  const query = ['motherboards'];
  const { deleteFn } = useDelete(query, deleteMotherboard);
  const deleteHook = useDelete(query, deleteMotherboard);

  useQuery({
    queryKey: query,
@@ -57,7 +57,7 @@ export function MotherBoardParts() {
      name="Motherboard"
      data={filteredMotherboards ?? []}
      addPart={addMotherboard}
      deletePart={deleteFn}
      {...deleteHook}
    />
  );
}
+2 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ export function ProcessorParts() {
  const setProcessors = useSetRecoilState(processorsAtom);
  const setProcessorFilters = useSetRecoilState(processorFiltersAtom);
  const query = ['processors'];
  const { deleteFn } = useDelete(query, deleteProcessor);
  const deleteHook = useDelete(query, deleteProcessor);
  useQuery({
    queryKey: query,
    queryFn: async () =>
@@ -44,7 +44,7 @@ export function ProcessorParts() {
      name="Processor"
      data={filteredProcessors ?? []}
      addPart={addProcesor}
      deletePart={deleteFn}
      {...deleteHook}
    />
  );
}
+2 −2
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ export function VideoCardParts() {
  const setVideoCards = useSetRecoilState(videoCardsAtom);
  const setVideoCardFilters = useSetRecoilState(videoCardFiltersAtom);
  const query = ['videoCards'];
  const { deleteFn } = useDelete(query, deleteVideoCards);
  const deleteHook = useDelete(query, deleteVideoCards);
  useQuery({
    queryKey: query,
    queryFn: async () => readManyVideoCards({}),
@@ -51,7 +51,7 @@ export function VideoCardParts() {
      name="Video Card"
      data={filteredVideoCards ?? []}
      addPart={addVideoCard}
      deletePart={deleteFn}
      {...deleteHook}
    />
  );
}