import type { AppRouter } from "@thorium/.server/init/router"; import { replaceCharacters } from "@thorium/cards/LongRangeComm/shared"; import { cn } from "@thorium/utils/cn"; import type { inferProcedureInput } from "@thorium/utils/live-query/.server/types"; export function ReplacementDecoder({ letterMap, updateMessageDecoding, }: { letterMap: string; updateMessageDecoding: ( decoding: Extract< inferProcedureInput["decoding"], { type: "replacement" } >, ) => Promise; }) { return (
{replaceCharacters.split("").map((l, i) => (
{l}
{ const newLetterMap = letterMap.split(""); const newChar = event.currentTarget.value.slice(0, 1).toLowerCase().trim(); if (newChar) { newLetterMap[i] = newChar; updateMessageDecoding({ type: "replacement", letterMap: newLetterMap.slice(0, replaceCharacters.length).join(""), }); } }} />
))}
); }