<?php
/**
 * =====================================================
 * AI NEWS — ŠABLÓNA PRE NOVÝ ČLÁNOK
 * =====================================================
 * Postup:
 * 1. Skopírujte tento súbor do priečinka /ai-news/
 * 2. Premenujte ho podľa URL, ktorú chcete (napr. "moj-clanok.php")
 *    URL bude: 191tech.com/ai-news/moj-clanok
 * 3. Vyplňte $article pole nižšie
 * 4. Napíšte obsah článku do sekcie označenej "TU ZAČÍNA OBSAH"
 * =====================================================
 */

$article = [
    'title'    => 'Generatívna AI radikálne zrýchľuje vývoj softvéru',
    'excerpt'  => 'Generatívna AI posúva automatizáciu kódovania od jednoduchého dopĺňania k plne autonómnemu riešeniu vývojárskych úloh. Zistite, ako nové architektúry skracujú čas vývoja a zvyšujú efektivitu IT tímov.',
    'date'     => '2026-08-12',              // Dnes. Alebo konkrétny dátum: '2026-06-01'
    'author'   => '191tech',
    'category' => 'IT a Vývoj softvéru',       // Napr: E-commerce, Webdesign, Marketing, AI školenia
    'image'    => 'https://images.pexels.com/photos/8386359/pexels-photo-8386359.jpeg?auto=compress&cs=tinysrgb&fit=crop&h=627&w=1200',      // Cesta k obrázku článku (odporúčaný rozmer: 1200x630)
    'cta_text' => 'Mám záujem o konzultáciu', // Text hlavného CTA tlačidla
    'cta_link' => '/kontakt',                 // URL link CTA tlačidla
];

$page_title       = $article['title'] . ' | AI News 191tech';
$page_description = $article['excerpt'];
include dirname(__DIR__, 2) . '/parts/ai-page-head.php';
?>

<!-- ===== HERO ČLÁNKU ===== -->
<section class="ai-hero" style="min-height:auto; padding:140px 0 60px;">
  <div class="ai-container" style="max-width:860px;">
    <div style="display:flex; gap:12px; align-items:center; margin-bottom:24px; font-size:14px;">
      <a href="/ai-news" style="color:var(--ai-cyan); text-decoration:none;">← Späť na AI News</a>
      <span style="color:var(--ai-border);">|</span>
      <span style="color:var(--ai-purple); font-weight:600; text-transform:uppercase; letter-spacing:1px;"><?= htmlspecialchars($article['category']) ?></span>
      <span style="color:var(--ai-border);">|</span>
      <span style="color:var(--ai-text-muted);"><?= date('d.m.Y', strtotime($article['date'])) ?></span>
    </div>
    <h1 style="font-size:42px; line-height:1.2; margin-bottom:28px;"><?= htmlspecialchars($article['title']) ?></h1>
    <p style="font-size:20px; color:var(--ai-text-muted); line-height:1.6; margin-bottom:40px;"><?= htmlspecialchars($article['excerpt']) ?></p>

    <?php if(!empty($article['image'])): ?>
    <div style="border-radius:16px; overflow:hidden; border:1px solid var(--ai-border); margin-bottom:0;">
      <img src="<?= htmlspecialchars($article['image']) ?>" alt="<?= htmlspecialchars($article['title']) ?>"
           style="width:100%; height:auto; display:block; max-height:420px; object-fit:cover;">
    </div>
    <?php endif; ?>
  </div>
</section>

<!-- ===== OBSAH ČLÁNKU ===== -->
<section class="ai-section" style="padding-top:0;">
  <div class="ai-container" style="max-width:860px;">
    <div class="article-content">

      <!-- ════════════════════════════════════════════
           TU ZAČÍNA OBSAH ČLÁNKU
           Môžete použiť: <h2>, <h3>, <p>, <ul>, <ol>,
           <li>, <strong>, <em>, <a href="">, <blockquote>
      ════════════════════════════════════════════ -->

<p>Generatívna umelá inteligencia preniká do samotného jadra softvérového inžinierstva. Prechod od statického dopĺňania kódových sekvencií k autonómnym AI agentom mení spôsob, akým vývojové tímy navrhujú, testujú a nasadzujú softvér. Skrátenie času vývoja o 30 až 50 percent už nie je teoretickým prisľubom, ale merateľným parametrom, ktorý oddeľuje trhových lídrov od stagnujúcich podnikov.</p><h2>Od autocomplete nástrojov k autonómnym agentom</h2><p>Evolúcia vývojárskych AI nástrojov prebieha mimoriadne rýchlo. Prvá vlna priniesla jednoduché našeptávače kódu integrované do vývojových prostredí (IDE). Tieto systémy pracovali lokálne na úrovni jednotlivých riadkov alebo funkcií. Súčasná generácia modelov využíva rozsiahle kontextové okná, Retrieval-Augmented Generation (RAG) a autonómne agentové architektúry.</p><p>Pokročilé systémy rozumejú celým repozitárom. Dokážu analyzovať závislosti, identifikovať bezpečnostné zraniteľnosti v architektúre a samostatne navrhovať komplexné pull requesty. AI agent dostane zadanie vo forme užívateľského príbehu z nástroja Jira, samostatne vytvorí vývojovú vetvu, napíše kód, vygeneruje jednotkové testy, opraví prípadné chyby pri kompilácii a pripraví kód na revíziu seniorným inžinierom.</p><h2>Implementácia v slovenskom IT prostredí</h2><p>Slovenské softvérové domy a interné IT tímy čelia dlhodobému nedostatku seniorných vývojárov a tlaku na znižovanie nákladov. Nasadenie generatívnej AI do vývojového cyklu umožňuje systémovo riešiť oba problémy bez nutnosti neúmerne navyšovať stav zamestnancov.</p><p>Slovenské firmy musia pri integrácii riešiť tri kľúčové oblasti:</p><ul><li><strong>Bezpečnosť a ochrana duševného vlastníctva:</strong> Odosielanie interného zdrojového kódu na externé API tretích strán predstavuje bezpečnostné riziko. Riešením je využitie enterprise licencií s garanciou netrénovania modelov na zákazníckych dátach, prípadne nasadenie open-source LLM modelov na privátnej infraštruktúre.</li><li><strong>Integrácia do CI/CD pipeline:</strong> Generatívna AI nesmie fungovať ako izolovaný nástroj jednotlivca. Automatizované kontroly kódu pomocou AI musia byť priamo zapojené do procesov priebežnej integrácie a doručovania.</li><li><strong>Zmena roly vývojára:</strong> Inžinieri sa posúvajú z pozície tvorcov syntaxe do roly systémových architektov a revízorov. Kľúčovou zručnosťou sa stáva schopnosť presne definovať požiadavky a kriticky overovať vygenerované riešenia.</li></ul><h2>Príklady praktického využitia vo vývoji</h2><p>Nasadenie generatívnych modelov prináša najvyššiu návratnosť investícií v štyroch hlavných oblastiach:</p><h3>1. Správa a refaktoring technického dlhu</h3><p>Migrácia zo starších rámcov na nové verzie tradične vyžaduje stovky hodín manuálnej práce. AI modely dokážu analyzovať vzory v kóde a automatizovane preložiť rozsiahle kódové bázy do nových štandardov s minimálnou chybovosťou.</p><h3>2. Automatická generácia testov a dokumentácie</h3><p>Tvorba jednotkových a integračných testov patrí k najmenej obľúbeným činnostiam vývojárov. AI dokáže na základe analýzy funkcie vygenerovať hraničné prípady a pripraviť kompletnú testovaciu sadu. Rovnako automaticky udržiava aktuálnu API dokumentáciu priamo z vykonaných zmien v kóde.</p><h3>3. Zrýchlenie onboardingu nových inžinierov</h3><p>Novému vývojárovi trvá týždne, kým pochopí komplexnú architektúru rozsiahleho projektu. Kontextové AI nástroje umožňujú nováčikom klásť otázky priamo nad repozitárom v prirodzenom jazyku, čím sa čas potrebný na prvé produkčné nasadenie skracuje na dni.</p><h2>Odporúčania pre technické vedenie</h2><p>Úspešné osvojenie AI pri vývoji softvéru vyžaduje štruktúrovaný prístup. CTO a IT manažéri by mali postupovať podľa nasledovných krokov:</p><ul><li><strong>Definujte metriky produktivity:</strong> Sledujte lead time, rýchlosť nasadenia a počet chýb v produkcii. Vyhnite sa meraniu produktivity podľa počtu napísaných riadkov kódu.</li><li><strong>Etablujte pravidlá Code Review:</strong> Vygenerovaný kód musí prejsť rovnako prísnou kontrolou ako kód napísaný človekom. Zodpovednosť za produkčný kód vždy nesie konkrétny inžinier, nie AI.</li><li><strong>Začnite pilotným projektom:</strong> Vyberte menej kritický projekt alebo interný nástroj, na ktorom si tím overí fungovanie AI agentov, nastaví pravidlá a zmeria reálny prínos pred plnoplošnou implementáciou.</li></ul><p>Automatizácia vývoja pomocou generatívnej AI Zásadne mení ekonomiku vývoja softvéru. Spoločnosti, ktoré dokážu efektívne skombinovať ľudský inžiniersky um s výpočtovým výkonom AI agentov, získajú drvivú konkurenčnú výhodu v rýchlosti dodávania nových produktov na trh.</p>

<!-- ════════════════════════════════════════════
           KONIEC OBSAHU ČLÁNKU
      ════════════════════════════════════════════ -->

    </div>

    <!-- CTA Banner vo vnútri článku -->
    <div class="ai-highlight-box" style="margin-top:56px; text-align:center;">
      <div class="ai-label" style="margin:0 auto 16px; display:table;">Zaujíma vás toto téma?</div>
      <h3 style="font-size:26px;">Hovoríme o tom <span class="ai-gradient-text">osobne</span></h3>
      <p style="margin-bottom:24px;">Kontaktujte nás na bezplatnú konzultáciu — analyzujeme možnosti AI pre vašu firmu.</p>
      <a href="<?= htmlspecialchars($article['cta_link']) ?>" class="ai-btn ai-btn-primary ai-btn-lg"><?= htmlspecialchars($article['cta_text']) ?></a>
    </div>
  </div>
</section>

<!-- ===== NEWSLETTER ===== -->
<section class="ai-section" style="background:var(--ai-bg2);">
  <div class="ai-container" style="max-width:700px; text-align:center;">
    <div class="ai-label ai-label-purple" style="margin:0 auto 16px; display:table;">AI News Newsletter</div>
    <h2>Podobné tipy priamo do <span class="ai-gradient-text-2">e-mailu</span></h2>
    <p style="margin-bottom:30px;">Prihláste sa na odber — každý týždeň pošleme najdôležitejšie AI novinky pre vaše podnikanie.</p>
    <form id="nlForm" style="display:flex; gap:12px; flex-wrap:wrap; justify-content:center;">
      <input type="text" name="website" style="display:none;" tabindex="-1" autocomplete="off">
      
      <select name="category" required style="padding:14px 20px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-card); color:var(--ai-text); font-family:'Inter',sans-serif; outline:none; min-width:180px;">
        <option value="">Zvoľte odvetvie</option>
        <option value="Všetky odvetvia">Všetky odvetvia</option>
        <option value="Marketing a Predaj">Marketing a Predaj</option>
        <option value="E-commerce a Maloobchod">E-commerce a Maloobchod</option>
        <option value="Priemysel a Výroba">Priemysel a Výroba</option>
        <option value="Logistika a Doprava">Logistika a Doprava</option>
        <option value="Financie a Účtovníctvo">Financie a Účtovníctvo</option>
        <option value="HR a Administratíva">HR a Administratíva</option>
        <option value="Služby a Iné">Služby a Iné</option>
      </select>

      <input type="email" name="email" required placeholder="Váš pracovný e-mail"
        style="flex-grow:1; min-width:240px; padding:14px 20px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-card); color:var(--ai-text); font-family:'Inter',sans-serif; outline:none;">
      <button type="submit" class="ai-btn ai-btn-primary" style="border:none; cursor:pointer;">Odoberať novinky</button>
    </form>
    <div id="nlMsg" style="margin-top:16px; font-weight:600; display:none;"></div>
  </div>
</section>

<script>
document.getElementById('nlForm').addEventListener('submit', function(e) {
  e.preventDefault();
  const fd = new FormData(this), msg = document.getElementById('nlMsg');
  fetch('/subscribe.php', { method:'POST', body:fd })
    .then(r => r.json())
    .then(d => {
      msg.style.display = 'block';
      msg.style.color = d.status === 'success' ? 'var(--ai-green)' : '#ef4444';
      msg.textContent = d.message;
      if(d.status === 'success') {
          this.reset();
          localStorage.setItem('ai_newsletter_subscribed', '1');
      }
    }).catch(() => {
      msg.style.display = 'block';
      msg.style.color = '#ef4444';
      msg.textContent = 'Nastala chyba. Skúste to prosím neskôr.';
    });
});
</script>

<!-- ===== NEWSLETTER POPUP ===== -->
<div id="aiPopup" style="display:none; position:fixed; bottom:30px; right:30px; max-width:400px; background:var(--ai-card); border:1px solid var(--ai-border); border-radius:16px; box-shadow:0 20px 40px rgba(0,0,0,0.1); z-index:9999; padding:32px; font-family:'Inter',sans-serif;">
  <button id="aiPopupClose" style="position:absolute; top:16px; right:16px; background:none; border:none; font-size:24px; cursor:pointer; color:var(--ai-text-muted); line-height:1;">&times;</button>
  <div class="ai-label ai-label-purple" style="margin-bottom:12px; display:inline-block;">AI News Newsletter</div>
  <h3 style="margin-top:0; font-size:20px; color:var(--ai-text); margin-bottom:8px;">Získajte náskok s AI</h3>
  <p style="color:var(--ai-text-muted); font-size:15px; line-height:1.6; margin-bottom:20px;">Vyberte si vaše odvetvie a pošleme vám len tie najrelevantnejšie AI tipy a novinky.</p>
  
  <form id="nlPopupForm" style="display:flex; flex-direction:column; gap:12px;">
    <input type="text" name="website" style="display:none;" tabindex="-1" autocomplete="off">
    <select name="category" required style="padding:12px 16px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-bg); color:var(--ai-text); outline:none; font-size:15px;">
      <option value="">Zvoľte odvetvie</option>
      <option value="Všetky odvetvia">Všetky odvetvia</option>
      <option value="Marketing a Predaj">Marketing a Predaj</option>
      <option value="E-commerce a Maloobchod">E-commerce a Maloobchod</option>
      <option value="Priemysel a Výroba">Priemysel a Výroba</option>
      <option value="Logistika a Doprava">Logistika a Doprava</option>
      <option value="Financie a Účtovníctvo">Financie a Účtovníctvo</option>
      <option value="HR a Administratíva">HR a Administratíva</option>
      <option value="Služby a Iné">Služby a Iné</option>
    </select>
    <input type="email" name="email" required placeholder="Váš pracovný e-mail" style="padding:12px 16px; border-radius:8px; border:1px solid var(--ai-border); background:var(--ai-bg); color:var(--ai-text); outline:none; font-size:15px;">
    <button type="submit" class="ai-btn ai-btn-primary" style="width:100%; border:none; cursor:pointer; padding:12px;">Odoberať novinky</button>
  </form>
  <div id="nlPopupMsg" style="margin-top:12px; font-weight:600; font-size:14px; display:none;"></div>
</div>

<script>
// Logika popupu
document.addEventListener('DOMContentLoaded', function() {
    if (!localStorage.getItem('ai_newsletter_subscribed') && !sessionStorage.getItem('ai_popup_closed')) {
        setTimeout(() => {
            document.getElementById('aiPopup').style.display = 'block';
        }, 5000); // Zobrazí sa po 5 sekundách
    }

    document.getElementById('aiPopupClose').addEventListener('click', function() {
        document.getElementById('aiPopup').style.display = 'none';
        sessionStorage.setItem('ai_popup_closed', '1');
    });

    document.getElementById('nlPopupForm').addEventListener('submit', function(e) {
        e.preventDefault();
        const fd = new FormData(this), msg = document.getElementById('nlPopupMsg');
        const btn = this.querySelector('button');
        btn.textContent = 'Odosielam...';
        btn.disabled = true;

        fetch('/subscribe.php', { method:'POST', body:fd })
          .then(r => r.json())
          .then(d => {
            msg.style.display = 'block';
            msg.style.color = d.status === 'success' ? 'var(--ai-green)' : '#ef4444';
            msg.textContent = d.message;
            if(d.status === 'success') {
                this.reset();
                localStorage.setItem('ai_newsletter_subscribed', '1');
                setTimeout(() => document.getElementById('aiPopup').style.display = 'none', 3000);
            } else {
                btn.textContent = 'Odoberať novinky';
                btn.disabled = false;
            }
          }).catch(() => {
            msg.style.display = 'block';
            msg.style.color = '#ef4444';
            msg.textContent = 'Nastala chyba. Skúste to prosím neskôr.';
            btn.textContent = 'Odoberať novinky';
            btn.disabled = false;
          });
    });
});
</script>

<style>
.article-content { font-size:17px; line-height:1.8; color:var(--ai-text-muted); }
.article-content h2 { font-size:28px; color:var(--ai-text); margin:48px 0 20px; padding-top:8px; border-top:1px solid var(--ai-border); }
.article-content h3 { font-size:22px; color:var(--ai-text); margin:32px 0 14px; }
.article-content p  { margin-bottom:24px; color:var(--ai-text-muted); }
.article-content a  { color:var(--ai-cyan); text-decoration:underline; }
.article-content ul, .article-content ol { margin-bottom:24px; padding-left:22px; }
.article-content li { margin-bottom:10px; }
.article-content blockquote {
  border-left:4px solid var(--ai-cyan);
  background:rgba(0,243,255,0.06);
  padding:22px 28px; font-size:20px;
  font-style:italic; margin:40px 0;
  border-radius:0 10px 10px 0; color:var(--ai-text);
}
.article-content strong { color:var(--ai-text); }

/* ── Case Study Box ─────────────────────────────── */
.case-study-box {
  background: var(--ai-bg3);
  border: 1px solid var(--ai-border);
  border-left: 4px solid var(--ai-cyan);
  border-radius: 12px;
  padding: 28px 32px;
  margin: 40px 0;
}
.case-study-box h3 {
  font-size: 14px !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--ai-cyan) !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: none !important;
}
.case-study-box ul {
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none;
}
.case-study-box li {
  padding: 6px 0;
  border-bottom: 1px solid var(--ai-border);
  font-size: 15px;
  color: var(--ai-text-muted);
}
.case-study-box li:last-child { border-bottom: none; }
.case-study-box li strong { color: var(--ai-text); margin-right: 6px; }
</style>

<?php include dirname(__DIR__, 2) . '/parts/ai-page-foot.php'; ?>
