Image_Optimizer_NAT-2.0-2.2/docs/instruction.html

3612 lines
164 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="ua">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Optimizer [NAT] — Інструкція / Инструкция / Documentation</title>
<!-- Google Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
<style>
/* DESIGN SYSTEM & CSS VARIABLES */
:root {
--bg-primary: #0b0f19;
--bg-secondary: #131b2e;
--bg-tertiary: #1e2942;
--text-primary: #f1f5f9;
--text-secondary: #94a3b8;
--accent: #f97316;
--accent-hover: #fb923c;
--accent-rgb: 249, 115, 22;
--brand-blue: #3b82f6;
--success: #10b981;
--success-bg: rgba(16, 185, 129, 0.1);
--success-border: rgba(16, 185, 129, 0.25);
--warning: #ef4444;
--warning-bg: rgba(239, 68, 68, 0.1);
--warning-border: rgba(239, 68, 68, 0.25);
--info: #06b6d4;
--info-bg: rgba(6, 182, 212, 0.1);
--info-border: rgba(6, 182, 212, 0.25);
--border: #1e2942;
--shadow: rgba(0, 0, 0, 0.4);
--sidebar-width: 290px;
--font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--font-mono: 'JetBrains Mono', monospace;
}
body.light-theme {
--bg-primary: #f8fafc;
--bg-secondary: #ffffff;
--bg-tertiary: #f1f5f9;
--text-primary: #0f172a;
--text-secondary: #475569;
--accent: #f97316;
--accent-hover: #ea580c;
--accent-rgb: 249, 115, 22;
--brand-blue: #2563eb;
--success: #059669;
--success-bg: rgba(5, 150, 105, 0.08);
--success-border: rgba(5, 150, 105, 0.2);
--warning: #dc2626;
--warning-bg: rgba(220, 38, 38, 0.08);
--warning-border: rgba(220, 38, 38, 0.2);
--info: #0891b2;
--info-bg: rgba(8, 145, 178, 0.08);
--info-border: rgba(8, 145, 178, 0.2);
--border: #e2e8f0;
--shadow: rgba(0, 0, 0, 0.05);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
html {
scroll-behavior: smooth;
}
body {
font-family: var(--font-sans);
background-color: var(--bg-primary);
color: var(--text-primary);
line-height: 1.6;
overflow-x: hidden;
transition: background-color 0.3s ease, color 0.3s ease;
}
/* LANGUAGE DISPLAY LOGIC */
.ua-only, .ru-only, .en-only {
display: none;
}
body.lang-ua .ua-only { display: block; }
body.lang-ru .ru-only { display: block; }
body.lang-en .en-only { display: block; }
/* LAYOUT STRUCTURE */
.app-container {
display: flex;
min-height: 100vh;
}
/* SIDEBAR */
.sidebar {
width: var(--sidebar-width);
background-color: var(--bg-secondary);
border-right: 1px solid var(--border);
position: fixed;
top: 0;
bottom: 0;
left: 0;
z-index: 100;
display: flex;
flex-direction: column;
padding: 12px 16px;
transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}
.sidebar-header {
margin-bottom: 20px;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 12px;
}
.brand-logo-img {
width: 190px;
height: 150px;
object-fit: contain;
border-radius: 12px;
margin-bottom: 4px;
box-shadow: 0 4px 10px rgba(0,0,0,0.3);
transition: transform 0.2s ease;
}
.brand-logo-img:hover {
transform: scale(1.05);
}
.logo-text h1 {
font-size: 16px;
font-weight: 800;
letter-spacing: 0.3px;
color: var(--text-primary);
margin-bottom: 2px;
}
.logo-text span {
font-size: 10px;
color: var(--text-secondary);
text-transform: uppercase;
font-weight: 700;
letter-spacing: 1px;
}
/* LANGUAGE SWITCHER */
.lang-switcher {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 6px;
background-color: var(--bg-primary);
padding: 4px;
border-radius: 8px;
margin-bottom: 12px;
border: 1px solid var(--border);
}
.lang-btn {
background: none;
border: none;
color: var(--text-secondary);
font-size: 11.5px;
font-weight: 700;
padding: 6px 0;
border-radius: 6px;
cursor: pointer;
transition: all 0.2s ease;
}
.lang-btn:hover {
color: var(--text-primary);
}
.lang-btn.active {
background-color: var(--accent);
color: #0b0f19;
}
/* SIDEBAR NAV */
.sidebar-nav {
flex: 1;
overflow-y: auto;
margin-bottom: 20px;
}
.sidebar-nav::-webkit-scrollbar {
width: 4px;
}
.sidebar-nav::-webkit-scrollbar-thumb {
background: var(--border);
border-radius: 4px;
}
.nav-list {
list-style: none;
}
.nav-item {
margin-bottom: 6px;
}
.nav-link {
display: flex;
align-items: center;
gap: 10px;
color: var(--text-secondary);
text-decoration: none;
font-size: 13.5px;
font-weight: 600;
padding: 8px 12px;
border-radius: 8px;
transition: all 0.2s ease;
border-left: 3.5px solid transparent;
}
.nav-link svg {
width: 16px;
height: 16px;
fill: none;
stroke: currentColor;
stroke-width: 2;
}
.nav-link:hover, .nav-link.active {
color: var(--text-primary);
background-color: var(--bg-tertiary);
}
.nav-link.active {
border-left-color: var(--accent);
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.sidebar-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 16px;
border-top: 1px solid var(--border);
}
.theme-toggle-btn {
background-color: var(--bg-tertiary);
border: 1px solid var(--border);
color: var(--text-primary);
width: 36px;
height: 36px;
border-radius: 8px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.2s ease;
}
.theme-toggle-btn:hover {
border-color: var(--accent);
}
.theme-toggle-btn svg {
width: 18px;
height: 18px;
fill: none;
stroke: currentColor;
stroke-width: 2;
}
.version-tag {
font-size: 11px;
font-weight: 700;
color: var(--text-secondary);
background-color: var(--bg-tertiary);
padding: 4px 8px;
border-radius: 6px;
border: 1px solid var(--border);
}
/* MAIN CONTENT */
.main-content {
flex: 1;
margin-left: var(--sidebar-width);
padding: 40px 50px;
max-width: 1100px;
transition: margin-left 0.3s ease;
}
/* MOBILE MENU HEADER */
.mobile-header {
display: none;
background-color: var(--bg-secondary);
border-bottom: 1px solid var(--border);
padding: 16px 24px;
position: sticky;
top: 0;
z-index: 90;
justify-content: space-between;
align-items: center;
}
.menu-toggle-btn {
background: none;
border: none;
color: var(--text-primary);
cursor: pointer;
}
.menu-toggle-btn svg {
width: 24px;
height: 24px;
fill: none;
stroke: currentColor;
stroke-width: 2;
}
/* HERO HEADER */
.hero-header {
background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.08), rgba(59, 130, 246, 0.08));
border: 1px solid var(--border);
border-radius: 16px;
padding: 32px;
margin-bottom: 40px;
box-shadow: 0 4px 20px var(--shadow);
position: relative;
overflow: hidden;
}
.hero-header::after {
content: '';
position: absolute;
width: 300px;
height: 300px;
background: radial-gradient(circle, rgba(var(--accent-rgb), 0.1) 0%, transparent 70%);
top: -100px;
right: -100px;
pointer-events: none;
}
.badge-series {
display: inline-block;
font-size: 11px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 1px;
color: var(--accent);
background-color: rgba(var(--accent-rgb), 0.12);
padding: 4px 10px;
border-radius: 20px;
margin-bottom: 16px;
}
.hero-title {
font-size: 28px;
font-weight: 800;
margin-bottom: 12px;
letter-spacing: -0.5px;
}
.hero-desc {
font-size: 15px;
color: var(--text-secondary);
line-height: 1.6;
max-width: 800px;
}
/* SECTIONS */
.section {
padding-top: 40px;
margin-bottom: 40px;
border-top: 1px solid var(--border);
}
.section:first-of-type {
border-top: none;
padding-top: 0;
}
.section-title {
font-size: 20px;
font-weight: 800;
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 12px;
letter-spacing: -0.3px;
}
.section-title svg {
width: 22px;
height: 22px;
fill: none;
stroke: var(--accent);
stroke-width: 2;
}
p {
font-size: 14.5px;
color: var(--text-secondary);
margin-bottom: 16px;
line-height: 1.7;
}
/* GRID CARDS */
.grid-cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 20px;
margin-top: 24px;
margin-bottom: 24px;
}
.card {
background-color: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: 12px;
padding: 20px;
box-shadow: 0 4px 10px var(--shadow);
transition: all 0.2s ease;
}
.card:hover {
border-color: var(--accent);
transform: translateY(-2px);
}
.card-icon {
background-color: rgba(var(--accent-rgb), 0.08);
color: var(--accent);
width: 40px;
height: 40px;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
}
.card-icon svg {
width: 20px;
height: 20px;
fill: none;
stroke: currentColor;
stroke-width: 2;
}
.card-title {
font-size: 15px;
font-weight: 700;
margin-bottom: 8px;
color: var(--text-primary);
}
.card-desc {
font-size: 13px;
color: var(--text-secondary);
line-height: 1.6;
}
/* STEP LISTS */
.steps-list {
list-style: none;
margin-bottom: 24px;
}
.step-item {
display: flex;
gap: 16px;
margin-bottom: 16px;
}
.step-number {
background-color: rgba(var(--accent-rgb), 0.1);
color: var(--accent);
font-weight: 800;
font-size: 14px;
width: 28px;
height: 28px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.step-content {
padding-top: 2px;
}
.step-content h4 {
font-size: 15px;
font-weight: 700;
margin-bottom: 6px;
color: var(--text-primary);
}
.step-content p {
font-size: 13.5px;
margin-bottom: 0;
}
/* COLLAPSIBLE ACCORDION */
.accordion {
border: 1px solid var(--border);
border-radius: 10px;
margin-bottom: 12px;
overflow: hidden;
background-color: var(--bg-secondary);
transition: border-color 0.2s ease;
}
.accordion:hover {
border-color: var(--accent);
}
.accordion-header {
width: 100%;
background: none;
border: none;
color: var(--text-primary);
text-align: left;
padding: 16px 20px;
font-size: 14px;
font-weight: 700;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
gap: 16px;
}
.accordion-icon {
transition: transform 0.2s ease;
flex-shrink: 0;
}
.accordion.active .accordion-icon {
transform: rotate(180deg);
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.25s ease-out;
border-top: 0 solid var(--border);
background-color: var(--bg-primary);
}
.accordion.active .accordion-content {
border-top-width: 1px;
}
.accordion-inner {
padding: 20px;
font-size: 13.5px;
color: var(--text-secondary);
line-height: 1.6;
}
/* CODE BLOCKS */
.code-wrapper {
position: relative;
margin: 16px 0;
border-radius: 8px;
overflow: hidden;
border: 1px solid var(--border);
}
.code-header {
display: flex;
justify-content: space-between;
align-items: center;
background-color: rgba(0, 0, 0, 0.2);
padding: 8px 16px;
border-bottom: 1px solid var(--border);
}
.code-lang {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
color: var(--text-secondary);
letter-spacing: 0.5px;
}
.copy-code-btn {
background: none;
border: none;
color: var(--text-secondary);
cursor: pointer;
font-size: 11px;
font-weight: 700;
display: flex;
align-items: center;
gap: 6px;
transition: color 0.2s ease;
}
.copy-code-btn:hover {
color: var(--text-primary);
}
pre {
background-color: rgba(0, 0, 0, 0.4);
padding: 16px;
overflow-x: auto;
margin: 0;
}
code {
font-family: var(--font-mono);
font-size: 12.5px;
color: #fb923c;
}
/* ALERTS */
.alert-block {
border-radius: 10px;
padding: 16px 20px;
margin: 20px 0;
display: flex;
gap: 16px;
font-size: 13.5px;
}
.alert-block.info {
background-color: var(--info-bg);
border: 1px solid var(--info-border);
color: var(--text-primary);
}
.alert-block.info svg { color: var(--info); }
.alert-block.warning {
background-color: var(--warning-bg);
border: 1px solid var(--warning-border);
color: var(--text-primary);
}
.alert-block.warning svg { color: var(--warning); }
.alert-block svg {
width: 20px;
height: 20px;
fill: none;
stroke: currentColor;
stroke-width: 2;
flex-shrink: 0;
}
/* TABLE */
.table-container {
width: 100%;
overflow-x: auto;
margin: 24px 0;
border: 1px solid var(--border);
border-radius: 10px;
}
table {
width: 100%;
border-collapse: collapse;
text-align: left;
font-size: 13.5px;
}
th {
background-color: var(--bg-secondary);
color: var(--text-primary);
font-weight: 700;
padding: 12px 16px;
border-bottom: 2px solid var(--border);
}
td {
padding: 12px 16px;
border-bottom: 1px solid var(--border);
color: var(--text-secondary);
}
tr:last-child td {
border-bottom: none;
}
/* OVERLAY FOR MOBILE SIDEBAR */
.sidebar-overlay {
display: none;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0, 0, 0, 0.6);
z-index: 95;
}
/* RESPONSIVE BREAKPOINTS */
@media (max-width: 1024px) {
.sidebar {
transform: translateX(-100%);
}
.sidebar.open {
transform: translateX(0);
}
.sidebar-overlay.open {
display: block;
}
.main-content {
margin-left: 0;
padding: 30px 24px;
}
.mobile-header {
display: flex;
}
}
a.card {
text-decoration: none;
color: inherit;
display: block;
}
/* ECOSYSTEM GRID RESPONSIVENESS & ACTIVE-CARD STYLING */
.grid-cards, .eco-grid {
display: grid !important;
grid-template-columns: repeat(3, 1fr) !important;
gap: 20px !important;
margin-top: 24px !important;
margin-bottom: 24px !important;
}
.card.active-card {
border: 2px solid var(--success) !important;
box-shadow: 0 0 12px rgba(16, 185, 129, 0.15) !important;
}
@media (max-width: 1024px) {
.grid-cards, .eco-grid {
grid-template-columns: 1fr !important;
}
}
/* THEME TOGGLE ICON VISIBILITY - DISPLAY SUN IN DARK MODE, MOON IN LIGHT MODE */
.theme-toggle-btn .sun-icon { display: block !important; }
.theme-toggle-btn .moon-icon { display: none !important; }
body.light-theme .theme-toggle-btn .sun-icon { display: none !important; }
body.light-theme .theme-toggle-btn .moon-icon { display: block !important; }
</style>
</head>
<body class="lang-ua">
<!-- Mobile Top Header Bar -->
<div class="mobile-header">
<div class="logo-text">
<h1>Image Optimizer [NAT]</h1>
<span>Documentation</span>
</div>
<button class="menu-toggle-btn" id="menu-toggle" aria-label="Toggle Menu">
<svg viewBox="0 0 24 24"><path d="M4 6h16M4 12h16M4 18h16"></path></svg>
</button>
</div>
<!-- Mobile Sidebar Overlay background -->
<div class="sidebar-overlay" id="sidebar-overlay"></div>
<div class="app-container">
<!-- Sidebar Navigation -->
<aside class="sidebar" id="sidebar">
<div class="sidebar-header">
<img class="brand-logo-img" src="data:image/png;base64,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" alt="NAT SERIES">
<div class="logo-text">
<h1>Image Optimizer [NAT]</h1>
<span class="lang-text" data-ua="Стиснення та Очищення" data-ru="Сжатие и Очистка" data-en="Compress & Cleaner">Стиснення та Очищення</span>
</div>
</div>
<!-- Language Selector Buttons -->
<div class="lang-switcher">
<button class="lang-btn active" data-lang="ua">UA</button>
<button class="lang-btn" data-lang="ru">RU</button>
<button class="lang-btn" data-lang="en">EN</button>
</div>
<!-- Navigation links (ScrollSpy active) -->
<nav class="sidebar-nav">
<ul class="nav-list">
<li class="nav-item">
<a href="#requirements" class="nav-link active">
<svg viewBox="0 0 24 24"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span class="lang-text" data-ua="Вимоги" data-ru="Требования" data-en="Requirements">Вимоги</span>
</a>
</li>
<li class="nav-item">
<a href="#installation" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path></svg>
<span class="lang-text" data-ua="Встановлення" data-ru="Установка" data-en="Installation">Встановлення</span>
</a>
</li>
<li class="nav-item">
<a href="#update" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M4 4v5h.582m15.356 2A8.001 8.001 0 1121.21 8H17"></path></svg>
<span class="lang-text" data-ua="Оновлення" data-ru="Обновление" data-en="Updating">Оновлення</span>
</a>
</li>
<li class="nav-item">
<a href="#settings" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path></svg>
<span class="lang-text" data-ua="Налаштування" data-ru="Настройки" data-en="Settings Guide">Налаштування</span>
</a>
</li>
<li class="nav-item">
<a href="#utilities" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path></svg>
<span class="lang-text" data-ua="Інструменти Pro" data-ru="Инструменты Pro" data-en="Pro Utilities">Інструменти Pro</span>
</a>
</li>
<li class="nav-item">
<a href="#cron" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span class="lang-text" data-ua="Крон-завдання" data-ru="Крон-задания" data-en="Cron Automation">Крон-завдання</span>
</a>
</li>
<li class="nav-item">
<a href="#faq" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span class="lang-text" data-ua="FAQ" data-ru="FAQ" data-en="FAQ / Help">FAQ</span>
</a>
</li>
<li class="nav-item">
<a href="#ecosystem" class="nav-link">
<svg viewBox="0 0 24 24"><path d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"></path></svg>
<span class="lang-text" data-ua="Екосистема" data-ru="Экосистема" data-en="Ecosystem [NAT]">Екосистема</span>
</a>
</li>
</ul>
</nav>
<!-- Theme Switcher and Version in Sidebar Footer -->
<div class="sidebar-support-info" style="background-color: var(--bg-tertiary); border: 1px solid var(--border); border-radius: 8px; padding: 10px; margin-top: 12px; font-size: 11px; margin-bottom: 12px;">
<div style="font-weight: 700; color: var(--accent); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.5px;" class="lang-text" data-ua="Підтримка" data-ru="Поддержка" data-en="Support">Підтримка</div>
<a href="mailto:info@nat.od.ua" style="color: var(--text-primary); text-decoration: none; font-weight: 700; display: flex; align-items: center; gap: 6px; font-size: 11.5px; transition: color 0.2s ease;">
<svg viewBox="0 0 24 24" style="width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.5; flex-shrink:0;"><path d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path></svg>
info@nat.od.ua
</a>
</div>
<div class="sidebar-footer">
<button class="theme-toggle-btn" id="theme-toggle" aria-label="Toggle Theme">
<svg class="moon-icon" viewBox="0 0 24 24"><path d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"></path></svg>
<svg class="sun-icon" viewBox="0 0 24 24"><path d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364-6.364l-.707.707M6.343 17.657l-.707.707m0-12.728l.707.707m11.02 11.02l.707-.707M12 8a4 4 0 100 8 4 4 0 000-8z"></path></svg>
</button>
<span class="version-tag">v1.2.0</span>
</div>
</aside>
<!-- Main Content Area -->
<main class="main-content">
<!-- Hero Banner -->
<header class="hero-header">
<div class="badge-series">Series [NAT] Zero-Trust Web</div>
<h2 class="hero-title">Image Optimizer [NAT]</h2>
<div class="hero-desc">
<span class="ua-only">Багатофункціональна система стиснення оригіналів зображень без втрати якості, генерації WebP, накладення Smart водяних знаків та повного очищення хостингу від невикористовуваних медіафайлів для OpenCart. Розробка <b>[NAT]</b>.</span>
<span class="ru-only">Многофункциональная система сжатия оригиналов изображений без потери качества, генерации WebP, наложения Smart водяных знаков и полной очистки хостинга от неиспользуемых медиафайлов для OpenCart. Разработка <b>[NAT]</b>.</span>
<span class="en-only">All-in-one image optimization suite for OpenCart. Compresses original catalog assets with zero quality loss, automates WebP conversion on-the-fly, manages dynamic watermarks, and cleans up junk images. Developed by <b>[NAT]</b>.</span>
</div>
</header>
<!-- Demo Stand Link -->
<section style="background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.05), rgba(59, 130, 246, 0.05)); border: 1px solid rgba(var(--accent-rgb), 0.2); border-radius: 12px; padding: 24px; margin-bottom: 40px; box-shadow: 0 4px 6px var(--shadow);">
<h4 style="font-size: 16px; font-weight: 800; color: var(--text-primary); margin-bottom: 12px; display: flex; align-items: center; gap: 8px;">
<span>🖥️</span>
<span class="lang-text" data-ua="Офіційний демо-стенд модуля" data-ru="Официальный демо-стенд модуля" data-en="Official Module Demo Stand">Офіційний демо-стенд модуля</span>
</h4>
<div style="font-size: 13.5px; color: var(--text-secondary); margin-bottom: 16px; line-height: 1.6;">
<span class="ua-only">Ви можете перевірити роботу та спробувати швидкість стиснення на нашому офіційному демо-сайті. Перейдіть до панелі керування (використовуючи логін/пароль <b>demo</b> / <b>demo</b>).</span>
<span class="ru-only">Вы можете протестировать работу модуля и оценить скорость сжатия на нашем официальном демо-сайте. Перейдите в панель управления (используя логин/пароль <b>demo</b> / <b>demo</b>).</span>
<span class="en-only">You can test the module's performance and compression speed on our official demo site. Navigate to the admin control panel (using login/password <b>demo</b> / <b>demo</b>).</span>
</div>
<div style="display: flex; flex-wrap: wrap; gap: 12px; align-items: center;">
<a href="https://oc3-demo.nat.od.ua/admin/index.php?route=extension/module/img_opti" target="_blank" style="background-color: var(--accent); color: #0b0f19; font-weight: 700; text-decoration: none; padding: 10px 18px; border-radius: 8px; font-size: 13px; display: flex; align-items: center; gap: 8px; transition: background-color 0.2s ease;">
<svg viewBox="0 0 24 24" style="width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2.5;"><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path></svg>
<span class="lang-text" data-ua="Адмін-панель (Вхід demo/demo)" data-ru="Админ-панель (Вход demo/demo)" data-en="Admin Control Panel (demo/demo)">Адмін-панель (Вхід demo/demo)</span>
</a>
</div>
</section>
<!-- System Requirements Section -->
<section id="requirements" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span class="lang-text" data-ua="Системні вимоги" data-ru="Системные требования" data-en="System Requirements">Системні вимоги</span>
</h3>
<!-- UA REQUIREMENTS -->
<div class="ua-only">
<p>Модуль розроблено з урахуванням високих вимог безпеки і сумісний з наступним стеком:</p>
<div class="grid-cards">
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path></svg>
</div>
<h4 class="card-title">Сумісність із CMS</h4>
<div class="card-desc">
• OpenCart 2.3.x / ocStore 2.3.x<br/>
• OpenCart 3.0.x / ocStore 3.0.x<br/>
• OpenCart 3.0 Cloud
</div>
</div>
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path></svg>
</div>
<h4 class="card-title">Окруження сервера</h4>
<div class="card-desc">
• PHP 7.1 - 8.2 (повністю сумісний)<br/>
• Бібліотека GD або розширення php-imagick (рекомендовано)<br/>
• Відкритий вихідний код (без IonCube)
</div>
</div>
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"></path></svg>
</div>
<h4 class="card-title">Конвертація та Колір</h4>
<div class="card-desc">
• Конвертація кольорової моделі CMYK в sRGB для Safari та iOS<br/>
• Автоматична XSS-санітизація завантажуваних SVG-файлів
</div>
</div>
</div>
</div>
<!-- RU REQUIREMENTS -->
<div class="ru-only">
<p>Модуль разработан с учетом высоких требований безопасности и совместим со следующим стеком:</p>
<div class="grid-cards">
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path></svg>
</div>
<h4 class="card-title">Совместимость с CMS</h4>
<div class="card-desc">
• OpenCart 2.3.x / ocStore 2.3.x<br/>
• OpenCart 3.0.x / ocStore 3.0.x<br/>
• OpenCart 3.0 Cloud
</div>
</div>
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path></svg>
</div>
<h4 class="card-title">Окружение сервера</h4>
<div class="card-desc">
• PHP 7.1 - 8.2 (полностью совместим)<br/>
• Библиотека GD или расширение php-imagick (рекомендовано)<br/>
• Открытый исходный код (без IonCube)
</div>
</div>
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"></path></svg>
</div>
<h4 class="card-title">Конвертация и Цвет</h4>
<div class="card-desc">
• Конвертация цветовой модели CMYK в sRGB для Safari и iOS<br/>
• Автоматическая XSS-санитаризация загружаемых SVG-файлов
</div>
</div>
</div>
</div>
<!-- EN REQUIREMENTS -->
<div class="en-only">
<p>The module is built with high security standards and is fully compatible with the following stack:</p>
<div class="grid-cards">
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path></svg>
</div>
<h4 class="card-title">CMS Compatibility</h4>
<div class="card-desc">
• OpenCart 2.3.x / ocStore 2.3.x<br/>
• OpenCart 3.0.x / ocStore 3.0.x<br/>
• OpenCart 3.0 Cloud
</div>
</div>
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path></svg>
</div>
<h4 class="card-title">Server Stack</h4>
<div class="card-desc">
• PHP 7.1 - 8.2 compatible<br/>
• PHP-GD or php-imagick extension (recommended)<br/>
• Open source code (No IonCube encoder required)
</div>
</div>
<div class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24"><path d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"></path></svg>
</div>
<h4 class="card-title">Security & Profiles</h4>
<div class="card-desc">
• Automatic CMYK to sRGB conversion for iOS/Safari browsers<br/>
• Built-in security sanitizer against SVG XSS vector attacks
</div>
</div>
</div>
</div>
</section>
<!-- Installation Section -->
<section id="installation" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"></path></svg>
<span class="lang-text" data-ua="Інструкція з встановлення" data-ru="Инструкция по установке" data-en="Installation Guide">Інструкція з встановлення</span>
</h3>
<!-- UA INSTALL -->
<div class="ua-only">
<ul class="steps-list">
<li class="step-item">
<div class="step-number">1</div>
<div class="step-content">
<h4>Завантаження файлів по FTP</h4>
<p>Розпакуйте завантажений архів модуля. Скопіюйте вміст теки <code>upload/</code> у кореневу директорію вашого сайту по FTP або SFTP (системні файли OpenCart при цьому не перезаписуються).</p>
</div>
</li>
<li class="step-item">
<div class="step-number">2</div>
<div class="step-content">
<h4>Надання прав доступу</h4>
<p>Перейдіть у меню <code>Система -> Користувачі -> Групи користувачів</code>, відкрийте групу адміністратора (Administrator) і встановіть позначки прав на <b>Перегляд</b> та <b>Зміну</b> для контролера: <code>extension/module/img_opti</code>.</p>
</div>
</li>
<li class="step-item">
<div class="step-number">3</div>
<div class="step-content">
<h4>Активація модуля</h4>
<p>В меню <code>Модулі / Розширення -> Модулі</code> знайдіть модуль <b>Image Optimizer [NAT]</b>, натисніть зелену кнопку <b>Встановити</b>, після чого перейдіть у редагування модуля.</p>
</div>
</li>
<li class="step-item">
<div class="step-number">4</div>
<div class="step-content">
<h4>Встановлення OCMOD модифікатора (якщо є)</h4>
<p>Якщо до складу вашої збірки входить модифікатор <code>install.xml</code>, встановіть його через меню <code>Встановлення розширень</code> та не забудьте оновити кеш модифікаторів.</p>
</div>
</li>
</ul>
<div class="alert-block info">
<svg viewBox="0 0 24 24"><path d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<div><b>Важлива інформація:</b> Модуль створює загальне меню <b>[NAT] Modules</b> у бічній панелі для всієї серії розширень, забезпечуючи зручний перехід між модулями.</div>
</div>
</div>
<!-- RU INSTALL -->
<div class="ru-only">
<ul class="steps-list">
<li class="step-item">
<div class="step-number">1</div>
<div class="step-content">
<h4>Загрузка файлов по FTP</h4>
<p>Распакуйте загруженный архив модуля. Скопируйте содержимое папки <code>upload/</code> в корневую директорию вашего сайта по FTP или SFTP (системные файлы OpenCart при этом не перезаписываются).</p>
</div>
</li>
<li class="step-item">
<div class="step-number">2</div>
<div class="step-content">
<h4>Назначение прав доступа</h4>
<p>Перейдите в меню <code>Система -> Пользователи -> Группы пользователей</code>, выберите группу администраторов (Administrator) и установите права на <b>Просмотр</b> и <b>Изменение</b> для контроллера: <code>extension/module/img_opti</code>.</p>
</div>
</li>
<li class="step-item">
<div class="step-number">3</div>
<div class="step-content">
<h4>Активация модуля</h4>
<p>В меню <code>Модули / Расширения -> Модули</code> найдите модуль <b>Image Optimizer [NAT]</b>, нажмите зеленую кнопку <b>Установить</b>, после чего перейдите в режим редактирования модуля.</p>
</div>
</li>
<li class="step-item">
<div class="step-number">4</div>
<div class="step-content">
<h4>Установка OCMOD модификатора</h4>
<p>Загрузите модификатор <code>install.xml</code> через установщик расширений OpenCart и обязательно обновите кэш модификаторов в менеджере расширений.</p>
</div>
</li>
</ul>
</div>
<!-- EN INSTALL -->
<div class="en-only">
<ul class="steps-list">
<li class="step-item">
<div class="step-number">1</div>
<div class="step-content">
<h4>Upload assets via FTP</h4>
<p>Extract the module ZIP archive. Transfer the files inside the <code>upload/</code> folder to your OpenCart root directory using an FTP client (no core system files are overwritten).</p>
</div>
</li>
<li class="step-item">
<div class="step-number">2</div>
<div class="step-content">
<h4>Grant Admin Permissions</h4>
<p>Go to <code>System -> Users -> User Groups</code>, open the Administrator group and select both <b>Access</b> and <b>Modify</b> permissions for: <code>extension/module/img_opti</code>.</p>
</div>
</li>
<li class="step-item">
<div class="step-number">3</div>
<div class="step-content">
<h4>Activate Extension</h4>
<p>Navigate to <code>Extensions -> Extensions -> Modules</code>, find <b>Image Optimizer [NAT]</b>, click the green <b>Install</b> button, and then click <b>Edit</b> to open the configuration dashboard.</p>
</div>
</li>
<li class="step-item">
<div class="step-number">4</div>
<div class="step-content">
<h4>Upload OCMOD modification</h4>
<p>Upload the <code>install.xml</code> modification file using OpenCart Extension Installer, then clear and rebuild modifications cache.</p>
</div>
</li>
</ul>
</div>
</section>
<!-- Update Section -->
<section id="update" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M4 4v5h.582m15.356 2A8.001 8.001 0 1121.21 8H17"></path></svg>
<span class="lang-text" data-ua="Оновлення модуля" data-ru="Обновление модуля" data-en="Updating Module">Оновлення модуля</span>
</h3>
<p class="ua-only">Щоб оновити модуль до останньої версії, завантажте файли нової версії з папки <code>upload/</code> поверх уже існуючих файлів на сервері по FTP, після чого перейдіть в адмін-панель модуля і натисніть кнопку "Зберегти" для оновлення структури налаштувань.</p>
<p class="ru-only">Чтобы обновить модуль до последней версии, загрузите файлы новой версии из папки <code>upload/</code> поверх уже существующих файлов на сервере по FTP, затем перейдите в настройки модуля и нажмите кнопку "Сохранить" для обновления структуры данных.</p>
<p class="en-only">To update the extension to the latest version, copy the files inside the <code>upload/</code> directory over the existing server files using FTP. After files are uploaded, open the module setting dashboard and click "Save" to apply new schema changes.</p>
</section>
<!-- Settings Guide Section -->
<section id="settings" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"></path></svg>
<span class="lang-text" data-ua="Налаштування по вкладках" data-ru="Настройки по вкладкам" data-en="Tab Settings Walkthrough">Налаштування по вкладках</span>
</h3>
<!-- TABS WALKTHROUGH -->
<div style="display: flex; flex-direction: column; gap: 24px;">
<!-- TAB 1 -->
<div style="background-color: var(--bg-secondary); border: 1px solid var(--border); padding: 24px; border-radius: 12px;">
<h4 style="font-size:16px; font-weight:700; color:var(--accent); margin-bottom:12px;">
📁 Tab 1: <span class="lang-text" data-ua="Налаштування (Settings)" data-ru="Настройки (Settings)" data-en="General Settings">Налаштування (Settings)</span>
</h4>
<div class="ua-only">
<p>Ця вкладка відповідає за загальні параметри роботи та ліцензування:</p>
<ul>
<li><b>Статус модуля</b>: Глобальний перемикач роботи оптимізації.</li>
<li><b>Токен активації</b>: Введіть ключ ліцензії, отриманий на пошту або придбаний на платформі. Він прив'язаний до основного домену сайту.</li>
<li><b>Рушій обробки</b>: Виберіть <b>GD</b> або <b>Imagick</b>. <i>Imagick</i> працює значно якісніше, зберігає колірні профілі та коректно обробляє стиснення.</li>
<li><b>Позиція меню</b>: Налаштування виведення посилання на модулі [NAT] в адмінці (Шапка, Сайдбар, або обидва).</li>
</ul>
</div>
<div class="ru-only">
<p>Эта вкладка отвечает за общие параметры работы и лицензирование:</p>
<ul>
<li><b>Статус модуля</b>: Глобальный переключатель работы оптимизации.</li>
<li><b>Токен активации</b>: Введите лицензионный ключ, полученный при покупке. Ключ привязан к корню домена.</li>
<li><b>Движок обработки</b>: Выберите <b>GD</b> или <b>Imagick</b>. <i>Imagick</i> работает значительно чище, быстрее и не искажает цвета на iOS.</li>
<li><b>Позиция меню</b>: Настройка вывода ссылок на модули [NAT] в админке.</li>
</ul>
</div>
<div class="en-only">
<p>This tab configures general global settings and license parameters:</p>
<ul>
<li><b>Status</b>: Global module state (Enabled/Disabled).</li>
<li><b>Activation Token</b>: Enter your license key linked to your domain host.</li>
<li><b>Processing Engine</b>: Toggle between <b>GD</b> (Standard) and <b>Imagick</b> (Recommended: higher quality, supports advanced color spaces).</li>
<li><b>Menu Position</b>: Choose where the NAT Modules navigation dropdown displays (Sidebar, Header, or Both).</li>
</ul>
</div>
</div>
<!-- TAB 2 -->
<div style="background-color: var(--bg-secondary); border: 1px solid var(--border); padding: 24px; border-radius: 12px;">
<h4 style="font-size:16px; font-weight:700; color:var(--accent); margin-bottom:12px;">
📉 Tab 2: <span class="lang-text" data-ua="Оптимізація та Ресайз" data-ru="Оптимизация и Ресайз" data-en="Optimize & Resize">Оптимізація та Ресайз</span>
</h4>
<div class="ua-only">
<p>Основний інструмент стиснення оригінальних картинок у папці <code>image/catalog/</code>:</p>
<ul>
<li><b>Режим роботи</b>:
<ul>
<li><i>Створити копію (безпечно)</i>: Модуль збереже оптимізовані файли в окрему папку, дозволяючи порівняти результат.</li>
<li><i>Замінювати оригінали</i>: Файли стискаються на місці. <b>Потрібен бекап перед запуском!</b></li>
</ul>
</li>
<li><b>Папки обробки</b>: Ви можете вказати окремі підпапки або вибрати весь каталог.</li>
<li><b>Якість і Стиснення</b>: Налаштування стиснення для JPG (0-100), PNG (0-9) та якості конвертованих WebP.</li>
<li><b>Обмеження ширини/висоти</b>: Автоматичний ресайз занадто великих фото до заданих меж (наприклад, 1920px), щоб не перевантажувати дисковий простір.</li>
<li><b>Поріг заміни (%)</b>: Запобігає оновленню, якщо вага стиснутого файлу стала більшою за оригінал.</li>
<li><b>Індивідуальні правила</b>: Можливість перевизначити параметри якості для конкретних підпапок (наприклад, для папки банерів потрібна менша компресія).</li>
</ul>
</div>
<div class="ru-only">
<p>Основной инструмент сжатия оригинальных картинок в папке <code>image/catalog/</code>:</p>
<ul>
<li><b>Режим работы</b>:
<ul>
<li><i>Создать копию (безопасно)</i>: Модуль сохранит сжатые фото в отдельную папку для тестирования.</li>
<li><i>Заменять оригиналы</i>: Изображения сжимаются на месте. <b>Сделайте бэкап перед началом!</b></li>
</ul>
</li>
<li><b>Качество сжатия</b>: Укажите качество для JPG (0-100), PNG (0-9) и WebP.</li>
<li><b>Лимиты по габаритам</b>: Автоматическое уменьшение разрешения фото, превышающих лимиты (например, 2000px).</li>
<li><b>Индивидуальные правила</b>: Вы можете настроить отдельный уровень сжатия для конкретных папок (например, catalog/banners/).</li>
</ul>
</div>
<div class="en-only">
<p>The primary panel for compressing original images inside the <code>image/catalog/</code> directory:</p>
<ul>
<li><b>Operation Mode</b>:
<ul>
<li><i>Create copy (Safe)</i>: Retains original files and outputs compressed assets into a custom testing folder.</li>
<li><i>Replace originals</i>: Compresses and overrides files on-the-fly. <b>Always backup first!</b></li>
</ul>
</li>
<li><b>Compression Quality</b>: Adjust quality targets for JPG (0-100), PNG (0-9), and WebP formats.</li>
<li><b>Max Dimensions</b>: Automates downscaling of oversized images (e.g., resizing 6000px raw uploads down to 1920px).</li>
<li><b>Folder-specific rules</b>: Set custom quality limits for selected folders (like slider banners or brands).</li>
</ul>
</div>
<div class="alert-block warning">
<svg viewBox="0 0 24 24"><path d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"></path></svg>
<div>
<span class="ua-only"><b>УВАГА:</b> Стиснення оригіналів замінює вихідні файли у вашому каталозі. Завжди рекомендується провести перший запуск у режимі "Створити копію", перевірити якість компресії, і тільки після цього виконувати заміну.</span>
<span class="ru-only"><b>ВНИМАНИЕ:</b> Сжатие оригиналов заменяет файлы на хостинге. Настоятельно рекомендуется первый запуск провести в режиме создания копии, оценить качество, и только потом переходить к замене.</span>
<span class="en-only"><b>WARNING:</b> Replacing originals will permanently overwrite your core images. Run a test compile using "Create copy" first to evaluate output weights and visual quality.</span>
</div>
</div>
</div>
<!-- TAB 3 -->
<div style="background-color: var(--bg-secondary); border: 1px solid var(--border); padding: 24px; border-radius: 12px;">
<h4 style="font-size:16px; font-weight:700; color:var(--accent); margin-bottom:12px;">
🧹 Tab 3: <span class="lang-text" data-ua="Очищення невикористовуваних зображень" data-ru="Очистка неиспользуемых изображений" data-en="Junk Cleaner">Очищення невикористовуваних зображень</span>
</h4>
<div class="ua-only">
<p>Цей сканер порівнює фізичні файли на вашому сервері з базою даних сайту (товари, категорії, бренди, банери) та шаблонами тем, знаходячи залишкові файли від видалених товарів чи парсингу:</p>
<ul>
<li><b>Звірка з БД</b>: Скануються таблиці продуктів, опцій, категорій, виробників, банерів, а також текстові HTML-описи на наявність тегів <code>&lt;img&gt;</code>.</li>
<li><b>Карантин</b>: Замість видалення файли переносяться у приховану теку. Якщо якийсь файл знадобиться — його можна відновити однією кнопкою.</li>
<li><b>Видалення назавжди</b>: Повне очищення сміття для вивільнення максимального дискового простору.</li>
</ul>
</div>
<div class="ru-only">
<p>Этот сканер сопоставляет физические файлы на хостинге с записями в БД (товары, категории, бренды, баннеры) и шаблонами, находя остаточный мусор от удаленных товаров или некорректного импорта:</p>
<ul>
<li><b>Карантин</b>: Безопасное перемещение найденного мусора во временную папку. При необходимости все файлы возвращаются обратно в 1 клик.</li>
<li><b>Удаление навсегда</b>: Окончательная очистка диска от мусора.</li>
</ul>
</div>
<div class="en-only">
<p>An intelligent media scanner that indexes physical files on disk and matches them against database tables and theme code, finding files left behind by deleted products, category edits, or parsing imports:</p>
<ul>
<li><b>Database Matching</b>: Cross-checks product images, description html blocks, category assets, and banner layouts.</li>
<li><b>Quarantine</b>: Safely moves files to an isolated directory. If a file was flagged by mistake, restore it instantly with one click.</li>
<li><b>Permanent Delete</b>: Purges flagged assets, freeing server storage space.</li>
</ul>
</div>
</div>
<!-- TAB 4 -->
<div style="background-color: var(--bg-secondary); border: 1px solid var(--border); padding: 24px; border-radius: 12px;">
<h4 style="font-size:16px; font-weight:700; color:var(--accent); margin-bottom:12px;">
⚡ Tab 4: <span class="lang-text" data-ua="Сучасні формати (WebP & SVG)" data-ru="Современные форматы (WebP & SVG)" data-en="Modern Formats (WebP & SVG)">Сучасні формати (WebP & SVG)</span>
</h4>
<div class="ua-only">
<p>Налаштування інтеграції медіаформатів нового покоління безпосередньо у вітрину:</p>
<ul>
<li><b>Завантаження SVG/WebP</b>: Дозволяє додавати ці файли через стандартний диспетчер файлів (Filemanager) у адмінці OpenCart.</li>
<li><b>On-The-Fly WebP + Lazy Load</b>: Динамічний перехоплювач. Замінює посилання на зображення <code>.jpg</code>/<code>.png</code> на <code>.webp</code> версії безпосередньо при виведенні HTML покупцеві (якщо браузер підтримує WebP). Також автоматично підставляє атрибут відкладеного завантаження <code>loading="lazy"</code>.</li>
<li><b>Прогресивний Lazy Load</b>: Додає красивий ефект "розмиття" (blur-up) при завантаженні товарів під час скролу сторінки.</li>
<li><b>Заглушка битих картинок</b>: Автоматично замінює неіснуючі файли на вибране зображення-заглушку, рятуючи сітку дизайну сайту.</li>
</ul>
</div>
<div class="ru-only">
<p>Настройки интеграции медиаформатов нового поколения непосредственно на витрину:</p>
<ul>
<li><b>On-The-Fly WebP + Lazy Load</b>: На лету меняет расширения изображений на <code>.webp</code> в коде страницы и добавляет отложенную загрузку. Не затрагивает базу данных!</li>
<li><b>Прогрессивный Lazy Load</b>: Эффект красивого размытия (blur-up) картинок при прокрутке.</li>
<li><b>Заглушка битых ссылок</b>: Подставляет красивое изображение вместо отсутствующих на сервере файлов.</li>
</ul>
</div>
<div class="en-only">
<p>Configs next-gen format delivery and frontend speed features:</p>
<ul>
<li><b>SVG/WebP Upload Support</b>: Unlocks filemanager capabilities to select and link vector SVG and WebP assets manually.</li>
<li><b>On-The-Fly WebP & Lazy Load</b>: Automatically rewrites storefront HTML response to replace standard <code>.jpg</code>/<code>.png</code> paths with their <code>.webp</code> equivalents on-the-fly, while appending native browser <code>loading="lazy"</code> tags.</li>
<li><b>Progressive Lazy Loading</b>: Introduces a beautiful blur-up placeholder effect that fades out smoothly as high-res images load.</li>
<li><b>Broken Image Redirects</b>: Redirects failed image file references to a fallback image to prevent design broken cards.</li>
</ul>
</div>
</div>
</div>
</section>
<!-- Pro Utilities Section -->
<section id="utilities" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"></path></svg>
<span class="lang-text" data-ua="Інструменти розробника та оптимізатора (Pro)" data-ru="Инструменты разработчика и оптимизатора (Pro)" data-en="Pro Utilities & Tools">Інструменти розробника та оптимізатора (Pro)</span>
</h3>
<p class="ua-only">У вкладці <b>"Інструменти (pro)"</b> ви можете вибрати спеціальні утиліти з випадного меню для точкового вирішення проблем з дисковим простором чи базою даних:</p>
<p class="ru-only">Во вкладке <b>"Инструменты (pro)"</b> вы можете выбрать специализированные утилиты из выпадающего списка для точечного решения проблем с сайтом:</p>
<p class="en-only">Under the <b>"Tools (pro)"</b> tab, select specific backend tools from the dropdown selector to run diagnostic and correction procedures:</p>
<div class="table-container">
<table>
<thead>
<tr>
<th style="width: 250px;"><span class="lang-text" data-ua="Назва інструменту" data-ru="Название инструмента" data-en="Utility Name">Назва інструменту</span></th>
<th><span class="lang-text" data-ua="Опис та функціонал" data-ru="Описание и функционал" data-en="Description & Features">Опис та функціонал</span></th>
</tr>
</thead>
<tbody>
<tr>
<td><b>PNG to JPG Converter</b></td>
<td>
<span class="ua-only">Знаходить великі важкі файли PNG (наприклад, фото товарів на білому фоні) та конвертує їх у JPG. Зменшує розмір файлу на 70-80%, автоматично оновлюючи шляхи в БД.</span>
<span class="ru-only">Находит тяжелые файлы PNG (без прозрачности) и конвертирует их в JPG. Уменьшает размер файлов на 70-80% и обновляет БД.</span>
<span class="en-only">Detects large PNG images lacking alpha transparency channels and translates them to JPEGs, reducing file size by 70-80% while updating database references automatically.</span>
</td>
</tr>
<tr>
<td><b>Duplicates Cleaner</b></td>
<td>
<span class="ua-only">Порівнює MD5-хеші зображень на сервері. Якщо знайдено повні копії з різними іменами, залишає лише один файл, а всі посилання в БД перенаправляє на нього.</span>
<span class="ru-only">Находит полные дубликаты файлов по MD5-хешу, удаляет лишние файлы и обновляет пути в базе данных на единый файл.</span>
<span class="en-only">Compares MD5 checksums of files on server. Merges exact byte duplicates, deletes duplicates, and rewires DB records to point to a single original image file.</span>
</td>
</tr>
<tr>
<td><b>Watermarks Rules</b></td>
<td>
<span class="ua-only">Створення динамічних правил накладання водяних знаків (текст чи зображення) на кеш картинок товарів, брендів чи категорій. Підтримує налаштування прозорості, кута нахилу та фільтрацію.</span>
<span class="ru-only">Создание правил наложения водяных знаков (текст или картинка) на кэш. Поддерживает прозрачность, угол наклона, скругление и фильтрацию категорий/брендов.</span>
<span class="en-only">Manages dynamic watermarks overlay (text/image) on catalog cache. Supports opacity sliders, rotation angles, TTF font rendering, and category inclusion/exclusion limits.</span>
</td>
</tr>
<tr>
<td><b>Broken DB Scanner</b></td>
<td>
<span class="ua-only">Знаходить записи в БД, які посилаються на видалені файли. Дозволяє очистити лінки, вимкнути товари або підставити заглушки.</span>
<span class="ru-only">Находит в базе данных ссылки на отсутствующие файлы. Позволяет убрать ссылки, отключить товары или установить заглушки.</span>
<span class="en-only">Finds database entries referencing missing files. Offers batch actions to clean references, disable products, or link placeholder placeholders.</span>
</td>
</tr>
<tr>
<td><b>Transliteration & Translit</b></td>
<td>
<span class="ua-only">Перейменовує файли з кирилицею або пробілами в іменах на безпечну транслітерацію, що запобігає збоям кодування на деяких хостингах.</span>
<span class="ru-only">Переименовывает файлы, содержащие кириллицу или пробелы, переводя их в транслит, и обновляет пути к ним в базе данных.</span>
<span class="en-only">Finds and sanitizes filenames containing cyrillic or spaces. Renames them using safe transliteration and maps changes to the database.</span>
</td>
</tr>
<tr>
<td><b>CMYK Converter</b></td>
<td>
<span class="ua-only">Швидко конвертує колірний простір CMYK у sRGB, що попереджає ситуації, коли фото товарів не завантажуються або відображаються некоректно на iPhone чи Safari.</span>
<span class="ru-only">Переводит изображения из цветового профиля CMYK в sRGB для корректного отображения картинок на устройствах Apple (iPhone, Safari).</span>
<span class="en-only">Converts files from CMYK to sRGB, preventing display failures on Safari browsers and Apple iOS devices.</span>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<!-- Cron Automation Section -->
<section id="cron" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span class="lang-text" data-ua="Автоматизація по Cron" data-ru="Автоматизация по Cron" data-en="Cron Automation">Автоматизація по Cron</span>
</h3>
<p class="ua-only">Для автоматичного регулярного фонового стиснення нових завантажених зображень ви можете налаштувати завдання у планувальнику вашого хостингу (Cron), використовуючи надане посилання:</p>
<p class="ru-only">Для автоматического регулярного сжатия новых загружаемых фото в фоновом режиме настройте планировщик задач на вашем хостинге (Cron) с помощью следующей ссылки:</p>
<p class="en-only">To automate background scans and optimize new image uploads, configure a cron job on your hosting cPanel using the following command template:</p>
<div class="code-wrapper">
<div class="code-header">
<span class="code-lang">Cron URL Command</span>
<button class="copy-code-btn" onclick="copyCode(this)">
<svg viewBox="0 0 24 24" style="width:12px; height:12px; fill:none; stroke:currentColor; stroke-width:2.5;"><path d="M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 01-2-2V4"></path></svg>
<span class="lang-text" data-ua="Копіювати" data-ru="Копировать" data-en="Copy">Копіювати</span>
</button>
</div>
<pre><code>wget -q -O - "https://oc3-demo.nat.od.ua/index.php?route=extension/module/img_opti/cron&key=YOUR_CRON_TOKEN"</code></pre>
</div>
<p class="ua-only">Замініть <code>YOUR_CRON_TOKEN</code> на секретний токен із вкладки "Крон-завдання". Рекомендований інтервал запуску — раз на добу.</p>
<p class="ru-only">Замените <code>YOUR_CRON_TOKEN</code> на секретный токен из вкладки "Крон-задания". Рекомендуемый интервал запуска — раз в сутки.</p>
<p class="en-only">Replace <code>YOUR_CRON_TOKEN</code> with the secret token located under your Cron tab. The recommended trigger rate is once per 24 hours.</p>
</section>
<!-- FAQ Section -->
<section id="faq" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24"><path d="M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span class="lang-text" data-ua="Часті питання (FAQ)" data-ru="Частые вопросы (FAQ)" data-en="Frequently Asked Questions">Часті питання (FAQ)</span>
</h3>
<!-- FAQ 1 -->
<div class="accordion">
<button class="accordion-header">
<span class="ua-only">Чи погіршується якість зображень при стисненні?</span>
<span class="ru-only">Ухудшается ли качество изображений при сжатии?</span>
<span class="en-only">Does compression cause visible image quality loss?</span>
<svg class="accordion-icon" viewBox="0 0 24 24" style="width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.5;"><path d="M19 9l-7 7-7-7"></path></svg>
</button>
<div class="accordion-content">
<div class="accordion-inner">
<span class="ua-only">Ні, при оптимальних налаштуваннях компресії (наприклад, 80-85 для JPG та 75-80 для WebP) різницю неозброєним оком помітити неможливо. При цьому вага зображень зменшується в 3-5 разів. Imagick забезпечує чистіші кольори за рахунок правильного sRGB-декодування.</span>
<span class="ru-only">Нет, при оптимальных настройках сжатия (например, 80-85 для JPG и 75-80 для WebP) разница незаметна человеческому глазу. При этом вес файла снижается в 3-5 раз. Расширение Imagick работает точнее, сберегая цветовые профили.</span>
<span class="en-only">No. At optimal configurations (typically 80-85 quality limit for JPEGs and 75-80 for WebP), visual artifacts are imperceptible to human eyes, while file size decreases by 3-5x. Using the Imagick engine yields cleaner outputs by preserving color matrices.</span>
</div>
</div>
</div>
<!-- FAQ 2 -->
<div class="accordion">
<button class="accordion-header">
<span class="ua-only">Що робить функція Junk Cleaner (Очищення невикористовуваних)?</span>
<span class="ru-only">Что делает функция Junk Cleaner (Очистка неиспользуемых)?</span>
<span class="en-only">What does the Junk Cleaner feature actually do?</span>
<svg class="accordion-icon" viewBox="0 0 24 24" style="width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.5;"><path d="M19 9l-7 7-7-7"></path></svg>
</button>
<div class="accordion-content">
<div class="accordion-inner">
<span class="ua-only">Вона сканує файлову систему і порівнює її з базою даних сайту. Якщо товар чи категорія були видалені, але зображення залишилися лежати на сервері мертвим вантажем, утиліта знайде їх і дозволить безпечно відправити в карантин або видалити. Це економить гігабайти дискового простору.</span>
<span class="ru-only">Она сканирует файловую систему и сверяет ее с базами данных сайта. Если товар или категория были удалены, но файлы изображений остались лежать на сервере мертвым грузом, утилита найдет их и позволит переместить в карантин или стереть, экономя гигабайты места.</span>
<span class="en-only">It searches files under your server directory and matches them to your Database rows. If a product or category was deleted, but its image files remain on hosting, the scanner lists them as junk, allowing you to quarantine or clear them.</span>
</div>
</div>
</div>
<!-- FAQ 3 -->
<div class="accordion">
<button class="accordion-header">
<span class="ua-only">Як працює On-The-Fly WebP підміна та Lazy Load?</span>
<span class="ru-only">Как работает On-The-Fly WebP подмена и Lazy Load?</span>
<span class="en-only">How does On-The-Fly WebP conversion and Lazy Load work?</span>
<svg class="accordion-icon" viewBox="0 0 24 24" style="width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.5;"><path d="M19 9l-7 7-7-7"></path></svg>
</button>
<div class="accordion-content">
<div class="accordion-inner">
<span class="ua-only">Цей механізм перехоплює вихідний HTML-код сайту на рівні контролера OpenCart, шукає посилання на картинки та замінює їх на WebP-копії, якщо вони є на сервері (або створює їх за потреби). Також він додає атрибут <code>loading="lazy"</code> для відкладеного завантаження, що підвищує оцінку Google PageSpeed. База даних не змінюється!</span>
<span class="ru-only">Этот механизм перехватывает выходной HTML-код сайта, ищет теги изображений и подменяет расширения на WebP (если файлы созданы). Дополнительно добавляет атрибут <code>loading="lazy"</code> для отложенной загрузки, повышая балл в Google PageSpeed. БД сайта не меняется!</span>
<span class="en-only">It intercepts storefront HTML rendering output, searches for image tags, and replaces extension references with WebP copies (generating them if they don't exist yet). It also appends browser-native <code>loading="lazy"</code> parameters, boosting Google PageSpeed index. DB rows remain unmodified.</span>
</div>
</div>
</div>
</section>
<!-- Ecosystem Section -->
<!-- Ecosystem Section -->
<section id="ecosystem" class="section">
<h3 class="section-title">
<svg viewBox="0 0 24 24" style="width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.5;"><path d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"></path></svg>
<span class="lang-text" data-ua="Інші модулі серії [NAT]" data-ru="Другие модули серии [NAT]" data-en="Other Modules of [NAT] Series">Інші модулі серії [NAT]</span>
</h3>
<p style="font-size: 14px; color: var(--text-secondary); margin-bottom: 24px; line-height: 1.6;">
<span class="ua-only">Розробки студії <b>[NAT]</b> створені для оптимізації, автоматизації та прискорення інтернет-магазинів на OpenCart. Всі модулі серії [NAT] розроблені за стандартами безпечного коду та мають бездоганну сумісність.</span>
<span class="ru-only">Разработки студии <b>[NAT]</b> созданы для оптимизации, автоматизации и ускорения интернет-магазинов на OpenCart. Все модули серии [NAT] разработаны по стандартам безопасного кода и имеют безупречную совместимость.</span>
<span class="en-only">Extensions by <b>[NAT]</b> studio are designed to optimize, automate, and accelerate OpenCart web stores. All [NAT] series modules are built according to secure coding standards and offer seamless compatibility.</span>
</p>
<div class="grid-cards" style="margin-bottom: 30px;">
<!-- Card 1: Database Optimizer -->
<a href="database_optimizer_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"></path><path d="M3 12c0 1.66 4 3 9 3s9-1.34 9-3"></path></svg>
</div>
<h4 class="card-title">Database Optimizer [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Інтелектуальне очищення сміття в базі даних, управління системними логами та додавання критично важливих індексів для прискорення.</span>
<span class="ru-only">Интеллектуальная очистка мусора в базе данных, управление системными логами и добавление критически важных индексов для ускорения.</span>
<span class="en-only">Intelligent DB garbage cleanup, system log management, and adding critical indexes to speed up the site.</span>
</div>
</a>
<!-- Card 2: Image Optimizer -->
<a href="image_optimizer_nat_instruction.html" class="card active-card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect><circle cx="8.5" cy="8.5" r="1.5"></circle><polyline points="21 15 16 10 5 21"></polyline></svg>
</div>
<h4 class="card-title">Image Optimizer [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Стиснення та ресайз ОРИГІНАЛІВ фото (image/catalog) у WebP + Очищення хостингу від невикористовуваних зображень.</span>
<span class="ru-only">Сжатие и ресайз ОРИГИНАЛОВ фото (image/catalog) в WebP + Очистка хостинга от неиспользуемых изображений.</span>
<span class="en-only">Compression and resizing of ORIGINAL images (image/catalog) to WebP + Cleanup unused images from host.</span>
</div>
</a>
<!-- Card 3: Catalog Optimizer -->
<a href="catalog_optimizer_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><path d="M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z"></path><path d="M12 10v4m-2-2h4"></path></svg>
</div>
<h4 class="card-title">Catalog Optimizer [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Приховування порожніх категорій і брендів + SEO сортування товарів (у наявності зверху) + Очищення сміття БД.</span>
<span class="ru-only">Скрытие пустых категорий и брендов + SEO сортировка товаров (в наличии сверху) + Очистка мусора БД.</span>
<span class="en-only">Hide empty categories and brands + SEO product sorting (in stock first) + DB garbage cleanup.</span>
</div>
</a>
<!-- Card 4: Domain Scanner -->
<a href="domain_scanner_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"></path></svg>
</div>
<h4 class="card-title">Domain Scanner [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Пошук та чищення зовнішніх посилань та HTTP-картинок у БД та файлах теми. Ідеально для HTTPS або очищення після парсингу.</span>
<span class="ru-only">Поиск и чистка внешних ссылок и HTTP-картинок в БД и файлах темы. Идеально для HTTPS или очистки после парсинга.</span>
<span class="en-only">Find and clean external links and HTTP images in DB and theme files. Ideal for HTTPS migrations or post-scraping cleanup.</span>
</div>
</a>
<!-- Card 5: Easy Import/Export -->
<a href="easy_import_export_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><polyline points="17 1 21 5 17 9"></polyline><line x1="3" y1="5" x2="21" y2="5"></line><polyline points="7 23 3 19 7 15"></polyline><line x1="21" y1="19" x2="3" y2="19"></line></svg>
</div>
<h4 class="card-title">Easy Import/Export [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Швидкий імпорт/експорт цін та залишків з файлів xls/xlsx/csv/xml/json или за посиланням. Мапінг полів, робота за Cron.</span>
<span class="ru-only">Быстрый импорт/экспорт цен и остатков из файлов xls/xlsx/csv/xml/json или по ссылке. Маппинг полей, работа по Cron.</span>
<span class="en-only">Fast import/export of prices and stock from xls/xlsx/csv/xml/json files or via link. Field mapping, Cron support.</span>
</div>
</a>
<!-- Card 6: Admin Tools -->
<a href="admin_tools_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><path d="M14.7 6.3a1 1 0 000 1.4l1.6 1.6a1 1 0 001.4 0l3.77-3.77a6 6 0 01-7.94 7.94l-6.91 6.91a2.12 2.12 0 01-3-3l6.91-6.91a6 6 0 017.94-7.94l-3.76 3.76z"></path></svg>
</div>
<h4 class="card-title">Admin Tools [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Незамінний набір інструментів розробника: бекапи прав адміністраторів, аварійний скрипт очищення кешу модифікаторів (Rescue Script), моніторинг працездатності сайтів.</span>
<span class="ru-only">Незаменимый набор инструментов разработчика: бэкапы прав администраторов, аварийный скрипт очистки кэша модификаторов (Rescue Script), мониторинг работоспособности сайтов.</span>
<span class="en-only">Essential developer toolkit: admin permission backups, emergency modifier cache clearing script (Rescue Script), site status monitoring.</span>
</div>
</a>
<!-- Card 7: Poll Widget -->
<a href="poll_widget_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></line></svg>
</div>
<h4 class="card-title">Poll Widget [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Прості опитування, голосування та детальна статистика прямо на сторінках вашого магазину. Підвищуйте залученість клієнтів та збирайте зворотний зв'язок.</span>
<span class="ru-only">Простые опросы, голосования и детальная статистика прямо на страницах вашего магазина. Повышайте вовлеченность клиентов и собирайте обратную связь.</span>
<span class="en-only">Simple polls, voting, and detailed statistics directly on your store pages. Boost customer engagement and collect feedback.</span>
</div>
</a>
<!-- Card 8: New Arrivals -->
<a href="new_arrivals_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect><line x1="16" y1="2" x2="16" y2="6"></line><line x1="8" y1="2" x2="8" y2="6"></line><line x1="3" y1="10" x2="21" y2="10"></line></svg>
</div>
<h4 class="card-title">New Arrivals [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Автоматична SEO-сторінка новинок. Відображає новинки строго за реальною датою додавання. Слайдери, сітка та розумний сайдбар архіву дат.</span>
<span class="ru-only">Автоматическая SEO-страница новинок. Отображает новинки строго по реальной дате добавления. Слайдеры, сетка и умный сайдбар архива дат.</span>
<span class="en-only">Automatic SEO page for new products. Displays new arrivals strictly by real addition date. Sliders, grid, and smart sidebar archive.</span>
</div>
</a>
<!-- Card 9: Order UTM-Tracker -->
<a href="order_utm_tracker_nat_instruction.html" class="card">
<div class="card-icon">
<svg viewBox="0 0 24 24" style="width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.5;"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"></path><path d="M2 12h20"></path></svg>
</div>
<h4 class="card-title">Order UTM-Tracker [NAT]</h4>
<div class="card-desc">
<span class="ua-only">Перехоплення, збереження та аналіз UTM-меток, реферерів і посадочних сторінок у замовленнях. Моделі атрибуції First/Last click, GeoIP-визначення та статистика джерел.</span>
<span class="ru-only">Перехват, сохранение и анализ UTM-меток, рефереров и посадочных страниц в заказах. Модели атрибуции First/Last click, GeoIP-определение и статистика источников.</span>
<span class="en-only">Capture, store, and analyze UTM tags, referrers, and landing pages inside orders. First/Last click attribution models, GeoIP lookup, and acquisition stats.</span>
</div>
</a>
</div>
<!-- Developer Profiles Links -->
<div style="background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.05), rgba(59, 130, 246, 0.05)); border: 1px solid rgba(var(--accent-rgb), 0.2); border-radius: 12px; padding: 24px; text-align: center; box-shadow: 0 4px 6px var(--shadow);">
<h4 style="font-size: 16px; font-weight: 800; color: var(--text-primary); margin-bottom: 12px;">
<span class="lang-text" data-ua="Всі наші модулі на торгових майданчиках" data-ru="Все наши модули на торговых площадках" data-en="All our extensions on marketplaces">Всі наші модулі на торгових майданчиках</span>
</h4>
<p style="font-size: 13.5px; color: var(--text-secondary); margin-bottom: 20px; line-height: 1.6; max-width: 600px; margin-left: auto; margin-right: auto;">
<span class="ua-only">Перегляньте повний список наших рішень для OpenCart на офіційних майданчиках. Регулярні оновлення та професійна технічна підтримка студії <b>[NAT]</b>.</span>
<span class="ru-only">Посмотрите полный список наших решений для OpenCart на официальных площадках. Регулярные обновления и профессиональная техническая поддержка студии <b>[NAT]</b>.</span>
<span class="en-only">Check the full catalog of our OpenCart extensions on the official marketplaces. Regular updates and professional tech support from <b>[NAT]</b> studio.</span>
</p>
<div style="display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; align-items: center;">
<a href="https://opencartforum.com/files/developer/725443-nertyod/" target="_blank" style="background-color: var(--accent); color: #0b0f19; font-weight: 700; text-decoration: none; padding: 12px 24px; border-radius: 8px; font-size: 14px; display: flex; align-items: center; gap: 8px; transition: background-color 0.2s ease;">
<span>💬</span>
<span>OpenCartForum.com</span>
</a>
<a href="https://www.opencart.com/index.php?route=marketplace/extension&filter_member=nat.odua" target="_blank" style="background-color: var(--bg-tertiary); color: var(--text-primary); border: 1px solid var(--border); font-weight: 600; text-decoration: none; padding: 12px 24px; border-radius: 8px; font-size: 14px; display: flex; align-items: center; gap: 8px; transition: all 0.2s ease;">
<span>🛒</span>
<span>OpenCart.com</span>
</a>
</div>
</div>
</section>
<!-- Bottom Support Block -->
<div class="bottom-support-box" style="background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.08), rgba(59, 130, 246, 0.08)); border: 1px solid rgba(var(--accent-rgb), 0.25); border-radius: 12px; padding: 24px; margin-top: 40px; margin-bottom: 40px; box-shadow: 0 4px 15px var(--shadow);">
<div style="display: flex; align-items: flex-start; gap: 16px;">
<div style="background-color: rgba(var(--accent-rgb), 0.15); padding: 12px; border-radius: 10px; color: var(--accent); flex-shrink: 0;">
<svg viewBox="0 0 24 24" style="width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2.5;"><path d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path></svg>
</div>
<div>
<h4 style="font-size: 16px; font-weight: 800; color: var(--text-primary); margin-bottom: 6px;" class="lang-text" data-ua="Підтримка та зворотній зв'язок" data-ru="Поддержка и обратная связь" data-en="Support & Feedback">Підтримка та зворотній зв'язок</h4>
<p style="font-size: 13.5px; color: var(--text-secondary); margin-bottom: 12px; line-height: 1.6;" class="ua-only">Якщо у вас виникли запитання, потрібна допомога в установці чи додаткові функції, будь ласка, звертайтесь на нашу електронну пошту:</p>
<p style="font-size: 13.5px; color: var(--text-secondary); margin-bottom: 12px; line-height: 1.6;" class="ru-only">Если у вас возникли вопросы, нужна помощь в установке или доработке модуля, пожалуйста, обращайтесь на нашу электронную почту:</p>
<p style="font-size: 13.5px; color: var(--text-secondary); margin-bottom: 12px; line-height: 1.6;" class="en-only">If you have any questions, need installation assistance or custom modifications, please contact us via email:</p>
<a href="mailto:info@nat.od.ua" style="color: var(--accent); text-decoration: none; font-weight: 700; font-size: 14.5px; display: inline-flex; align-items: center; gap: 6px; transition: color 0.2s ease;">
info@nat.od.ua
</a>
</div>
</div>
</div>
</main>
</div>
<script>
// LANGUAGE SWITCHER LOGIC
const langBtns = document.querySelectorAll('.lang-btn');
function setLanguage(lang) {
document.body.className = document.body.className.replace(/lang-\w+/g, '');
document.body.classList.add('lang-' + lang);
langBtns.forEach(btn => {
if (btn.getAttribute('data-lang') === lang) {
btn.classList.add('active');
} else {
btn.classList.remove('active');
}
});
// Update generic text elements
document.querySelectorAll('.lang-text').forEach(el => {
const text = el.getAttribute('data-' + lang);
if (text) el.innerHTML = text;
});
localStorage.setItem('img_opti_inst_lang', lang);
}
langBtns.forEach(btn => {
btn.addEventListener('click', () => {
setLanguage(btn.getAttribute('data-lang'));
});
});
// Theme Toggle Logic
const themeToggleBtn = document.getElementById('theme-toggle');
function toggleTheme() {
document.body.classList.toggle('light-theme');
const isLight = document.body.classList.contains('light-theme');
localStorage.setItem('img_opti_inst_theme', isLight ? 'light' : 'dark');
}
themeToggleBtn.addEventListener('click', toggleTheme);
// Initialize Language and Theme from localStorage
const savedLang = localStorage.getItem('img_opti_inst_lang') || 'ua';
setLanguage(savedLang);
const savedTheme = localStorage.getItem('img_opti_inst_theme');
if (savedTheme === 'light') {
document.body.classList.add('light-theme');
}
// ScrollSpy Logic to update active sidebar links
const sections = document.querySelectorAll('.section');
const navLinks = document.querySelectorAll('.nav-link');
let isScrolling = false;
let scrollTimeout;
// Custom click handler for navigation links to set active state instantly
navLinks.forEach(link => {
link.addEventListener('click', (e) => {
const targetId = link.getAttribute('href');
if (targetId.startsWith('#')) {
isScrolling = true;
clearTimeout(scrollTimeout);
navLinks.forEach(l => l.classList.remove('active'));
link.classList.add('active');
scrollTimeout = setTimeout(() => {
isScrolling = false;
}, 1000);
}
});
});
window.addEventListener('scroll', () => {
if (isScrolling) return;
let current = '';
// Auto-highlight the last section if scrolled to the absolute bottom of the page
if ((window.innerHeight + window.window.scrollY) >= document.documentElement.scrollHeight - 25) {
if (sections.length > 0) {
current = sections[sections.length - 1].getAttribute('id');
}
} else {
sections.forEach(section => {
const sectionTop = section.offsetTop;
if (window.scrollY >= (sectionTop - 150)) {
current = section.getAttribute('id');
}
});
}
navLinks.forEach(link => {
link.classList.remove('active');
if (link.getAttribute('href') === '#' + current) {
link.classList.add('active');
}
});
});
// Collapsible Accordion Logic
const accordions = document.querySelectorAll('.accordion');
accordions.forEach(acc => {
const header = acc.querySelector('.accordion-header');
const content = acc.querySelector('.accordion-content');
header.addEventListener('click', () => {
const isActive = acc.classList.contains('active');
// Close all first
accordions.forEach(item => {
item.classList.remove('active');
item.querySelector('.accordion-content').style.maxHeight = null;
});
if (!isActive) {
acc.classList.add('active');
content.style.maxHeight = content.scrollHeight + "px";
}
});
});
// Copy to clipboard utility
function copyCode(button) {
const pre = button.closest('.code-wrapper').querySelector('pre code');
const text = pre.textContent;
navigator.clipboard.writeText(text).then(() => {
const span = button.querySelector('span');
const originalText = span.innerHTML;
const activeLang = document.body.className.match(/lang-(\w+)/)[1] || 'ua';
const copiedMsgs = {
ua: 'Скопійовано!',
ru: 'Скопировано!',
en: 'Copied!'
};
span.innerHTML = copiedMsgs[activeLang];
button.style.color = 'var(--success)';
setTimeout(() => {
span.innerHTML = originalText;
button.style.color = 'var(--text-secondary)';
}, 2000);
});
}
// Mobile Menu Toggle
const menuToggle = document.getElementById('menu-toggle');
const sidebar = document.getElementById('sidebar');
const overlay = document.getElementById('sidebar-overlay');
function toggleMobileMenu() {
sidebar.classList.toggle('open');
overlay.classList.toggle('open');
}
menuToggle.addEventListener('click', toggleMobileMenu);
overlay.addEventListener('click', toggleMobileMenu);
// Close sidebar on link click (mobile)
navLinks.forEach(link => {
link.addEventListener('click', () => {
if (window.innerWidth <= 1024) {
toggleMobileMenu();
}
});
});
</script>
</body>
</html>