Fix chat interface - restore continuous conversation flow

🎯 Major improvements to MissionControl component:
- Always keep input field visible and functional after AI responses
- Auto-clear input after submitting questions for better UX
- Add dynamic visual indicators (first question vs follow-up)
- Improve response layout with clear separation and hints
- Enable proper chat-like experience for continuous learning

🌟 Additional enhancements:
- Better language-specific messaging throughout interface
- Clearer visual hierarchy between input and response areas
- Intuitive flow that guides users to ask follow-up questions
- Maintains responsive design and accessibility

🔧 Technical changes:
- Enhanced MissionControl state management
- Improved component layout and styling
- Better TypeScript integration across components
- Updated tsconfig for stricter type checking
This commit is contained in:
rwiegand
2025-07-14 12:39:05 +02:00
parent b31492a354
commit f893530471
1798 changed files with 25329 additions and 92638 deletions

View File

@@ -1,7 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.zodPatterns = void 0;
exports.parseStringDef = parseStringDef;
exports.parseStringDef = exports.zodPatterns = void 0;
const errorMessages_1 = require("../errorMessages.js");
let emojiRegex;
/**
@@ -170,6 +169,7 @@ function parseStringDef(def, refs) {
}
return res;
}
exports.parseStringDef = parseStringDef;
const escapeNonAlphaNumeric = (value) => Array.from(value)
.map((c) => (/[a-zA-Z0-9]/.test(c) ? c : `\\${c}`))
.join('');
@@ -240,8 +240,8 @@ const processRegExp = (regexOrFunction, refs) => {
return regex.source;
// Currently handled flags
const flags = {
i: regex.flags.includes('i'), // Case-insensitive
m: regex.flags.includes('m'), // `^` and `$` matches adjacent to newline characters
i: regex.flags.includes('i'),
m: regex.flags.includes('m'),
s: regex.flags.includes('s'), // `.` matches newlines
};
// The general principle here is to step through each character, one at a time, applying mutations as flags require. We keep track when the current character is escaped, and when it's inside a group /like [this]/ or (also) a range like /[a-z]/. The following is fairly brittle imperative code; edit at your peril!