This commit is contained in:
Marco Pedone 2026-05-06 09:42:34 +02:00
parent b9b9d302ac
commit 59dc00f048
3 changed files with 40 additions and 20 deletions

View file

@ -1,5 +1,6 @@
import { format } from "date-fns";
import { Check, SlidersHorizontal } from "lucide-react"
import { Check, SlidersHorizontal } from "lucide-react";
import { useState } from "react";
import toast from "react-hot-toast";
import { z } from "zod/v4";
@ -524,7 +525,7 @@ const FormServizio = ({
id="scadenza_motivazione_transitoria"
onChange={field.onChange}
placeholder={t.anagrafica.scegli_data}
value={field.value || new Date()}
value={field.value}
/>
)}
<FormDescription>

View file

@ -176,6 +176,7 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
const columns_titles = {
id: "ID Ordine",
created_at: "Creato il",
username: "Utente",
note: "Note",
decorrenza: "Decorrenza",
@ -184,7 +185,7 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
annunci: "Annunci",
ordini: "Ordini",
interruzione_expires_at: "Scad. interr.",
actions: "Azioni",
actions: "Apri",
};
const statusOptions = Object.entries(StatusMapping).map(([key, label]) => ({
label,
@ -219,12 +220,44 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
};
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",
cell: () => null,
enableHiding: false,
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",
@ -628,22 +661,6 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
),
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[] = [
@ -666,7 +683,7 @@ export const RichiesteTable = ({ data }: RichiesteTableProps) => {
columns={columns}
columns_titles={columns_titles}
data={tabledata}
defaultSort={[{ desc: true, id: "decorrenza" }]}
defaultSort={[{ desc: true, id: "created_at" }]}
onTableInit={(t) => (tableRef.current = t)}
pinnedFiltri={pinnedFiltri}
searchColumn={searchFiltro}

View file

@ -1139,6 +1139,7 @@ export const getCompatibileAnnunci = async ({
export type RichiesteData = Pick<
Servizio,
| "created_at"
| "servizio_id"
| "user_id"
| "isInterrotto"
@ -1180,6 +1181,7 @@ export const getRichieste = async (): Promise<RichiesteData[]> => {
.innerJoin("users", "users.id", "servizio.user_id")
.select([
"servizio.servizio_id",
"servizio.created_at",
"servizio.user_id",
"servizio.isInterrotto",
"servizio.isOkAcconto",