Files
supabase/apps/studio/components/interfaces/Home/ProjectList/ProjectCard.utils.ts
Joshen Lim dabfaa8972 Support for projects pagination part 1 (#38298)
* init

* Infinite scrolling pagination for projects in table view

* Infinite scrolling pagination for projects in cards view

* Shift searching projects to URL state + to server side

* Shift status filter to URL state

* opt to use local storage query for view moe

* update wildcard project route

* add created at value, and shift filter status to server side

* Nit

* final nit

* Address comments

* Fix

* Prettier

* Raise page limit to 96
2025-09-11 14:02:58 +08:00

54 lines
1.2 KiB
TypeScript

import { PROJECT_STATUS } from 'lib/constants'
export const inferProjectStatus = (projectStatus: string) => {
let status = undefined
switch (projectStatus) {
case PROJECT_STATUS.ACTIVE_HEALTHY:
status = 'isHealthy'
break
case PROJECT_STATUS.GOING_DOWN:
case PROJECT_STATUS.PAUSING:
status = 'isPausing'
break
case PROJECT_STATUS.INACTIVE:
status = 'isPaused'
break
case PROJECT_STATUS.PAUSE_FAILED:
status = 'isPauseFailed'
break
case PROJECT_STATUS.RESTARTING:
status = 'isRestarting'
break
case PROJECT_STATUS.RESIZING:
status = 'isResizing'
break
case PROJECT_STATUS.RESTORING:
status = 'isRestoring'
break
case PROJECT_STATUS.RESTORE_FAILED:
status = 'isRestoreFailed'
break
case PROJECT_STATUS.UPGRADING:
status = 'isUpgrading'
break
case PROJECT_STATUS.UNKNOWN:
case PROJECT_STATUS.COMING_UP:
status = 'isComingUp'
break
}
return status as InferredProjectStatus
}
export type InferredProjectStatus =
| 'isHealthy'
| 'isPausing'
| 'isPaused'
| 'isPauseFailed'
| 'isRestarting'
| 'isResizing'
| 'isRestoring'
| 'isRestoreFailed'
| 'isComingUp'
| 'isUpgrading'
| undefined