firegex/frontend
Domingo Dirutigliano 72b3386d3e
Fix drag-and-drop reordering of firewall rules
Three separate defects made the rule list impossible to reorder:

- The Card's own `style` was placed after `{...provided.draggableProps}`,
  clobbering the `position`/`transform` dnd sets while dragging. The drag
  did start, but nothing moved on screen. Styles are now merged with dnd's
  winning, and the dragged card is highlighted.
- `Draggable index` used the position in the full `state` array and the
  rules of the other table were filtered out afterwards, leaving gaps.
  dnd requires contiguous indexes from 0 inside a Droppable, so a single
  rule in the other table broke the visible tab entirely. Visible rules
  are now re-indexed and mapped back to their `state` position on drop.
- `destination?.index || 0` reordered to the top instead of doing nothing
  when a rule was dropped outside the list.
2026-09-03 10:22:19 +02:00
..
public add: frontend update 2024-10-13 01:50:52 +02:00
src Fix drag-and-drop reordering of firewall rules 2026-09-03 10:22:19 +02:00
.env.demo Publish a browsable demo on GitHub Pages 2026-09-03 09:36:37 +02:00
bun.lock integrated and refactore docs + minor changes 2026-07-23 16:53:09 +02:00
index.html mantine update + passed to vite 2023-06-05 00:57:54 +02:00
package.json Publish a browsable demo on GitHub Pages 2026-09-03 09:36:37 +02:00
README.md docs: update 2023-10-01 02:21:07 +02:00
tsconfig.json mantine update 2026-06-21 11:49:53 +02:00
vite.config.ts integrated and refactore docs + minor changes 2026-07-23 16:53:09 +02:00

Firegex Frontend

Firegex Frontend

The frontend of firegex is written using vite. The routing of the pages is managed by react-router 6 and the graphics is mainly managed by the framework Mantine and icons provided by React Icons. The style of the page is written with sass.

The page is auto-updated by a global timeout and also thanks to socket.io that raise an event triggering all parts of the app that requires fetch updated data from the backend, the update of these data.

GO BACK