318 lines
15 KiB
HTML
318 lines
15 KiB
HTML
<!DOCTYPE html>
|
|
<html class="dark" lang="ko"><head>
|
|
<meta charset="utf-8"/>
|
|
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
|
<title>스크립트 및 추적 설정 - Variant Builder</title>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet"/>
|
|
<link href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500&display=swap" rel="stylesheet"/>
|
|
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/>
|
|
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
|
|
<script>
|
|
tailwind.config = {
|
|
darkMode: "class",
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
"primary": "#135bec",
|
|
"background-light": "#f6f6f8",
|
|
"background-dark": "#0b0d11",
|
|
"surface-dark": "#1e293b",
|
|
"border-dark": "#282e39",
|
|
"code-bg": "#0b0d11",
|
|
"sidebar-bg": "#111318"
|
|
},
|
|
fontFamily: {
|
|
"display": ["Inter", "sans-serif"],
|
|
"body": ["Inter", "sans-serif"],
|
|
"mono": ["Fira Code", "monospace"]
|
|
},
|
|
},
|
|
},
|
|
}
|
|
</script>
|
|
<style type="text/tailwindcss">
|
|
body {
|
|
font-family: 'Inter', sans-serif;
|
|
}
|
|
.custom-scrollbar::-webkit-scrollbar {
|
|
width: 6px;
|
|
}
|
|
.custom-scrollbar::-webkit-scrollbar-track {
|
|
background: #111318;
|
|
}
|
|
.custom-scrollbar::-webkit-scrollbar-thumb {
|
|
background: #282e39;
|
|
border-radius: 3px;
|
|
}
|
|
.code-editor {
|
|
font-family: 'Fira Code', monospace;
|
|
tab-size: 4;
|
|
line-height: 1.6;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="bg-background-dark text-slate-900 dark:text-white flex h-screen overflow-hidden">
|
|
<aside class="w-[240px] bg-sidebar-bg border-r border-border-dark flex flex-col shrink-0 z-30">
|
|
<div class="p-6">
|
|
<div class="flex items-center gap-3 mb-8 px-2">
|
|
<div class="size-8 bg-primary rounded-lg flex items-center justify-center">
|
|
<span class="material-symbols-outlined text-white text-xl">layers</span>
|
|
</div>
|
|
<span class="font-bold text-lg tracking-tight text-white">Variant</span>
|
|
</div>
|
|
<nav class="space-y-1">
|
|
<a class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-slate-400 hover:text-white hover:bg-surface-dark/50 transition-colors" href="#">
|
|
<span class="material-symbols-outlined text-[22px]">dashboard</span>
|
|
<span class="text-sm font-medium">랜딩 페이지</span>
|
|
</a>
|
|
<a class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-slate-400 hover:text-white hover:bg-surface-dark/50 transition-colors" href="#">
|
|
<span class="material-symbols-outlined text-[22px]">analytics</span>
|
|
<span class="text-sm font-medium">통계 및 분석</span>
|
|
</a>
|
|
<a class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-slate-400 hover:text-white hover:bg-surface-dark/50 transition-colors" href="#">
|
|
<span class="material-symbols-outlined text-[22px]">person_search</span>
|
|
<span class="text-sm font-medium">리드 관리</span>
|
|
</a>
|
|
<a class="flex items-center gap-3 px-3 py-2.5 rounded-lg text-white bg-primary/10 border border-primary/20 transition-colors" href="#">
|
|
<span class="material-symbols-outlined text-[22px]">settings</span>
|
|
<span class="text-sm font-semibold">설정</span>
|
|
</a>
|
|
</nav>
|
|
</div>
|
|
<div class="mt-auto p-4 border-t border-border-dark">
|
|
<div class="flex items-center gap-3 px-2">
|
|
<div class="size-8 rounded-full bg-slate-700 bg-cover bg-center border border-slate-600" style="background-image: url('https://lh3.googleusercontent.com/aida-public/AB6AXuCHHV_xxaCD_itmq00wbhHSgMPL6YYIvw0VvbHthgZtpG92t0BLtDw3aFTuxKmLEkdr2eM5KTzDBsQSRUu3O-0wDG6DQGAS-FomveQ9ZPVJxUbucMb_ILTtBUO5klsE_PHCGlFQuISn87l2ED7ExAM-W-Df3Vjo0_k4_kjZqlLq6FTdhiks7vjFE-I-9i1g1xm08UGuyYh0fOZewRGWNCk4ORn3Uf7GdqZOlZc676-XLE3h0PEEhWdQ-Re-FXjqfnFn2XAXdr4LGH2_');"></div>
|
|
<div class="flex flex-col">
|
|
<span class="text-xs font-semibold text-white">마케팅 팀</span>
|
|
<span class="text-[10px] text-slate-500 tracking-tight">Pro Plan</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
<div class="flex flex-col flex-1 min-w-0 h-screen">
|
|
<header class="flex items-center justify-between whitespace-nowrap border-b border-solid border-b-border-dark bg-sidebar-bg px-6 py-3 shrink-0 z-20">
|
|
<div class="flex items-center gap-4 text-white">
|
|
<a class="text-slate-400 hover:text-white transition-colors" href="#">
|
|
<span class="material-symbols-outlined">arrow_back</span>
|
|
</a>
|
|
<div class="h-6 w-px bg-border-dark mx-2"></div>
|
|
<div class="size-8 flex items-center justify-center bg-primary/20 rounded-lg text-primary">
|
|
<span class="material-symbols-outlined">code</span>
|
|
</div>
|
|
<div>
|
|
<h2 class="text-white text-base font-bold leading-tight tracking-[-0.015em]">스크립트 및 추적 설정</h2>
|
|
<div class="flex items-center gap-2 text-xs text-slate-400 mt-0.5">
|
|
<span>랜딩페이지 관리</span>
|
|
<span class="material-symbols-outlined text-[10px]">chevron_right</span>
|
|
<span>여름 프로모션 캠페인</span>
|
|
<span class="material-symbols-outlined text-[10px]">chevron_right</span>
|
|
<span class="text-white">스크립트 설정</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="flex items-center gap-4">
|
|
<div class="flex gap-3">
|
|
<button class="flex items-center justify-center gap-2 rounded-lg h-9 px-4 bg-border-dark hover:bg-slate-700 text-white text-sm font-semibold transition-colors">
|
|
<span>취소</span>
|
|
</button>
|
|
<button class="flex items-center justify-center gap-2 rounded-lg h-9 px-4 bg-primary hover:bg-primary/90 text-white text-sm font-semibold transition-colors shadow-lg shadow-primary/20">
|
|
<span class="material-symbols-outlined text-[18px]">save</span>
|
|
<span>설정 저장</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<main class="flex flex-1 overflow-hidden h-full">
|
|
<aside class="w-[280px] bg-sidebar-bg border-r border-border-dark flex flex-col shrink-0 z-10">
|
|
<div class="p-6">
|
|
<h3 class="font-semibold text-sm text-white mb-4">도움말 및 가이드</h3>
|
|
<div class="space-y-4">
|
|
<div class="p-4 rounded-lg bg-surface-dark/30 border border-border-dark">
|
|
<div class="flex items-center gap-2 text-primary mb-2">
|
|
<span class="material-symbols-outlined text-sm">info</span>
|
|
<span class="text-xs font-bold uppercase tracking-wider">스크립트 삽입 위치</span>
|
|
</div>
|
|
<p class="text-[11px] text-slate-400 leading-relaxed">
|
|
모든 스크립트는 해당 페이지의 <code class="text-blue-400 font-mono"></head></code> 태그 바로 위에 자동으로 삽입됩니다.
|
|
</p>
|
|
</div>
|
|
<div class="p-4 rounded-lg bg-surface-dark/30 border border-border-dark">
|
|
<div class="flex items-center gap-2 text-amber-500 mb-2">
|
|
<span class="material-symbols-outlined text-sm">warning</span>
|
|
<span class="text-xs font-bold uppercase tracking-wider">주의사항</span>
|
|
</div>
|
|
<p class="text-[11px] text-slate-400 leading-relaxed">
|
|
잘못된 스크립트는 페이지 렌더링에 영향을 줄 수 있습니다. 외부 라이브러리 연동 시 반드시 테스트 후 배포하세요.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="mt-auto p-6 border-t border-border-dark">
|
|
<div class="flex items-center gap-3 text-slate-400 hover:text-white cursor-pointer transition-colors group">
|
|
<span class="material-symbols-outlined group-hover:text-primary">help_outline</span>
|
|
<span class="text-sm">고급 가이드 문서 보기</span>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
<section class="flex-1 bg-[#0b0d11] overflow-y-auto custom-scrollbar p-8">
|
|
<div class="max-w-4xl mx-auto space-y-8">
|
|
<div class="flex flex-col gap-4">
|
|
<div class="flex justify-between items-end">
|
|
<div class="flex flex-col gap-1">
|
|
<div class="flex items-center gap-2">
|
|
<h3 class="text-lg font-bold text-white">글로벌 스크립트</h3>
|
|
<span class="px-2 py-0.5 rounded bg-blue-500/10 text-blue-500 text-[10px] font-bold tracking-tight border border-blue-500/20">ALL PAGES</span>
|
|
</div>
|
|
<p class="text-sm text-slate-500">모든 섹션과 페이지에 공통으로 삽입되는 스크립트입니다.</p>
|
|
</div>
|
|
<div class="flex gap-2">
|
|
<button class="px-3 py-1.5 rounded bg-surface-dark text-xs text-slate-300 hover:text-white transition-colors">템플릿 불러오기</button>
|
|
</div>
|
|
</div>
|
|
<div class="relative group">
|
|
<div class="absolute top-4 left-4 z-10 flex gap-2">
|
|
<div class="size-2.5 rounded-full bg-red-500/50"></div>
|
|
<div class="size-2.5 rounded-full bg-amber-500/50"></div>
|
|
<div class="size-2.5 rounded-full bg-green-500/50"></div>
|
|
</div>
|
|
<div class="absolute top-4 right-4 z-10 opacity-0 group-hover:opacity-100 transition-opacity">
|
|
<button class="p-1.5 rounded bg-slate-800 text-slate-400 hover:text-white" title="복사하기">
|
|
<span class="material-symbols-outlined text-[18px]">content_copy</span>
|
|
</button>
|
|
</div>
|
|
<textarea class="w-full h-64 bg-[#0d1117] border border-border-dark rounded-xl p-12 code-editor text-sm text-blue-300 focus:ring-2 focus:ring-primary/50 focus:border-primary outline-none transition-all" placeholder="<!-- 여기에 스크립트를 입력하세요 (e.g. <script>...</script>) -->" spellcheck="false"><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
gtag('config', 'G-XXXXXXXXXX');
|
|
</script></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-col gap-4">
|
|
<div class="flex justify-between items-end">
|
|
<div class="flex flex-col gap-1">
|
|
<div class="flex items-center gap-2">
|
|
<h3 class="text-lg font-bold text-white">전환 스크립트</h3>
|
|
<span class="px-2 py-0.5 rounded bg-emerald-500/10 text-emerald-500 text-[10px] font-bold tracking-tight border border-emerald-500/20">COMPLETION ONLY</span>
|
|
</div>
|
|
<p class="text-sm text-slate-500">신청 완료 혹은 구매 완료 페이지에만 삽입되는 스크립트입니다.</p>
|
|
</div>
|
|
<div class="flex gap-2">
|
|
<button class="px-3 py-1.5 rounded bg-surface-dark text-xs text-slate-300 hover:text-white transition-colors">포스트백 가이드</button>
|
|
</div>
|
|
</div>
|
|
<div class="relative group">
|
|
<div class="absolute top-4 left-4 z-10 flex gap-2">
|
|
<div class="size-2.5 rounded-full bg-red-500/50"></div>
|
|
<div class="size-2.5 rounded-full bg-amber-500/50"></div>
|
|
<div class="size-2.5 rounded-full bg-green-500/50"></div>
|
|
</div>
|
|
<div class="absolute top-4 right-4 z-10 opacity-0 group-hover:opacity-100 transition-opacity">
|
|
<button class="p-1.5 rounded bg-slate-800 text-slate-400 hover:text-white" title="복사하기">
|
|
<span class="material-symbols-outlined text-[18px]">content_copy</span>
|
|
</button>
|
|
</div>
|
|
<textarea class="w-full h-48 bg-[#0d1117] border border-border-dark rounded-xl p-12 code-editor text-sm text-emerald-300 focus:ring-2 focus:ring-primary/50 focus:border-primary outline-none transition-all" placeholder="<!-- 전환 추적 스크립트를 입력하세요 -->" spellcheck="false"><script>
|
|
// Conversion event for purchase
|
|
fbq('track', 'Purchase', {
|
|
value: 29.00,
|
|
currency: 'USD'
|
|
});
|
|
</script></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="grid grid-cols-2 gap-4 pb-12">
|
|
<div class="p-4 rounded-xl bg-surface-dark border border-border-dark flex items-center justify-between">
|
|
<div class="flex items-center gap-3">
|
|
<div class="size-10 rounded-lg bg-[#111318] flex items-center justify-center text-slate-400">
|
|
<span class="material-symbols-outlined">analytics</span>
|
|
</div>
|
|
<div>
|
|
<p class="text-sm font-semibold text-white">기본 로그 수집</p>
|
|
<p class="text-xs text-slate-500">방문자 수 및 유입 경로 자동 분석</p>
|
|
</div>
|
|
</div>
|
|
<button class="w-10 h-5 bg-primary rounded-full relative transition-colors">
|
|
<span class="absolute right-1 top-1 bg-white size-3 rounded-full"></span>
|
|
</button>
|
|
</div>
|
|
<div class="p-4 rounded-xl bg-surface-dark border border-border-dark flex items-center justify-between">
|
|
<div class="flex items-center gap-3">
|
|
<div class="size-10 rounded-lg bg-[#111318] flex items-center justify-center text-slate-400">
|
|
<span class="material-symbols-outlined">ads_click</span>
|
|
</div>
|
|
<div>
|
|
<p class="text-sm font-semibold text-white">UTM 파라미터 보존</p>
|
|
<p class="text-xs text-slate-500">페이지 이동 시 광고 파라미터 유지</p>
|
|
</div>
|
|
</div>
|
|
<button class="w-10 h-5 bg-primary rounded-full relative transition-colors">
|
|
<span class="absolute right-1 top-1 bg-white size-3 rounded-full"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<aside class="w-[320px] bg-sidebar-bg border-l border-border-dark flex flex-col shrink-0 z-10">
|
|
<div class="px-5 py-4 border-b border-border-dark flex justify-between items-center bg-sidebar-bg">
|
|
<div>
|
|
<h3 class="font-semibold text-sm text-white">스크립트 변경 이력</h3>
|
|
<p class="text-xs text-slate-500 mt-0.5">최근 5개의 변경 사항</p>
|
|
</div>
|
|
<button class="size-8 flex items-center justify-center text-slate-400 hover:text-white rounded hover:bg-surface-dark transition-colors">
|
|
<span class="material-symbols-outlined text-[18px]">history</span>
|
|
</button>
|
|
</div>
|
|
<div class="flex-1 overflow-y-auto p-5 custom-scrollbar">
|
|
<div class="flex flex-col gap-4">
|
|
<div class="flex gap-3">
|
|
<div class="shrink-0 mt-1">
|
|
<div class="size-2 rounded-full bg-primary"></div>
|
|
<div class="w-0.5 h-full bg-border-dark mx-auto mt-1"></div>
|
|
</div>
|
|
<div class="flex-1 pb-4">
|
|
<p class="text-xs font-semibold text-white">Google Analytics 4 추가</p>
|
|
<p class="text-[10px] text-slate-500 mt-0.5">2024.05.24 14:20 • admin_user</p>
|
|
</div>
|
|
</div>
|
|
<div class="flex gap-3">
|
|
<div class="shrink-0 mt-1">
|
|
<div class="size-2 rounded-full bg-slate-600"></div>
|
|
<div class="w-0.5 h-full bg-border-dark mx-auto mt-1"></div>
|
|
</div>
|
|
<div class="flex-1 pb-4">
|
|
<p class="text-xs font-semibold text-slate-400">Facebook Pixel 스크립트 수정</p>
|
|
<p class="text-[10px] text-slate-500 mt-0.5">2024.05.20 10:15 • dev_team</p>
|
|
</div>
|
|
</div>
|
|
<div class="flex gap-3">
|
|
<div class="shrink-0 mt-1">
|
|
<div class="size-2 rounded-full bg-slate-600"></div>
|
|
</div>
|
|
<div class="flex-1">
|
|
<p class="text-xs font-semibold text-slate-400">최초 스크립트 설정</p>
|
|
<p class="text-[10px] text-slate-500 mt-0.5">2024.05.15 09:00 • system</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="p-6 border-t border-border-dark bg-sidebar-bg">
|
|
<div class="p-4 rounded-lg bg-primary/5 border border-primary/20">
|
|
<div class="flex items-center gap-2 text-primary mb-2">
|
|
<span class="material-symbols-outlined text-sm">auto_awesome</span>
|
|
<span class="text-xs font-bold uppercase tracking-wider">AI 도우미</span>
|
|
</div>
|
|
<p class="text-[11px] text-slate-400 leading-relaxed mb-3">
|
|
설치하려는 도구의 이름만 입력하면 AI가 최적화된 코드를 생성해 드립니다.
|
|
</p>
|
|
<button class="w-full py-2 bg-primary/10 hover:bg-primary/20 text-primary text-xs font-bold rounded transition-colors">
|
|
AI로 스크립트 생성하기
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
</main>
|
|
</div>
|
|
|
|
</body></html> |