feat(WEB): 입력 컴포넌트 공통화 및 UI 개선

- 숫자/통화/전화번호/사업자번호 등 특수 입력 컴포넌트 추가
- MobileCard 컴포넌트 통합 (ListMobileCard 제거)
- IntegratedListTemplateV2 페이지네이션 버그 수정 (NaN 이슈)
- IntegratedDetailTemplate 타이틀 중복 수정
- 문서 시스템 컴포넌트 추가
- 헤더 벨 아이콘 포커스 스타일 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-21 20:56:17 +09:00
parent cfa72fe19b
commit 835c06ce94
190 changed files with 8575 additions and 2354 deletions

View File

@@ -6,6 +6,8 @@ import { useTranslations } from "next-intl";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { PhoneInput } from "@/components/ui/phone-input";
import { BusinessNumberInput } from "@/components/ui/business-number-input";
import { LanguageSelect } from "@/components/LanguageSelect";
import { ThemeSelect } from "@/components/ThemeSelect";
import { companyInfoSchema, userInfoSchema, planSelectionSchema } from "@/lib/validations/auth";
@@ -369,13 +371,11 @@ export function SignupPage() {
<FileText className="w-4 h-4" />
<span>{t("businessNumber")} {t("required")}</span>
</Label>
<Input
<BusinessNumberInput
id="businessNumber"
name="business_number"
autoComplete="off"
placeholder={t("businessNumberPlaceholder")}
value={formData.businessNumber}
onChange={(e) => handleBusinessNumberChange(e.target.value)}
onChange={(value) => handleInputChange("businessNumber", value)}
className="clean-input"
/>
</div>
@@ -503,14 +503,11 @@ export function SignupPage() {
<Phone className="w-4 h-4"/>
<span>{t("phone")} {t("required")}</span>
</Label>
<Input
<PhoneInput
id="phone"
name="phone"
type="tel"
autoComplete="tel"
placeholder={t("phonePlaceholder")}
value={formData.phone}
onChange={(e) => handlePhoneNumberChange(e.target.value)}
onChange={(value) => handleInputChange("phone", value)}
className="clean-input"
/>
</div>