style(ui): reduce initial dashboard gaps and flatten discovery rows

This commit is contained in:
cesnimda
2026-11-04 01:58:30 +01:00
parent df0ef68cd9
commit a7d726738b
88 changed files with 1748 additions and 20 deletions
@@ -0,0 +1,431 @@
{
"runtimeCommit": "fa6bd5d98ea121d4d91dbae214bcd826806377ed",
"policy": "Runtime/export identities reused from independently verified public receipt09904ecc. Dashboard baseline measured before default-height change; no later offer/default/discovery edits built.",
"sources": {
"job-tracker-ui/src/App.test.tsx": "f3b39f696867c1027df473821005be312205ff9a9d6a4183882227efa1190fa9",
"job-tracker-ui/src/App.tsx": "651227b873a95a02b345bf7cb52c0cd197b14731af8bb6774842a375d24cc966",
"job-tracker-ui/src/ClientApp.tsx": "51ac4ff04829b60caf6fdfb597ee8943e378bece9222b38ce67e1d99f01be10c",
"job-tracker-ui/src/LandingPage.authRedirect.test.tsx": "3aac7d0b9fa8606765cf657d0d850d448c6bec8ef8e4fa39eebd3c25bb326bf6",
"job-tracker-ui/src/ThemeProvider.tsx": "1d25fd091ca632f7671e413db24e917d4ca4a375fddade0ca1ff397a8ae9f950",
"job-tracker-ui/src/a3-navigation.test.tsx": "942c3adc70bc2108c8fb75ea871239254751556ae3d1222f2c63bf836f7616f6",
"job-tracker-ui/src/a3-theme-contract.test.ts": "039382d49d84f84df81d583079f217a21ca0be4b9c90c82f2da744998fbfe73d",
"job-tracker-ui/src/account-data-export.test.tsx": "05e55a62459d7c2c4d04d110e411b25a53786460b13d375bf50b482699e154e5",
"job-tracker-ui/src/account-providers.test.tsx": "fbb7748829fe01fa33e977a0c77bd8bc5b850a33fb43866a37c81962c090c664",
"job-tracker-ui/src/account-scoped-state.test.tsx": "f9dcc4d75a0dbac01fd622f7552fa37e5a96c1daa0cba50eedcfaa2d04761a01",
"job-tracker-ui/src/account-security-flows.test.tsx": "8ff99509f50342fbb8ada67ec5f646404ac60773f2d72c84b772aca063c7cc8b",
"job-tracker-ui/src/account-security-presentation.test.tsx": "12f8fc05eea372c6b1b7d60907f14845a23dcf79b7f44848ad04eb80ae5a0d35",
"job-tracker-ui/src/accountPlan.tsx": "37e21dd83f277a18f1b593f2c379846ed0517e78f069a34a9e23549a88ae0511",
"job-tracker-ui/src/admin-audit-page.test.tsx": "45f2a6274f465aa0c2b805d1ef163cee920b806827b2f3199ef7f89d76b1de3f",
"job-tracker-ui/src/admin-processing-page.test.tsx": "e6cb36eaa4d1a245f4f3ec1cad59395aed458cf5d655bf326e48d93aa0637391",
"job-tracker-ui/src/admin-system-page.test.tsx": "794fc020315dad975453102001b8d2e405dc289f020d5b817c4dc4d7c970a60c",
"job-tracker-ui/src/admin-users-page.test.tsx": "af86966ae40f05115b38bd592ba6f43f6f78c7cdfda14eaa7189c2fded893eeb",
"job-tracker-ui/src/ai-privacy-settings.test.tsx": "d5806b1890513aa42cdbe39e1e6d3fea8966c08289745f01ab2d69e69a6aa378",
"job-tracker-ui/src/ai-section-assistant.test.tsx": "bcf642a670c5b2741ba8dd46fbf1b1f231c4801b4f1c8bebec6eab6dabd31396",
"job-tracker-ui/src/ai-usage-card.test.tsx": "b894953ab331341c0920aa71b667eb7c30659da95744cafcbbf825f35eef7d02",
"job-tracker-ui/src/aiWorkspace.ts": "d2ebe2565a01af05f786e35d25cd36a0a3b8135921c140b319e2c000256f9322",
"job-tracker-ui/src/analytics-presentation.test.tsx": "9f5d37200f780f972a80970f886957bb11e2f49e4d7b87b1b6dc05a066b3e049",
"job-tracker-ui/src/api-error-localisation.test.ts": "7d0ebc8a171c21506e0f941ec2b3e3e93daf1437c1dc67f987e56869c9106d46",
"job-tracker-ui/src/api.ts": "f75ac7be07a743396843ddad5fd3371e2d5fd3d9c5d933e09e26fae2159f2378",
"job-tracker-ui/src/app-shell-navigation.test.tsx": "69876c7ad9ae5be695a830f7328c63b7c4fe42fbec9ec18c1dceefc7b01d5aa5",
"job-tracker-ui/src/app-shell-notifications.test.tsx": "d35c49270169df7210bf291883f6a5faf1aa36944eaa3af3d7c9965d84521b00",
"job-tracker-ui/src/application-assets.test.tsx": "d07f22661d8efbd65dbf4e92aa9722d6159438e6b354ed0c3c4a41c6d55b43ac",
"job-tracker-ui/src/application-calendar.test.tsx": "d82d87ccd456ada0797fa32e1d437224cae1edf62e40c05e1cb87f233a0eb40e",
"job-tracker-ui/src/application-checklist.test.tsx": "f214590032840e98aeddbd75974de85fee5444b723e0a6da69a903308c4f5847",
"job-tracker-ui/src/application-drafts.test.ts": "f702cac59903ee4110d4af448c3f00e4582a568ee9eb1ecfaf7adebc8965cfc3",
"job-tracker-ui/src/application-intelligence.test.tsx": "b0bc623e5ce4ae0192fd0264091d9ea2a5305fd037064a9cd9f5ce61b7d7758e",
"job-tracker-ui/src/application-route-contracts.test.ts": "67b56fd2832cd8b40b77262a40cc2c81d42b30dd41c5280ee26171fac2418423",
"job-tracker-ui/src/application-workflow-assist.test.tsx": "11a1d057ad2ba652da12f0c6529b8a9b7b5bdbf9cdd52799fbbbd524bc5c8e33",
"job-tracker-ui/src/application-workspace-overlay.test.tsx": "86ec993ae4e0c2f96eec71e2797502247f4e5335cf6f39001e881d0c44991152",
"job-tracker-ui/src/applicationDrafts.ts": "fec1146d10fc8feff66e4f0fee76429ee597545be7006e060916d62fe387b9f2",
"job-tracker-ui/src/applicationWorkspace.test.ts": "bd068a208d40f782f66f77e6196378f4fa2a5be6f0eacd71e4f6271276e89362",
"job-tracker-ui/src/applicationWorkspace.ts": "3b00a4fe16159bdb9603eeb37bfdf5e5eb9a87d7815227fa3aa2f0da6e4f232c",
"job-tracker-ui/src/assets/JobbjaktMark.tsx": "4a9f2ccaf87a8a488e3750d227010a495a480b89837032e9b87cb04adee45d95",
"job-tracker-ui/src/attachments.test.tsx": "89bb3e277ae7be652073eec6d3b6188bcbeaea8b29b07478ff5b21654be8e7c1",
"job-tracker-ui/src/auth.ts": "1cbdd59f73c5a961613b2569679f96630cded407974876a4ca8abccf28780b0e",
"job-tracker-ui/src/backup-lifetime.test.tsx": "e67d22d13a5edaedc29d57e3afc36614cdf4844d510d1ecd661d5254d39e2ca3",
"job-tracker-ui/src/build-metadata-localisation.test.tsx": "065c5550a18f7b3c7dca9bbb26c5564a53a53eaf389e7c9695596fcbb2c06f6e",
"job-tracker-ui/src/calendar-agenda.test.tsx": "38a8345d1ccd4200c1759e179dd680644155244c0f6dac9ea48f8179f6b384db",
"job-tracker-ui/src/captureUrl.test.ts": "949261f9e4929e70d4d0e1ef1cbeada58d23fe6241e77572d97b35b51094b7ad",
"job-tracker-ui/src/captureUrl.ts": "3fe1b5fbed55ab3035bbeac3c3a9c5b7fb87a92aed66955b179f979e35128a13",
"job-tracker-ui/src/career-completeness-labels.test.ts": "c1fa2781449ddc4f6bcaed5f89900a7af925227e134b19cb5ce4ff5173a7aaae",
"job-tracker-ui/src/career-editor.test.tsx": "9c296fbf5d5871184869058e405fbc5a2f7467cbf2302baebef979bb41acef6b",
"job-tracker-ui/src/career-evidence.test.tsx": "28df09fbd3bafa1a53b098c72c1ee6aeeccc83498bd2a7aa8b22a7380268e585",
"job-tracker-ui/src/career-history-view.test.tsx": "dfed6b3ccce38aba1492bc39bd94b1427ed307ea3ef1221f34095d8441e2cb59",
"job-tracker-ui/src/career-import-review.test.tsx": "23460ed154dd9a90bfa364c18326fb3d196ca281f12aae66d4aec97a37c05374",
"job-tracker-ui/src/career-workspace-page.test.tsx": "3d232575525624246cf056d6d357cdb9c27a334ecc198046e2581f09873dbd99",
"job-tracker-ui/src/checklist-translation-token.test.ts": "54d5f49c6200fcca8877f2981b70dddeae37f1feb861a97637f07aeb5c9f3fa2",
"job-tracker-ui/src/companies-relationship.test.tsx": "4a4e1b4315ee73e01dd64c4032e5dd78245e0f0ec27e40359e1dcac32d3cb470",
"job-tracker-ui/src/components/AddJobModal.tsx": "97ec677ba82022349f77d52ccfb06735ab689dcbd33e93a669164fc9bb2aa1db",
"job-tracker-ui/src/components/AiPrivacySettingsCard.tsx": "fe4cb91623c1fe2749772e6d13a58d198891d666c4a9c6b2eca10494d1a97125",
"job-tracker-ui/src/components/AiUsageCard.tsx": "d7386337609d54cbe10916100ee443168870bdc00fc0974a66cca48b4975e91d",
"job-tracker-ui/src/components/ApplicationAssets.tsx": "95465d9a881af97e55ad6f74ff283f81c452c645cc37ff28e7212ea7a32e9d57",
"job-tracker-ui/src/components/ApplicationCalendarActions.tsx": "e0f60554a36e049a34fa4fc1b93450eb61cc40abd6d061467426dbb1127c07a8",
"job-tracker-ui/src/components/ApplicationChecklist.tsx": "0f198e90559b30952cbf7d0f4973211e3fbffcbb183e9e4b4f2ee2e2a9d02f56",
"job-tracker-ui/src/components/ApplicationIntelligence.tsx": "90540576dba4d705ed9234df7091f2b725500d4301287ba151a520956c03f073",
"job-tracker-ui/src/components/ApplicationWorkflowAssist.tsx": "daee742a2d50ca588df8abe7f41e348f871c8a94c6da83eeb646343c84686f0a",
"job-tracker-ui/src/components/Attachment.tsx": "c1a85ed64a067830ca24d06eee503043e18224d6c21b6e4d0e5840ff9c994393",
"job-tracker-ui/src/components/Attachments.tsx": "02081be8282cb3d1a525b336bededb8aabe561cc3b73e1b98e924f9ef945add1",
"job-tracker-ui/src/components/AuthStatusCard.tsx": "7a397cc55db165e85794b12be7c21984759bca5fbc83a6ed75e574744f59187c",
"job-tracker-ui/src/components/BackupCard.tsx": "274dc6b5bd4e497b737441d508c9491930c496f2f6036b440d2c34bb2ead8a53",
"job-tracker-ui/src/components/CalendarAgenda.tsx": "0ae978f9b555ed267eee8bbc73a934c8cd5f67868df861713872d9893473afb4",
"job-tracker-ui/src/components/CompaniesTable.tsx": "0065acb28866cea27fa2165ec248eef51109373b0c2c0faae0ae12fa3235ba1f",
"job-tracker-ui/src/components/Correspondence.tsx": "45f0b6b442676e62e8644b57863d595936d43608841d4fadaafa936d5606036a",
"job-tracker-ui/src/components/CoverLetterDocument.tsx": "d76d0cc3a21230043e91a0d28d03953c236b731c5fecd48e2ba11fd610281053",
"job-tracker-ui/src/components/CropImageDialog.tsx": "53db90f13a72adfa0035503ab2e1dcfa67e20c2d2ab529af51bc204ff54abc96",
"job-tracker-ui/src/components/CvTemplateGallery.tsx": "d7f28fd9479dabd5a988b6a8b656c36c6c9b6622beb13530b7011590edb7965e",
"job-tracker-ui/src/components/CvTemplateThumbnail.tsx": "4c748eea07617767eb74d0f6e439ba30d363f4ad1d6d05e8e4e1172710c274c9",
"job-tracker-ui/src/components/DashboardGrid.test.tsx": "423ba80f06cc92ace630a731a5536fc74256f921e2caa29d6b0dffd6d62513bc",
"job-tracker-ui/src/components/DashboardGrid.tsx": "1f9dfb5dc17b7804c00cca823e7045ec1804d3bcf162bb56590bcd3cf85358d8",
"job-tracker-ui/src/components/DashboardLayoutEditor.tsx": "86714ee75bfeddfe62e4c4c9d535c4e641d1213422615fab76838d6aa401984a",
"job-tracker-ui/src/components/DashboardView.tsx": "21be089f43dfaec5ac5469c36b4610559421f958f52613b4deadbdaa12eadf4f",
"job-tracker-ui/src/components/DashboardWeek.tsx": "12ba41a7df41da9ea9e964c594ebb7f2c5364b4a7c523966912f31a048407340",
"job-tracker-ui/src/components/EditJobDialog.tsx": "02f364b532988b4e1b6de464905c211a3de39ed5edec61f34f1db4334fe3fe98",
"job-tracker-ui/src/components/EmailProviderConnections.tsx": "e43fb12ef3ed1d3f0a86573d9e269dd4913ec470ee6e28fe53d19ebfb1af2b2d",
"job-tracker-ui/src/components/ErrorBoundary.tsx": "26563b031bbc078598b6705f99c3ea31ebd4d4476b4ebacf74afb216bba4de65",
"job-tracker-ui/src/components/GoogleAuthCard.tsx": "747afc361183bff1c558110eae9e2108d1e0ddb793dc789719623a7f3f38f4df",
"job-tracker-ui/src/components/GradientButton.tsx": "1f8fd757d9ee066603f1629607ce09f88f226a386020863834a46a200a8e85f1",
"job-tracker-ui/src/components/ImportExportJobs.tsx": "327f1b31f27ada5822570e15c1e633315fa9015e71183fbdd21c238ccfd4b0f1",
"job-tracker-ui/src/components/InterviewPrep.tsx": "ef8161cc982c9068d3c7eec80f7dd6ef565f05ba0b36bcf58e3b643285b22f0f",
"job-tracker-ui/src/components/JobDetailsPanels.tsx": "79e5474bb0d74d751d0b9714e5d4967cfcbfd8f7f3c9c8de55f381adfdb766a2",
"job-tracker-ui/src/components/JobFlowBar.tsx": "cd54b8599d429e779858559266f7f8bd4b32ce45d8ad305224155144d6d4003e",
"job-tracker-ui/src/components/JobTable.tsx": "c94feace146e070de1d83b87a7d41ab246e78b5281d3f025cbd44583eb577b5a",
"job-tracker-ui/src/components/KanbanBoard.tsx": "9bb9b08fa66884e0f40fa751c540d421fa4c4c604a796c30e21a0ca53e0c7387",
"job-tracker-ui/src/components/Markdown.tsx": "d3288d410d3757d195180521b898af804fdb37634a6eaf8a380995452251dd3d",
"job-tracker-ui/src/components/MicrosoftAuthCard.tsx": "36558ba83de1bca2a5b60d55c891c18a0d87ca9795404027e332ea1c67545ca5",
"job-tracker-ui/src/components/NotificationsPopover.tsx": "db9150fc46a70df83d56fb559c8d6dd50cd86b5bd71bd9b121320091970513d6",
"job-tracker-ui/src/components/OnboardingChecklist.tsx": "78b3112465fb62c381c48e32253763f22b6f2034fbcd23c27faeaa0dddf380e6",
"job-tracker-ui/src/components/ProFeatureNotice.tsx": "e293b1e52f95c4572aa228cea2d175df5337b0bd365c0051aaf4ac3038a6a9c5",
"job-tracker-ui/src/components/QuickCaptureCard.tsx": "394b2a298b4edbdbc7acea98ac871f69b8924aae69ba9afd9ce49200cbfb2f76",
"job-tracker-ui/src/components/QuickCommandDialog.tsx": "6da1b0f3d7d4a0704fea8e953bbba5874b4a094a9802d32bce0bc143848496f6",
"job-tracker-ui/src/components/RemindersView.tsx": "e550e76cb28cb4236100bb1a35158a329e4ecd3a12be56f6cdaf28fb75fa0091",
"job-tracker-ui/src/components/RichTextField.tsx": "7b732cfbb9b8dc8b19e71415054649e0a2404cc17ec29d036817d63fea58a994",
"job-tracker-ui/src/components/RulesSettingsCard.tsx": "229c6e7350586eb554fce18a1665ec6b6ba87e0d2b556dfa3c2422bede21f33e",
"job-tracker-ui/src/components/SavedViewsMenu.tsx": "742d99802af0bcfced244926c576381aa5e734d684a8c6d31f3f0162c3e8785d",
"job-tracker-ui/src/components/SessionsSettingsCard.tsx": "19d53aca5a1be27b9b4518431f6d3997ed03f0675bab33fd8aee586078af318a",
"job-tracker-ui/src/components/SettingsView.tsx": "250b80b2d18f82ab63e7341c0779380345f386acc0d89161064d8e41439636d2",
"job-tracker-ui/src/components/TagsInput.tsx": "3d93f945ccad6b308882aa2a65f020e76bc77aed938efbb1ecbee1fa096f6348",
"job-tracker-ui/src/components/TurnstileWidget.tsx": "86fbfd0e52d13f467d6ab84ed352dc95cdd97ab9e46c4e5add11b113e655389f",
"job-tracker-ui/src/components/TwoFactorChallenge.tsx": "1d9f7f21bc85a8c79f79bf293d3cba8c3a826a1579a8c6d66fec7307e513fffc",
"job-tracker-ui/src/components/TwoFactorSettingsCard.tsx": "d334bbaeef04df06ed3ca487e4ba740488549acb62b8f799b6872352521d1637",
"job-tracker-ui/src/components/UserManagementCard.tsx": "3699b1942a6defa29192b93dc946ef2db75207d32cea5b5c90a61f491efbb7da",
"job-tracker-ui/src/components/ViewStateNotice.tsx": "7b6c3e6c311860897eb5327936dbb129e860781929cfd9a4d4e17f81c607c70c",
"job-tracker-ui/src/components/cv/AiSectionAssistant.tsx": "40475ae87da5a1966bdd52a5107b4c54e34a28a4be31687dc5471217105c4d7a",
"job-tracker-ui/src/components/cv/CvCustomizeTab.tsx": "b9163dd4b13349edbf58d92df699808064086a870f73d1fbba548150f729af3c",
"job-tracker-ui/src/components/cv/CvTemplatePreviewDialog.tsx": "9690dc4f725a003aa9274b2ec12068cc3f015ae6a2aa473a905fc3289e44807b",
"job-tracker-ui/src/components/job-workspace/useJobWorkspaceBaseData.ts": "d0a979cc1a9d2e3472cc0a6a1b9aed2d3146fb00b5d2ca2b6773ca10ba17821e",
"job-tracker-ui/src/components/job-workspace/useWorkspaceTabCache.ts": "9799f178657a9db1fe0129d5434f04e345273a63d0e3b058cbab18865ccdec7e",
"job-tracker-ui/src/confirm-flow.test.tsx": "79e61f0d98f81d273e48f89e2bdd4c669d0bf6ec15c7859b19fe354c3e19a3a3",
"job-tracker-ui/src/confirm.test.tsx": "2f60cf4481d843b3f57d5a540bc356378571bcfdb0c2b8baf184423658832c2f",
"job-tracker-ui/src/confirm.tsx": "4900f13ef766a05cfcfc2321a6741fc580450f699c9fe91635f9dfdfcb023cc9",
"job-tracker-ui/src/correspondence-gmail-import.test.tsx": "f59abb397a716951399c64dfa6fbaeba3c63aaddd60e45eed7cdd5caf590a1e8",
"job-tracker-ui/src/correspondence-inbox-page.test.tsx": "d2b9a9633d69fa56a94d7ec71b0d8672607bca681a01a225550bf482fc8244dc",
"job-tracker-ui/src/correspondence-search-context.test.ts": "8fc52ff3e10827e96194d6eb293e4872f65d4c73213b0b29e275bad9bbac5b15",
"job-tracker-ui/src/cover-letter-document.test.tsx": "6305a6c729fec3854a7d213ca89b9ca8ec78d6714200370d880ffa9d98249a5d",
"job-tracker-ui/src/csv-export.test.tsx": "a12080de3f1c571fa27874d72ffcfa2212aa4a4f4b7cb6abab277b4ce8d0a1e2",
"job-tracker-ui/src/cv-builder-deep-link.test.tsx": "bbbd4c8be5d01e3e01a83d4f61756913edd31b86b087b49354cc8e7252377144",
"job-tracker-ui/src/cv-builder-page.test.tsx": "7c1211e25b85fcc9e979b6c50926e297da6705c899d64d601de4cbc7f4a9a758",
"job-tracker-ui/src/cv-document-controls.test.tsx": "5fe17d351402dbf5c676d069525d9670c83885c5b58ad8926675ed3911e86919",
"job-tracker-ui/src/cv-import-mapping.test.tsx": "95530490d504a1a2c20be20f2696d4cdc9762f99358dcf2814c4a80ece6143ee",
"job-tracker-ui/src/cv-import-review.test.tsx": "084ac4933dbf13c5c4ba9c5ceddb4fbfccb3437b3bdfed30780a34d25ebf12ba",
"job-tracker-ui/src/cv-photo-controls.test.tsx": "f3d3a500bbc70a19d6e1e8504295ba79e01c829e06b66c81ebf5f3b1a6bb5436",
"job-tracker-ui/src/cv-template-gallery.test.tsx": "379baeb733fb9da8e7b3cc3ae6b89f745178e67be61ba2184055fb1632aa9402",
"job-tracker-ui/src/cv-template-preview.test.tsx": "469db6a104ef8147613c6f176c8fc6279a6c3f8493c13c22574abb220d2e7cf0",
"job-tracker-ui/src/cv-template-thumbnail.test.tsx": "c6a065c31c5eb19caa1dde69b704982ed4baa6afe21474485872f3239d9af6f3",
"job-tracker-ui/src/cvBuilder.test.ts": "9a26dd2abb6b5e2138a826c05a57ebf509e66bbee5c4909f4a56757a8a01efa6",
"job-tracker-ui/src/cvBuilder.ts": "c021bafeabbc8ad3526d1b10b90ad8f7f0958ded8ed26eac8c1d28b53098b64d",
"job-tracker-ui/src/cvPreview.ts": "38d0aadb4a080c72a8c4f04b6972b4252593c5e2d07af95a421abc47dcacb88d",
"job-tracker-ui/src/daily-control-loop.test.tsx": "9bd0a047e384ced6616129271e771658bd6bf133aaf7c3a7fa6d6a8f1e9a735e",
"job-tracker-ui/src/dashboard-customisation.test.tsx": "9fbdf02f6f4815b7d98e32c8bb295a72dafc552118567eebbd885cd1b1d5be94",
"job-tracker-ui/src/dashboard-presentation.test.tsx": "23743259e498bc525cb6e228d71ddb9a16e95868b1ddf93fdb19ec5a295ed91b",
"job-tracker-ui/src/dashboard-week.test.tsx": "a6d6fd1931057428695be595a4dc344e70ae4ac8dc95a0551e7dccb0201e4cdc",
"job-tracker-ui/src/dashboardLayout.test.ts": "4ec561778ee9cedd5fb578d18822124d38caa2357eef749eb32486a2922dddb3",
"job-tracker-ui/src/dashboardLayout.ts": "eead1fb296d50d914cd6ff6bea6c1411dd906ec4cbd96fd8ec378c2a1b9645f3",
"job-tracker-ui/src/dialog-flow.test.tsx": "ca84737b9946a356be59b2de83077fcf9134535c1531d6db18775bb2065ff8dd",
"job-tracker-ui/src/dialogs.ts": "c817739a302e765709b747a4fed7cb28f229920b6720f4096000a997c02bd200",
"job-tracker-ui/src/documents-page.test.tsx": "9f48be69724d9ed691238874cd5f474f70024a30ed10ad9e2e3cf4dd8af572c7",
"job-tracker-ui/src/edit-job-revision.test.tsx": "c9d6e693990c839ddf9d267d95c51c1ba944a9a2f62787da568e0405a574a301",
"job-tracker-ui/src/email-provider-connections.test.tsx": "764315a88dd7becbcda26b647c5258915f8e380f0ff2f9c031f7fb322b339b87",
"job-tracker-ui/src/emailOAuth.ts": "dfd0f0ac46d295a2c5a0b9a6bb6bfffcceef6b6871cec7c92c429418cdbce8a9",
"job-tracker-ui/src/end-to-end-trust-loop.test.tsx": "32d2a2133edadd1cc193508658671faec8ea902fd95742370adbbf466c48615a",
"job-tracker-ui/src/file-picker-activation.test.tsx": "accb87f94a7b36373eec6583a391a17ede7e7779cf18d81d4a86b43e0bd6afbe",
"job-tracker-ui/src/gmail-review-page.test.tsx": "667bdfe4aa2cae9669777a066a8df2b7b7bf1fbb1fe719f20204bf3360231790",
"job-tracker-ui/src/hooks/useCompanies.ts": "a48e2ec2abf50c89b9a983bed93bc3c8b91fc537af6673eb9245cc4bdd5fac10",
"job-tracker-ui/src/hooks/useDashboardLayout.test.tsx": "4937c40959487ab39f98036d9c674fbb149bb26d2728fcf4a80096e7fdaf95a3",
"job-tracker-ui/src/hooks/useDashboardLayout.ts": "fa47ca4fb8aaacbc62641f5adca4120fa057e78290791cd62fad1844b2f46314",
"job-tracker-ui/src/hooks/useDebouncedValue.ts": "b704d1c40387dd4d668dab0abb59927ba86a377095a6cba9583c3493512b3f25",
"job-tracker-ui/src/hooks/useDragReorder.ts": "367e064052df27171f34ed638f1542319fa223f3ecf419000811c92e809ccb5a",
"job-tracker-ui/src/hooks/useViewResource.ts": "5912131c525ba85ae6994efc38306a10ec2e673cc0082686226b59f00df5da99",
"job-tracker-ui/src/i18n-provider.test.tsx": "520b8559ebd0c206649008c98705c24bd8caac7e00a642984a75b11f7d851fbe",
"job-tracker-ui/src/i18n/I18nProvider.tsx": "dfa8d95510a7dd872e1b9bbddf9bb4ab31da4d4b5e932b0099397d11e08ad108",
"job-tracker-ui/src/i18n/translations.ts": "d871583747786fad8f6518636bc62f23c0418e7f6a36c1766ac6c1a703aa7db5",
"job-tracker-ui/src/index.css": "daf22c296c801d3d533083361cc59fbdc22e5bfe528aa4bad1973b54cc5448a4",
"job-tracker-ui/src/interview-prep.test.tsx": "e43c7da9b08bff64457f2f0b7b86448bb780f716d0d21aec097871081b2435d5",
"job-tracker-ui/src/job-discovery.test.tsx": "16f740b867166aa9bf51377e8732a14e76a539f6d5eb8df989cede48297a1eaa",
"job-tracker-ui/src/job-import.test.tsx": "9c69000a6f8ca744fb425c2007ce48247be46ecad01a177c2f002ba2ac9a0d73",
"job-tracker-ui/src/job-table-density.test.tsx": "02a150fe7594a954160f4f41f305ed8dd50f8c85a234c9923410e55e04a6112a",
"job-tracker-ui/src/jobWorkflowSignals.ts": "cde4372017c13f21de8b4e2259923d80beda36506784d7be089432622fbd6b0b",
"job-tracker-ui/src/jobWorkspaceRoute.ts": "eaeb4fedba53220f855bcce64cf79046f5b1c89323d43f2e7fcc4c922a61edf4",
"job-tracker-ui/src/jobs-view-integration.test.tsx": "ad7a5c84dcb7cda29f3d276201de794379f0552827116f88339dd172d47961c9",
"job-tracker-ui/src/jobsQuery.ts": "ef2b8e804162f9d059cc087f7f57b2c4ccb5760b59e2d3d586e753871b6a0490",
"job-tracker-ui/src/kanban-grouped-board.test.tsx": "cba56a5211028f5f410715999c3f3f70d33c1a3e4d3f8f43567ad9869c0cdb60",
"job-tracker-ui/src/landing-page.test.tsx": "0e82209229cc318abea674d0e524383d73ebf97bfe9a95e5ce6aff1dfc83c594",
"job-tracker-ui/src/layout/AppShell.tsx": "e75bf9adff81b6d7a7dda4cc3428e87eeffa2d2865c5c534e83899a9c4d9db7d",
"job-tracker-ui/src/layout/AuthPageFrame.tsx": "9b2115cd03366e334b62cf23df1cbce4bee8fdffcbeeccb56a8dd841f862f561",
"job-tracker-ui/src/layout/PageLayout.tsx": "a11c5636068ab4c80e065b360f9d5a6af6da8fb7a1d06a0c59492e02cec2f5af",
"job-tracker-ui/src/loaded-theme-states.test.tsx": "a54e28943c2219842fdb5066b95490c4663568b2adbfcb02cb1984c62e9fe6a3",
"job-tracker-ui/src/locale-fetch-stability.test.tsx": "e647fcd387c54ffd50f45f1f8ae3f4133a2858fd0594ec9c0df51ce328a95814",
"job-tracker-ui/src/login-page.test.tsx": "b24f3286a54b79d3f7995cdb579a32251eed5f164940131a33d5ce42ef6a5c20",
"job-tracker-ui/src/logo.svg": "6000b0e9b0b05b3f112de04f0d039768a1db63588ff9b6ef7099dbd71632f383",
"job-tracker-ui/src/microsoft-legacy-relink-page.test.tsx": "a139ff3c1af2efb9a20610ab1262432e1eabf4de881d3e5b71a32f735b8fc24c",
"job-tracker-ui/src/modal-state.test.tsx": "6f7f32cde109bad6df5d3fae40566a692aecb4739f97fa9d302b41a603b64258",
"job-tracker-ui/src/mui-theme.d.ts": "b9e96b260cec865afbdef2669a2d7741d772a282c7569dacb01d6cf23ac37bb4",
"job-tracker-ui/src/named-controls.test.tsx": "c8b519701685c434a729a50aeb5e0dfafbaf8a166fb223ab400b28554c5c445f",
"job-tracker-ui/src/nginx-config.test.ts": "9c636e62579466d1238c0fa41498274b128f2c1585b9e7a161fdc633599612ad",
"job-tracker-ui/src/not-found-page.test.tsx": "24b2c53441f13dd6d9b9faeb36033ba625d14be101096cfa44b8fc4502f2628d",
"job-tracker-ui/src/notifications-popover.test.tsx": "5af75c9d910da518cfbc552c73b5af355b6071bc2bdb75448eacc475ac261db6",
"job-tracker-ui/src/notifications.ts": "118f08f1c90d50ce52fb03baaf7df15c47a26d6de42457a5ecf2746502f86aab",
"job-tracker-ui/src/offer-comparison.test.tsx": "d9f1c66e986932c7716bc562827da6be5b50421829087c458b8883100826284a",
"job-tracker-ui/src/onboarding-checklist.test.tsx": "614d1be16911f87e12ac1ecd47da2aa3e914446f533dbafeb6cf48ea8873ac28",
"job-tracker-ui/src/operations-page.test.tsx": "700d6a69327dba86c3fe5680a4f5aec652647bd1dca1054f45f42328314f4734",
"job-tracker-ui/src/page-layout.test.tsx": "a224a684f69c59043509c3cd7120783b76494ca50520110b9dee01ef89f92807",
"job-tracker-ui/src/pipeline.test.ts": "263da260802d748b97b46aeca4c0a4f0cac2120c0781d3ca56384e8e8e45ed3f",
"job-tracker-ui/src/pipeline.ts": "f5cb6d36e81268b2533c4f5ba4e53781007f166c217a4d805c9a8f9f66c2b9ca",
"job-tracker-ui/src/planCatalog.test.ts": "3c4649febe1103d7b11018be5f9c94b0e998ea5cab96bf9eae622bb49d890c7d",
"job-tracker-ui/src/planCatalog.ts": "068871cc43669d6f8a0581fbaefe8e6d0d2ab7f1c47e0b31cb131e767c2d13b2",
"job-tracker-ui/src/pro-feature-notice.test.tsx": "514e2094aeff267e95be302e29271576a4e36487dba14063d04df95fe24def47",
"job-tracker-ui/src/profile-page.test.tsx": "fdb98a4e6b681b0196bb4bb44678681525a53e75a4e2fa6e298fe996d86839c7",
"job-tracker-ui/src/profileCv.test.ts": "03f6742fcf7d981d46b46574fa0d72b57e7e2a4d898a0e93af0a2356163f9f12",
"job-tracker-ui/src/profileCv.ts": "80c39b7c7558a96c1b7da4eef0d3580849203bc2da4ecd823aeac387b35cf963",
"job-tracker-ui/src/prompt.test.tsx": "dc499a145812564d2dd67d708052e5fe46e0bb77e33a098d1599cf033c97de95",
"job-tracker-ui/src/prompt.tsx": "eb42e7f400d65090301d681b22965dd30cc3701c7378ef28e7e8fa08cab98457",
"job-tracker-ui/src/public-auth-presentation.test.tsx": "d1cc86bf3f083deebb98291940a931d44bcc0f1546f9d3940113a722df996b81",
"job-tracker-ui/src/public-cv-page.test.tsx": "4f3ef679eb264fa9dd692a368870620dc9019891c3af63d72b8561542e3ac23f",
"job-tracker-ui/src/quick-capture.test.tsx": "1a15409c11877bebad60492f26b0d4cf3d045265712e43fdec84666479d1a07f",
"job-tracker-ui/src/quick-command-preservation.test.tsx": "86ef134be10b85bddd980d09672a07cb4ef43807ac740e9283364d784d709bca",
"job-tracker-ui/src/reminders-presentation.test.tsx": "700594101a38593e950ee10340fa0d22bafbd18f928912bf4af58172642ace9e",
"job-tracker-ui/src/salary.ts": "9c46a23c52a5fa06ab76f44d4e0538c99697e2905e2fec4b63d9f43fc2b924cd",
"job-tracker-ui/src/session-boundary-message.test.tsx": "e6de52e667e361784c9c0990c77ee2e5b93f152b8ec320650734ae6c32c6e627",
"job-tracker-ui/src/session-boundary.test.ts": "3c78849fc0966bcfeac81126b24d01adc592f66e51dc6a087ebd27bf3ab1b10e",
"job-tracker-ui/src/sessionBoundary.ts": "09edca77c98294818d2ad0c409ce595f1b6ca0c1f60419fc1078b70f96f5b7b9",
"job-tracker-ui/src/settings-import-lifetime.test.tsx": "24af2a5954533087ddbff40659ff9f8dcf70805435dca772314c2be7d8bf6133",
"job-tracker-ui/src/settings-view.test.tsx": "819ff890e95bd3ee4ca5d696adccecce6b423c768df98f98c62644d546a48576",
"job-tracker-ui/src/setupTests.ts": "5f38d9f2757627e41c2646bcb6c0243237d856eac85016a841bdc8b164986b98",
"job-tracker-ui/src/shell-readiness.test.tsx": "481648d0ecc42a219b5f2b44761125d48327d26b2d3b9b0819808f702f8f806d",
"job-tracker-ui/src/sidebar-active-nav.test.ts": "43e1aa28a11a65a1945a85036d0de4c27b56d9cc8e00b6b35d7a8252916cd2ce",
"job-tracker-ui/src/tailoredCvDraft.ts": "af683500146e4a5ffa493926aa9deaaba917535bc10a445f660a9d031d935faa",
"job-tracker-ui/src/theme-contrast.test.ts": "f17b594bb9fd64d9fcf0c8f84bc19551052d6ba2eae9d2c2c031376f35a6be66",
"job-tracker-ui/src/theme-state.test.tsx": "513156913a36b4c9a3dab109feccba29d78c078e5880ba471529a12d1970766b",
"job-tracker-ui/src/theme.ts": "6b3c28a2a920e53e01ed9ee12ee2f5cdaa0fe7c3752415a97ca544c82fce8cfa",
"job-tracker-ui/src/themeBootstrap.ts": "0035725a9d43077ede757c1f20382465a6f04511b63fb22ac65adcfb8ce5f2d0",
"job-tracker-ui/src/themePrefs.ts": "d775741cd6b2fc7ac59dca13e5e6cf5ffd3856cf4a2e011948b2dfb0d9c319ca",
"job-tracker-ui/src/toast.tsx": "8f11b9ecce244a99a7cc7b6d247751e24089f8396a834924a4fa1eb421ab17bc",
"job-tracker-ui/src/translation-catalogue.test.ts": "f20e8099f2c4dda76574ea3ed1e95b743eef5da82507d7cbc3f9925d52356b98",
"job-tracker-ui/src/turnstile-widget.test.tsx": "1afed75d79a9e771936dcfd30738d3c5fc4c7f61119940c4594c332b05a94d69",
"job-tracker-ui/src/two-factor-settings.test.tsx": "a1466d20f4991e12a2e59702ab76827bae047f48450b04615befcc73a6e72b9b",
"job-tracker-ui/src/types.ts": "bae01df8de079b16546fca1c738f6d49564befcf62ae0449b039faf61bff1158",
"job-tracker-ui/src/use-drag-reorder.test.tsx": "7c6717759b4afbfd28737e6c5e4cbe74bb21825650262dbf70f17de3e47b0716",
"job-tracker-ui/src/use-view-resource.test.tsx": "00a8797f899a633a3b62a0a95bf0173fc69d3c22d79f3964d63b69c82b48fe28",
"job-tracker-ui/src/verify-email-page.test.tsx": "e081ffbb991fd2f481af9dce7008d9a91a654b0e7d749af005aaea40d1013a30",
"job-tracker-ui/src/view-state-announcements.test.tsx": "680dddfb12de6b06c566c4e1c476758ce3a43f1365c9a947270ac96af720b24d",
"job-tracker-ui/src/views/AdminAuditPage.tsx": "a9415d7c759e67079b5db64c05c9cecfe9d062cc5b0532c909261fc064c91343",
"job-tracker-ui/src/views/AdminProcessingPage.tsx": "e58d9a86dc937eac291c2d7114b514576b9d38bb6232e8a6a15bfac9b3137304",
"job-tracker-ui/src/views/AdminSystemPage.tsx": "64e85d9b13088b5229b6635674e9e6ff9ee6c4a62db7f66accb1dcddcedd16c0",
"job-tracker-ui/src/views/AdminUsersPage.tsx": "ed2377d7e004c78c3274c43d534c0a3db7b3468b2de2fa11210841e2cf31b53a",
"job-tracker-ui/src/views/AnalyticsPage.tsx": "40100ef5cf7765221897a4bd0ceb18a964423e122965bee21d278d113fdb01dd",
"job-tracker-ui/src/views/ApplicationWorkspacePage.tsx": "2d31056102c277585bf382a04c8137d3c0502cff068d4bd63f7869bef4b9b7c9",
"job-tracker-ui/src/views/CalendarPage.tsx": "45c827d8268bc6be93735508dd45c464a3c40246a7e530555a0ff90bcd03359e",
"job-tracker-ui/src/views/CareerProfilePage.tsx": "d666136aee79eb29be86606823b5fc5457298e5c62078f8a378d91224431f438",
"job-tracker-ui/src/views/CareerWorkspacePage.tsx": "dc95b1860b658c5e27b4ed9327e805807e935ac19cb65870ff1d531c54c53f39",
"job-tracker-ui/src/views/ConnectedAccountsPage.tsx": "09cbe497948cecacacc9e6e1b6c216bb0feb24977afcfe6c3a1ed0c10bd2708e",
"job-tracker-ui/src/views/CorrespondenceInboxPage.tsx": "1bb8d2743742d96a436f834324a30fa3e3ee835d49996b9e4102d14b6eecbb2b",
"job-tracker-ui/src/views/CvBuilderEditor.tsx": "9db7982ed4bf40716de0b02c9333e2bafe4d89ed1e6bd66d5b2a3521061951ba",
"job-tracker-ui/src/views/CvBuilderPage.tsx": "dc6c1561dde562deb829aff1fed7f595861d2112633572482069ec4c8c05ba2e",
"job-tracker-ui/src/views/DocumentsPage.tsx": "d44ff0ad6402ac5200db3b5e981e9956af86dbbe6ae84ff4ff577c4a25ac7a5f",
"job-tracker-ui/src/views/ForgotPasswordPage.tsx": "7eacaf63d5e1f15e442468897136f2a3db9b605e459fa62224a2e3c422a1f569",
"job-tracker-ui/src/views/GmailReviewPage.tsx": "5e87cad1c5f5118fdd6d62d3aae35b83b3ab10d8d60722ed18c1dbb4487f9890",
"job-tracker-ui/src/views/JobDiscoveryPage.tsx": "1ca763c2d260857b4668874f7edc7e97094b4f5c47cac57fb4a1a1fd5f19e28d",
"job-tracker-ui/src/views/LandingPage.tsx": "aedcdbc8bfc22f7cd4bc9737a06b07f318ca7b4970836bd6c20e805ebfa36c74",
"job-tracker-ui/src/views/LoginPage.tsx": "a853d8d83bcb4026ebc1e10296e1297647b672230f33abb58ea7cf6d2d97067f",
"job-tracker-ui/src/views/MicrosoftLegacyRelinkPage.tsx": "c133fa86c233b2add7eb4e537513dc73534251f5105f22ff8cf61c0746934324",
"job-tracker-ui/src/views/NotFoundPage.tsx": "fe6726f9ae262d4afc05fe5fa7b766db50bb9ee429436db4e36c651a53f7844d",
"job-tracker-ui/src/views/OfferComparisonPage.tsx": "596d5581672045b643172c012a931517c3dad1d734527b562fb40c06150196ce",
"job-tracker-ui/src/views/OperationsPage.tsx": "a618a575393524ad02f9355422802d1f3945c71d5f375364b1ebf3af39cdad51",
"job-tracker-ui/src/views/ProfilePage.tsx": "b55b7c90dc81b966e54ee57693cd65f8376d5926e39f46512a68b877c18c6037",
"job-tracker-ui/src/views/PublicCvPage.tsx": "6c368441859b8beccd0f4eb21e439e38388bbcaf772c721f382625b629645255",
"job-tracker-ui/src/views/ResetPasswordPage.tsx": "272b2c29b0230b3a4133fdb699a0c278e548375928274e2fde65f5975d7ca3df",
"job-tracker-ui/src/views/RouteErrorPage.tsx": "b674a33a01c5ed9f38266dab031eba2338c6573c4cf21e31da88de6d9cb05cf8",
"job-tracker-ui/src/views/VerifyEmailPage.tsx": "e8bb434f57e95f72431a5e696af755c69a327395d1416aaf8fd0ee7381ec01de",
"job-tracker-ui/src/views/career/CareerEvidenceBank.tsx": "51cab7289717c9f26006a9d34ac1f8aac9e09d19e549a3666a15adc41d5d4724",
"job-tracker-ui/src/views/career/CareerProfileSections.tsx": "07396e14214ecdb6c5f37f02d0e448453710a596b5ffb68042aa8ce032520e1c",
"job-tracker-ui/src/views/career/CareerWorkspaceOverview.tsx": "0650f72784b2211f703dfefd4d91a604957678369de2e2f365cf162458cc8d25",
"job-tracker-ui/src/views/career/CvImportMappingEditor.tsx": "57f733276b823bf9cc26c94b7b38c0f12f84ca126985f8a3e3dbff20f0ac0bfa",
"job-tracker-ui/src/views/career/CvImportReview.tsx": "dbbf0bcebd4fc46f55deaa6bb70a0abd37ecb0f01608335bcaf4de46e05f4a48",
"job-tracker-ui/src/views/career/ProfileCompleteness.tsx": "caadfe1462fb68456ad66834be3b2e40244a8367720e5345e3406d51a4cc9454",
"job-tracker-ui/src/views/career/careerCompletenessLabels.ts": "9e53eab4592a341b6b369b3408843b21b2c9233e9b765115367bb3586a1b8401",
"job-tracker-ui/src/workflow-trust-signals.test.tsx": "94b573ba2c07849db50fc028cf4235f91897902a65c43c54ea1fd6c5097f2975",
"job-tracker-ui/package.json": "3745394e406cefa40d30a87e840bccb359be147bac6ffba736e2ae90898a8626",
"job-tracker-ui/package-lock.json": "bf31e90d7af03e8af059db2aaf893925b9e8881a30a1688034ed88ef45d4fcab",
"docs/pre-phase10-ux/preservation.json": "a4c2a5a0244ea89381008218de32daee1f615a250eb3808b60e0ee103c674d4d"
},
"harnesses": {
"job-tracker-ui/scripts/verify-a3-dashboard.mjs": "9c80daab56c56cad3d4946cc54710d5f58bfa63a30d87c76c8cb923e103a1be6"
},
"evidence": {
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/BROWSER.json": "e486b9c97170729229f3f578c5fd8763aab3c81b4847199fff069745e220dd23",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-1024.png": "18d0828a50330ef9b40146a1136a15e4ed85d92484d36cd5e0c273b68d51fd93",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-1280.png": "69e387c148465b11eb8f20235e349399e50d6223a2eaad543faefaf6fa98d1fc",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-1440.png": "698d80591fa93b5f022cb68bf6b3f666f6da6d50ec8e72748186ab8fad043fde",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-1920.png": "74465336061112c7bd9ef6fba8bb8a5bbeea79efec4f936293a32bd3510cc587",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-320.png": "514969a0bb99f9676e5fa8d146cffae999f23376ad5fdd3050931c92971d0d04",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-360.png": "17ced4ee00f17d5a86aafca3d5cc498c098e5fbc4c6b31394af90a31d7c82d49",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-390.png": "39dc2b265b5846e6416e1df4c18efb4371e6b4538e4568f636335c5a00b4ca42",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-430.png": "9bfd46cc282ef2a6e637d5115ca539c2408a25a13ab91c28c70ab206ee5aea23",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-dark-768.png": "938501f1f30ae9bd0353fcc67e073b9b78cfed5213395274ed8461737e2762ba",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-1024.png": "6a6383dfb89f6e3f0c7c08bd5ec76678a676c1643246a5304c611da8d2ace7cc",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-1280.png": "f0cfa56db5dabb8c7e22bf5091d78b4d58fa13f8e206fabc5d9062ba87ee47dc",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-1440.png": "f477f221e1dfe6aff24f0e81bc5b77cef4e9e40750be9ee768b78e773532bcd8",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-1920.png": "6344a20feaad45687ae4ddb716a1c40df350d90faf686b56482fa9ae0593a0aa",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-320.png": "bc5deee316577a9363d130216b10ff88d694cbc4e0c42dc9d21fc33bfac5a152",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-360.png": "da8e61b97e44eb0d03359e8798124ef21e42f3519ec51185f1848c56effbcc24",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-390.png": "a6ae5fdaa0815e3785234ed3db9237cb3cd8418f5dbd5853b4cfc15de1442256",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-430.png": "39d5c42d7ec20c0864805e149528c69ca75e3415ff5690d7de6d475e89566020",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-en-light-768.png": "8913262d808293d3c6e8d11376438c123199d685ff55e27c72a1a0356d70fc90",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-1024.png": "5e73f5813db336220d13eafb34c038f3b0cfec1a37f6cc3a08d9952f59cc3c15",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-1280.png": "dc602f148dec37240268554ad053b6e386c4abb4894b2e98d8d4a3416dd506f8",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-1440.png": "8f43bbbd1ac106a7233d0c5b09a7535b03de06c0bd2afe508f52ed4108419c98",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-1920.png": "c3d7a7f8034d6ac7a99e3e91b99523e2864bf21ab82a8adbbbb99cc3de9fa85c",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-320.png": "edcd534c735ab84a5e569415a137a5e3c4e82637c26dbe4dee85290a2104d044",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-360.png": "26b5387f15eb20c27639c9a846ec4b6ce95faada85dde5c995c16a3bc226e5dc",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-390.png": "e372ade43b8b1f9f4f0d953c3876bd5baa3401f298ea6fd8b61a3ef91db4f22c",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-430.png": "af92679bfbed89452009213bf3df29b6b934837418ce3154881f3d10da621aa6",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-dark-768.png": "449a2cf5084eef1c4c1eb341fde7a40a4098f93d1b654a10d7aa267ed57da341",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-1024.png": "ace35101d7032ef7bad47c8af637a74e9a6e6fd5d2d23b37184d54b831e3e5a6",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-1280.png": "1f255741d4732c01ab6aedb3ee6ca37495a470f286218041abe6b4dec0e28342",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-1440.png": "044a8139cfd717d1401f1d139a936893b19e6ace1500db9808952a6a5478529b",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-1920.png": "505325b91a3cd85e26268d2ae3d66a6d957429dfe51c37387e386f4f6541cfe2",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-320.png": "7887117fffb1bd57a4235564a2e4fad6511d08bf246e93c0fb6027d19640deda",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-360.png": "6c074e3b5509d2db25366ed00e1f1205c65d87f9a7af8060cb207f0ac0da6c59",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-390.png": "4f2288f2582f601a4c96cce84e1635d6118df3ce794fe175919e4b692e0d1867",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-430.png": "638b6592e67d64443e4d3f5dfedeb3b863248818914edb014c49739f4acf5dca",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/dashboard-nb-light-768.png": "38940ad3b7bcb7dcfe6be49e63726d315396421cd30d7c6e063c7e1e24ee94d2",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/PILOT.json": "1f1e8fee60b3d4f28b9a0c4a7b65a697d977cf3b236fbec989d4a854b2b48913",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-1024.png": "74a5878631c5a8e850849079980c70cd5e30e6592f07dfa24c8ad41fc89986ba",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-1280.png": "5281471f5fcd0acee3f8d28321507917856ee8c0ded5208a6e93158fc2defb74",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-1440.png": "2782ccdc656a873fd58468c98ffc83be083750c80e162196f05d5ccbe882adc5",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-1920.png": "92ceb248c2ba446fa00cd8bb0b851c4cb772926178ecb9a5c84dafb14a78d993",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-320.png": "937cce203f3228da7d171e9889a0334e804390230164f877178ae4207239d670",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-360.png": "e30d5c832a0e793936dc068dbcc5aaabf346fec7f34e61b4a0f0c60a8f341868",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-390.png": "c0744816d19497de9654248b6707a10cc95a5000e88208c41e4e6985dea6f5f3",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-430.png": "227db6c9a2d4f0726430cff8b6afbdf23ef57c1f2b407eb4eb468e7d2aa3a5dc",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-dark-768.png": "bdb6623e2544ea460800d086d9a66a8bb10c517f032cced51af1a8986176217e",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-1024.png": "0a77514f9598aa2d55060d46fd236245069f7f9748426b3e0328c52ab15422ef",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-1280.png": "1b5e1e5b725089f923f646daa533203ef921aefa88d341dc40d330955f1f7409",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-1440.png": "43d62172deef99cd650e6cd6228c56eed0715ae07811d2f2b4841836e4b00968",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-1920.png": "a64a683159037c67b65d770c4e9346f4093eef45988bbf5ce6fd23e36179f09b",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-320.png": "7663c7349f674a76f57b2eba8df69b77e829f3fa98aa369565be4548b423f353",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-360.png": "4f8bc0e1e4649fb0a59e972d8df2107a2889ce81b250bb6d98c2575785c63863",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-390.png": "7ee3d197d78caea722816c1fbc50f0901ddc34195ae43510770ab9f564288038",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-430.png": "fe8e9f98ae22e0c173f710800fd498565683f10e5443778f790673d23969e3a2",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-en-light-768.png": "4ec86a5918db24c2884b28defd0de21e2c4b4ea8c33b830ac52dfc477c185bf6",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-1024.png": "c9fcb91b9a0ad0af398a15ab9df923d2a59b04f0b047d17de9c6e85912425a40",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-1280.png": "296fcbd711e583b255afd556955fba341c1df49675776128559f327b2bf7fc19",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-1440.png": "04c709088d5492676c828fdb4c950c35aa6fd4a5e27d23784cc2cdf9a2b7e13e",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-1920.png": "377128949135402518ddf75c1e8a1492c52431872c2411571d983d7c308ffe52",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-320.png": "f7fb50cb44f830a76a117090edc5a0cde1eee749f54c90f3c7a3fe6fab6c6b07",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-360.png": "43c534fe489a481829b249819a20b6633543e8baf5cca9201d03e13532f9b3dc",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-390.png": "d329efe08e576a434812a25218c07953b4c9f5217bfde8314a67bd122b5b4bd5",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-430.png": "a29a06c96c519a4b8c6a4511a1edee9f8b16635dfa54192597d986de16445875",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-dark-768.png": "433b69e12991e6fc46d80be8a5726acf2bea81407e7e8091e4fe28fb853675f0",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-1024.png": "0ba3e7b92552d17f20646e7a61a8992628db002633d5ad25609a04dcd44a10de",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-1280.png": "ff165537d1b1cfa45eaec1dce43b8c3092ced180359c712bfcc9571b99daf681",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-1440.png": "39965e5c4fa2995459d3455df4e1ccf0ff9bf52b6185744f8f5a2ba2bd614d66",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-1920.png": "abb555d65acad602b8d890f6bed27096a2f4d033b47711f965863c82cd324406",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-320.png": "f875afd404352a4f008d63d7f8eeaaada7facdff79717d7ac13020b7534154a2",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-360.png": "8144191c1545eaf8a07d874c5b01e9be00465c654e594eeef50f14244fecdbb3",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-390.png": "c2abdf32f9b7bdb728f2ed00ded47bc7ee6180839dbda44dfa5521ca1ecb3031",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-430.png": "3bf5f68206a6de4c2afb91c3ba67fccf4a08fed2f68ed773075920c579810000",
"docs/ui-modernisation/visual-correction/evidence/dashboard-before/walkthrough-nb-light-768.png": "6e0352334c0c0e0789102168a70564ffbf3ea927253f213f3dfdc1acad8e550c"
},
"export": {
"job-tracker-ui/out/404.html": "72f5780ad3024cc7257960defa624bd15941c33bc90a67fdb16e2a3c7a9d4101",
"job-tracker-ui/out/favicon.ico": "8d4923e2c487805ea9f852a685b2cf0fb10512ded8290d2a5c37d1cc8fd0702a",
"job-tracker-ui/out/favicon.svg": "63ecf8f37f8bb146ecfae3917187c6b692d4e801641e8a314486a4007912f3a3",
"job-tracker-ui/out/index.html": "ccefaa27286b57f155aa45f186d2cfcef349cabe24582fd0919a87d54b77257b",
"job-tracker-ui/out/index.txt": "84c5949667c5de886bea32a1c0a4fa80a2a5833db5920bc8ea2d6e893b4e1cc1",
"job-tracker-ui/out/logo192.png": "bc652031597fabd19b9f14e22a71f809490d218037521b3b64d013418c1390b4",
"job-tracker-ui/out/logo512.png": "5129e9bc1ba812b711fd9a646d3a38a906d365a26ee685df183b8752458944d4",
"job-tracker-ui/out/manifest.json": "2667ce63c2e0835b7007239816a5597639321d333da396a78638dfa9e8a7c935",
"job-tracker-ui/out/mockups/dashboard.svg": "318be3adb1324c26eb30f05572a29528a3e38331c6a604652eef75b54f8c29dc",
"job-tracker-ui/out/mockups/pipeline.svg": "db2ef41faabeb90e7ce85413e168581686c54535d970fc7d8deda3888a479de4",
"job-tracker-ui/out/mockups/workspace.svg": "9bbab22349147c7b01d6e18c93c622a6f8aed6dedaf23715189ab54d60e1ddbd",
"job-tracker-ui/out/robots.txt": "e5ab0d231eeb01b4a982d1c79a6729cac9797ad15a69247e4f28ba6afc149b4c",
"job-tracker-ui/out/_next/static/chunks/0-_aq6ipzcshj.js": "39f90c215bf52aef6274ed3dcc0f8af32e21a37fe8845b3bca0d6ea60da6a8c2",
"job-tracker-ui/out/_next/static/chunks/02pclekj6sxrn.js": "8de8b7bb4d26955b3f334c338dc6c2cdef52b134b6be2396e9c5cf85c3657448",
"job-tracker-ui/out/_next/static/chunks/0469gyudlgy5b.js": "a3b3bd46632b3678b27b3ef29ef63c1ca38b36ec29bf751fb223c0e2a5cfb243",
"job-tracker-ui/out/_next/static/chunks/05rgc5zsm9p5i.js": "1da7305ab9d8e95795327cce11a16db4c56d90429d7e1dea4c4088c085f20d69",
"job-tracker-ui/out/_next/static/chunks/06uj_cr-l0wxa.js": "42bcafb6776a31f4ecf896c60d188bde349da352874b09cfa340f43890f7c2a8",
"job-tracker-ui/out/_next/static/chunks/0ah1fzqmie05a.js": "5c65505a7dcbac63ac71d254e619a4c800943bfb4fa16cd40c10cdbe7e9b6e31",
"job-tracker-ui/out/_next/static/chunks/0bdt7ln111t48.js": "6184b1a61f22e2a640c17941634fdc75678ce93d142848d9f07f163e0d1fd201",
"job-tracker-ui/out/_next/static/chunks/0cz1d0mv5g_q7.js": "0973c1d64c88adc8e3c950410cb58b288f72118d5965b78049438deb8f2f9683",
"job-tracker-ui/out/_next/static/chunks/0gamdsp7ql8cu.js": "f641cd9e2957f5c01234df02211a085f8e8fe2009cf84817e4143f3c477e1dc2",
"job-tracker-ui/out/_next/static/chunks/0jcvc3qm6-lyk.js": "7c27e1fe373b822adc68c63096a5bf38444ad605b9743f0920271652989c56f1",
"job-tracker-ui/out/_next/static/chunks/0og1crk78cn4a.js": "aa5031605cb2f46a612e94d9d71473f48a71aa4a5acfe8fe5f2dfc66d951ab40",
"job-tracker-ui/out/_next/static/chunks/0q20g9o8x-k8z.js": "3d4d9086985419aa8866b032158196c774acb8bf318f3c8245508c8daa9c5148",
"job-tracker-ui/out/_next/static/chunks/0qxm1h9uqfgpa.js": "a5af3192c76f3b8dac5c17afbe90d96a5c7652810ce69b7f39fbcf1f1231fd8c",
"job-tracker-ui/out/_next/static/chunks/0q_pwu9jxv4-d.js": "42a43b3d7245a413c7c29b4cbe87823037a6dbc637e2e282c92405470e0f575d",
"job-tracker-ui/out/_next/static/chunks/0xwbx2zs8qod6.js": "42959f315a234810f4e6b77f40f78e192c0926f329e447977c6d575344eec59c",
"job-tracker-ui/out/_next/static/chunks/1-8ykqf0n88k2.js": "eb208124ec838cb9a9ae366745bd81fba1c35eeceac128c567bbb7977ebb6a2e",
"job-tracker-ui/out/_next/static/chunks/1435in_k_-dhc.js": "4757476512d5c4dd25f9264a18b304ed4824b23aff1c09e134fcbff21d9c36b6",
"job-tracker-ui/out/_next/static/chunks/145oicobmjvm7.js": "d6bbbdeed1381652dc7412e5ce673a077579ecd5cee8934cb6b533c814098764",
"job-tracker-ui/out/_next/static/chunks/14e7ovj0s3elm.js": "070567dd4d23fb9fa0b9ba132185a697af6578045d43b2b1c7bbb2a1594d935d",
"job-tracker-ui/out/_next/static/chunks/16lfece6cnlln.js": "716363ba044f30b0e70440756b4e5eafa2d25f2e1628e855e3bc4ab9eabee3d3",
"job-tracker-ui/out/_next/static/chunks/1artropt-724g.js": "a3c10a972f1f1465f6c11f0ef34e8056945cae29a9dd04cbc830e1e9153c8db1",
"job-tracker-ui/out/_next/static/chunks/1bgarpoxnr3-g.js": "0567f19d903dbb891f6ba1dfbc6d73bca083634f42cdec4bf1532e010a61818f",
"job-tracker-ui/out/_next/static/chunks/1d0xrdyyzw7qc.js": "c11668ff1e152008e0d7b4454af12eb36c97df46a5860938e2eb5d8429b374a8",
"job-tracker-ui/out/_next/static/chunks/1fsplt8ynm23o.js": "0a82ec48984596cecc33ba70607e5e0b99819c6af0b0909db7fe8502db727269",
"job-tracker-ui/out/_next/static/chunks/1gizj1a2nyrkl.js": "e3e636761a666af64efae2e765ed48e2cd0552a5a07896276b0e3ddbce5d3b00",
"job-tracker-ui/out/_next/static/chunks/1ke8pzecwofrg.css": "32e9ab963ebadebcbe2c68dffb24cfbfc8cc24255ad91b48b7941fc777bf7439",
"job-tracker-ui/out/_next/static/chunks/1m4qrvmbq_fq9.js": "4d36c8ec83dc817f273178dc22f329ab026578075f58de68b6f133bcf911a8a1",
"job-tracker-ui/out/_next/static/chunks/1req80b9jj38r.js": "eee4d2e3789e1215195dba99ad0f09d34f8c83da848322b76054722233e9dae3",
"job-tracker-ui/out/_next/static/chunks/1xn023_28rgzj.js": "4f7f2108d030a48d039930736c92a55710975dddf419fe673f84d92899b1f575",
"job-tracker-ui/out/_next/static/chunks/1xwc-b795syag.css": "f73c002233f931ca14d0ae58815c47ca9f2659f25b1547a6d1fdca12a2a00b3f",
"job-tracker-ui/out/_next/static/chunks/22wx8--1b9tnq.js": "3f7d8e762371262c6a740b4dac21725b424847319afac46055e97074a99ff5f5",
"job-tracker-ui/out/_next/static/chunks/274f8aifi_wup.js": "bc5bc5617b4acbbbb1c7966322c508bb5554024d78e71e523e27f7f5bba5a8ab",
"job-tracker-ui/out/_next/static/chunks/2b49wlharl6fd.js": "40619f8a5a03fc7479b0679717b1e5ec0dea0a1944ce77f4ce9d29d2486fdb5c",
"job-tracker-ui/out/_next/static/chunks/2br3ad_-bc7k9.js": "80fa55f7a32db4d743fda36747c36994fde00a0f53f2eb25b2a6d07c6fb97cd7",
"job-tracker-ui/out/_next/static/chunks/2dmc6iqxm14fz.js": "3b20898e0cde315c48d6fd46abd562269bbf73c850528a4be2cfc2b9aa0c8f5e",
"job-tracker-ui/out/_next/static/chunks/2ghgf2s9b2iou.js": "23d8ff31e2128d0541c1887785fb75885323fea7c5d4f35826513b75c12c2ae3",
"job-tracker-ui/out/_next/static/chunks/2itnratrnd9c5.js": "8be0b191c2d54f7233ebf2f1e169b3bfef680fa93da21c08d8c43b05c3ec174f",
"job-tracker-ui/out/_next/static/chunks/2kpcazmi6n6mk.js": "bea0de681fceff50056bfeccc5d035aff54d20918288051cb64bb259edd250c7",
"job-tracker-ui/out/_next/static/chunks/2php_9zkhprrb.js": "4f91e63b1181693e7a3b269b1b24004d9abee13413b8396a916799b8c01620e8",
"job-tracker-ui/out/_next/static/chunks/2s2gjr6ro25dj.js": "7489e2ac285a05b563c2bcb4eaf9274bf930f2a7385f17d6d5e6850064b88b10",
"job-tracker-ui/out/_next/static/chunks/2ud29c_uda_ji.js": "a8aebc85235f1000afcdd9763722ee9aafd4fed6751bc19e3ee908118d920420",
"job-tracker-ui/out/_next/static/chunks/2z42el0b2mp8_.js": "86ff990ef32c90c4839583e4f1d1bcbddb165dad3141b9fcd2ecec67f4ff24b8",
"job-tracker-ui/out/_next/static/chunks/2z9e_b61gtc22.js": "b9d717dad26828438d4ff56cabca41a8055f5eaa54420fd0aeb6b4ba7d5baa0d",
"job-tracker-ui/out/_next/static/chunks/3-erj6o63cizm.js": "56b3ffeb0c3ea44cf5fa4f0cfd0efd327ff282423be7973c3616bed1bc45f8b1",
"job-tracker-ui/out/_next/static/chunks/30-q9iimktiql.js": "db89d5da1f101216d7f99e9518dc7f5ed84f8b40ac84a6ea55f73c01bf1aca1b",
"job-tracker-ui/out/_next/static/chunks/324qfub45abd6.js": "77ef8e17b89234fb19a80796d5d04d3e297c459e5cb41b35b5bc78c0b10b4984",
"job-tracker-ui/out/_next/static/chunks/357yqeklh7414.js": "0192ab7198ebbe299d34a934c504dd4b562d1cccebb6e9d4c5163930c881b14c",
"job-tracker-ui/out/_next/static/chunks/3bqn9b34na0b9.js": "f1b8ebcc1b22251c33c9f3a5d11c1f893cad2da2e8744a441e790f7347aa9e73",
"job-tracker-ui/out/_next/static/chunks/3ckk_j5ril9ag.js": "87f631dae7b648d32171e9e05a3e000753ecb54f8d3b86a4401c0e4ab4d73553",
"job-tracker-ui/out/_next/static/chunks/3eupzm2out6bo.js": "07ff8eb883381791bf067722b5ce6261f9528fc4ea2042960df412762b54b219",
"job-tracker-ui/out/_next/static/chunks/3gkylew_qn7cw.js": "7e6c74c81be0c41ab433e36d65b914f62c48f332922e27f7cc953476f4dd78cb",
"job-tracker-ui/out/_next/static/chunks/3la4obitihzpv.js": "9a5a57b46db389b98f1fd5baa86eba1a360300dae9d1ff3ffeae7bc3378135b9",
"job-tracker-ui/out/_next/static/chunks/3q4v10rrqy40n.js": "d87ff7b7a0f07d0d92eab3876481eb686a12d9c43d8b92cbe406aefa227a11c1",
"job-tracker-ui/out/_next/static/chunks/3u61o8t7m_jza.js": "86231c12e0f8cacc8638bed0bc4b34f645fc35e60de342dc154d3cce0c9a5afa",
"job-tracker-ui/out/_next/static/chunks/40y_aqqilokr2.js": "1f5a5260316134d6bffe949400752ee6b42addf908ae714ef4ae4ebde916dddd",
"job-tracker-ui/out/_next/static/chunks/43b5x8qjjh3ax.js": "6ee7261cf9a63e0e6ea181bbb09125e09948588b6e10b5c02727c686a6062a3a",
"job-tracker-ui/out/_next/static/chunks/turbopack-25fzg9ay_1ss-.js": "c40f39e993a30c96d6247bb3a7b581538bb046efe8ef8ec07bea3ba32291750f",
"job-tracker-ui/out/_next/static/O-iIPXpNeQ05QXWtgTbtM/_buildManifest.js": "9476e0afd3f9da68a64e6ec58631191fd3eaca62c9f5a377e7517fe9a89e59ea",
"job-tracker-ui/out/_next/static/O-iIPXpNeQ05QXWtgTbtM/_clientMiddlewareManifest.js": "5483e3295dc35dfe29ea932efc85341c916f10ff78ff5b0e965e003710893a4a",
"job-tracker-ui/out/_next/static/O-iIPXpNeQ05QXWtgTbtM/_ssgManifest.js": "678f6ce2cb80b1fe72fc67e7412be6e2ab6ada083111b64f7c40d35e3cba5e00",
"job-tracker-ui/out/_not-found/__next._full.txt": "1e439f0ac83e661015d605254edf8be7f0d40f9d8eb1d7ab71a7c22e03a3eb44",
"job-tracker-ui/out/_not-found/__next._not-found/__PAGE__.txt": "d59c94a9d2d63179446ee58454ab2547ab0919e2723fef8164f01a0f9a509afa",
"job-tracker-ui/out/_not-found/__next._tree.txt": "f6b40b2f3447743a0471dca8410040bf45cab1c8c0c2fa57ff7ad0a74ed5d36f",
"job-tracker-ui/out/_not-found.html": "72f5780ad3024cc7257960defa624bd15941c33bc90a67fdb16e2a3c7a9d4101",
"job-tracker-ui/out/_not-found.txt": "1e439f0ac83e661015d605254edf8be7f0d40f9d8eb1d7ab71a7c22e03a3eb44",
"job-tracker-ui/out/__next._full.txt": "84c5949667c5de886bea32a1c0a4fa80a2a5833db5920bc8ea2d6e893b4e1cc1",
"job-tracker-ui/out/__next._tree.txt": "70142649d7f01c8990d716d053be13422284ee155c5606edcdcbfa1606df3d3d",
"job-tracker-ui/out/__next.__PAGE__.txt": "86389ea2c7db3cc208c6fcc7c71c538a64d83cdcc62a4d5e2f60174b19f43f11"
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,11 @@
# Dashboard defaults and discovery density
4 November 2026. Public-language receipt09904ecc is published and independently remotely verified. New visual correction is within approved IM10, not a new design concept or final acceptance.
Dashboard: current36-configuration baseline passed72 scans/captures and36 fixture layout-save/reload/onboarding journeys on runtimefa6bd5d9. Real desktop captures show excessive unused widget space compared with approved A3. Only the initial defaults for stage-age, source, salary, company and skill widgets change from8 rows to4. Initial total height reduces from54 to42 grid rows. All10 widgets remain visible. Saved geometry, explicit hidden widgets, order, revision, deliberate gaps and existing collision/drag/resize/keyboard controls are unchanged. Sparse new widgets retain content scrolling on wide screens; mobile remains flowing content. This is a default-density improvement, not complete dashboard visual parity.
Discovery: the pre-change320px pilot passed three scans and the existing saved-search journey but visibly nests the saved-search collection around saved-search objects and frames each vacancy. Remove only the collection border/padding and make vacancies open divided rows. Saved-search object outlines, source attribution, dates, rights/geography semantics, filters, saved-search actions and result actions remain. Result overflow remains visible to preserve keyboard outlines. Phone screenshots use actual viewports so fixed mobile navigation is not misleadingly composited midway through tall full-page captures. Preserve the old pilot separately; it is not a full baseline matrix.
PASSED before build:63 dashboard/layout/grid/hook/onboarding tests in six suites plus38 discovery/offer tests in two disjoint suites (101 distinct); TypeScript, full lint and verifier syntax checks. The six offer date regressions are included in38, not additive to it. RED density case measured54 rows against the42-row bound; saved visible/hidden geometry regression remains in the green suite.
Pending: settled export build, affected rendered offer dates (EN/NB in three timezone contexts), dashboard and discovery pilots and36-configuration matrices, manual comparisons and source-bound receipt/publication. Prior public504-state evidence does not qualify these new source changes. Full34-route/57-group, connected workflows, native/device/human and final security/release/owner visual acceptance stay OPEN.
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,47 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "walkthrough",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"skipResumeDismissWalkthrough": "PASS",
"noGuidanceWrites": "PASS",
"explicitLayoutSaveReload": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 320,
"language": "en",
"mode": "light",
"revision": 1
}
],
"blockedExternal": [
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com",
"https://fonts.googleapis.com"
],
"limits": [
"synthetic API fixtures, not real backend end-to-end",
"no native device/screen reader/model/provider/security/release qualification"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 216 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

@@ -0,0 +1,74 @@
{
"screens": [
{
"width": 320,
"language": "en",
"mode": "light",
"state": "initial",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "results",
"violations": []
},
{
"width": 320,
"language": "en",
"mode": "light",
"state": "saved",
"violations": []
}
],
"journeys": [
{
"width": 320,
"language": "en",
"mode": "light",
"searchSavePauseRunDismissConfirmedDelete": "PASS"
}
],
"errors": [],
"unexpectedWrites": [],
"mockedWrites": [
{
"width": 320,
"language": "en",
"mode": "light",
"action": "create"
},
{
"width": 320,
"language": "en",
"mode": "light",
"action": "pauseAlerts"
},
{
"width": 320,
"language": "en",
"mode": "light",
"action": "manualRun"
},
{
"width": 320,
"language": "en",
"mode": "light",
"action": "dismiss"
},
{
"width": 320,
"language": "en",
"mode": "light",
"action": "confirmedDelete"
}
],
"blockedExternal": [
"https://fonts.googleapis.com"
],
"limits": [
"synthetic provider/API fixtures, not live NAV or backend qualification",
"no new providers/geography or native/security/release acceptance"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

+14 -6
View File
@@ -4,12 +4,18 @@ import AxeBuilder from '@axe-core/playwright';
import assert from 'node:assert/strict';
import fs from 'node:fs';
import path from 'node:path';
const out = path.resolve(import.meta.dirname, '../../docs/ui-modernisation/evidence/dashboard/browser');
const visualMatrix = process.env.A3_VISUAL_MATRIX === '1';
const widths = process.env.A3_PILOT ? [320] : visualMatrix ? [320, 360, 390, 430, 768, 1024, 1280, 1440, 1920] : [320, 390, 768, 1440];
const languages = process.env.A3_PILOT ? ['en'] : ['en', 'nb'];
const modes = process.env.A3_PILOT ? ['light'] : ['light', 'dark'];
const expectedJourneys = widths.length * languages.length * modes.length;
const out = path.resolve(import.meta.dirname, visualMatrix ? '../../docs/ui-modernisation/visual-correction/evidence/dashboard' : '../../docs/ui-modernisation/evidence/dashboard/browser');
fs.mkdirSync(out, { recursive: true });
const report = { screens: [], journeys: [], errors: [], unexpectedWrites: [], mockedWrites: [], blockedExternal: [] };
const browser = await chromium.launch();
try {
for (const width of [320, 390, 768, 1440]) for (const language of ['en', 'nb']) for (const mode of ['light', 'dark']) {
for (const width of widths) for (const language of languages) for (const mode of modes) {
console.log(`Checking ${width}/${language}/${mode}`);
const context = await browser.newContext({ viewport: { width, height: 1000 }, reducedMotion: 'reduce' });
const page = await context.newPage(); page.on('pageerror', error => report.errors.push(error.message));
await page.addInitScript(({ language, mode }) => { localStorage.setItem('uiLanguage', language); localStorage.setItem('jobtracker.themeMode', mode); }, { language, mode });
@@ -58,7 +64,7 @@ try {
assert.equal(await week.locator('time').first().getAttribute('datetime'), deadline);
assert.equal(await week.getByRole('link', { name: 'Community nurse' }).count(), 0);
assert.equal(await page.evaluate(() => document.documentElement.scrollWidth > innerWidth + 1), false);
if (width === 1440) await page.waitForFunction(() => {
if (width >= 1440) await page.waitForFunction(() => {
const a = document.querySelector('[data-dashboard-widget=agenda]').getBoundingClientRect(), b = document.querySelector('[data-dashboard-widget=funnel]').getBoundingClientRect();
return Math.abs(a.top - b.top) < 2 && a.left < b.left;
});
@@ -94,9 +100,11 @@ try {
}
assert.deepEqual(report.errors, []); assert.deepEqual(report.unexpectedWrites, []);
assert.ok(report.blockedExternal.every(origin => origin === 'https://fonts.googleapis.com'));
assert.equal(report.mockedWrites.length, 16);
console.log('PASS: 16 dashboard journeys,32 scoped axe sweeps,32 captures; controlled API persistence only.');
assert.equal(report.mockedWrites.length, expectedJourneys);
assert.equal(report.journeys.length, expectedJourneys);
assert.equal(report.screens.length, expectedJourneys * 2);
console.log(`PASS:${report.journeys.length} dashboard journeys,${report.screens.length} scoped axe sweeps/captures; controlled API persistence only.`);
} finally {
fs.writeFileSync(path.join(out, 'BROWSER.json'), JSON.stringify({ ...report, limits: ['synthetic API fixtures, not real backend end-to-end','no native device/screen reader/model/provider/security/release qualification'] }, null, 2));
fs.writeFileSync(path.join(out, process.env.A3_PILOT ? 'PILOT.json' : 'BROWSER.json'), JSON.stringify({ ...report, limits: ['synthetic API fixtures, not real backend end-to-end','no native device/screen reader/model/provider/security/release qualification'] }, null, 2));
await browser.close();
}
+12 -6
View File
@@ -4,12 +4,18 @@ import AxeBuilder from '@axe-core/playwright';
import assert from 'node:assert/strict';
import fs from 'node:fs';
import path from 'node:path';
const out = path.resolve(import.meta.dirname, '../../docs/ui-modernisation/evidence/discovery/browser');
const visualMatrix = process.env.A3_VISUAL_MATRIX === '1';
const widths = process.env.A3_PILOT ? [320] : visualMatrix ? [320, 360, 390, 430, 768, 1024, 1280, 1440, 1920] : [320, 390, 768, 1440];
const languages = process.env.A3_PILOT ? ['en'] : ['en', 'nb'];
const modes = process.env.A3_PILOT ? ['light'] : ['light', 'dark'];
const expectedJourneys = widths.length * languages.length * modes.length;
const out = path.resolve(import.meta.dirname, visualMatrix ? '../../docs/ui-modernisation/visual-correction/evidence/discovery' : '../../docs/ui-modernisation/evidence/discovery/browser');
fs.mkdirSync(out, { recursive: true });
const report = { screens: [], journeys: [], errors: [], unexpectedWrites: [], mockedWrites: [], blockedExternal: [] };
const browser = await chromium.launch();
try {
for (const width of [320, 390, 768, 1440]) for (const language of ['en', 'nb']) for (const mode of ['light', 'dark']) {
for (const width of widths) for (const language of languages) for (const mode of modes) {
console.log(`Checking ${width}/${language}/${mode}`);
const context = await browser.newContext({ viewport: { width, height: 1000 }, reducedMotion: 'reduce' });
const page = await context.newPage(); page.on('pageerror', error => report.errors.push(error.message));
await page.addInitScript(({ language, mode }) => { localStorage.setItem('uiLanguage', language); localStorage.setItem('jobtracker.themeMode', mode); }, { language, mode });
@@ -50,7 +56,7 @@ try {
const result = await new AxeBuilder({ page }).withTags(['wcag2a', 'wcag2aa', 'wcag21aa', 'wcag22aa']).analyze();
report.screens.push({ width, language, mode, state, violations: result.violations }); assert.deepEqual(result.violations, []);
await page.evaluate(() => window.scrollTo(0, 0));
await page.screenshot({ path: path.join(out, `${state}-${language}-${mode}-${width}.png`), fullPage: true });
await page.screenshot({ path: path.join(out, `${state}-${language}-${mode}-${width}.png`), fullPage: width >= 768 });
};
await page.goto('http://localhost:4338/discover');
const filters = page.getByRole('complementary', { name: language === 'en' ? 'Search filters' : 'Søkefiltre' }); await filters.waitFor();
@@ -84,11 +90,11 @@ try {
report.journeys.push({ width, language, mode, searchSavePauseRunDismissConfirmedDelete: 'PASS' });
await context.close();
}
assert.equal(report.screens.length, 48); assert.equal(report.journeys.length, 16); assert.equal(report.mockedWrites.length, 80);
assert.equal(report.screens.length, expectedJourneys * 3); assert.equal(report.journeys.length, expectedJourneys); assert.equal(report.mockedWrites.length, expectedJourneys * 5);
assert.deepEqual(report.errors, []); assert.deepEqual(report.unexpectedWrites, []);
assert.ok(report.blockedExternal.every(origin => origin === 'https://fonts.googleapis.com'));
console.log('PASS:16 controlled discovery journeys,48 axe scans/captures,80 intercepted fixture mutations.');
console.log(`PASS:${report.journeys.length} controlled discovery journeys,${report.screens.length} axe scans/captures,${report.mockedWrites.length} intercepted fixture mutations.`);
} finally {
fs.writeFileSync(path.join(out, 'BROWSER.json'), JSON.stringify({ ...report, limits: ['synthetic provider/API fixtures, not live NAV or backend qualification', 'no new providers/geography or native/security/release acceptance'] }, null, 2));
fs.writeFileSync(path.join(out, process.env.A3_PILOT ? 'PILOT.json' : 'BROWSER.json'), JSON.stringify({ ...report, limits: ['synthetic provider/API fixtures, not live NAV or backend qualification', 'no new providers/geography or native/security/release acceptance'] }, null, 2));
await browser.close();
}
@@ -38,6 +38,21 @@ test('default catalogue preserves every section and supported widths', () => {
expect(defaultDashboardLayout().widgets[0].visible).toBe(true);
});
test('initial dashboard keeps every widget in a denser bounded layout without resizing saved geometry', () => {
const fresh = defaultDashboardLayout();
expect(fresh.widgets).toHaveLength(10);
expect(fresh.widgets.every(widget => widget.visible)).toBe(true);
expect(Math.max(...fresh.widgets.map(widget => widget.y + widget.h))).toBeLessThanOrEqual(42);
const saved = { version: 2, revision: 4, widgets: [
{ id: 'sources', visible: true, size: 'standard', x: 0, y: 14, w: 6, h: 8 },
{ id: 'salary', visible: false, size: 'full', x: 0, y: 26, w: 12, h: 12 },
] };
const normalized = normalizeDashboardLayout(saved);
expect(normalized.revision).toBe(4);
expect(normalized.widgets.slice(0, 2)).toEqual(saved.widgets);
expect(normalized.widgets.slice(2).every(widget => !widget.visible)).toBe(true);
});
test.each([1, 2])('new schema %s preferences use task-first A1 defaults without omitting widgets', version => {
const layout = normalizeDashboardLayout({ version, revision: 0, widgets: [] });
expect(layout.widgets[0]).toMatchObject({ id: 'attention', visible: true, x: 0, y: 0, w: 12 });
+2 -1
View File
@@ -34,7 +34,8 @@ export function defaultDashboardLayout(): DashboardLayout {
return { version: 2, revision: 0, widgets: arrangeDashboardWidgets(order.map(id => {
const definition = WIDGETS.find(widget => widget.id === id)!;
const w = id === 'attention' ? 12 : id === 'agenda' ? 8 : id === 'funnel' ? 4 : definition.defaultSize === 'full' ? 12 : 6;
return { id, visible: true, size: w === 12 ? 'full' : 'standard', x: 0, y: 0, w, h: id === 'cards' ? 5 : id === 'attention' ? 9 : 8 };
const h = id === 'cards' ? 5 : id === 'attention' ? 9 : ['stageAge', 'sources', 'salary', 'companies', 'skills'].includes(id) ? 4 : 8;
return { id, visible: true, size: w === 12 ? 'full' : 'standard', x: 0, y: 0, w, h };
})) };
}
@@ -192,8 +192,8 @@ export default function JobDiscoveryPage() {
<TextField label={t("jobDiscoveryMunicipality")} value={location} disabled={busy} onChange={(event) => setLocation(event.target.value)} />
<Button type="submit" variant="contained" startIcon={loading ? <CircularProgress aria-hidden="true" size={18} color="inherit" /> : <SearchIcon />} disabled={busy}>{t("jobDiscoverySearchNav")}</Button>
</Box>
<Card variant="outlined" aria-busy={savedSearchState === "loading"}>
<CardContent sx={{ display: "grid", gap: 1.5, p: "var(--app-card-padding)", "&:last-child": { pb: "var(--app-card-padding)" } }}>
<Box aria-busy={savedSearchState === "loading"}>
<Box sx={{ display: "grid", gap: 1.5 }}>
<Box>
<Typography component="h2" variant="sectionTitle">{t("jobDiscoverySavedSearches")}</Typography>
<Typography variant="body2" color="text.secondary">{t("jobDiscoverySavedSearchesHelp")}</Typography>
@@ -226,8 +226,8 @@ export default function JobDiscoveryPage() {
))}
</Stack>
)}
</CardContent>
</Card>
</Box>
</Box>
</Box>
<Box role="region" aria-label={t("jobDiscoveryResults")} tabIndex={-1} ref={resultsRef} aria-busy={loading} sx={{ display: "grid", gap: 2, minWidth: 0 }}>
<PageHeader level="h2" title={t("jobDiscoveryResults")} actions={<Button disabled={busy} onClick={() => queryRef.current?.focus()}>{t("jobDiscoveryReturnFilters")}</Button>} />
@@ -252,8 +252,8 @@ export default function JobDiscoveryPage() {
) : null}
<Box sx={{ display: "grid", gridTemplateColumns: "minmax(0, 1fr)", gap: 2 }}>
{sortedJobs.map((job) => (
<Card key={job.id} component="article" aria-label={job.title} variant="outlined" sx={{ display: "flex", flexDirection: "column", minWidth: 0 }}>
<CardContent sx={{ p: "var(--app-card-padding)" }}>
<Card key={job.id} component="article" aria-label={job.title} variant="outlined" sx={{ display: "flex", flexDirection: "column", minWidth: 0, border: 0, borderBottom: 1, borderColor: "divider", borderRadius: 0, bgcolor: "transparent", overflow: "visible" }}>
<CardContent sx={{ px: 0, py: 1.5 }}>
<Box sx={{ display: "flex", flexWrap: "wrap", gap: 1, mb: 1 }}>
<Chip label={job.sourceName || job.source.toUpperCase()} size="small" color="primary" variant="outlined" />
{job.isNew ? <Chip label={t("jobDiscoveryNewResult")} size="small" color="success" /> : null}
@@ -270,7 +270,7 @@ export default function JobDiscoveryPage() {
<Typography variant="caption" color="text.secondary">{t("jobDiscoveryWorkArrangementMissing")}</Typography>
</Stack>
</CardContent>
<CardActions sx={{ mt: "auto", p: "var(--app-card-padding)", pt: 0, flexWrap: "wrap", gap: 1, "& .MuiButton-root": { ml: 0, whiteSpace: "normal", maxWidth: "100%" } }}>
<CardActions sx={{ mt: "auto", px: 0, pt: 0, pb: 1.5, flexWrap: "wrap", gap: 1, "& .MuiButton-root": { ml: 0, whiteSpace: "normal", maxWidth: "100%" } }}>
<Button href={job.url} target="_blank" rel="noreferrer">{t("jobDiscoveryViewListing")}</Button>
<Button startIcon={<AddIcon />} onClick={() => navigate("/jobs?add=" + encodeURIComponent(job.url))}>{t("jobDiscoverySaveTracker")}</Button>
{activeSavedSearchId !== null ? <Button color="inherit" disabled={busy} onClick={() => void dismissJob(job.id)}>{t("jobDiscoveryDismiss")}</Button> : null}