diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 5002ad4..f90a162 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -33,5 +33,15 @@ updates: groups: frontend: update-types: [minor, patch] + ignore: + # TypeScript 7 (the native compiler) drops the JS compiler API that + # openapi-typescript uses to generate src/types/api.ts; revisit once + # openapi-typescript supports it + - dependency-name: typescript + update-types: ["version-update:semver-major"] + # Node's types should match the Node version the app runs on (CI and + # the Docker image use Node 22), not the newest Node release + - dependency-name: "@types/node" + update-types: ["version-update:semver-major"] commit-message: prefix: chore(frontend) diff --git a/frontend/index.html b/frontend/index.html index 8fc97c8..f5fdced 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -3,8 +3,11 @@ + + + - frontend + Lead Management
diff --git a/frontend/public/apple-touch-icon.png b/frontend/public/apple-touch-icon.png new file mode 100644 index 0000000..a436c55 Binary files /dev/null and b/frontend/public/apple-touch-icon.png differ diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg index 6893eb1..c7beee7 100644 --- a/frontend/public/favicon.svg +++ b/frontend/public/favicon.svg @@ -1 +1,5 @@ - \ No newline at end of file + + Lead Management + + + diff --git a/frontend/public/icons.svg b/frontend/public/icons.svg deleted file mode 100644 index e952219..0000000 --- a/frontend/public/icons.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/frontend/src/pages/leads/LeadListPage.test.tsx b/frontend/src/pages/leads/LeadListPage.test.tsx index 4563c93..99f6af0 100644 --- a/frontend/src/pages/leads/LeadListPage.test.tsx +++ b/frontend/src/pages/leads/LeadListPage.test.tsx @@ -1,7 +1,7 @@ import { screen, waitFor, within } from "@testing-library/react" import userEvent from "@testing-library/user-event" import { AxiosError } from "axios" -import type { AxiosResponse } from "axios" +import type { AxiosRequestConfig, AxiosResponse } from "axios" import { describe, expect, it, vi } from "vitest" import api from "../../api/axios" @@ -15,9 +15,10 @@ function renderList(url = "/leads") { // Fake paginated endpoint over `total` leads, 20 per page, mirroring DRF function paginatedLeads(total: number) { - return vi.spyOn(api, "get").mockImplementation((_url: string, config?: { params?: Record }) => { - const page = config?.params?.page ?? 1 - const size = config?.params?.page_size ?? 20 + return vi.spyOn(api, "get").mockImplementation((_url: string, config?: AxiosRequestConfig) => { + const params = config?.params as { page?: number; page_size?: number } | undefined + const page = params?.page ?? 1 + const size = params?.page_size ?? 20 const pages = Math.max(1, Math.ceil(total / size)) if (page > pages) {