refactor: fix ai slop
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
import type { ImageAnswerMode } from "@/db/schema/form";
|
||||
|
||||
export type QuestionResponseType =
|
||||
| "answer-only"
|
||||
| "answer-optional-image"
|
||||
| "image-only"
|
||||
| "answer-required-image";
|
||||
|
||||
type QuestionResponseSettings = {
|
||||
required: boolean;
|
||||
imageAnswerMode: ImageAnswerMode;
|
||||
};
|
||||
|
||||
export function getQuestionResponseType(
|
||||
question: QuestionResponseSettings,
|
||||
): QuestionResponseType {
|
||||
if (question.imageAnswerMode === "required") {
|
||||
return question.required ? "answer-required-image" : "image-only";
|
||||
}
|
||||
|
||||
return question.imageAnswerMode === "optional"
|
||||
? "answer-optional-image"
|
||||
: "answer-only";
|
||||
}
|
||||
|
||||
export function getQuestionResponseSettings(
|
||||
responseType: QuestionResponseType,
|
||||
currentRequired = true,
|
||||
): QuestionResponseSettings {
|
||||
switch (responseType) {
|
||||
case "answer-optional-image":
|
||||
return { required: currentRequired, imageAnswerMode: "optional" };
|
||||
case "image-only":
|
||||
return { required: false, imageAnswerMode: "required" };
|
||||
case "answer-required-image":
|
||||
return { required: true, imageAnswerMode: "required" };
|
||||
default:
|
||||
return { required: currentRequired, imageAnswerMode: "none" };
|
||||
}
|
||||
}
|
||||
|
||||
export function isImageOnlyResponse(question: QuestionResponseSettings) {
|
||||
return getQuestionResponseType(question) === "image-only";
|
||||
}
|
||||
Reference in New Issue
Block a user