{"id":762,"date":"2026-02-26T18:37:05","date_gmt":"2026-02-26T17:37:05","guid":{"rendered":"https:\/\/kriptoblog.hu\/kategoriak\/"},"modified":"2026-02-26T18:41:33","modified_gmt":"2026-02-26T17:41:33","slug":"kategoriak","status":"publish","type":"page","link":"https:\/\/kriptoblog.hu\/en\/kategoriak\/","title":{"rendered":"\ud83d\udce1 Kateg\u00f3ri\u00e1k \u2014 Kripto Radar"},"content":{"rendered":"<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Source+Code+Pro:wght@400;600;700&family=Inter:wght@400;500;600&display=swap');\n.crypto-radar{background:#0D1117;min-height:100vh;padding:40px 20px;font-family:'Inter',sans-serif;display:flex;flex-direction:column;align-items:center}\n.cr-title{color:#E6EDF3;font-family:'Source Code Pro',monospace;font-size:32px;font-weight:700;margin-bottom:10px;text-align:center}\n.cr-title span{color:#00FF41}\n.cr-subtitle{color:#8B949E;font-size:14px;margin-bottom:30px;text-align:center}\n.cr-wrapper{position:relative;width:700px;height:700px;max-width:95vw;max-height:95vw}\n.cr-svg{width:100%;height:100%}\n.cr-ring{fill:none;stroke:#21262D;stroke-width:0.5}\n.cr-sweep{fill:url(#sweepGrad);transform-origin:center;animation:sweep 6s linear infinite}\n@keyframes sweep{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}\n.cr-dot{cursor:pointer;transition:all 0.3s}\n.cr-dot:hover .cr-dot-circle{fill:#F7931A}\n.cr-dot:hover .cr-dot-label{fill:#F7931A}\n.cr-dot-circle{transition:all 0.3s}\n.cr-dot-label{font-family:'Source Code Pro',monospace;font-size:10px;font-weight:600;pointer-events:none;transition:fill 0.3s}\n.cr-center-text{fill:#F7931A;font-family:'Source Code Pro',monospace;font-size:12px;font-weight:700;text-anchor:middle}\n.cr-detail{position:absolute;background:#161B22;border:1px solid #00FF41;border-radius:8px;padding:16px;min-width:220px;max-width:280px;display:none;z-index:10;box-shadow:0 0 30px rgba(0,255,65,0.15)}\n.cr-detail.active{display:block}\n.cr-detail-title{color:#F7931A;font-family:'Source Code Pro',monospace;font-size:15px;font-weight:700;margin-bottom:6px}\n.cr-detail-count{color:#00FF41;font-size:12px;margin-bottom:10px}\n.cr-detail-post{display:block;color:#E6EDF3;font-size:12px;padding:4px 0;text-decoration:none;border-bottom:1px solid #21262D;transition:color 0.2s}\n.cr-detail-post:hover{color:#00FF41}\n.cr-loading{color:#8B949E;text-align:center;padding:40px}\n@media(max-width:640px){.cr-wrapper{width:100%;height:auto;aspect-ratio:1}}\n<\/style>\n<div class=\"crypto-radar\">\n  <h1 class=\"cr-title\">\ud83d\udce1 Kripto <span>Radar<\/span><\/h1>\n  <p class=\"cr-subtitle\">Kattints egy kateg\u00f3ri\u00e1ra a cikkek megjelen\u00edt\u00e9s\u00e9hez<\/p>\n  <div class=\"cr-loading\" id=\"cr-loading\">Radar szkennel\u00e9s&#8230;<\/div>\n  <div class=\"cr-wrapper\" id=\"cr-wrapper\" style=\"display:none\">\n    <svg class=\"cr-svg\" viewbox=\"0 0 700 700\" id=\"cr-svg\">\n      <defs>\n        <radialgradient id=\"sweepGrad\" cx=\"50%\" cy=\"50%\" r=\"50%\">\n          <stop offset=\"0%\" stop-color=\"#00FF41\" stop-opacity=\"0\"\/>\n          <stop offset=\"85%\" stop-color=\"#00FF41\" stop-opacity=\"0\"\/>\n          <stop offset=\"100%\" stop-color=\"#00FF41\" stop-opacity=\"0.1\"\/>\n        <\/radialgradient>\n      <\/defs>\n      <circle class=\"cr-ring\" cx=\"350\" cy=\"350\" r=\"80\"\/>\n      <circle class=\"cr-ring\" cx=\"350\" cy=\"350\" r=\"160\"\/>\n      <circle class=\"cr-ring\" cx=\"350\" cy=\"350\" r=\"240\"\/>\n      <circle class=\"cr-ring\" cx=\"350\" cy=\"350\" r=\"310\"\/>\n      <line x1=\"350\" y1=\"40\" x2=\"350\" y2=\"660\" stroke=\"#21262D\" stroke-width=\"0.3\"\/>\n      <line x1=\"40\" y1=\"350\" x2=\"660\" y2=\"350\" stroke=\"#21262D\" stroke-width=\"0.3\"\/>\n      <line x1=\"130\" y1=\"130\" x2=\"570\" y2=\"570\" stroke=\"#21262D\" stroke-width=\"0.3\"\/>\n      <line x1=\"570\" y1=\"130\" x2=\"130\" y2=\"570\" stroke=\"#21262D\" stroke-width=\"0.3\"\/>\n      <path class=\"cr-sweep\" d=\"M350,350 L350,40 A310,310 0 0,1 569,130 Z\"\/>\n      <circle cx=\"350\" cy=\"350\" r=\"35\" fill=\"#161B22\" stroke=\"#F7931A\" stroke-width=\"2\"\/>\n      <text class=\"cr-center-text\" x=\"350\" y=\"354\">KB.hu<\/text>\n    <\/svg>\n    <div class=\"cr-detail\" id=\"cr-detail\"><\/div>\n  <\/div>\n<\/div>\n<script>\n(function(){\n  async function init(){\n    const cats=await fetch('\/wp-json\/wp\/v2\/categories?per_page=100&_fields=id,name,slug,count,link').then(r=>r.json());\n    const active=cats.filter(c=>c.count>0).sort((a,b)=>b.count-a.count);\n    \n    document.getElementById('cr-loading').style.display='none';\n    document.getElementById('cr-wrapper').style.display='block';\n    \n    const svg=document.getElementById('cr-svg');\n    const detail=document.getElementById('cr-detail');\n    const cx=350,cy=350;\n    const maxCount=Math.max(...active.map(c=>c.count));\n    \n    \/\/ Place labels with collision avoidance\n    const placed=[];\n    \n    active.forEach((cat,i)=>{\n      const angle=(2*Math.PI*i\/active.length)-Math.PI\/2;\n      \/\/ Distance from center based on count (popular = closer to edge for visibility)\n      const ratio=cat.count\/maxCount;\n      const r=100+ratio*200;\n      let x=cx+Math.cos(angle)*r;\n      let y=cy+Math.sin(angle)*r;\n      const dotR=Math.max(4,Math.min(14,ratio*14+3));\n      \n      \/\/ Label position: outside the dot, away from center\n      const labelAngle=angle;\n      const labelR=r+dotR+15;\n      let lx=cx+Math.cos(labelAngle)*labelR;\n      let ly=cy+Math.sin(labelAngle)*labelR;\n      \n      \/\/ Text anchor based on position\n      let anchor='middle';\n      if(lx<cx-50) anchor='end';\n      else if(lx>cx+50) anchor='start';\n      \n      const g=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','g');\n      g.setAttribute('class','cr-dot');\n      \n      \/\/ Color based on count\n      const green=Math.round(100+ratio*155);\n      const dotColor='rgb(0,'+green+',65)';\n      \n      g.innerHTML=\n        '<circle class=\"cr-dot-circle\" cx=\"'+x+'\" cy=\"'+y+'\" r=\"'+dotR+'\" fill=\"'+dotColor+'\" opacity=\"'+(0.5+ratio*0.5)+'\"\/>'\n        +'<text class=\"cr-dot-label\" x=\"'+lx+'\" y=\"'+ly+'\" fill=\"#E6EDF3\" text-anchor=\"'+anchor+'\" dominant-baseline=\"middle\">'+cat.name+'<\/text>'\n        +'<text x=\"'+lx+'\" y=\"'+(ly+13)+'\" fill=\"#8B949E\" font-size=\"8\" text-anchor=\"'+anchor+'\" font-family=\"Source Code Pro,monospace\" dominant-baseline=\"middle\">'+cat.count+' cikk<\/text>';\n      \n      \/\/ Pulse animation for top categories\n      if(ratio>0.5){\n        const pulse=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','circle');\n        pulse.setAttribute('cx',x);pulse.setAttribute('cy',y);\n        pulse.setAttribute('r',dotR+4);pulse.setAttribute('fill','none');\n        pulse.setAttribute('stroke',dotColor);pulse.setAttribute('stroke-width','1');\n        pulse.setAttribute('opacity','0.4');\n        pulse.innerHTML='<animate attributeName=\"r\" values=\"'+(dotR+2)+';'+(dotR+10)+';'+(dotR+2)+'\" dur=\"2s\" repeatCount=\"indefinite\"\/><animate attributeName=\"opacity\" values=\"0.4;0;0.4\" dur=\"2s\" repeatCount=\"indefinite\"\/>';\n        g.insertBefore(pulse,g.firstChild);\n      }\n      \n      g.addEventListener('click',async(e)=>{\n        e.stopPropagation();\n        const rect=document.getElementById('cr-wrapper').getBoundingClientRect();\n        const svgRect=svg.getBoundingClientRect();\n        const scale=svgRect.width\/700;\n        \n        detail.innerHTML='<div class=\"cr-detail-title\">'+cat.name+'<\/div><div class=\"cr-detail-count\">Bet\u00f6lt\u00e9s...<\/div>';\n        detail.classList.add('active');\n        detail.style.left=Math.min(420,Math.max(0,(x*scale)-100))+'px';\n        detail.style.top=Math.min(500,Math.max(0,(y*scale)-50))+'px';\n        \n        const posts=await fetch('\/wp-json\/wp\/v2\/posts?categories='+cat.id+'&per_page=5&_fields=title,link').then(r=>r.json());\n        let html='<div class=\"cr-detail-title\">'+cat.name+'<\/div><div class=\"cr-detail-count\">'+cat.count+' cikk<\/div>';\n        posts.forEach(p=>{html+='<a class=\"cr-detail-post\" href=\"'+p.link+'\">'+p.title.rendered+'<\/a>'});\n        html+='<a class=\"cr-detail-post\" href=\"'+cat.link+'\" style=\"color:#00FF41;border:none;margin-top:6px\">\u00d6sszes \u2192<\/a>';\n        detail.innerHTML=html;\n      });\n      \n      svg.appendChild(g);\n    });\n    \n    document.addEventListener('click',()=>detail.classList.remove('active'));\n  }\n  init();\n})();\n<\/script>","protected":false},"excerpt":{"rendered":"<p>\ud83d\udce1 Kripto Radar Kattints egy kateg\u00f3ri\u00e1ra a cikkek megjelen\u00edt\u00e9s\u00e9hez Radar szkennel\u00e9s&#8230; KB.hu<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-762","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/pages\/762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/comments?post=762"}],"version-history":[{"count":1,"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/pages\/762\/revisions"}],"predecessor-version":[{"id":766,"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/pages\/762\/revisions\/766"}],"wp:attachment":[{"href":"https:\/\/kriptoblog.hu\/en\/wp-json\/wp\/v2\/media?parent=762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}