feat: United/DentalHub + Tufts SCO pre-auth, cloud storage search & file thumbnails

- Add United/DentalHub pre-authorization Selenium worker, helpers, backend route/processor/client, and frontend OTP modal + wired button
- Add Tufts SCO pre-authorization Selenium worker, helpers, backend route/processor/client, and frontend OTP modal + wired button
- Fix btnSubmitAuthorization selector for UnitedDH preauth step2
- Fix Tufts SCO preauth step3 to target <span>pre-authorization</span> button
- Cloud storage search: default to "both" mode so patient folder names match on first search
- Cloud storage folder panel: auto-scroll to panel when opened from search results
- Cloud storage files: show inline image thumbnails and PDF badge in file grid

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
ff
2026-06-13 00:03:58 -04:00
parent fd4feb3e76
commit 3978b16d7d
20 changed files with 4044 additions and 19 deletions

View File

@@ -1,4 +1,4 @@
import { useEffect, useState } from "react";
import { useEffect, useRef, useState } from "react";
import { useSearch } from "wouter";
import { useQueryClient } from "@tanstack/react-query";
import { Button } from "@/components/ui/button";
@@ -28,6 +28,7 @@ export default function CloudStoragePage() {
const [panelInitialFolderId, setPanelInitialFolderId] = useState<
number | null
>(null);
const panelRef = useRef<HTMLDivElement>(null);
// Deep-link: if navigated here with ?folderId=XXX, open that folder automatically
useEffect(() => {
@@ -53,6 +54,9 @@ export default function CloudStoragePage() {
function handleOpenFolder(folderId: number | null) {
setPanelInitialFolderId(folderId);
setPanelOpen(true);
setTimeout(() => {
panelRef.current?.scrollIntoView({ behavior: "smooth", block: "start" });
}, 50);
}
function handleSelectFile(fileId: number) {
@@ -131,6 +135,7 @@ export default function CloudStoragePage() {
/>
{/* FolderPanel lives in page so it can be reused with other UI */}
<div ref={panelRef} />
{panelOpen && (
<FolderPanel
folderId={panelInitialFolderId}