Admin tools: fix minor bugs

This commit is contained in:
yu-i-i
2026-09-22 02:41:39 +02:00
parent bb788215ba
commit da765c2092
11 changed files with 36 additions and 21 deletions
@@ -34,11 +34,13 @@ function DeleteProjectButton({ project, children }: DeleteProjectButtonProps) {
}, [isMounted])
const handleDeleteProject = useCallback(async () => {
await deleteProject(project.id)
toggleSelectedProject(project.id, false)
updateProjectViewData({
...project,
deleted: true,
return deleteProject(project.id).then(data => {
toggleSelectedProject(project.id, false)
updateProjectViewData({
...project,
...data,
deleted: true,
})
})
}, [project, toggleSelectedProject, updateProjectViewData])
@@ -35,7 +35,6 @@ function RestoreProjectButton({
}, [isMounted])
const handleRestoreProject = useCallback(() => {
// const ownerId = project.owner ?? getMeta('ol-user_id')
return undeleteProject(project.id, project.owner).then(data => {
toggleSelectedProject(project.id, false)
updateProjectViewData({
@@ -19,7 +19,7 @@ function ProjectListTableRow({ project, selected, filter }: ProjectListTableRowP
const ownerName = getUserNameById(project.owner)
const actorName = filter !== 'deleted' ?
getUserNameById(project.lastUpdatedBy) :
getUserNameById(project.deletedBy)
getUserNameById(project.deleterId)
const eventDate = filter !== 'deleted' ? project.lastUpdated : project.deletedAt
return (
@@ -28,11 +28,13 @@ function DeleteProjectsButton() {
}
const handleDeleteProject = async (project: Project) => {
await deleteProject(project.id)
toggleSelectedProject(project.id, false)
updateProjectViewData({
...project,
deleted: true,
return deleteProject(project.id).then(data => {
toggleSelectedProject(project.id, false)
updateProjectViewData({
...project,
...data,
deleted: true,
})
})
}
@@ -184,7 +184,7 @@ export function ProjectListProvider({ projectsOwnerId, children }: ProjectListPr
const loadMoreProjects = useCallback(() => {
setMaxVisibleProjects(v => v + loadMoreCount)
}, [maxVisibleProjects])
}, [loadMoreCount])
const [selectedProjectIds, setSelectedProjectIds] = useState(
() => new Set<string>()
@@ -213,9 +213,8 @@ export function ProjectListProvider({ projectsOwnerId, children }: ProjectListPr
return visibleProjects.filter(project => selectedProjectIds.has(project.id))
}, [selectedProjectIds, visibleProjects])
const selectOrUnselectAllProjects = useCallback(
(checked: any) => {
(checked: boolean) => {
setSelectedProjectIds(prevSelectedProjectIds => {
const selectedProjectIds = new Set(prevSelectedProjectIds)
for (const project of visibleProjects) {
@@ -20,7 +20,7 @@ export function getProjects(
}
export function deleteProject(projectId: string) {
return deleteJSON(`/project/${projectId}`)
return deleteJSON(`/admin/project/${projectId}`)
}
export function purgeProject(projectId: string) {
@@ -10,7 +10,6 @@ const order = (order: SortingOrder, projects: Project[]) => {
function cmp(a, b) {
const aEmpty = a == null || a === ""
const bEmpty = b == null || b === ""
if (aEmpty && bEmpty) return Compare.SORT_KEEP_ORDER
if (aEmpty) return Compare.SORT_A_AFTER_B
if (bEmpty) return Compare.SORT_A_BEFORE_B
return a.localeCompare(b)
@@ -57,7 +56,7 @@ export const defaultComparator = (
if (value1 !== value2) {
if (value1 === undefined) return Compare.SORT_A_BEFORE_B
if (value2 === undefined) return Compare.SORT_A_AFTER_B
return value1 < value2 ? Compare.SORT_A_BEFORE_B : Compare.SORT_A_AFTER_B
return value1.localeCompare(value2)
}
return Compare.SORT_KEEP_ORDER