- meta_common.php에 favicon 링크 및 로고 컴포넌트 추가 - 모든 index.php 페이지에 favicon 적용 - 일부 페이지 타이틀에서 CodeBridgeExy → CodeBridgeX 수정 - 23개 파일 일괄 업데이트 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
55 lines
2.3 KiB
PHP
55 lines
2.3 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 컴포넌트
|
|
$samLogoHtml = '
|
|
<a href="' . $salesBasePath . 'index.php" class="flex items-center gap-3 cursor-pointer">
|
|
<div class="w-8 h-8 bg-blue-600 rounded-lg flex items-center justify-center text-white font-bold text-lg shadow-lg shadow-blue-200">S</div>
|
|
<span class="text-xl font-bold tracking-tight text-slate-900">CodeBridgeX <span class="text-blue-600">SAM</span></span>
|
|
</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.png">
|
|
|
|
<!-- 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>
|