Cleanup table view and add title to table

This commit is contained in:
Stedoss
2026-07-27 23:45:04 +01:00
parent 3dbf003078
commit 8fd9d401b1
2 changed files with 15 additions and 5 deletions
@@ -1,4 +1,5 @@
import { import {
ActionIcon,
Alert, Alert,
Button, Button,
Group, Group,
@@ -16,7 +17,6 @@ import {
import { DateTimePicker } from '@mantine/dates'; import { DateTimePicker } from '@mantine/dates';
import { useForm } from '@mantine/form'; import { useForm } from '@mantine/form';
import { notifications } from '@mantine/notifications'; import { notifications } from '@mantine/notifications';
import { IconPlus } from '@tabler/icons-react';
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
import { createFileRoute } from '@tanstack/react-router'; import { createFileRoute } from '@tanstack/react-router';
import { useState } from 'react'; import { useState } from 'react';
@@ -28,6 +28,8 @@ import {
import { createMission, listMissions, type Mission } from '../api/missions'; import { createMission, listMissions, type Mission } from '../api/missions';
import { MissionLaunchStatusBadge } from '../components/MissionLaunchStatusBadge'; import { MissionLaunchStatusBadge } from '../components/MissionLaunchStatusBadge';
import { MissionStatusBadge } from '../components/MissionStatusBadge'; import { MissionStatusBadge } from '../components/MissionStatusBadge';
import { IconChevronDown, IconChevronRight } from '@tabler/icons-react';
import { toReadableDateTime } from '../utils/dateUtils';
export const Route = createFileRoute('/missions')({ export const Route = createFileRoute('/missions')({
component: MissionsPage, component: MissionsPage,
@@ -227,9 +229,9 @@ function MissionsTableRow({ mission }: { mission: Mission }) {
<> <>
<Table.Tr key={mission.id}> <Table.Tr key={mission.id}>
<Table.Td> <Table.Td>
<Button onClick={() => setExpanded((expanded) => !expanded)}> <ActionIcon onClick={() => setExpanded((expanded) => !expanded)}>
a {expanded ? <IconChevronDown /> : <IconChevronRight />}
</Button> </ActionIcon>
</Table.Td> </Table.Td>
<Table.Td>{mission.name}</Table.Td> <Table.Td>{mission.name}</Table.Td>
<Table.Td> <Table.Td>
@@ -245,6 +247,9 @@ function MissionsTableRow({ mission }: { mission: Mission }) {
<> <>
<Table.Tr> <Table.Tr>
<Table.Td colSpan={12}> <Table.Td colSpan={12}>
<h3>
Launches
</h3>
<Table> <Table>
<Table.Thead> <Table.Thead>
<Table.Tr> <Table.Tr>
@@ -255,7 +260,7 @@ function MissionsTableRow({ mission }: { mission: Mission }) {
<Table.Tbody> <Table.Tbody>
{mission.missionLaunches.map((missionLaunch) => ( {mission.missionLaunches.map((missionLaunch) => (
<Table.Tr> <Table.Tr>
<Table.Td>{missionLaunch.scheduledFor}</Table.Td> <Table.Td>{toReadableDateTime(missionLaunch.scheduledFor)}</Table.Td>
<Table.Td> <Table.Td>
<MissionLaunchStatusBadge <MissionLaunchStatusBadge
status={missionLaunch.status} status={missionLaunch.status}
@@ -0,0 +1,5 @@
export function toReadableDateTime(dateTime: string) {
const date = new Date(dateTime);
return date.toLocaleString();
}