mirror of
https://github.com/Buriburizaem0n/nezha-dash-v1.git
synced 2026-02-04 12:40:10 +00:00
feat: sort provider
This commit is contained in:
27
src/context/sort-context.ts
Normal file
27
src/context/sort-context.ts
Normal 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)
|
||||
14
src/context/sort-provider.tsx
Normal file
14
src/context/sort-provider.tsx
Normal 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>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user