Commit graph

  • 4248f3d37f Suppliers: dark-mode contrast for monthly figures and coloured text; heading drawn in the view (React key warning) main David 2026-10-29 21:16:54 +0200
  • 56305fc599 Suppliers: double-click name to set terms; Edit mode gates deletes and invoice corrections David 2026-10-29 20:54:34 +0200
  • 642d23dd24 Suppliers: replace the menu entry with the new page, flag over-invoiced POs, audited invoice amount corrections David 2026-10-29 20:49:05 +0200
  • 5f86657849 Purchase invoices, Suppliers 2 with payments, multi-page PO parsing David 2026-10-29 20:29:08 +0200
  • cfd54385b3 Add Suppliers list; book purchase orders and petty-cash slips against it David 2026-10-22 15:43:57 +0200
  • 1ec52961ee Cash float card, Office role + Slips tab, job card PDF, manual close/delete David 2026-10-22 15:09:57 +0200
  • 82d34103d7 Clock app: search + scanner on one screen; employee on fuel; drop codeless vehicles David 2026-10-22 13:55:13 +0200
  • fd2d9262ae Load vehicle QR numbers from the client's sheet into the Plant Register David 2026-10-22 13:47:49 +0200
  • 8f3a74cf6e Job cards oil path, Fuel tab diesel-only, Mechanic role, Plant Register QR column David 2026-10-22 13:44:01 +0200
  • 96b55ea5b4 Job cards screen: drop the open-jobs list, add vehicle search fallback David 2026-10-22 12:58:31 +0200
  • c269cd00b4 Add Job Cards (vehicle-QR start/finish) and retire Operators/Mechanics pages David 2026-10-22 12:54:59 +0200
  • 29a035a4f2 Clock app: vehicle-QR diesel book-out with meter photo; user access levels David 2026-10-22 12:25:15 +0200
  • 1dc1472841 Make the clock app's oil & diesel screen scan-only David 2026-10-22 11:53:31 +0200
  • df53130861 Add Workforce pages, Plant Clock tab bar and oil & diesel book-out David 2026-10-22 11:39:18 +0200
  • e3754613c7 feat(clock): add standalone employee clock PWA Dave 2026-10-21 06:39:15 +0200
  • b0c70e9210 Stop the Running Costs grid at the current month David 2026-10-09 12:35:52 +0200
  • 4a76b08617 Running cost = everything linked to a vehicle: repairs, purchases, insurance, finance David 2026-10-09 12:28:29 +0200
  • aac440cfef Fold purchase orders into the Running Costs Overview, with incl/excl totals David 2026-10-09 12:10:13 +0200
  • f85b9378a2 Add Running Costs sub-pages: insurance, financing, purchases, oil, operators, mechanics David 2026-10-09 01:06:27 +0200
  • f7ce429c04 Re-link invoice lines whose target asset a seed replaced David 2026-10-09 00:52:52 +0200
  • b5f6c0e16b Attach the uploaded PDF to the invoice it creates David 2026-10-08 21:45:42 +0200
  • ab89113489 Test: a site typed without its space is deliberately NOT folded David 2026-10-08 19:06:30 +0200
  • 1b763ae99d Keep a site's invoice table consistent with its own totals David 2026-10-08 12:07:07 +0200
  • 80ca4788a2 Give external invoices a supplier name; keep them off the sites page David 2026-10-08 12:04:42 +0200
  • 6f66dff2a6 Split the invoice register into Internal and External Invoices David 2026-10-08 11:49:48 +0200
  • ad4ac9173b Invoices: one line per charge, and fold an abbreviated site David 2026-10-06 11:25:10 +0200
  • afa95a9389 Income: the tiles and the machine list were sharing the title's flex row David 2026-10-06 11:05:37 +0200
  • 6ae4e30284 Invoices: ship pdfjs-dist's worker into the standalone image David 2026-10-06 10:49:10 +0200
  • 2594dead84 feat: add user access and improve plant dashboard Dave 2026-10-06 04:02:08 +0200
  • 8d957a1f16 Dashboard: a Monthly profit chart, one dot per month David 2026-10-03 19:13:58 +0200
  • ea94754f02 Dashboard: income per site, one bar per site for a chosen month David 2026-10-03 19:09:17 +0200
  • def147bc73 Income: hide stood-down machines, with an active/inactive filter David 2026-10-03 18:40:32 +0200
  • 299c20ae57 Mobile: the top tiles overflowed on /income, hugged text on /sites, and repeated on invoices David 2026-10-03 16:45:23 +0200
  • aa1e75e399 Mobile: the menu button was indenting every page fix/mobile-menu-indent David 2026-10-03 16:08:04 +0200
  • fd2afeba4e Invoices: a machine chosen in the dropdown was never actually booked David 2026-10-03 15:43:46 +0200
  • 39633838e0 Plant: default the register's status filter to Active David 2026-10-03 09:59:11 +0200
  • 8423878b4f Invoices: fix the tablet layout and make booking an unbooked line obvious David 2026-10-03 09:59:05 +0200
  • 123484a8c4 AGENTS.md: record the rules the charts and the site cards now depend on David 2026-10-03 09:20:29 +0200
  • 649e495f49 Housekeeping: the surface token, and ignore the verification screenshots David 2026-10-03 09:20:24 +0200
  • 3cd3025116 Map: dark tiles from Esri, because CARTO retired keyless access David 2026-10-03 09:20:24 +0200
  • 813c187272 Sites: a card list that reads like the income screen David 2026-10-03 09:20:20 +0200
  • 681225e51d Charts: a profit line that changes colour, and a Series toggle David 2026-10-03 09:20:16 +0200
  • 876619c3ac Invoices: keep the PDF on the invoice, and search the invoice's own words David 2026-10-02 19:09:16 +0200
  • 5b9425873b Fix: toast and machine dropdown were rendering behind the page chrome David 2026-10-02 18:42:29 +0200
  • d471dc2d88 Invoices: make the machine picker searchable David 2026-10-02 18:37:54 +0200
  • 293276ccce Sites: auto-allocate container lines to the container the site hires David 2026-10-02 18:32:12 +0200
  • 802f471047 Sites: give every site coordinates David 2026-10-02 16:33:43 +0200
  • 4e3f1ac7d7 Mobile: make the Sites table fit 375px without losing the VAT split David 2026-10-02 16:28:07 +0200
  • 14ec899ca9 Sites: a real Sites list, with the unbooked lines bookable to a site David 2026-10-02 16:24:06 +0200
  • dc7024d98a Fix: the mobile table was mislabelled and clipping its own totals David 2026-10-02 15:34:19 +0200
  • 999feb37fa Mobile: make the invoice tables readable at 375px David 2026-10-02 15:29:00 +0200
  • 58c972c4c9 Invoices: a duplicate is a notice, not a broken invoice David 2026-10-02 14:59:08 +0200
  • b0b31ad830 Invoices: toast to the top, solid teal David 2026-10-02 14:50:48 +0200
  • fe4b1fc3dd Invoices: confirm a successful import with a toast David 2026-10-02 14:46:55 +0200
  • 10d257e592 Invoices: the dialog closes itself once an import succeeds David 2026-10-02 14:43:32 +0200
  • 9e6235af92 Invoices: Add Invoice becomes a real dialog; quieten the invoice table David 2026-10-02 14:35:27 +0200
  • 5caa923375 Invoices: the app ingests PDFs itself, with a problem-invoice inbox David 2026-10-02 14:30:17 +0200
  • 2712326dbf Invoices: add PHI 169 (Rooihuiskraal) David 2026-10-02 06:44:10 +0200
  • d7ccd7fa80 Invoices: add PHI 168 (Castle Gate) David 2026-10-02 06:37:54 +0200
  • 63016895b9 Plant Register: inline editing, active toggle and cascade-delete impact feature/invoice-booking David 2026-10-01 15:59:51 +0200
  • baf0bddde6 Invoices: line-item extraction, booking to plant items, VAT-inclusive income David 2026-10-01 15:59:30 +0200
  • 348395275a Add Umami analytics script to <head> Mega Plant 2026-09-13 19:00:52 +0200
  • 2f57a0c25f Brand logo: 3D cube/map icon replaces the M gradient mark Mega Plant 2026-09-12 12:12:30 +0200
  • 0516220110 Round 4: regressions fixed + mobile standard Mega Plant 2026-09-12 12:05:43 +0200
  • 7194e78079 Round 3 (Parts A-B): charts fixes + expenses/overheads cleanup Mega Plant 2026-09-12 11:24:18 +0200
  • b70fc8c5c7 Round 2 (Parts B-D): asset register restructure, type field, sequential codes, flat sortable table, cost_lines, removed synthetic code, fail loudly Mega Plant 2026-09-12 10:24:26 +0200
  • dfb52a45fe Ignore tsconfig.tsbuildinfo (regenerated by tsc) Mega Plant 2026-09-12 09:48:50 +0200
  • c863a88ae5 Auto-create synthetic assets for unmatched machines in seed; update open-questions report Mega Plant 2026-09-12 09:40:18 +0200
  • acf9d52e5f Mega Plant dashboard — fix & harden (Parts 0-5) Mega Plant 2026-09-12 09:35:35 +0200