import { create } from "zustand";
import { devtools } from "zustand/middleware";

interface ServiceState {
  isDown: boolean;
  downSince: string | null;
  setDown: (down: boolean) => void;
}

export const useServiceStore = create<ServiceState>()(
  devtools(
    (set) => ({
      isDown: false,
      downSince: null,

      setDown: (down) =>
        set(
          {
            isDown: down,
            downSince: down ? new Date().toISOString() : null,
          },
          false,
          "service/setDown"
        ),
    }),
    { name: "ServiceStore" }
  )
);
