ok
This commit is contained in:
parent
b9b9d302ac
commit
59dc00f048
3 changed files with 40 additions and 20 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
import { format } from "date-fns";
|
import { format } from "date-fns";
|
||||||
import { Check, SlidersHorizontal } from "lucide-react"
|
import { Check, SlidersHorizontal } from "lucide-react";
|
||||||
|
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import toast from "react-hot-toast";
|
import toast from "react-hot-toast";
|
||||||
import { z } from "zod/v4";
|
import { z } from "zod/v4";
|
||||||
|
|
@ -524,7 +525,7 @@ const FormServizio = ({
|
||||||
id="scadenza_motivazione_transitoria"
|
id="scadenza_motivazione_transitoria"
|
||||||
onChange={field.onChange}
|
onChange={field.onChange}
|
||||||
placeholder={t.anagrafica.scegli_data}
|
placeholder={t.anagrafica.scegli_data}
|
||||||
value={field.value || new Date()}
|
value={field.value}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
<FormDescription>
|
<FormDescription>
|
||||||
|
|
|
||||||
|
|
@ -176,6 +176,7 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
|
||||||
|
|
||||||
const columns_titles = {
|
const columns_titles = {
|
||||||
id: "ID Ordine",
|
id: "ID Ordine",
|
||||||
|
created_at: "Creato il",
|
||||||
username: "Utente",
|
username: "Utente",
|
||||||
note: "Note",
|
note: "Note",
|
||||||
decorrenza: "Decorrenza",
|
decorrenza: "Decorrenza",
|
||||||
|
|
@ -184,7 +185,7 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
|
||||||
annunci: "Annunci",
|
annunci: "Annunci",
|
||||||
ordini: "Ordini",
|
ordini: "Ordini",
|
||||||
interruzione_expires_at: "Scad. interr.",
|
interruzione_expires_at: "Scad. interr.",
|
||||||
actions: "Azioni",
|
actions: "Apri",
|
||||||
};
|
};
|
||||||
const statusOptions = Object.entries(StatusMapping).map(([key, label]) => ({
|
const statusOptions = Object.entries(StatusMapping).map(([key, label]) => ({
|
||||||
label,
|
label,
|
||||||
|
|
@ -219,12 +220,44 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
const columns: ColumnDef<Column>[] = [
|
const columns: ColumnDef<Column>[] = [
|
||||||
|
{
|
||||||
|
cell: ({ row }) => {
|
||||||
|
return (
|
||||||
|
<Link
|
||||||
|
href={`/area-riservata/admin/user-view/servizio/${row.original.user_id}/${row.original.servizio_id}`}
|
||||||
|
target="_blank"
|
||||||
|
>
|
||||||
|
<Button aria-label="Apri servizio" size="sm" variant="outline">
|
||||||
|
<ExternalLink className="size-5" />
|
||||||
|
</Button>
|
||||||
|
</Link>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
header: ({ column }) => (
|
||||||
|
<DataTableColumnHeader column={column} title={columns_titles.actions} />
|
||||||
|
),
|
||||||
|
enableHiding: false,
|
||||||
|
id: "actions",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "id",
|
accessorKey: "id",
|
||||||
cell: () => null,
|
cell: () => null,
|
||||||
enableHiding: false,
|
enableHiding: false,
|
||||||
header: () => null,
|
header: () => null,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
accessorKey: "created_at",
|
||||||
|
sortingFn: "datetime",
|
||||||
|
cell: ({ row }) => {
|
||||||
|
return <p>{format(row.original.created_at, "dd/MM")}</p>;
|
||||||
|
},
|
||||||
|
header: ({ column }) => (
|
||||||
|
<DataTableColumnHeader
|
||||||
|
column={column}
|
||||||
|
title={columns_titles.created_at}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
accessorKey: "username",
|
accessorKey: "username",
|
||||||
|
|
@ -628,22 +661,6 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
|
||||||
),
|
),
|
||||||
enableSorting: false,
|
enableSorting: false,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
cell: ({ row }) => {
|
|
||||||
return (
|
|
||||||
<Link
|
|
||||||
href={`/area-riservata/admin/user-view/servizio/${row.original.user_id}/${row.original.servizio_id}`}
|
|
||||||
target="_blank"
|
|
||||||
>
|
|
||||||
<Button aria-label="Apri servizio" size="sm" variant="outline">
|
|
||||||
<ExternalLink className="size-5" />
|
|
||||||
</Button>
|
|
||||||
</Link>
|
|
||||||
);
|
|
||||||
},
|
|
||||||
enableHiding: false,
|
|
||||||
id: "actions",
|
|
||||||
},
|
|
||||||
];
|
];
|
||||||
|
|
||||||
const pinnedFiltri: PinnedFiltro[] = [
|
const pinnedFiltri: PinnedFiltro[] = [
|
||||||
|
|
@ -666,7 +683,7 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
|
||||||
columns={columns}
|
columns={columns}
|
||||||
columns_titles={columns_titles}
|
columns_titles={columns_titles}
|
||||||
data={tabledata}
|
data={tabledata}
|
||||||
defaultSort={[{ desc: true, id: "decorrenza" }]}
|
defaultSort={[{ desc: true, id: "created_at" }]}
|
||||||
onTableInit={(t) => (tableRef.current = t)}
|
onTableInit={(t) => (tableRef.current = t)}
|
||||||
pinnedFiltri={pinnedFiltri}
|
pinnedFiltri={pinnedFiltri}
|
||||||
searchColumn={searchFiltro}
|
searchColumn={searchFiltro}
|
||||||
|
|
|
||||||
|
|
@ -1139,6 +1139,7 @@ export const getCompatibileAnnunci = async ({
|
||||||
|
|
||||||
export type RichiesteData = Pick<
|
export type RichiesteData = Pick<
|
||||||
Servizio,
|
Servizio,
|
||||||
|
| "created_at"
|
||||||
| "servizio_id"
|
| "servizio_id"
|
||||||
| "user_id"
|
| "user_id"
|
||||||
| "isInterrotto"
|
| "isInterrotto"
|
||||||
|
|
@ -1180,6 +1181,7 @@ export const getRichieste = async (): Promise<RichiesteData[]> => {
|
||||||
.innerJoin("users", "users.id", "servizio.user_id")
|
.innerJoin("users", "users.id", "servizio.user_id")
|
||||||
.select([
|
.select([
|
||||||
"servizio.servizio_id",
|
"servizio.servizio_id",
|
||||||
|
"servizio.created_at",
|
||||||
"servizio.user_id",
|
"servizio.user_id",
|
||||||
"servizio.isInterrotto",
|
"servizio.isInterrotto",
|
||||||
"servizio.isOkAcconto",
|
"servizio.isOkAcconto",
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue