diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..d99b050f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +## Unreleased + +- Opted out of translation for high-churn UI regions (search suggestions and moderation counters) using the `NoTranslate` wrapper to avoid Google Translate DOM churn. diff --git a/src/components/NoTranslate.tsx b/src/components/NoTranslate.tsx new file mode 100644 index 00000000..ba6c3cf9 --- /dev/null +++ b/src/components/NoTranslate.tsx @@ -0,0 +1,14 @@ +"use client"; +import React from "react"; +export function NoTranslate(props: React.HTMLAttributes) { + const { className, children, ...rest } = props; + return ( +
+ {children} +
+ ); +} diff --git a/src/components/feedback/review-list-item.tsx b/src/components/feedback/review-list-item.tsx index 2d6cfcfb..3a1b9223 100644 --- a/src/components/feedback/review-list-item.tsx +++ b/src/components/feedback/review-list-item.tsx @@ -37,6 +37,7 @@ import { toast } from "sonner"; import Spinner from "@/components/spinner"; import ReportComment from "@/components/feedback/report-comment"; import { clsx } from "clsx"; +import { NoTranslate } from "@/components/NoTranslate"; export default function ReviewListItem({ comment, @@ -168,10 +169,10 @@ export default function ReviewListItem({ {comment.report_count > 0 && (isAdmin || isStuffUser) && ( - + {comment.report_count} - + )} @@ -292,7 +293,11 @@ export default function ReviewListItem({ > Helpful - {comment.likes_count > 0 && ({comment.likes_count})} + {comment.likes_count > 0 && ( + + ({comment.likes_count}) + + )} {isStuffUser === null ? ( diff --git a/src/components/search-form.tsx b/src/components/search-form.tsx index b4513547..515a5d0e 100644 --- a/src/components/search-form.tsx +++ b/src/components/search-form.tsx @@ -26,6 +26,7 @@ import { XMarkIcon } from "@heroicons/react/24/outline"; import { SearchContext, SearchContextType } from "./search-context"; import { PreviousParams } from "./get-previous-params"; import { usePreviousParamsOnClient } from "./use-previous-params-client"; +import { NoTranslate } from "./NoTranslate"; function SearchPanel({ currentSearch, @@ -74,9 +75,9 @@ function SearchPanel({ />
Search for{" "} - - {currentSearch} - + + {currentSearch} +