chore: lint using react-doctor, update translations, dynamic imports

This commit is contained in:
Amruth Pillai
2026-05-21 09:56:26 +02:00
parent 3596102c63
commit 39e88dd365
208 changed files with 5876 additions and 4778 deletions
+2 -1
View File
@@ -96,6 +96,7 @@ export function getCompatibleMoveTargets(
sourceSectionId: string | undefined,
): MoveTargetPage[] {
const { pages } = resumeData.metadata.layout;
const customSectionById = new Map(resumeData.customSections.map((section) => [section.id, section]));
const result: MoveTargetPage[] = [];
for (let pageIndex = 0; pageIndex < pages.length; pageIndex++) {
@@ -120,7 +121,7 @@ export function getCompatibleMoveTargets(
}
// Check if it's a custom section with matching type
const customSection = resumeData.customSections.find((s) => s.id === sectionId);
const customSection = customSectionById.get(sectionId);
if (customSection && customSection.type === sourceType) {
compatibleSections.push({
sectionId: customSection.id,
@@ -36,8 +36,10 @@ describe("createSectionTitleResolverForLocale", () => {
it("caches resolvers per requested locale", async () => {
const { createSectionTitleResolverForLocale } = await import("./section-title-locale");
const a = await createSectionTitleResolverForLocale("en-US");
const b = await createSectionTitleResolverForLocale("en-US");
const [a, b] = await Promise.all([
createSectionTitleResolverForLocale("en-US"),
createSectionTitleResolverForLocale("en-US"),
]);
expect(a).toBe(b);
});
@@ -1,6 +1,6 @@
import type { SectionTitleResolver } from "@reactive-resume/pdf/section-title";
import { setupI18n } from "@lingui/core";
import { useEffect, useState } from "react";
import { useEffect, useReducer } from "react";
import { getLocaleMessages, resolveLocale } from "@/libs/locale";
import { createSectionTitleResolver } from "./section-title";
@@ -25,19 +25,22 @@ export const createSectionTitleResolverForLocale = async (localeParam: string) =
};
export const useSectionTitleResolver = (locale?: string) => {
const [resolver, setResolver] = useState<SectionTitleResolver | null>(null);
const [resolver, dispatchResolver] = useReducer(
(_state: SectionTitleResolver | null, nextResolver: SectionTitleResolver | null) => nextResolver,
null,
);
useEffect(() => {
if (!locale) {
setResolver(null);
dispatchResolver(null);
return;
}
let cancelled = false;
setResolver(null);
dispatchResolver(null);
void createSectionTitleResolverForLocale(locale).then((nextResolver) => {
if (!cancelled) setResolver(() => nextResolver);
if (!cancelled) dispatchResolver(nextResolver);
});
return () => {