added generatedBy

This commit is contained in:
rgrgogu
2026-07-21 09:52:04 +08:00
parent 77e758c38b
commit ed500509eb
30 changed files with 156 additions and 14 deletions
@@ -2,6 +2,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { useAdminTask } from '@/contexts/AdminTaskContext';
import { useAuth } from '@/contexts/AuthContext';
import DataTable from '@/components/generic/Table/DataTable';
import { FilterSheet } from "@/components/generic/Sheet/FilterSheet";
@@ -31,11 +32,14 @@ import { buildToolbarActions } from '@/modules/admin/config/task_list/task/toolb
import { buildSelectionActions } from '@/modules/admin/config/task_list/task/selection.config';
import { buildRowActions } from '@/modules/admin/config/task_list/task/rowActions.config';
import { getTimestamp } from '@/utils/timestamp.util';
import { formatGeneratedBy } from '@/utils/generatedBy.util';
export default function Tasks() {
const navigate = useNavigate();
const { taskListId } = useParams();
const { user: currentUser } = useAuth();
const {
taskList, tasks, attributes, pagination, loading,
fetchTaskList, fetchTasks, fetchArchivedTasks,
@@ -94,7 +98,8 @@ export default function Tasks() {
attributes,
filename: `${getTimestamp()}_Tasks`,
sheetName: "Tasks",
}), [tasks, attributes]);
generatedBy: formatGeneratedBy(currentUser),
}), [tasks, attributes, currentUser]);
// ── Reorder — swaps this row with its neighbor in the currently displayed
// (unfiltered/default-sorted) list, then persists the new order_index set.
@@ -2,6 +2,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { useNavigate, useParams, useSearchParams } from 'react-router-dom';
import { useAdminTask } from '@/contexts/AdminTaskContext';
import { useAuth } from '@/contexts/AuthContext';
import { useDateFormat } from '@/hooks/useDateFormat';
import { Button } from '@/components/ui/button';
@@ -29,6 +30,7 @@ import {
import { formatDate } from '@/utils/table.util';
import { getTimestamp } from '@/utils/timestamp.util';
import { formatGeneratedBy } from '@/utils/generatedBy.util';
import { buildDataColumns, columnPinning } from '@/modules/admin/config/task_list/task_completion/columns.config';
import { buildToolbarActions } from '@/modules/admin/config/task_list/task_completion/toolbar.config';
@@ -179,6 +181,7 @@ export default function ViewTask() {
bulkArchiveCompletions, bulkRestoreCompletions,
} = useAdminTask();
const { fmtDateTime } = useDateFormat();
const { user: currentUser } = useAuth();
const [activeTab, setActiveTab] = useState(
searchParams.get('tab') === 'completions' ? 'completions' : 'overview'
@@ -256,7 +259,8 @@ export default function ViewTask() {
attributes: completionAttributes,
filename: `${getTimestamp()}_Completions`,
sheetName: 'Completions',
}), [completions, completionAttributes]);
generatedBy: formatGeneratedBy(currentUser),
}), [completions, completionAttributes, currentUser]);
const rowActions = buildCompletionRowActions({
navigate,
@@ -31,6 +31,7 @@ import { cn } from "@/lib/utils";
import { useUserGroups } from "@/contexts/AdminUserGroupContext";
import { useUsers } from "@/contexts/AdminUserContext";
import { useAuth } from "@/contexts/AuthContext";
import { useDateFormat } from "@/hooks/useDateFormat";
import { buildDataColumns, columnPinning } from "../../config/user_groups/view/columns.config";
@@ -39,6 +40,7 @@ import { buildSelectionActions } from "../../config/user_groups/view/selection.c
import { buildRowActions } from "../../config/user_groups/view/rowActions.config";
import { getTimestamp } from "@/utils/timestamp.util";
import { formatGeneratedBy } from "@/utils/generatedBy.util";
// ─── Invite Link Dialog ───────────────────────────────────────────────────────
function InviteLinkDialog({ open, onOpenChange, group }) {
@@ -288,6 +290,8 @@ export default function ViewGroup() {
const [assignTarget, setAssignTarget] = useState(null); // single row
const [assignIds, setAssignIds] = useState(null); // bulk ids[]
const { user: currentUser } = useAuth();
const {
group,
groups,
@@ -327,6 +331,7 @@ export default function ViewGroup() {
attributes: memberAttrs,
filename: `${getTimestamp()}_Group_${groupId}_Members`,
sheetName: "Members",
generatedBy: formatGeneratedBy(currentUser),
};
const rowActions = buildRowActions({