바로빌 상단메뉴 추가

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
aweso
2026-01-14 09:45:33 +09:00
parent 50308dd340
commit 78bb6b6378
4 changed files with 108 additions and 86 deletions

View File

@@ -163,22 +163,22 @@
// Header Component
const Header = ({ activeTab, onTabChange, tenants, currentTenantId, onTenantChange }) => (
<header className="bg-white border-b border-gray-100 sticky top-0 z-50">
<header className="bg-white border-b border-gray-100 sticky top-0 z-50 transition-all">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="h-16 flex items-center justify-between">
<div className="flex items-center gap-3">
<div className="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 font-bold">
<div className="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 font-bold shadow-sm">
🏦
</div>
<h1 className="text-lg font-semibold text-slate-900">계좌 입출금내역 조회</h1>
<h1 className="text-lg font-semibold text-slate-900">계좌 입출금내역</h1>
</div>
<div className="flex items-center gap-4">
<div className="flex items-center gap-4 text-sm text-slate-500 font-medium">
{/* 테넌트 선택 드롭다운 */}
{tenants.length > 0 && (
<select
value={currentTenantId}
onChange={(e) => onTenantChange(e.target.value)}
className="text-sm border border-slate-300 rounded-lg px-3 py-1.5 bg-white hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-blue-500"
className="text-sm border border-slate-300 rounded-lg px-3 py-1.5 bg-white hover:bg-slate-50 focus:outline-none focus:ring-2 focus:ring-blue-500 mr-2"
>
{tenants.map(tenant => (
<option key={tenant.id} value={tenant.id}>
@@ -187,21 +187,30 @@
))}
</select>
)}
<a href="../tenant/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<Icons.bank />
바로빌 테넌트 관리
<a href="../eaccount/index.php" className="text-blue-600 flex items-center gap-1 bg-blue-50 px-3 py-1.5 rounded-lg border border-blue-100 cursor-default font-bold">
<Icons.wallet /> 계좌조회
</a>
<a href="../etax/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<Icons.receipt />
전자세금계산서
<a href="../ecard/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<Icons.creditCard /> 카드내역
</a>
<a href="../ecard/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<Icons.creditCard />
법인카드 내역
<a href="../tenant/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<Icons.bank /> 테넌트관리
</a>
<a href="../index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1">
<Icons.home />
홈으로
<a href="../barobill_registration/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg> 회원관리
</a>
<a href="../etax/barobill_api_info.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<Icons.info className="w-4 h-4" /> API정보
</a>
<div className="h-4 w-px bg-slate-200 mx-1"></div>
<a href="../etax/index.php" className="hover:text-blue-700 flex items-center gap-1">
<Icons.receipt /> 세금계산서
</a>
<a href="../index.php" className="hover:text-blue-700 flex items-center gap-1">
<Icons.home />
</a>
</div>
</div>

View File

@@ -190,30 +190,38 @@
// Header Component
const Header = () => (
<header className="bg-white border-b border-gray-100 sticky top-0 z-50">
<header className="bg-white border-b border-gray-100 sticky top-0 z-50 transition-all">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">
<div className="flex items-center gap-3">
<div className="w-8 h-8 bg-emerald-100 rounded-lg flex items-center justify-center text-emerald-600 font-bold">
<div className="w-8 h-8 bg-emerald-100 rounded-lg flex items-center justify-center text-emerald-600 font-bold shadow-sm">
💳
</div>
<h1 className="text-lg font-semibold text-slate-900">법인카드 사용내역 조회</h1>
<h1 className="text-lg font-semibold text-slate-900">법인카드 사용내역</h1>
</div>
<div className="flex items-center gap-4">
<a href="../eaccount/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<Icons.wallet />
계좌내역 조회
<div className="flex items-center gap-4 text-sm text-slate-500 font-medium">
<a href="../eaccount/index.php" className="hover:text-emerald-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<Icons.wallet /> 계좌조회
</a>
<a href="../tenant/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<Icons.bank />
바로빌 테넌트 관리
<a href="../ecard/index.php" className="text-emerald-600 flex items-center gap-1 bg-emerald-50 px-3 py-1.5 rounded-lg border border-emerald-100 cursor-default font-bold">
<Icons.creditCard /> 카드내역
</a>
<a href="../etax/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<Icons.receipt />
전자세금계산서
<a href="../tenant/index.php" className="hover:text-emerald-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<Icons.building /> 테넌트관리
</a>
<a href="../index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1">
<Icons.home />
홈으로
<a href="../barobill_registration/index.php" className="hover:text-emerald-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M22 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg> 회원관리
</a>
<a href="../etax/barobill_api_info.php" className="hover:text-emerald-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<Icons.info className="w-4 h-4" /> API정보
</a>
<div className="h-4 w-px bg-slate-200 mx-1"></div>
<a href="../etax/index.php" className="hover:text-emerald-700 flex items-center gap-1">
<Icons.receipt /> 세금계산서
</a>
<a href="../index.php" className="hover:text-emerald-700 flex items-center gap-1">
<Icons.home />
</a>
</div>
</div>

View File

@@ -53,34 +53,38 @@
// 1. Header Component
const Header = ({ onOpenHelp }) => {
return (
<header className="bg-white border-b border-gray-100 sticky top-0 z-50">
<header className="bg-white border-b border-gray-100 sticky top-0 z-50 transition-all">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">
<div className="flex items-center gap-3">
<div className="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 font-bold">
<div className="w-8 h-8 bg-blue-100 rounded-lg flex items-center justify-center text-blue-600 font-bold shadow-sm">
📋
</div>
<h1 className="text-lg font-semibold text-slate-900">전자세금계산서 솔루션</h1>
</div>
<div className="flex items-center gap-4">
<a href="../eaccount/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<i data-lucide="wallet" className="w-4 h-4"></i>
계좌내역 조회
<div className="flex items-center gap-4 text-sm text-slate-500 font-medium">
<a href="../eaccount/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="wallet" className="w-4 h-4 text-blue-500"></i> 계좌조회
</a>
<a href="../tenant/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<i data-lucide="building" className="w-4 h-4"></i>
바로빌 테넌트 관리
<a href="../ecard/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="credit-card" className="w-4 h-4 text-purple-500"></i> 카드내역
</a>
<a href="../ecard/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<i data-lucide="credit-card" className="w-4 h-4"></i>
법인카드 내역
<a href="../tenant/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="building" className="w-4 h-4 text-blue-600"></i> 테넌트관리
</a>
<a href="barobill_api_info.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1">
<i data-lucide="book-open" className="w-4 h-4"></i>
API 정보
<a href="../barobill_registration/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="users" className="w-4 h-4 text-teal-500"></i> 회원관리
</a>
<a href="../index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1">
<i data-lucide="home" className="w-4 h-4"></i>
홈으로
<a href="barobill_api_info.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="book-open" className="w-4 h-4 text-orange-500"></i> API정보
</a>
<div className="h-4 w-px bg-slate-200 mx-1"></div>
<a href="../etax/index.php" className="text-blue-600 flex items-center gap-1 bg-blue-50 px-3 py-1.5 rounded-lg border border-blue-100 cursor-default font-bold">
<i data-lucide="file-text" className="w-4 h-4"></i> 세금계산서
</a>
<a href="../index.php" className="hover:text-blue-700 flex items-center gap-1">
<i data-lucide="home" className="w-4 h-4"></i>
</a>
</div>
</div>

View File

@@ -68,43 +68,44 @@ require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
const { useState, useEffect, useRef } = React;
// --- Header Component ---
const Header = () => {
const handleRefresh = () => {
window.location.reload();
};
return (
<header className="bg-white border-b border-gray-100 sticky top-0 z-40 flex-none">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">
<div className="flex items-center gap-3">
<i data-lucide="building" className="w-6 h-6 text-blue-600"></i>
<h1 className="text-lg font-semibold text-slate-900">바로빌 테넌트 관리</h1>
</div>
<div className="flex items-center gap-4">
<a href="../eaccount/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<i data-lucide="wallet" className="w-4 h-4"></i>
계좌내역 조회
</a>
<a href="../etax/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<i data-lucide="receipt" className="w-4 h-4"></i>
전자세금계산서
</a>
<a href="../ecard/index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1 bg-slate-100 hover:bg-slate-200 px-3 py-1.5 rounded-lg transition-colors">
<i data-lucide="credit-card" className="w-4 h-4"></i>
법인카드 내역
</a>
<a href="../index.php" className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1">
<i data-lucide="home" className="w-4 h-4"></i>
홈으로
</a>
<button onClick={handleRefresh} className="text-sm text-slate-500 hover:text-slate-900 flex items-center gap-1">
<i data-lucide="refresh-cw" className="w-4 h-4"></i>
새로고침
</button>
const Header = () => (
<header className="bg-white border-b border-gray-100 sticky top-0 z-50 transition-all">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">
<div className="flex items-center gap-3">
<div className="w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center text-white shadow-sm">
<i data-lucide="building" className="w-5 h-5"></i>
</div>
<h1 className="text-lg font-semibold text-slate-900">바로빌 테넌트 관리</h1>
</div>
</header>
);
};
<div className="flex items-center gap-4 text-sm text-slate-500 font-medium">
<a href="../eaccount/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="wallet" className="w-4 h-4 text-blue-500"></i> 계좌조회
</a>
<a href="../ecard/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="credit-card" className="w-4 h-4 text-purple-500"></i> 카드내역
</a>
<a href="../tenant/index.php" className="text-blue-600 flex items-center gap-1 bg-blue-50 px-3 py-1.5 rounded-lg border border-blue-100 cursor-default font-bold">
<i data-lucide="building" className="w-4 h-4 text-blue-600"></i> 테넌트관리
</a>
<a href="../barobill_registration/index.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="users" className="w-4 h-4 text-teal-500"></i> 회원관리
</a>
<a href="../etax/barobill_api_info.php" className="hover:text-blue-600 flex items-center gap-1 bg-slate-50 hover:bg-slate-100 px-3 py-1.5 rounded-lg transition-colors border border-slate-100">
<i data-lucide="book-open" className="w-4 h-4 text-orange-500"></i> API정보
</a>
<div className="h-4 w-px bg-slate-200 mx-1"></div>
<a href="../etax/index.php" className="hover:text-blue-700 flex items-center gap-1">
<i data-lucide="file-text" className="w-4 h-4"></i> 세금계산서
</a>
<a href="../index.php" className="hover:text-blue-700 flex items-center gap-1">
<i data-lucide="home" className="w-4 h-4"></i> 홈
</a>
</div>
</div>
</header>
);
// --- Icons ---
const TrashIcon = ({ className }) => (