Duffer Derek

Current Path : /var/www/sitesecurity.bitkit.dk/httpdocs/src/contexts/
Upload File :
Current File : /var/www/sitesecurity.bitkit.dk/httpdocs/src/contexts/FleetDeviceBreadcrumbContext.tsx

"use client";

import React, { createContext, useContext, useState, useMemo, type ReactNode } from "react";

export type FleetDeviceBreadcrumbData = {
  groupTitle: string;
  deviceNumber: string;
};

type FleetDeviceBreadcrumbContextValue = {
  fleetDeviceBreadcrumb: FleetDeviceBreadcrumbData | null;
  setFleetDeviceBreadcrumb: (value: FleetDeviceBreadcrumbData | null) => void;
};

const FleetDeviceBreadcrumbContext = createContext<FleetDeviceBreadcrumbContextValue | undefined>(
  undefined
);

export function FleetDeviceBreadcrumbProvider({ children }: { children: ReactNode }) {
  const [fleetDeviceBreadcrumb, setFleetDeviceBreadcrumb] = useState<FleetDeviceBreadcrumbData | null>(
    null
  );

  const value = useMemo(
    () => ({ fleetDeviceBreadcrumb, setFleetDeviceBreadcrumb }),
    [fleetDeviceBreadcrumb]
  );

  return (
    <FleetDeviceBreadcrumbContext.Provider value={value}>{children}</FleetDeviceBreadcrumbContext.Provider>
  );
}

export function useFleetDeviceBreadcrumb() {
  const ctx = useContext(FleetDeviceBreadcrumbContext);
  if (ctx === undefined) {
    throw new Error("useFleetDeviceBreadcrumb must be used within FleetDeviceBreadcrumbProvider");
  }
  return ctx;
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists