{"id":1742,"date":"2026-05-12T09:18:43","date_gmt":"2026-05-12T09:18:43","guid":{"rendered":"https:\/\/webthly.com\/mr-klinika\/?page_id=1742"},"modified":"2026-05-12T09:27:08","modified_gmt":"2026-05-12T09:27:08","slug":"statistika","status":"publish","type":"page","link":"https:\/\/webthly.com\/mr-klinika\/statistika\/","title":{"rendered":"Statistika"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1742\" class=\"elementor elementor-1742\">\n\t\t\t\t<div class=\"elementor-element elementor-element-98f94f9 e-con-full e-flex e-con e-parent\" data-id=\"98f94f9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c849dc5 elementor-widget elementor-widget-html\" data-id=\"c849dc5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"sr\">\r\n<head>\r\n    <meta charset=\"UTF-8\">\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    <title>Klinika - Statistika Poslovanja<\/title>\r\n    <style>\r\n        :root {\r\n            --primary: #3b82f6;\r\n            --success: #10b981;\r\n            --warning: #f59e0b;\r\n            --danger: #ef4444;\r\n            --slate-800: #1e293b;\r\n            --slate-500: #64748b;\r\n            --bg: #f8fafc;\r\n        }\r\n\r\n        \/* Reset i osnovni stilovi *\/\r\n        * { box-sizing: border-box; margin: 0; padding: 0; }\r\n        body { \r\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; \r\n            background: var(--bg); \r\n            color: var(--slate-800); \r\n            line-height: 1.5;\r\n            padding: 15px;\r\n            min-height: 100vh;\r\n        }\r\n\r\n        .stats-wrapper { \r\n            max-width: 1000px; \r\n            margin: 0 auto; \r\n            padding-bottom: 50px; \/* Razmak za futer ako postoji *\/\r\n        }\r\n        \r\n        \/* Header Sekcija *\/\r\n        .header { \r\n            text-align: center; \r\n            margin: 30px 0 40px 0; \/* Pove\u0107an razmak *\/\r\n        }\r\n        .header h1 { \r\n            text-transform: uppercase; \r\n            letter-spacing: 1px; \r\n            font-size: 1.6rem; \r\n            margin-bottom: 12px; \/* Razmak izme\u0111u naslova i opisa *\/\r\n            color: var(--slate-800);\r\n        }\r\n        .header p { \r\n            color: var(--slate-500); \r\n            font-size: 0.95rem;\r\n            font-weight: 500;\r\n        }\r\n        \r\n        \/* Kartice sa brojkama - Prilagodljive *\/\r\n        .top-cards { \r\n            display: grid; \r\n            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); \r\n            gap: 12px; \r\n            margin-bottom: 30px; \r\n        }\r\n        .card { \r\n            background: white; \r\n            padding: 20px 10px; \r\n            border-radius: 16px; \r\n            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); \r\n            text-align: center; \r\n            border: 1px solid #e2e8f0; \r\n        }\r\n        .card .number { \r\n            display: block; \r\n            font-size: 1.8rem; \r\n            font-weight: 800; \r\n            color: var(--primary); \r\n            margin-bottom: 4px;\r\n        }\r\n        .card .label { \r\n            font-size: 0.7rem; \r\n            color: var(--slate-500); \r\n            font-weight: 700; \r\n            text-transform: uppercase; \r\n        }\r\n\r\n        \/* Tabela - Scroll na mobilnom *\/\r\n        .table-section { \r\n            background: white; \r\n            border-radius: 20px; \r\n            padding: 20px; \r\n            box-shadow: 0 10px 15px -3px rgba(0,0,0,0.05); \r\n            border: 1px solid #e2e8f0; \r\n        }\r\n        .table-section h3 {\r\n            margin-bottom: 20px;\r\n            font-size: 1.1rem;\r\n            color: var(--slate-800);\r\n        }\r\n        .table-responsive { \r\n            width: 100%; \r\n            overflow-x: auto; \/* Omogu\u0107ava swipe levo-desno na mobilnom *\/\r\n            -webkit-overflow-scrolling: touch;\r\n        }\r\n        table { \r\n            width: 100%; \r\n            border-collapse: collapse; \r\n            min-width: 600px; \/* Osigurava da se tabela ne skupi previ\u0161e *\/\r\n        }\r\n        th { \r\n            text-align: left; \r\n            padding: 12px; \r\n            border-bottom: 2px solid #f1f5f9; \r\n            color: var(--slate-500); \r\n            font-size: 0.75rem; \r\n            text-transform: uppercase; \r\n            letter-spacing: 0.5px;\r\n        }\r\n        td { \r\n            padding: 16px 12px; \r\n            border-bottom: 1px solid #f1f5f9; \r\n            font-size: 0.9rem; \r\n        }\r\n        \r\n        .rank-badge { \r\n            background: #f1f5f9; \r\n            padding: 4px 10px; \r\n            border-radius: 8px; \r\n            font-weight: bold; \r\n            font-size: 0.75rem; \r\n        }\r\n        .dr-name { font-weight: 700; color: var(--slate-800); }\r\n        \r\n        \/* Efikasnost bar *\/\r\n        .progress-container { width: 100px; margin: 4px 0; }\r\n        .progress-bg { background: #e2e8f0; height: 6px; border-radius: 10px; overflow: hidden; }\r\n        .progress-fill { background: var(--primary); height: 100%; border-radius: 10px; }\r\n\r\n        \/* Loader *\/\r\n        #loader { text-align: center; padding: 60px 20px; font-weight: 600; color: var(--primary); }\r\n\r\n        \/* Mobilne korekcije *\/\r\n        @media (max-width: 480px) {\r\n            .header h1 { font-size: 1.4rem; }\r\n            .card .number { font-size: 1.5rem; }\r\n            .table-section { padding: 15px 10px; }\r\n        }\r\n    <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div class=\"stats-wrapper\">\r\n    <div class=\"header\">\r\n        <h1>Statistika Klinike<\/h1>\r\n        <p>Pregled zakazanih termina po doktorima<\/p>\r\n    <\/div>\r\n\r\n    <div id=\"loader\">Povezivanje sa bazom...<\/div>\r\n\r\n    <div id=\"stats-content\" style=\"display: none;\">\r\n        <!-- INFO KARTICE -->\r\n        <div class=\"top-cards\">\r\n            <div class=\"card\">\r\n                <span class=\"number\" id=\"total-pts\">0<\/span>\r\n                <span class=\"label\">Pacijenata<\/span>\r\n            <\/div>\r\n            <div class=\"card\">\r\n                <span class=\"number\" id=\"confirmed-pts\" style=\"color: var(--success);\">0<\/span>\r\n                <span class=\"label\">Potvr\u0111eno<\/span>\r\n            <\/div>\r\n            <div class=\"card\">\r\n                <span class=\"number\" id=\"pending-pts\" style=\"color: var(--warning);\">0<\/span>\r\n                <span class=\"label\">Naru\u010deno<\/span>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- TABELA -->\r\n        <div class=\"table-section\">\r\n            <h3>Rang lista u\u010dinka<\/h3>\r\n            <div class=\"table-responsive\">\r\n                <table>\r\n                    <thead>\r\n                        <tr>\r\n                            <th style=\"width: 60px;\">Rang<\/th>\r\n                            <th>Doktor<\/th>\r\n                            <th style=\"text-align: center;\">Ukupno<\/th>\r\n                            <th style=\"text-align: center;\">Potvr\u0111eno<\/th>\r\n                            <th>Efikasnost<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody id=\"dr-table-body\"><\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n    const DB_URL = \"https:\/\/mr-klinika-default-rtdb.europe-west1.firebasedatabase.app\/appointments.json\";\r\n\r\n    async function loadStats() {\r\n        try {\r\n            const response = await fetch(DB_URL);\r\n            const data = await response.json();\r\n            \r\n            if (!data) {\r\n                document.getElementById('loader').innerHTML = \"Nema podataka u bazi.\";\r\n                return;\r\n            }\r\n\r\n            let globalTotal = 0, globalConfirmed = 0, globalPending = 0;\r\n            let doctorStats = [];\r\n\r\n            for (const drID in data) {\r\n                let drTotal = 0, drConfirmed = 0;\r\n\r\n                for (const date in data[drID]) {\r\n                    const slots = data[drID][date].slots;\r\n                    if (slots) {\r\n                        for (const t in slots) {\r\n                            const s = slots[t];\r\n                            if (s.status === 'confirmed' || s.status === 'pending') {\r\n                                drTotal++;\r\n                                globalTotal++;\r\n                                if (s.status === 'confirmed') {\r\n                                    drConfirmed++;\r\n                                    globalConfirmed++;\r\n                                } else {\r\n                                    globalPending++;\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n\r\n                doctorStats.push({\r\n                    name: drID.replace(\/-\/g, ' ').toUpperCase(),\r\n                    total: drTotal,\r\n                    confirmed: drConfirmed,\r\n                    eff: drTotal > 0 ? Math.round((drConfirmed \/ drTotal) * 100) : 0\r\n                });\r\n            }\r\n\r\n            doctorStats.sort((a, b) => b.total - a.total);\r\n\r\n            document.getElementById('total-pts').innerText = globalTotal;\r\n            document.getElementById('confirmed-pts').innerText = globalConfirmed;\r\n            document.getElementById('pending-pts').innerText = globalPending;\r\n\r\n            const tbody = document.getElementById('dr-table-body');\r\n            tbody.innerHTML = doctorStats.map((dr, i) => `\r\n                <tr>\r\n                    <td><span class=\"rank-badge\">#${i + 1}<\/span><\/td>\r\n                    <td><span class=\"dr-name\">${dr.name}<\/span><\/td>\r\n                    <td style=\"text-align: center; font-weight: 800;\">${dr.total}<\/td>\r\n                    <td style=\"text-align: center; color: var(--success); font-weight: 800;\">${dr.confirmed}<\/td>\r\n                    <td>\r\n                        <div style=\"font-size: 0.75rem; font-weight: 600;\">${dr.eff}%<\/div>\r\n                        <div class=\"progress-container\">\r\n                            <div class=\"progress-bg\"><div class=\"progress-fill\" style=\"width: ${dr.eff}%\"><\/div><\/div>\r\n                        <\/div>\r\n                    <\/td>\r\n                <\/tr>\r\n            `).join('');\r\n\r\n            document.getElementById('loader').style.display = 'none';\r\n            document.getElementById('stats-content').style.display = 'block';\r\n\r\n        } catch (e) {\r\n            document.getElementById('loader').innerText = \"Gre\u0161ka u komunikaciji sa serverom.\";\r\n        }\r\n    }\r\n    loadStats();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Klinika &#8211; Statistika Poslovanja Statistika Klinike Pregled zakazanih termina po doktorima Povezivanje sa bazom&#8230; 0 Pacijenata 0 Potvr\u0111eno 0 Naru\u010deno Rang lista u\u010dinka Rang Doktor [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-1742","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Statistika -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webthly.com\/mr-klinika\/statistika\/\" \/>\n<meta property=\"og:locale\" content=\"bs_BA\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Statistika -\" \/>\n<meta property=\"og:description\" content=\"Klinika &#8211; Statistika Poslovanja Statistika Klinike Pregled zakazanih termina po doktorima Povezivanje sa bazom&#8230; 0 Pacijenata 0 Potvr\u0111eno 0 Naru\u010deno Rang lista u\u010dinka Rang Doktor [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webthly.com\/mr-klinika\/statistika\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-12T09:27:08+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/statistika\\\/\",\"url\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/statistika\\\/\",\"name\":\"Statistika -\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/#website\"},\"datePublished\":\"2026-05-12T09:18:43+00:00\",\"dateModified\":\"2026-05-12T09:27:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/statistika\\\/#breadcrumb\"},\"inLanguage\":\"bs-BA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/statistika\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/statistika\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Statistika\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/#website\",\"url\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/webthly.com\\\/mr-klinika\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"bs-BA\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Statistika -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webthly.com\/mr-klinika\/statistika\/","og_locale":"bs_BA","og_type":"article","og_title":"Statistika -","og_description":"Klinika &#8211; Statistika Poslovanja Statistika Klinike Pregled zakazanih termina po doktorima Povezivanje sa bazom&#8230; 0 Pacijenata 0 Potvr\u0111eno 0 Naru\u010deno Rang lista u\u010dinka Rang Doktor [&hellip;]","og_url":"https:\/\/webthly.com\/mr-klinika\/statistika\/","article_modified_time":"2026-05-12T09:27:08+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/webthly.com\/mr-klinika\/statistika\/","url":"https:\/\/webthly.com\/mr-klinika\/statistika\/","name":"Statistika -","isPartOf":{"@id":"https:\/\/webthly.com\/mr-klinika\/#website"},"datePublished":"2026-05-12T09:18:43+00:00","dateModified":"2026-05-12T09:27:08+00:00","breadcrumb":{"@id":"https:\/\/webthly.com\/mr-klinika\/statistika\/#breadcrumb"},"inLanguage":"bs-BA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webthly.com\/mr-klinika\/statistika\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/webthly.com\/mr-klinika\/statistika\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webthly.com\/mr-klinika\/"},{"@type":"ListItem","position":2,"name":"Statistika"}]},{"@type":"WebSite","@id":"https:\/\/webthly.com\/mr-klinika\/#website","url":"https:\/\/webthly.com\/mr-klinika\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webthly.com\/mr-klinika\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"bs-BA"}]}},"_links":{"self":[{"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/pages\/1742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/comments?post=1742"}],"version-history":[{"count":13,"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/pages\/1742\/revisions"}],"predecessor-version":[{"id":1757,"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/pages\/1742\/revisions\/1757"}],"wp:attachment":[{"href":"https:\/\/webthly.com\/mr-klinika\/wp-json\/wp\/v2\/media?parent=1742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}