Refactor UI components and convert controls to select elements

- Extract InfoBox component for reusable alert boxes
- Update AccountForm to use InfoBox component
- Add InfoBox with explanatory text to tenant sections in LocationEditForm
- Convert billFwdStrategy from radio buttons to select element
- Convert updateScope from radio buttons to select element
- Update localization strings for improved clarity
- Fix updateScope defaultValue to use "current" instead of billFwdStrategy

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Knee Cola
2025-11-18 11:16:16 +01:00
parent f4e82b7314
commit e9ae2b1189
5 changed files with 43 additions and 62 deletions

View File

@@ -8,6 +8,7 @@ import { useLocale, useTranslations } from "next-intl";
import Link from "next/link";
import AccountCircleIcon from "@mui/icons-material/AccountCircle";
import { formatIban } from "../lib/formatStrings";
import { InfoBox } from "./InfoBox";
export type AccountFormProps = {
profile: UserProfile | null;
@@ -42,12 +43,7 @@ const FormFields: FC<FormFieldsProps> = ({ profile, errors, message }) => {
return (
<>
<div className="alert max-w-md flex flex-row items-start">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" className="stroke-current shrink-0 w-6 h-6">
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
</svg>
<span className="text-left">{t("info-box-message")}</span>
</div>
<InfoBox>{t("info-box-message")}</InfoBox>
<div className="form-control w-full">
<label className="label">
<span className="label-text">{t("first-name-label")}</span>