chore: upgrade dependencies

This commit is contained in:
beatz174-bit
2025-11-24 19:59:04 +10:00
parent c3f234076b
commit 955366b511
20 changed files with 957 additions and 1100 deletions
-29
View File
@@ -1,29 +0,0 @@
{
"env": {
"browser": true,
"es2021": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": ["@typescript-eslint", "react-refresh", "react-hooks"],
"rules": {
"react-refresh/only-export-components": ["warn", { "allowConstantExport": true }],
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn"
},
"settings": {
"react": {
"version": "detect"
}
}
}
+53
View File
@@ -0,0 +1,53 @@
import js from '@eslint/js';
import globals from 'globals';
import reactHooks from 'eslint-plugin-react-hooks';
import reactRefresh from 'eslint-plugin-react-refresh';
import tseslint from 'typescript-eslint';
export default tseslint.config(
{
ignores: ['node_modules', 'build', 'dist', 'public'],
},
js.configs.recommended,
...tseslint.configs.recommended,
{
files: ['**/*.{ts,tsx}'],
languageOptions: {
parser: tseslint.parser,
ecmaVersion: 'latest',
sourceType: 'module',
globals: {
...globals.browser,
},
},
plugins: {
'react-hooks': reactHooks,
'react-refresh': reactRefresh,
},
rules: {
'react-refresh/only-export-components': ['warn', { allowConstantExport: true }],
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'warn',
},
},
{
files: ['**/*.test.{ts,tsx}', '**/__tests__/**/*.{ts,tsx}'],
rules: {
'@typescript-eslint/no-explicit-any': 'off',
},
},
{
files: ['src/context/**/*.{ts,tsx}'],
rules: {
'react-refresh/only-export-components': 'off',
},
},
{
files: ['src/pwa/service-worker.js'],
languageOptions: {
globals: {
...globals.serviceworker,
},
},
},
);
+805 -977
View File
File diff suppressed because it is too large Load Diff
+28 -27
View File
@@ -12,38 +12,39 @@
"test:e2e": "playwright test" "test:e2e": "playwright test"
}, },
"dependencies": { "dependencies": {
"@emotion/react": "^11.13.0", "@emotion/react": "^11.14.0",
"@emotion/styled": "^11.13.0", "@emotion/styled": "^11.14.1",
"@mui/icons-material": "^5.16.4", "@mui/icons-material": "^7.3.5",
"@mui/material": "^5.16.4", "@mui/material": "^7.3.5",
"@types/uuid": "^10.0.0", "@types/uuid": "^11.0.0",
"@zxing/browser": "^0.1.4", "@zxing/browser": "^0.1.5",
"date-fns": "^4.1.0", "date-fns": "^4.1.0",
"dexie": "^4.0.7", "dexie": "^4.2.1",
"react": "^18.3.1", "react": "^19.2.0",
"react-dom": "^18.3.1", "react-dom": "^19.2.0",
"react-router-dom": "^6.26.0", "react-router-dom": "^7.9.6",
"uuid": "^9.0.1" "uuid": "^13.0.0"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "^1.50.1", "@playwright/test": "^1.56.1",
"@testing-library/jest-dom": "^6.6.3", "@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.1.0", "@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.5.2", "@testing-library/user-event": "^14.6.1",
"@types/node": "^22.0.0", "@types/node": "^24.10.1",
"@types/react": "^18.3.3", "@types/react": "^19.2.7",
"@types/react-dom": "^18.3.0", "@types/react-dom": "^19.2.3",
"@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/eslint-plugin": "^8.47.0",
"@typescript-eslint/parser": "^7.18.0", "@typescript-eslint/parser": "^8.47.0",
"@vitejs/plugin-react": "^4.3.1", "@vitejs/plugin-react": "^5.1.1",
"@vitest/coverage-v8": "^4.0.13", "@vitest/coverage-v8": "^4.0.13",
"@vitest/ui": "^4.0.13", "@vitest/ui": "^4.0.13",
"eslint": "^8.57.1", "eslint": "^9.39.1",
"eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.7", "eslint-plugin-react-refresh": "^0.4.24",
"jsdom": "^24.1.0", "jsdom": "^27.2.0",
"msw": "^2.6.5", "msw": "^2.12.3",
"typescript": "^5.5.4", "typescript": "^5.9.3",
"typescript-eslint": "^8.47.0",
"vite": "^7.2.4", "vite": "^7.2.4",
"vitest": "^4.0.13" "vitest": "^4.0.13"
} }
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "StockFill", "name": "StockFill",
"short_name": "StockFill", "short_name": "StockFill",
"start_url": "https://stockfill.lan.ddnsgeek.com", "start_url": "/",
"display": "standalone", "display": "standalone",
"background_color": "#ffffff", "background_color": "#ffffff",
"theme_color": "#0d6efd", "theme_color": "#0d6efd",
+2
View File
@@ -1,3 +1,5 @@
/* eslint-env serviceworker */
const CACHE_NAME = 'stockfill-cache-v1'; const CACHE_NAME = 'stockfill-cache-v1';
const OFFLINE_URLS = ['/', '/index.html']; const OFFLINE_URLS = ['/', '/index.html'];
+1 -1
View File
@@ -42,7 +42,7 @@ const AppRoutes = () => {
export const App = () => ( export const App = () => (
<ThemeProvider theme={theme}> <ThemeProvider theme={theme}>
<CssBaseline /> <CssBaseline />
<BrowserRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <BrowserRouter>
<DBProvider> <DBProvider>
<AppRoutes /> <AppRoutes />
</DBProvider> </DBProvider>
+4 -4
View File
@@ -1,4 +1,4 @@
import { randomUUID } from 'crypto'; import { v4 as uuidv4 } from 'uuid';
import { describe, expect, it } from 'vitest'; import { describe, expect, it } from 'vitest';
import { seedAreas, seedCategories, seedDatabase, seedProducts } from './seed'; import { seedAreas, seedCategories, seedDatabase, seedProducts } from './seed';
import { Area } from '../models/Area'; import { Area } from '../models/Area';
@@ -29,14 +29,14 @@ class MockTable<T extends { id: string; name: string }> {
} }
const buildArea = (overrides: Partial<Area> = {}): Area => ({ const buildArea = (overrides: Partial<Area> = {}): Area => ({
id: overrides.id ?? randomUUID(), id: overrides.id ?? uuidv4(),
name: overrides.name ?? 'Area', name: overrides.name ?? 'Area',
created_at: overrides.created_at ?? Date.now(), created_at: overrides.created_at ?? Date.now(),
updated_at: overrides.updated_at ?? Date.now(), updated_at: overrides.updated_at ?? Date.now(),
}); });
const buildProduct = (overrides: Partial<Product> = {}): Product => ({ const buildProduct = (overrides: Partial<Product> = {}): Product => ({
id: overrides.id ?? randomUUID(), id: overrides.id ?? uuidv4(),
name: overrides.name ?? 'Product', name: overrides.name ?? 'Product',
category: overrides.category ?? 'Category', category: overrides.category ?? 'Category',
unit_type: overrides.unit_type ?? DEFAULT_UNIT_TYPE, unit_type: overrides.unit_type ?? DEFAULT_UNIT_TYPE,
@@ -48,7 +48,7 @@ const buildProduct = (overrides: Partial<Product> = {}): Product => ({
}); });
const buildCategory = (overrides: Partial<Category> = {}): Category => ({ const buildCategory = (overrides: Partial<Category> = {}): Category => ({
id: overrides.id ?? randomUUID(), id: overrides.id ?? uuidv4(),
name: overrides.name ?? 'Category', name: overrides.name ?? 'Category',
created_at: overrides.created_at ?? Date.now(), created_at: overrides.created_at ?? Date.now(),
updated_at: overrides.updated_at ?? Date.now(), updated_at: overrides.updated_at ?? Date.now(),
@@ -5,9 +5,9 @@ import { useBarcodeScanner } from '../useBarcodeScanner';
const decodeFromVideoDevice = vi.fn(); const decodeFromVideoDevice = vi.fn();
vi.mock('@zxing/browser', () => ({ vi.mock('@zxing/browser', () => ({
BrowserMultiFormatReader: vi.fn().mockImplementation(() => ({ BrowserMultiFormatReader: vi.fn(function MockBrowserMultiFormatReader() {
decodeFromVideoDevice, return { decodeFromVideoDevice };
})), }),
})); }));
declare global { declare global {
+1 -1
View File
@@ -7,7 +7,7 @@ interface LongPressOptions {
} }
export const useLongPress = ({ delay = 500, onLongPress, onClick }: LongPressOptions) => { export const useLongPress = ({ delay = 500, onLongPress, onClick }: LongPressOptions) => {
const timerRef = useRef<number>(); const timerRef = useRef<number | undefined>(undefined);
const handledRef = useRef(false); const handledRef = useRef(false);
const start = useCallback(() => { const start = useCallback(() => {
+9 -6
View File
@@ -1,4 +1,4 @@
import { useMemo, useRef } from 'react'; import { useCallback, useMemo, useRef } from 'react';
interface SwipeConfig { interface SwipeConfig {
onSwipeLeft?: () => void; onSwipeLeft?: () => void;
@@ -9,11 +9,12 @@ interface SwipeConfig {
export const useSwipe = ({ onSwipeLeft, onSwipeRight, threshold = 50 }: SwipeConfig) => { export const useSwipe = ({ onSwipeLeft, onSwipeRight, threshold = 50 }: SwipeConfig) => {
const startX = useRef<number | null>(null); const startX = useRef<number | null>(null);
const onTouchStart = (e: React.TouchEvent) => { const onTouchStart = useCallback((e: React.TouchEvent) => {
startX.current = e.changedTouches[0].screenX; startX.current = e.changedTouches[0].screenX;
}; }, []);
const onTouchEnd = (e: React.TouchEvent) => { const onTouchEnd = useCallback(
(e: React.TouchEvent) => {
if (startX.current === null) return; if (startX.current === null) return;
const deltaX = e.changedTouches[0].screenX - startX.current; const deltaX = e.changedTouches[0].screenX - startX.current;
if (deltaX < -threshold) { if (deltaX < -threshold) {
@@ -22,13 +23,15 @@ export const useSwipe = ({ onSwipeLeft, onSwipeRight, threshold = 50 }: SwipeCon
onSwipeRight?.(); onSwipeRight?.();
} }
startX.current = null; startX.current = null;
}; },
[onSwipeLeft, onSwipeRight, threshold],
);
return useMemo( return useMemo(
() => ({ () => ({
onTouchStart, onTouchStart,
onTouchEnd, onTouchEnd,
}), }),
[], [onTouchEnd, onTouchStart],
); );
}; };
+1 -1
View File
@@ -44,7 +44,7 @@ export const fetchProductFromOFF = async (barcode: string): Promise<ExternalProd
image: data.product.image_url ?? null, image: data.product.image_url ?? null,
source: 'openfoodfacts', source: 'openfoodfacts',
} satisfies ExternalProductInfo; } satisfies ExternalProductInfo;
} catch (error) { } catch {
return null; return null;
} finally { } finally {
clearTimeout(timeout); clearTimeout(timeout);
+2
View File
@@ -1,3 +1,5 @@
/* eslint-env serviceworker */
const CACHE_NAME = 'stockfill-cache-v1'; const CACHE_NAME = 'stockfill-cache-v1';
const OFFLINE_URLS = ['/', '/index.html']; const OFFLINE_URLS = ['/', '/index.html'];
+22 -22
View File
@@ -86,7 +86,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -118,7 +118,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -171,7 +171,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -191,7 +191,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -253,7 +253,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -270,7 +270,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -295,7 +295,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -322,7 +322,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -354,7 +354,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -387,7 +387,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -424,7 +424,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -486,7 +486,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -525,7 +525,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -563,7 +563,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -613,7 +613,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -657,7 +657,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -702,7 +702,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -749,7 +749,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -797,7 +797,7 @@ describe('ActivePickListScreen product search', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -837,7 +837,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -873,7 +873,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
@@ -899,7 +899,7 @@ describe('ActivePickListScreen product search', () => {
]); ]);
render( render(
<MemoryRouter initialEntries={['/pick-lists/1']} future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter initialEntries={['/pick-lists/1']}>
<Routes> <Routes>
<Route path="/pick-lists/:id" element={<ActivePickListScreen />} /> <Route path="/pick-lists/:id" element={<ActivePickListScreen />} />
</Routes> </Routes>
+1 -4
View File
@@ -90,9 +90,6 @@ export const ActivePickListScreen = () => {
); );
const sortedItems = useMemo(() => { const sortedItems = useMemo(() => {
const normalizeProductName = (product?: Product | null) =>
product?.name ? product.name.trim().toLowerCase() : '';
return [...itemsVisibleByStatus].sort((a, b) => { return [...itemsVisibleByStatus].sort((a, b) => {
const productA = productMap.get(a.product_id); const productA = productMap.get(a.product_id);
const productB = productMap.get(b.product_id); const productB = productMap.get(b.product_id);
@@ -221,7 +218,7 @@ export const ActivePickListScreen = () => {
}, [appliedItemFilter]); }, [appliedItemFilter]);
const visibleItems = useMemo(() => { const visibleItems = useMemo(() => {
let filteredItems = showPicked const filteredItems = showPicked
? sortedItems ? sortedItems
: sortedItems.filter((item) => item.status !== 'picked'); : sortedItems.filter((item) => item.status !== 'picked');
+1 -1
View File
@@ -36,7 +36,7 @@ describe('ManageAreasScreen deletion safeguards', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageAreasScreen /> <ManageAreasScreen />
</MemoryRouter>, </MemoryRouter>,
); );
+1 -1
View File
@@ -44,7 +44,7 @@ describe('ManageCategoriesScreen deletion safeguards', () => {
it('shows an error when trying to delete an in-use category', async () => { it('shows an error when trying to delete an in-use category', async () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageCategoriesScreen /> <ManageCategoriesScreen />
</MemoryRouter>, </MemoryRouter>,
); );
+9 -9
View File
@@ -120,7 +120,7 @@ describe('ManageProductsScreen barcode lookup', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -150,7 +150,7 @@ describe('ManageProductsScreen barcode lookup', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -182,7 +182,7 @@ describe('ManageProductsScreen barcode lookup', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -204,7 +204,7 @@ describe('ManageProductsScreen barcode lookup', () => {
try { try {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -249,7 +249,7 @@ describe('ManageProductsScreen barcode lookup', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -295,7 +295,7 @@ describe('ManageProductsScreen barcode lookup', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -333,7 +333,7 @@ describe('ManageProductsScreen auto-adding products to pick lists', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -374,7 +374,7 @@ describe('ManageProductsScreen deletion safeguards', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -407,7 +407,7 @@ describe('ManageProductsScreen filtering feedback', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<ManageProductsScreen /> <ManageProductsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
+2 -2
View File
@@ -54,7 +54,7 @@ describe('PickListsScreen sorting', () => {
it('sorts pick lists alphabetically by area name', () => { it('sorts pick lists alphabetically by area name', () => {
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<PickListsScreen /> <PickListsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -80,7 +80,7 @@ describe('PickListsScreen sorting', () => {
]; ];
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<PickListsScreen /> <PickListsScreen />
</MemoryRouter>, </MemoryRouter>,
); );
+3 -3
View File
@@ -92,7 +92,7 @@ beforeEach(() => {
describe('StartPickListScreen', () => { describe('StartPickListScreen', () => {
it('shows category selection controls', () => { it('shows category selection controls', () => {
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<StartPickListScreen /> <StartPickListScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -108,7 +108,7 @@ describe('StartPickListScreen', () => {
const user = userEvent.setup(); const user = userEvent.setup();
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<StartPickListScreen /> <StartPickListScreen />
</MemoryRouter>, </MemoryRouter>,
); );
@@ -149,7 +149,7 @@ describe('StartPickListScreen', () => {
]); ]);
render( render(
<MemoryRouter future={{ v7_startTransition: true, v7_relativeSplatPath: true }}> <MemoryRouter>
<StartPickListScreen /> <StartPickListScreen />
</MemoryRouter>, </MemoryRouter>,
); );