feat: sort provider

This commit is contained in:
hamster1963
2024-12-15 22:10:34 +08:00
parent 9551d46800
commit 6e9f1f11af
5 changed files with 100 additions and 45 deletions

View File

@@ -0,0 +1,27 @@
import { createContext } from "react"
export type SortType = "default" | "cpu" | "mem" | "up" | "down" | "up total" | "down total"
export const SORT_TYPES: SortType[] = [
"default",
"cpu",
"mem",
"up",
"down",
"up total",
"down total",
]
export type SortOrder = "asc" | "desc"
export const SORT_ORDERS: SortOrder[] = [ "desc","asc"]
export interface SortContextType {
sortType: SortType
sortOrder: SortOrder
setSortType: (sortType: SortType) => void
setSortOrder: (sortOrder: SortOrder) => void
}
export const SortContext = createContext<SortContextType | undefined>(undefined)

View File

@@ -0,0 +1,14 @@
import { ReactNode, useState } from "react"
import { SortContext, SortOrder, SortType } from "./sort-context"
export function SortProvider({ children }: { children: ReactNode }) {
const [sortType, setSortType] = useState<SortType>("default")
const [sortOrder, setSortOrder] = useState<SortOrder>("desc")
return (
<SortContext.Provider value={{ sortType, setSortType, sortOrder, setSortOrder }}>
{children}
</SortContext.Provider>
)
}