feat: add new frontend components, MH batch worker, and gitignore rules

- Add all new Frontend source files (pages, components, hooks, utils)
- Add selenium_MHBatchPaymentCheckWorker.py and MHSinglePaymentCheckWorker.py
- Add install-steps-5-13.sh setup script
- Update .gitignore to exclude runtime/sensitive data (backups, uploads,
  chat-history, keys, downloads, generated .d.ts files) while keeping folders
- Add .gitkeep to preserve empty runtime folders in git

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-26 00:23:43 -04:00
co-authored by Claude Sonnet 4.6
parent b7e06adf2f
commit 1edf73fdc8
173 changed files with 33469 additions and 0 deletions
@@ -0,0 +1,35 @@
import { Loader2, CheckCircle, XCircle } from "lucide-react";
export const SeleniumTaskBanner = ({ status, message, show, onClear, }) => {
if (!show)
return null;
const getIcon = () => {
switch (status) {
case "pending":
return <Loader2 className="w-5 h-5 animate-spin text-blue-500"/>;
case "success":
return <CheckCircle className="w-5 h-5 text-green-500"/>;
case "error":
return <XCircle className="w-5 h-5 text-red-500"/>;
default:
return null;
}
};
return (<div className="bg-white border border-gray-200 shadow-md rounded-lg p-3 m-4 flex items-start justify-between">
<div className="flex items-start gap-3">
{getIcon()}
<div>
<div className="font-medium text-gray-800">
{status === "pending"
? "Task In Progress"
: status === "success"
? "Task Completed"
: "Task Error"}
</div>
<p className="text-gray-600 text-sm">{message}</p>
</div>
</div>
<button onClick={onClear} className="text-sm text-gray-500 hover:text-gray-800">
✕
</button>
</div>);
};