diff --git a/docker-compose.yml b/docker-compose.yml index de6d528..78eb3bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ services: pediatric-scribe: - image: danielonyejesi/pediatric-ai-scribe-v3:v3.0 + image: danielonyejesi/pediatric-ai-scribe-v3:v3.1 ports: - "3552:3000" env_file: diff --git a/package.json b/package.json index 3c30b1f..f3c8738 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pediatric-ai-scribe", - "version": "3.0.0", + "version": "3.1.0", "description": "AI-powered pediatric clinical documentation platform", "main": "server.js", "scripts": { diff --git a/public/css/styles.css b/public/css/styles.css index dddfa36..4ef8393 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -494,3 +494,74 @@ body{font-family:'Inter',system-ui,sans-serif;background:var(--g50);color:var(-- .dx-result-item:last-child{border-bottom:none;} .dx-result-item:hover{background:var(--g50);} .dx-result-code{font-weight:700;color:var(--blue);margin-right:4px;} + +/* ============================================================ + LEARNING HUB + ============================================================ */ + +/* Category bar */ +.lh-category-bar{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0;} +.lh-cat-pill{padding:5px 14px;border-radius:20px;border:1px solid var(--g300);background:white;font-size:13px;cursor:pointer;transition:all 0.15s;font-family:inherit;color:var(--g600);} +.lh-cat-pill:hover{border-color:var(--blue);color:var(--blue);} +.lh-cat-pill.active{background:var(--blue);color:white;border-color:var(--blue);} + +/* Feed */ +.lh-feed{display:flex;flex-direction:column;gap:8px;} +.lh-feed-item{padding:14px 16px;cursor:pointer;transition:box-shadow 0.15s,border-color 0.15s;} +.lh-feed-item:hover{box-shadow:var(--shadow-md);border-color:var(--blue-light);} +.lh-feed-item-header{display:flex;align-items:flex-start;gap:12px;} +.lh-feed-title{font-size:14px;font-weight:600;color:var(--g800);} +.lh-feed-meta{font-size:12px;color:var(--g500);display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;} +.lh-feed-meta span:not(:last-child)::after{content:'·';margin-left:8px;color:var(--g300);} +.lh-feed-badges{display:flex;gap:6px;flex-shrink:0;align-items:flex-start;} +.lh-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--g100);color:var(--g600);white-space:nowrap;} +.lh-badge-quiz{background:var(--amber-light);color:#92400e;} + +/* Viewer */ +.lh-viewer .card{margin-bottom:0;} +.lh-content-body{font-size:14px;line-height:1.75;color:var(--g700);} +.lh-content-body h1,.lh-content-body h2,.lh-content-body h3{margin:16px 0 8px;color:var(--g800);} +.lh-content-body p{margin-bottom:12px;} +.lh-content-body ul,.lh-content-body ol{margin:0 0 12px 20px;} +.lh-content-body li{margin-bottom:4px;} +.lh-content-body strong{color:var(--g900);} +.lh-content-body code{background:var(--g100);padding:2px 6px;border-radius:4px;font-size:13px;} +.lh-content-body blockquote{border-left:3px solid var(--blue);padding:8px 16px;margin:12px 0;background:var(--blue-light);border-radius:0 6px 6px 0;font-style:italic;} +.lh-content-body table{width:100%;border-collapse:collapse;margin:12px 0;} +.lh-content-body th,.lh-content-body td{padding:8px 12px;border:1px solid var(--g200);font-size:13px;} +.lh-content-body th{background:var(--g50);font-weight:600;} + +/* Quiz */ +.lh-quiz-q{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--g100);} +.lh-quiz-q:last-child{border-bottom:none;margin-bottom:0;} +.lh-quiz-q-header{display:flex;gap:8px;align-items:center;margin-bottom:6px;} +.lh-quiz-q-num{font-size:12px;font-weight:700;color:var(--blue);background:var(--blue-light);padding:2px 8px;border-radius:6px;} +.lh-quiz-q-type{font-size:11px;color:var(--g400);} +.lh-quiz-q-text{font-size:14px;font-weight:500;margin-bottom:10px;color:var(--g800);} +.lh-quiz-options{display:flex;flex-direction:column;gap:6px;} +.lh-quiz-option{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--g200);border-radius:8px;cursor:pointer;transition:all 0.15s;font-size:13px;} +.lh-quiz-option:hover{border-color:var(--blue-light);background:var(--g50);} +.lh-quiz-option input[type="radio"]{accent-color:var(--blue);width:16px;height:16px;} +.lh-quiz-option span{flex:1;} +.lh-opt-correct{border-color:var(--green) !important;background:var(--green-light) !important;} +.lh-opt-wrong{border-color:var(--red) !important;background:var(--red-light) !important;} + +/* Quiz results */ +.lh-result-item{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--g100);} +.lh-result-item:last-child{border-bottom:none;} +.lh-result-header{font-size:14px;margin-bottom:6px;} +.lh-expl{font-size:13px;padding:8px 12px;border-radius:6px;margin-top:6px;} +.lh-expl-wrong{background:var(--red-light);color:#991b1b;} +.lh-expl-correct{background:var(--green-light);color:#166534;} +.lh-expl-general{background:var(--blue-light);color:#1e40af;} + +/* CMS question builder */ +.lh-question-block{padding:12px;border:1px solid var(--g200);border-radius:8px;margin-bottom:8px;background:var(--g50);} +.lh-option-row{display:flex;align-items:center;gap:6px;margin-bottom:4px;} + +@media(max-width:640px){ + .lh-feed-item-header{flex-direction:column;gap:6px;} + .lh-feed-badges{align-self:flex-start;} + .lh-option-row{flex-wrap:wrap;} + .lh-option-row .lh-opt-expl{width:100%;} +} diff --git a/public/index.html b/public/index.html index 44f08d7..7680b8c 100644 --- a/public/index.html +++ b/public/index.html @@ -195,6 +195,10 @@ Catch-Up Schedule + + + Learning Hub + Account @@ -739,6 +743,72 @@ + + + + Learning Hub + Pediatric education, clinical pearls, and self-assessment quizzes + + + + + + + + + + + + + + + + + + + Back to Feed + + + + + + + + + + + + + Quiz + + + + + Submit Answers + + + + + + + Results + + + + + + + + + + + Your Past Attempts + + + + + + @@ -945,6 +1015,98 @@ + + + + Learning Hub CMS + + + + + + + Categories + + + + Add Category + + + + + + + + + Content + New Content + + + + + + + + + + New Content + Close + + + + + + Title + + + + Subject + + + + Category + + Uncategorized + + + + Type + + Article + Quiz Only + Clinical Pearl + + + + + Body (supports basic HTML) + + + + Published: + + Draft + Published + + + + + + + + Quiz Questions + Add Question + + + + + + Save Content + Delete + + + + Reset Settings @@ -1516,6 +1678,7 @@ +
Pediatric education, clinical pearls, and self-assessment quizzes