Files
sam-sales/lib/meta_common.php
김보곤 2027c224dd fix:favicon 원본 PNG 파일로 복원
- SVG favicon 제거, 디자이너 제작 원본 파일 사용
- 로고 스타일은 유지 (빨간 화살표 + SAM + 서브타이틀)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 18:54:11 +09:00

63 lines
2.6 KiB
PHP

<?php
/**
* Global Metadata and Shared Styles
* This file centralizes Tailwind CSS, Lucide Icons, React, and Babel scripts.
*/
// Base path 계산 (sales 폴더 기준)
$salesBasePath = '';
$scriptPath = $_SERVER['SCRIPT_NAME'] ?? '';
$depth = substr_count(str_replace('/sales/', '', $scriptPath), '/');
if ($depth > 0) {
$salesBasePath = str_repeat('../', $depth);
}
// 로고 HTML 컴포넌트 (SAM 스타일)
$samLogoHtml = '
<a href="' . $salesBasePath . 'index.php" class="flex items-center gap-3 cursor-pointer">
<div class="w-10 h-10 bg-slate-100 rounded-xl flex items-center justify-center">
<svg class="w-6 h-6 text-red-500" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
<path d="M12 19V5M5 12l7-7 7 7"/>
</svg>
</div>
<div class="flex flex-col">
<span class="text-lg font-bold text-slate-800 leading-tight">SAM</span>
<span class="text-xs text-slate-500 leading-tight">Smart Automation Management</span>
</div>
</a>';
?>
<!-- Favicon (디자이너 제작 원본) -->
<link rel="apple-touch-icon" sizes="180x180" href="<?= $salesBasePath ?>img/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="<?= $salesBasePath ?>img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="<?= $salesBasePath ?>img/favicon-16x16.png">
<link rel="shortcut icon" href="<?= $salesBasePath ?>img/favicon.ico">
<!-- Core Libraries -->
<script src="https://cdn.tailwindcss.com?v=3.4.1"></script>
<script src="https://unpkg.com/lucide@latest"></script>
<script crossorigin src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
<script>
// Ensure Lucide icons are initialized after page load
document.addEventListener('DOMContentLoaded', () => {
if (window.lucide) {
window.lucide.createIcons();
}
});
</script>
<style type="text/tailwindcss">
@layer components {
/* Global Modal Close Button Style */
.btn-close-modal {
@apply w-10 h-10 flex items-center justify-center rounded-full bg-white shadow-lg border-2 border-slate-900 transition-all duration-200 hover:bg-red-50 hover:border-red-500 cursor-pointer pointer-events-auto;
}
.btn-close-modal span {
@apply text-xl font-bold text-black group-hover:text-red-600 select-none;
}
}
</style>