diff --git a/src/client/components/AnnouncementTable.tsx b/src/client/components/AnnouncementTable.tsx index 13a17b4..b8fa1fe 100644 --- a/src/client/components/AnnouncementTable.tsx +++ b/src/client/components/AnnouncementTable.tsx @@ -23,6 +23,7 @@ export function AnnouncementTable({ + Title Text diff --git a/src/client/components/AnnouncementTableRow.tsx b/src/client/components/AnnouncementTableRow.tsx index fef33f0..5e20e40 100644 --- a/src/client/components/AnnouncementTableRow.tsx +++ b/src/client/components/AnnouncementTableRow.tsx @@ -1,6 +1,16 @@ import DeleteIcon from "@mui/icons-material/Delete"; -import { IconButton, TableCell, TableRow } from "@mui/material"; +import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown"; +import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp"; +import { + Collapse, + IconButton, + TableCell, + TableRow, + Typography, +} from "@mui/material"; +import { Box } from "@mui/system"; import type { Announcement } from "../services"; +import { useBoolean } from "./use-boolean"; export interface AnnouncementTableRowProps { announcement: Announcement; @@ -11,20 +21,41 @@ export function AnnouncementTableRow({ openDeleteConfirmation, announcement, }: AnnouncementTableRowProps) { + const [isOpen, { toggle }] = useBoolean(); return ( - - {announcement.id} - {announcement.title} - - {announcement.text.substring(0, 50) + - (announcement.text.length > 50 ? "..." : "")} - - {announcement.publication_date.toString()} - - openDeleteConfirmation(announcement)}> - - - - + <> + + + + {isOpen ? : } + + + {announcement.id} + {announcement.title} + + {announcement.text.substring(0, 50) + + (announcement.text.length > 50 ? "..." : "")} + + {announcement.publication_date.toString()} + + openDeleteConfirmation(announcement)}> + + + + + + + + + Image: + {`${announcement.title}`} + + + + + ); } diff --git a/src/server/main.ts b/src/server/main.ts index d43d52e..1e609cc 100644 --- a/src/server/main.ts +++ b/src/server/main.ts @@ -76,6 +76,8 @@ app.delete("/api/announcements/:announcementId", async (req, res) => { res.status(204).send(); }); +app.use("/images", express.static(baseUploadsFolder)); + ViteExpress.listen(app, 3000, () => console.log("Server is listening on port 3000..."), );