@@ -2,24 +2,24 @@ import React, { createContext, useCallback, useContext, useReducer } from "react
22
33import { Image , OrderBy } from "database"
44
5- export const OrderField = {
6- newest : "createdAt " ,
7- oldest : "createdAt " ,
8- nameAsc : "name " ,
9- nameDesc : "name " ,
5+ export const OrderByField = {
6+ newest : "newest " ,
7+ oldest : "oldest " ,
8+ nameAsc : "name_asc " ,
9+ nameDesc : "name_desc " ,
1010}
1111
1212export type FileManagerState = {
1313 selectedFiles : Image [ ]
1414 search : string
15- orderBy : OrderBy
16- order : ( typeof OrderField ) [ keyof typeof OrderField ]
15+ order : ( typeof OrderByField ) [ keyof typeof OrderByField ]
16+ total : number
1717}
1818export type FileManagerContextType = FileManagerState & {
1919 setSelectedFiles : ( files : Image [ ] ) => void
2020 setSearch : ( search : string ) => void
21- setOrder : ( order : "asc" | "desc" ) => void
22- setOrderBy : ( orderBy : string ) => void
21+ setOrder : ( order : ( typeof OrderByField ) [ keyof typeof OrderByField ] ) => void
22+ setTotal : ( total : number ) => void
2323}
2424
2525const FileManagerContext = createContext < FileManagerContextType | null > ( null )
@@ -33,7 +33,7 @@ export const useFileManager = () => {
3333}
3434
3535type FileManagerAction = {
36- type : "SET_SELECTED_FILES" | "SET_SEARCH" | "SET_ORDER" | "SET_ORDER_BY "
36+ type : "SET_SELECTED_FILES" | "SET_SEARCH" | "SET_ORDER" | "SET_TOTAL "
3737 payload : any
3838}
3939
@@ -45,8 +45,8 @@ function fileManagerReducer(state: FileManagerState, action: FileManagerAction):
4545 return { ...state , search : action . payload }
4646 case "SET_ORDER" :
4747 return { ...state , order : action . payload }
48- case "SET_ORDER_BY " :
49- return { ...state , orderBy : action . payload }
48+ case "SET_TOTAL " :
49+ return { ...state , total : action . payload }
5050 default :
5151 return state
5252 }
@@ -56,8 +56,8 @@ const FileManagerContainer = ({ children }: { children: React.ReactNode }) => {
5656 const [ state , dispatch ] = useReducer ( fileManagerReducer , {
5757 selectedFiles : [ ] ,
5858 search : "" ,
59- order : OrderField . newest ,
60- orderBy : "asc" ,
59+ order : OrderByField . newest ,
60+ total : 0 ,
6161 } )
6262
6363 const setSelectedFiles = useCallback ( ( files : Image [ ] ) => {
@@ -72,8 +72,8 @@ const FileManagerContainer = ({ children }: { children: React.ReactNode }) => {
7272 dispatch ( { type : "SET_ORDER" , payload : order } )
7373 } , [ ] )
7474
75- const setOrderBy = useCallback ( ( orderBy : string ) => {
76- dispatch ( { type : "SET_ORDER_BY " , payload : orderBy } )
75+ const setTotal = useCallback ( ( total : number ) => {
76+ dispatch ( { type : "SET_TOTAL " , payload : total } )
7777 } , [ ] )
7878
7979 return (
@@ -83,7 +83,7 @@ const FileManagerContainer = ({ children }: { children: React.ReactNode }) => {
8383 setSelectedFiles,
8484 setSearch,
8585 setOrder,
86- setOrderBy ,
86+ setTotal ,
8787 } }
8888 >
8989 { children }
0 commit comments