feat: refactor overview button

This commit is contained in:
hamster1963
2024-12-06 22:55:13 +08:00
parent 1d9e59a9df
commit a3bbd7b2eb
10 changed files with 170 additions and 21 deletions

View File

@@ -0,0 +1,10 @@
import { createContext } from "react";
export interface FilterContextType {
filter: boolean;
setFilter: (filter: boolean) => void;
}
export const FilterContext = createContext<FilterContextType | undefined>(
undefined,
);

View File

@@ -0,0 +1,14 @@
"use client";
import { ReactNode, useState } from "react";
import { FilterContext } from "./filter-context";
export function FilterProvider({ children }: { children: ReactNode }) {
const [filter, setFilter] = useState<boolean>(false);
return (
<FilterContext.Provider value={{ filter, setFilter }}>
{children}
</FilterContext.Provider>
);
}

View File

@@ -0,0 +1,12 @@
import { createContext } from "react";
export type Status = "all" | "online" | "offline";
export interface StatusContextType {
status: Status;
setStatus: (status: Status) => void;
}
export const StatusContext = createContext<StatusContextType | undefined>(
undefined,
);

View File

@@ -0,0 +1,14 @@
"use client";
import { ReactNode, useState } from "react";
import { Status, StatusContext } from "./status-context";
export function StatusProvider({ children }: { children: ReactNode }) {
const [status, setStatus] = useState<Status>("all");
return (
<StatusContext.Provider value={{ status, setStatus }}>
{children}
</StatusContext.Provider>
);
}