v3: type checking and lint pass clean — thumbnail placeholder takes file-dump props, no manual memo the compiler can't keep, no setState straight in effect bodies
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 43s
All checks were successful
Build and Publish Docker Image / build-and-push (push) Successful in 43s
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -527,12 +527,12 @@ export function ChatModal({ onClose }: { onClose: () => void }) {
|
||||
return out;
|
||||
}, [messages]);
|
||||
|
||||
const typingLabel = useMemo(() => {
|
||||
const names = typingOthers.map((u) => u.username);
|
||||
if (names.length === 1) return t`${names[0]} is typing…`;
|
||||
if (names.length === 2) return t`${names[0]} and ${names[1]} are typing…`;
|
||||
return t`Several people are typing…`;
|
||||
}, [typingOthers]);
|
||||
const typingNames = typingOthers.map((u) => u.username);
|
||||
const typingLabel = typingNames.length === 1
|
||||
? t`${typingNames[0]} is typing…`
|
||||
: typingNames.length === 2
|
||||
? t`${typingNames[0]} and ${typingNames[1]} are typing…`
|
||||
: t`Several people are typing…`;
|
||||
|
||||
return (
|
||||
<Modal title={t`Chat`} onClose={onClose} wide>
|
||||
|
||||
@@ -333,7 +333,8 @@ export function DumpCreateModal(
|
||||
const toggleCategory = (id: string) =>
|
||||
setSelectedCategoryIds((prev) => {
|
||||
const next = new Set(prev);
|
||||
next.has(id) ? next.delete(id) : next.add(id);
|
||||
if (next.has(id)) next.delete(id);
|
||||
else next.add(id);
|
||||
return next;
|
||||
});
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useState } from "react";
|
||||
import { type ComponentProps, useState } from "react";
|
||||
import { canProxyImage, proxyImageUrl } from "../utils/proxyImage.ts";
|
||||
import ThumbnailPlaceholder from "./ThumbnailPlaceholder.tsx";
|
||||
|
||||
@@ -9,12 +9,7 @@ interface ThumbnailProps {
|
||||
className?: string;
|
||||
loading?: "lazy" | "eager";
|
||||
/** Passed through to the placeholder when there's nothing to show. */
|
||||
placeholder: {
|
||||
url?: string;
|
||||
accentColor?: string;
|
||||
faviconUrl?: string;
|
||||
siteName?: string;
|
||||
};
|
||||
placeholder: Omit<ComponentProps<typeof ThumbnailPlaceholder>, "className">;
|
||||
/** Extra class for the placeholder element only. */
|
||||
placeholderClassName?: string;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user