Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI

on:
push:
branches: [dev, main]
branches: [dev]
pull_request:
branches: [main]

Expand Down Expand Up @@ -32,7 +32,7 @@ jobs:
- 'scan_model/**'

test-backend:
name: Backend Jest tests
name: Backend - Jest tests
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.backend == 'true'
Expand All @@ -55,7 +55,7 @@ jobs:
run: npm run test

lint-rag:
name: RAG Ruff lint
name: RAG - Ruff lint
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.rag == 'true'
Expand All @@ -67,7 +67,7 @@ jobs:
src: ./scan_report

lint-model:
name: Model Ruff lint
name: Model - Ruff lint
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.model == 'true'
Expand Down
59 changes: 53 additions & 6 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,58 @@ jobs:
model:
- 'scan_model/**'

build-backend:
name: Build & push backend image
test-backend:
name: Backend — Jest tests
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.backend == 'true'
defaults:
run:
working-directory: server
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: server/package-lock.json

- name: Install dependencies
run: npm ci

- name: Run tests
run: npm run test

lint-rag:
name: RAG — Ruff lint
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.rag == 'true'
steps:
- uses: actions/checkout@v4

- uses: astral-sh/ruff-action@v3
with:
src: ./scan_report

lint-model:
name: Model — Ruff lint
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.model == 'true'
steps:
- uses: actions/checkout@v4

- uses: astral-sh/ruff-action@v3
with:
src: ./scan_model

build-backend:
name: Build & push backend image
runs-on: ubuntu-latest
needs: [changes, test-backend]
if: needs.test-backend.result == 'success'
steps:
- uses: actions/checkout@v4
Comment on lines +89 to 92

Expand All @@ -58,8 +105,8 @@ jobs:
build-rag:
name: Build & push rag image
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.rag == 'true'
needs: [changes, lint-rag]
if: needs.lint-rag.result == 'success'
steps:
- uses: actions/checkout@v4
Comment on lines +108 to 111

Expand All @@ -77,8 +124,8 @@ jobs:
build-model:
name: Build & push model image
runs-on: ubuntu-latest
needs: changes
if: needs.changes.outputs.model == 'true'
needs: [changes, lint-model]
if: needs.lint-model.result == 'success'
steps:
- uses: actions/checkout@v4
Comment on lines +127 to 130

Expand Down
60 changes: 0 additions & 60 deletions client/src/features/dashboard/Reports/components/SharePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -122,66 +122,6 @@ const PromoSection = () => (
</div>
);

// const StickyPromoBanner = () => (
// <div style={{
// position: "fixed", bottom: 0, left: 0, right: 0,
// background: "rgba(19,27,46,0.97)",
// backdropFilter: "blur(12px)",
// borderTop: "1px solid rgba(37,99,235,0.25)",
// padding: "14px 32px",
// display: "flex", alignItems: "center", justifyContent: "space-between",
// gap: 16, flexWrap: "wrap",
// zIndex: 50,
// }}>
// <div style={{ display: "flex", alignItems: "center", gap: 14 }}>
// <div style={{
// width: 34, height: 34, borderRadius: 9,
// background: "linear-gradient(135deg, #2563eb 0%, #004ac6 100%)",
// display: "flex", alignItems: "center", justifyContent: "center", flexShrink: 0,
// }}>
// <svg viewBox="0 0 24 24" width="17" height="17" fill="none" stroke="white" strokeWidth="1.8" strokeLinecap="round">
// <circle cx="12" cy="12" r="10" /><path d="M12 8v4l3 3" />
// </svg>
// </div>
// <div>
// <span style={{ fontSize: 14, fontWeight: 700, color: "white", fontFamily: "Manrope, sans-serif" }}>
// You're viewing a TumorLens report
// </span>
// <span style={{ fontSize: 13, color: "rgba(255,255,255,0.4)", marginLeft: 10 }}>
// Analyze your own MRI scans with AI in seconds
// </span>
// </div>
// </div>
// <div style={{ display: "flex", gap: 8, flexShrink: 0 }}>
// <Link
// to="/register"
// style={{
// display: "inline-flex", alignItems: "center", gap: 6,
// background: "linear-gradient(135deg, #2563eb 0%, #004ac6 100%)",
// color: "white", textDecoration: "none",
// borderRadius: 8, padding: "8px 18px",
// fontFamily: "Manrope, sans-serif", fontWeight: 700, fontSize: 13,
// boxShadow: "0 4px 14px rgba(0,74,198,0.4)",
// }}
// >
// Get Started Free
// </Link>
// <Link
// to="/login"
// style={{
// display: "inline-flex", alignItems: "center",
// background: "rgba(255,255,255,0.07)", border: "1px solid rgba(255,255,255,0.12)",
// color: "rgba(255,255,255,0.7)", textDecoration: "none",
// borderRadius: 8, padding: "8px 16px",
// fontFamily: "Manrope, sans-serif", fontWeight: 600, fontSize: 13,
// }}
// >
// Sign In
// </Link>
// </div>
// </div>
// );

export const SharePage = () => {
const { share: token } = ReportsShareRoute.useSearch();
const { data: reportData, isLoading } = useFetchSharedReport(token);
Expand Down
1 change: 1 addition & 0 deletions client/src/features/dashboard/ScanResults/hooks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export const useFetchScanDetail = (id: string) => {
return response.data;
},
enabled: !!id,
refetchOnMount: 'always',
});
Comment on lines 24 to 26
}

Expand Down
13 changes: 0 additions & 13 deletions client/src/features/dashboard/ScanResults/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -657,19 +657,6 @@ export const ScanResultsPage = () => {
]}
/>

{/* <Select
value={statusFilter || undefined}
onChange={(value) => { setStatusFilter((value || "") as Scan["status"] | ""); setPage(1); }}
allowClear
placeholder="All Statuses"
style={{ minWidth: 180, height: 38, borderRadius: 4, fontSize: 13 }}
options={[
{ value: "DONE", label: "Complete" },
{ value: "FAILED", label: "Failed" },
{ value: "PROCESSING", label: "Processing" },
]}
/> */}

<span style={{ marginLeft: "auto", fontSize: 13, color: "#64748b" }}>
Showing <strong style={{ color: "#131b2e", fontWeight: 700 }}>{filtered.length}</strong> results
</span>
Expand Down
Loading