From 3185c909ea1b949c0ac000838a897384d2914744 Mon Sep 17 00:00:00 2001
From: YouHaveTrouble
Date: Mon, 9 Feb 2026 17:41:49 +0100
Subject: [PATCH] advanced responses
---
src/pages/index.astro | 71 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 6af8bc8..3c14a8d 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -47,6 +47,16 @@ const description = "An AI that responds with 'Huh'.";
Check out my website while you're already here!
+
+
Options
+
+
@@ -59,6 +69,19 @@ const description = "An AI that responds with 'Huh'.";
const sendButton: HTMLButtonElement | null | undefined = messageForm?.querySelector('button[type="submit"]');
const messagesContainer = document.querySelector(".messages");
+ const optionsContainer = document.querySelector(".options");
+ const advancedResponsesCheckbox = optionsContainer?.querySelector('input[name="advanced-responses"]') as HTMLInputElement | null;
+ advancedResponsesCheckbox?.addEventListener("change", () => {
+ toggleAdvancedResponses(advancedResponsesCheckbox.checked);
+ });
+
+ const defaultOptions = {
+ advancedResponses: false,
+ };
+
+ const options = getOptions();
+ toggleAdvancedResponses(options.advancedResponses)
+
messageInput?.addEventListener("input", () => {
if (!sendButton) return;
sendButton.disabled = !messageInput.value.trim();
@@ -76,7 +99,7 @@ const description = "An AI that responds with 'Huh'.";
addMessage("You", userMessage);
const randomDelay = Math.floor(Math.random() * 1000) + 500;
setTimeout(() => {
- addMessage("HmmAI", "Huh.");
+ addMessage("HmmAI", generateResponse());
messageInput.disabled = false;
messageInput.focus();
}, randomDelay);
@@ -89,4 +112,50 @@ const description = "An AI that responds with 'Huh'.";
messagesContainer?.prepend(messageElement);
}
+ function generateResponse(): string {
+ const responses = ["Huh."]
+ if (options.advancedResponses) {
+ responses.push(
+ "Huh?",
+ "Huh!",
+ "Hmm.",
+ "Hmm?",
+ "Hmm!",
+ "Huh...?",
+ "Huh...!",
+ "That's crazy, huh?",
+ "Can you believe that, huh?",
+ "Wow, huh?",
+ "Unbelievable, huh?",
+ "Mind-blowing, huh?",
+ "Astounding, huh?",
+ "Incredible, huh?",
+ "Shocking, huh?",
+ "Surprising, huh?",
+ "Fascinating, huh?",
+ "Interesting, huh?",
+ "That's something, huh?",
+ "Well, huh.",
+ "Anyway, huh.",
+ );
+ }
+ return responses[Math.floor(Math.random() * responses.length)];
+ }
+
+ function getOptions() {
+ return localStorage.getItem("options") ? JSON.parse(localStorage.getItem("options") || "{}") : defaultOptions;
+ }
+
+ function saveOptions() {
+ localStorage.setItem("options", JSON.stringify(options));
+ }
+
+ function toggleAdvancedResponses(enabled: boolean) {
+ const advancedResponsesCheckbox = document.querySelector('.options input[name="advanced-responses"]') as HTMLInputElement | null;
+ if (!advancedResponsesCheckbox) return;
+ options["advancedResponses"] = advancedResponsesCheckbox.checked;
+ advancedResponsesCheckbox.checked = options.advancedResponses;
+ saveOptions();
+ }
+