Spaces:
Running
Running
refactor(icons): migrate lucide-react to @phosphor-icons/react, remove dep
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- bioai-platform/frontend/package-lock.json +0 -10
- bioai-platform/frontend/package.json +0 -1
- bioai-platform/frontend/src/app/(auth)/auth/callback/page.tsx +1 -1
- bioai-platform/frontend/src/app/(auth)/auth/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/admet/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/alignment/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/blast/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/docking/page.tsx +1 -5
- bioai-platform/frontend/src/app/(dashboard)/analyze/domains/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/function/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/md/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/pathway/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/sequencing/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/structure/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/tools/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/analyze/uniprot/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/dashboard/page.tsx +1 -5
- bioai-platform/frontend/src/app/(dashboard)/history/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/jobs/[jobId]/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/jobs/page.tsx +1 -3
- bioai-platform/frontend/src/app/(dashboard)/layout.tsx +3 -15
- bioai-platform/frontend/src/app/(dashboard)/learn/page.tsx +3 -6
- bioai-platform/frontend/src/app/(dashboard)/report/[jobId]/page.tsx +1 -1
- bioai-platform/frontend/src/app/(dashboard)/settings/page.tsx +1 -4
- bioai-platform/frontend/src/app/page.tsx +2 -2
- bioai-platform/frontend/src/app/shared/[token]/page.tsx +1 -1
- bioai-platform/frontend/src/components/AuditInsightPanel.tsx +1 -1
- bioai-platform/frontend/src/components/DockingViewer.tsx +1 -4
- bioai-platform/frontend/src/components/ErrorBoundary.tsx +1 -1
- bioai-platform/frontend/src/components/GuestBanner.tsx +1 -1
- bioai-platform/frontend/src/components/InteractionPanel.tsx +1 -1
- bioai-platform/frontend/src/components/LearnPopover.tsx +1 -1
- bioai-platform/frontend/src/components/SequenceRetrieval.tsx +1 -1
- bioai-platform/frontend/src/components/SequenceTypewriter.tsx +1 -1
- bioai-platform/frontend/src/components/ThemeToggle.tsx +1 -1
- bioai-platform/frontend/src/components/TutorialWalkthrough.tsx +1 -1
- bioai-platform/frontend/src/components/phylo/PhyloTreeViewer.tsx +1 -1
- bioai-platform/frontend/src/components/pipeline/JobProgress.tsx +1 -1
- bioai-platform/frontend/src/components/pipeline/PipelineSelector.tsx +1 -1
- bioai-platform/frontend/src/components/primers/PrimerDesigner.tsx +1 -1
- bioai-platform/frontend/src/components/results/AIInterpretation.tsx +1 -1
- bioai-platform/frontend/src/components/results/BlastPanel.tsx +1 -1
- bioai-platform/frontend/src/components/results/PairwiseAlignView.tsx +1 -1
- bioai-platform/frontend/src/components/results/PathwayDiagram.tsx +1 -1
- bioai-platform/frontend/src/components/results/PathwayEnrichment.tsx +1 -1
- bioai-platform/frontend/src/components/results/PipelineResults.tsx +1 -1
- bioai-platform/frontend/src/components/results/UniprotPanel.tsx +1 -1
- bioai-platform/frontend/src/components/ui/BackButton.tsx +1 -1
- bioai-platform/frontend/src/components/ui/CriticalButton.tsx +1 -1
bioai-platform/frontend/package-lock.json
CHANGED
|
@@ -16,7 +16,6 @@
|
|
| 16 |
"framer-motion": "^12.40.0",
|
| 17 |
"geist": "^1.7.2",
|
| 18 |
"lenis": "^1.3.23",
|
| 19 |
-
"lucide-react": "^0.474.0",
|
| 20 |
"next": "^14.2.23",
|
| 21 |
"react": "^18.3.1",
|
| 22 |
"react-dom": "^18.3.1",
|
|
@@ -6123,15 +6122,6 @@
|
|
| 6123 |
"dev": true,
|
| 6124 |
"license": "ISC"
|
| 6125 |
},
|
| 6126 |
-
"node_modules/lucide-react": {
|
| 6127 |
-
"version": "0.474.0",
|
| 6128 |
-
"resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.474.0.tgz",
|
| 6129 |
-
"integrity": "sha512-CmghgHkh0OJNmxGKWc0qfPJCYHASPMVSyGY8fj3xgk4v84ItqDg64JNKFZn5hC6E0vHi6gxnbCgwhyVB09wQtA==",
|
| 6130 |
-
"license": "ISC",
|
| 6131 |
-
"peerDependencies": {
|
| 6132 |
-
"react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
| 6133 |
-
}
|
| 6134 |
-
},
|
| 6135 |
"node_modules/magic-string": {
|
| 6136 |
"version": "0.30.21",
|
| 6137 |
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
|
|
|
|
| 16 |
"framer-motion": "^12.40.0",
|
| 17 |
"geist": "^1.7.2",
|
| 18 |
"lenis": "^1.3.23",
|
|
|
|
| 19 |
"next": "^14.2.23",
|
| 20 |
"react": "^18.3.1",
|
| 21 |
"react-dom": "^18.3.1",
|
|
|
|
| 6122 |
"dev": true,
|
| 6123 |
"license": "ISC"
|
| 6124 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6125 |
"node_modules/magic-string": {
|
| 6126 |
"version": "0.30.21",
|
| 6127 |
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
|
bioai-platform/frontend/package.json
CHANGED
|
@@ -17,7 +17,6 @@
|
|
| 17 |
"framer-motion": "^12.40.0",
|
| 18 |
"geist": "^1.7.2",
|
| 19 |
"lenis": "^1.3.23",
|
| 20 |
-
"lucide-react": "^0.474.0",
|
| 21 |
"next": "^14.2.23",
|
| 22 |
"react": "^18.3.1",
|
| 23 |
"react-dom": "^18.3.1",
|
|
|
|
| 17 |
"framer-motion": "^12.40.0",
|
| 18 |
"geist": "^1.7.2",
|
| 19 |
"lenis": "^1.3.23",
|
|
|
|
| 20 |
"next": "^14.2.23",
|
| 21 |
"react": "^18.3.1",
|
| 22 |
"react-dom": "^18.3.1",
|
bioai-platform/frontend/src/app/(auth)/auth/callback/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useEffect, useState } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
-
import { LoaderCircle } from '
|
| 6 |
import { getSupabase } from '@/lib/supabase';
|
| 7 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 8 |
import { motion } from 'framer-motion';
|
|
|
|
| 2 |
|
| 3 |
import { useEffect, useState } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
+
import { CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 6 |
import { getSupabase } from '@/lib/supabase';
|
| 7 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 8 |
import { motion } from 'framer-motion';
|
bioai-platform/frontend/src/app/(auth)/auth/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useEffect } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
-
import { Dna, LoaderCircle } from '
|
| 6 |
import { useAuth } from '@/contexts/auth';
|
| 7 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 8 |
import { motion } from 'framer-motion';
|
|
|
|
| 2 |
|
| 3 |
import { useEffect } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
+
import { Dna, CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 6 |
import { useAuth } from '@/contexts/auth';
|
| 7 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 8 |
import { motion } from 'framer-motion';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/admet/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
import { useState, useEffect } from "react";
|
| 3 |
import { useRouter } from "next/navigation";
|
| 4 |
import { motion, AnimatePresence } from "framer-motion";
|
| 5 |
-
import { Beaker, Check, X, AlertTriangle, Loader2, Shield, Activity, Brain } from
|
| 6 |
import { fadeUp } from "@/lib/animations";
|
| 7 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 8 |
import { computeADMET, type ADMETResult } from "@/lib/api";
|
|
|
|
| 2 |
import { useState, useEffect } from "react";
|
| 3 |
import { useRouter } from "next/navigation";
|
| 4 |
import { motion, AnimatePresence } from "framer-motion";
|
| 5 |
+
import { Flask as Beaker, Check, X, Warning as AlertTriangle, CircleNotch as Loader2, Shield, Pulse as Activity, Brain } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from "@/lib/animations";
|
| 7 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 8 |
import { computeADMET, type ADMETResult } from "@/lib/api";
|
bioai-platform/frontend/src/app/(dashboard)/analyze/alignment/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
-
import { LoaderCircle } from '
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { runAlignment, type AlignmentMethod } from '@/lib/api';
|
| 8 |
import { extractErrorMessage } from '@/lib/errors';
|
|
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
+
import { CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { runAlignment, type AlignmentMethod } from '@/lib/api';
|
| 8 |
import { extractErrorMessage } from '@/lib/errors';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/blast/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState, useEffect } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
-
import { Search, ChevronRight, LoaderCircle, CircleCheck } from '
|
| 6 |
import { useAuditTrail } from '@/hooks/useAuditTrail';
|
| 7 |
import toast from 'react-hot-toast';
|
| 8 |
import { runPipeline, fetchSequence } from '@/lib/api';
|
|
|
|
| 2 |
|
| 3 |
import { useState, useEffect } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
+
import { MagnifyingGlass as Search, CaretRight as ChevronRight, CircleNotch as LoaderCircle, CheckCircle as CircleCheck } from '@phosphor-icons/react';
|
| 6 |
import { useAuditTrail } from '@/hooks/useAuditTrail';
|
| 7 |
import toast from 'react-hot-toast';
|
| 8 |
import { runPipeline, fetchSequence } from '@/lib/api';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/docking/page.tsx
CHANGED
|
@@ -2,11 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState, useEffect, useCallback } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
-
import {
|
| 6 |
-
LoaderCircle, FlaskConical, CheckCircle, XCircle,
|
| 7 |
-
AlertTriangle, Hexagon, FileText, Copy, Check, ChevronDown,
|
| 8 |
-
ChevronRight
|
| 9 |
-
} from 'lucide-react';
|
| 10 |
import { fadeUp } from '@/lib/animations';
|
| 11 |
import { runDocking, getDockingStatus } from '@/lib/api';
|
| 12 |
import type { DockingResult } from '@/lib/api';
|
|
|
|
| 2 |
|
| 3 |
import { useState, useEffect, useCallback } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
+
import { CircleNotch as LoaderCircle, TestTube as FlaskConical, CheckCircle, XCircle, Warning as AlertTriangle, Hexagon, FileText, Copy, Check, CaretDown as ChevronDown, CaretRight as ChevronRight } from '@phosphor-icons/react';
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { runDocking, getDockingStatus } from '@/lib/api';
|
| 8 |
import type { DockingResult } from '@/lib/api';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/domains/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
import { useState, useEffect } from "react";
|
| 3 |
import { useRouter } from "next/navigation";
|
| 4 |
import { motion } from "framer-motion";
|
| 5 |
-
import { ExternalLink, Dna, Search, LoaderCircle } from
|
| 6 |
import { fadeUp } from "@/lib/animations";
|
| 7 |
import { DomainArchitecture } from "@/components/domains/DomainArchitecture";
|
| 8 |
import { scanPrositeSequence, type ScanPrositeResult } from "@/lib/api";
|
|
|
|
| 2 |
import { useState, useEffect } from "react";
|
| 3 |
import { useRouter } from "next/navigation";
|
| 4 |
import { motion } from "framer-motion";
|
| 5 |
+
import { ArrowSquareOut as ExternalLink, Dna, MagnifyingGlass as Search, CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from "@/lib/animations";
|
| 7 |
import { DomainArchitecture } from "@/components/domains/DomainArchitecture";
|
| 8 |
import { scanPrositeSequence, type ScanPrositeResult } from "@/lib/api";
|
bioai-platform/frontend/src/app/(dashboard)/analyze/function/page.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
"use client";
|
| 2 |
import { useState, useEffect, useCallback } from "react";
|
| 3 |
import { motion } from "framer-motion";
|
| 4 |
-
import { Brain, Loader2, ExternalLink, Dna, Layers, Target } from
|
| 5 |
import { fadeUp } from "@/lib/animations";
|
| 6 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 7 |
import { predictFunction, getFunctionStatus, type FunctionPredictionResult } from "@/lib/api";
|
|
|
|
| 1 |
"use client";
|
| 2 |
import { useState, useEffect, useCallback } from "react";
|
| 3 |
import { motion } from "framer-motion";
|
| 4 |
+
import { Brain, CircleNotch as Loader2, ArrowSquareOut as ExternalLink, Dna, Stack as Layers, Target } from '@phosphor-icons/react';
|
| 5 |
import { fadeUp } from "@/lib/animations";
|
| 6 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 7 |
import { predictFunction, getFunctionStatus, type FunctionPredictionResult } from "@/lib/api";
|
bioai-platform/frontend/src/app/(dashboard)/analyze/md/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
import { useState, useEffect, useCallback } from "react";
|
| 3 |
import { useRouter } from "next/navigation";
|
| 4 |
import { motion } from "framer-motion";
|
| 5 |
-
import { ArrowLeft, Play, Loader2, Activity, Zap, BarChart3, Info } from
|
| 6 |
import { fadeUp } from "@/lib/animations";
|
| 7 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 8 |
import { runMD, getMDStatus, getMDForceFields, type MDSimulationResult, type MDForceFieldsMenu } from "@/lib/api";
|
|
|
|
| 2 |
import { useState, useEffect, useCallback } from "react";
|
| 3 |
import { useRouter } from "next/navigation";
|
| 4 |
import { motion } from "framer-motion";
|
| 5 |
+
import { ArrowLeft, Play, CircleNotch as Loader2, Pulse as Activity, Lightning as Zap, ChartBar as BarChart3, Info } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from "@/lib/animations";
|
| 7 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 8 |
import { runMD, getMDStatus, getMDForceFields, type MDSimulationResult, type MDForceFieldsMenu } from "@/lib/api";
|
bioai-platform/frontend/src/app/(dashboard)/analyze/page.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useRouter } from 'next/navigation';
|
| 4 |
-
import { Dna, Layout, Search, Globe, GitBranch, Beaker, Layers, Share2, FlaskConical, Shuffle, GitFork, Atom, Pill, Activity, Brain } from '
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
import { ReactNode } from 'react';
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useRouter } from 'next/navigation';
|
| 4 |
+
import { Dna, SquaresFour as Layout, MagnifyingGlass as Search, Globe, GitBranch, Flask as Beaker, Stack as Layers, ShareNetwork as Share2, TestTube as FlaskConical, Shuffle, GitFork, Atom, Pill, Pulse as Activity, Brain } from '@phosphor-icons/react';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
import { ReactNode } from 'react';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/pathway/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState, useCallback, useEffect } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
-
import { LoaderCircle, ExternalLink, GitBranch, ChevronDown, ChevronRight, Dna } from '
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { searchPathways, searchKEGGPathways, runEnrichment } from '@/lib/api';
|
| 8 |
import { extractErrorMessage } from '@/lib/errors';
|
|
|
|
| 2 |
|
| 3 |
import { useState, useCallback, useEffect } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
+
import { CircleNotch as LoaderCircle, ArrowSquareOut as ExternalLink, GitBranch, CaretDown as ChevronDown, CaretRight as ChevronRight, Dna } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { searchPathways, searchKEGGPathways, runEnrichment } from '@/lib/api';
|
| 8 |
import { extractErrorMessage } from '@/lib/errors';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/sequencing/page.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
import { useState, useEffect, useCallback } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
-
import { LoaderCircle, CheckCircle, XCircle, AlertTriangle, Dna, BarChart3, Map, Bug, FileText, Search } from '
|
| 7 |
import { fadeUp } from '@/lib/animations';
|
| 8 |
import { runSequencing, getSequencingStatus, listSequencingReferences } from '@/lib/api';
|
| 9 |
import type { SequencingResult, SequencingReference } from '@/lib/api';
|
|
|
|
| 3 |
import { useState, useEffect, useCallback } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
+
import { CircleNotch as LoaderCircle, CheckCircle, XCircle, Warning as AlertTriangle, Dna, ChartBar as BarChart3, MapTrifold as Map, Bug, FileText, MagnifyingGlass as Search } from '@phosphor-icons/react';
|
| 7 |
import { fadeUp } from '@/lib/animations';
|
| 8 |
import { runSequencing, getSequencingStatus, listSequencingReferences } from '@/lib/api';
|
| 9 |
import type { SequencingResult, SequencingReference } from '@/lib/api';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/structure/page.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
import { useState, useEffect } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
-
import { LoaderCircle, ExternalLink, Dna, FlaskConical, Brain, Activity } from '
|
| 7 |
import { fadeUp } from '@/lib/animations';
|
| 8 |
import { fetchStructure, getStructureInventory } from '@/lib/api';
|
| 9 |
import { extractErrorMessage } from '@/lib/errors';
|
|
|
|
| 3 |
import { useState, useEffect } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
+
import { CircleNotch as LoaderCircle, ArrowSquareOut as ExternalLink, Dna, TestTube as FlaskConical, Brain, Pulse as Activity } from '@phosphor-icons/react';
|
| 7 |
import { fadeUp } from '@/lib/animations';
|
| 8 |
import { fetchStructure, getStructureInventory } from '@/lib/api';
|
| 9 |
import { extractErrorMessage } from '@/lib/errors';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/tools/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState, useRef, useEffect } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
-
import { Copy, Check } from '
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { useAuditTrail } from '@/hooks/useAuditTrail';
|
| 8 |
import { BackButton, PageHeader, CriticalButton, FlatTextarea } from '@/components/ui';
|
|
|
|
| 2 |
|
| 3 |
import { useState, useRef, useEffect } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
+
import { Copy, Check } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { useAuditTrail } from '@/hooks/useAuditTrail';
|
| 8 |
import { BackButton, PageHeader, CriticalButton, FlatTextarea } from '@/components/ui';
|
bioai-platform/frontend/src/app/(dashboard)/analyze/uniprot/page.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
import { useState, useEffect, useRef, useCallback } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
-
import { Search, LoaderCircle, Globe, Dna, Beaker, ChevronRight, ExternalLink, BookOpen, Download } from '
|
| 7 |
import { fadeUp } from '@/lib/animations';
|
| 8 |
import { searchUniprot, getUniprotDetail, fetchUniprotCds } from '@/lib/api';
|
| 9 |
import { extractErrorMessage } from '@/lib/errors';
|
|
|
|
| 3 |
import { useState, useEffect, useRef, useCallback } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
+
import { MagnifyingGlass as Search, CircleNotch as LoaderCircle, Globe, Dna, Flask as Beaker, CaretRight as ChevronRight, ArrowSquareOut as ExternalLink, BookOpen, Download } from '@phosphor-icons/react';
|
| 7 |
import { fadeUp } from '@/lib/animations';
|
| 8 |
import { searchUniprot, getUniprotDetail, fetchUniprotCds } from '@/lib/api';
|
| 9 |
import { extractErrorMessage } from '@/lib/errors';
|
bioai-platform/frontend/src/app/(dashboard)/dashboard/page.tsx
CHANGED
|
@@ -4,11 +4,7 @@ import { useEffect, useState } from 'react';
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
-
import {
|
| 8 |
-
LoaderCircle, Dna, Play, Clock, CheckCircle, XCircle,
|
| 9 |
-
TrendingUp, BarChart3, GitBranch, AlignLeft, FlaskConical,
|
| 10 |
-
Network, Search, ChevronRight, Activity, Calendar,
|
| 11 |
-
} from 'lucide-react';
|
| 12 |
import { getJobs, getJobCount } from '@/lib/api';
|
| 13 |
import { useAuth } from '@/contexts/auth';
|
| 14 |
import type { JobStatus } from '@/types/pipeline';
|
|
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
+
import { CircleNotch as LoaderCircle, Dna, Play, Clock, CheckCircle, XCircle, TrendUp as TrendingUp, ChartBar as BarChart3, GitBranch, TextAlignLeft as AlignLeft, TestTube as FlaskConical, Network, MagnifyingGlass as Search, CaretRight as ChevronRight, Pulse as Activity, Calendar } from '@phosphor-icons/react';
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
import { getJobs, getJobCount } from '@/lib/api';
|
| 9 |
import { useAuth } from '@/contexts/auth';
|
| 10 |
import type { JobStatus } from '@/types/pipeline';
|
bioai-platform/frontend/src/app/(dashboard)/history/page.tsx
CHANGED
|
@@ -6,7 +6,7 @@ import { getJobs } from '@/lib/api';
|
|
| 6 |
import type { JobStatus } from '@/types/pipeline';
|
| 7 |
import { motion } from 'framer-motion';
|
| 8 |
import { fadeUp, stagger } from '@/lib/animations';
|
| 9 |
-
import { LoaderCircle, FileText, Dna } from '
|
| 10 |
import { PageHeader } from '@/components/ui';
|
| 11 |
|
| 12 |
const STATUS_STYLES: Record<string, string> = {
|
|
|
|
| 6 |
import type { JobStatus } from '@/types/pipeline';
|
| 7 |
import { motion } from 'framer-motion';
|
| 8 |
import { fadeUp, stagger } from '@/lib/animations';
|
| 9 |
+
import { CircleNotch as LoaderCircle, FileText, Dna } from '@phosphor-icons/react';
|
| 10 |
import { PageHeader } from '@/components/ui';
|
| 11 |
|
| 12 |
const STATUS_STYLES: Record<string, string> = {
|
bioai-platform/frontend/src/app/(dashboard)/jobs/[jobId]/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useEffect, useState, useRef } from 'react';
|
| 4 |
import { useParams, useRouter } from 'next/navigation';
|
| 5 |
-
import { LoaderCircle, Dna, AlertCircle, Copy, Download, Search, Clock, WifiOff, FlaskConical } from '
|
| 6 |
import toast from 'react-hot-toast';
|
| 7 |
import type { JobStatus, JobStepStatus } from '@/types/pipeline';
|
| 8 |
import { STEP_LABELS } from '@/types/pipeline';
|
|
|
|
| 2 |
|
| 3 |
import { useEffect, useState, useRef } from 'react';
|
| 4 |
import { useParams, useRouter } from 'next/navigation';
|
| 5 |
+
import { CircleNotch as LoaderCircle, Dna, WarningCircle as AlertCircle, Copy, Download, MagnifyingGlass as Search, Clock, WifiSlash as WifiOff, TestTube as FlaskConical } from '@phosphor-icons/react';
|
| 6 |
import toast from 'react-hot-toast';
|
| 7 |
import type { JobStatus, JobStepStatus } from '@/types/pipeline';
|
| 8 |
import { STEP_LABELS } from '@/types/pipeline';
|
bioai-platform/frontend/src/app/(dashboard)/jobs/page.tsx
CHANGED
|
@@ -4,9 +4,7 @@ import { useEffect, useState, useMemo } from 'react';
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
-
import {
|
| 8 |
-
LoaderCircle, Dna, FileText, Clock, CheckCircle, XCircle, Plus, ChevronRight,
|
| 9 |
-
} from 'lucide-react';
|
| 10 |
import { getJobs } from '@/lib/api';
|
| 11 |
import type { JobStatus } from '@/types/pipeline';
|
| 12 |
import { STEP_LABELS } from '@/types/pipeline';
|
|
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
+
import { CircleNotch as LoaderCircle, Dna, FileText, Clock, CheckCircle, XCircle, Plus, CaretRight as ChevronRight } from '@phosphor-icons/react';
|
|
|
|
|
|
|
| 8 |
import { getJobs } from '@/lib/api';
|
| 9 |
import type { JobStatus } from '@/types/pipeline';
|
| 10 |
import { STEP_LABELS } from '@/types/pipeline';
|
bioai-platform/frontend/src/app/(dashboard)/layout.tsx
CHANGED
|
@@ -4,19 +4,7 @@ import { useState, useEffect } from 'react';
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { usePathname } from 'next/navigation';
|
| 6 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 7 |
-
import {
|
| 8 |
-
LayoutDashboard,
|
| 9 |
-
FlaskConical,
|
| 10 |
-
Clock,
|
| 11 |
-
History,
|
| 12 |
-
Search,
|
| 13 |
-
Settings,
|
| 14 |
-
BookOpen,
|
| 15 |
-
ChevronRight,
|
| 16 |
-
LogOut,
|
| 17 |
-
Dna,
|
| 18 |
-
Menu,
|
| 19 |
-
} from 'lucide-react';
|
| 20 |
import { useAuth } from '@/contexts/auth';
|
| 21 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 22 |
import { ErrorBoundary } from '@/components/ErrorBoundary';
|
|
@@ -102,7 +90,7 @@ function SidebarContent({
|
|
| 102 |
<Icon
|
| 103 |
size={16}
|
| 104 |
className="flex-shrink-0"
|
| 105 |
-
|
| 106 |
/>
|
| 107 |
|
| 108 |
<AnimatePresence>
|
|
@@ -152,7 +140,7 @@ function SidebarContent({
|
|
| 152 |
onClick={signOut}
|
| 153 |
className={`nav-item w-full text-left hover:!text-red-400 hover:!bg-red-500/10 ${collapsed ? 'justify-center' : ''} group`}
|
| 154 |
>
|
| 155 |
-
<LogOut size={15} className="flex-shrink-0"
|
| 156 |
<AnimatePresence>
|
| 157 |
{!collapsed && (
|
| 158 |
<motion.span
|
|
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { usePathname } from 'next/navigation';
|
| 6 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 7 |
+
import { SquaresFour as LayoutDashboard, TestTube as FlaskConical, Clock, ClockCounterClockwise as History, MagnifyingGlass as Search, GearSix as Settings, BookOpen, CaretRight as ChevronRight, SignOut as LogOut, Dna, List as Menu } from '@phosphor-icons/react';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
import { useAuth } from '@/contexts/auth';
|
| 9 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 10 |
import { ErrorBoundary } from '@/components/ErrorBoundary';
|
|
|
|
| 90 |
<Icon
|
| 91 |
size={16}
|
| 92 |
className="flex-shrink-0"
|
| 93 |
+
weight={active ? 'bold' : 'regular'}
|
| 94 |
/>
|
| 95 |
|
| 96 |
<AnimatePresence>
|
|
|
|
| 140 |
onClick={signOut}
|
| 141 |
className={`nav-item w-full text-left hover:!text-red-400 hover:!bg-red-500/10 ${collapsed ? 'justify-center' : ''} group`}
|
| 142 |
>
|
| 143 |
+
<LogOut size={15} className="flex-shrink-0" weight="regular" />
|
| 144 |
<AnimatePresence>
|
| 145 |
{!collapsed && (
|
| 146 |
<motion.span
|
bioai-platform/frontend/src/app/(dashboard)/learn/page.tsx
CHANGED
|
@@ -1,21 +1,18 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import Link from 'next/link';
|
| 4 |
-
import {
|
| 5 |
-
Search, Dna, Layout, Layers, GitFork, Globe,
|
| 6 |
-
GitBranch, Share2, FlaskConical, Beaker, BookOpen, ArrowRight,
|
| 7 |
-
} from 'lucide-react';
|
| 8 |
import { motion } from 'framer-motion';
|
| 9 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 10 |
import { useState } from 'react';
|
| 11 |
-
import type {
|
| 12 |
import { PageHeader } from '@/components/ui';
|
| 13 |
|
| 14 |
type Topic = {
|
| 15 |
id: string;
|
| 16 |
title: string;
|
| 17 |
description: string;
|
| 18 |
-
icon:
|
| 19 |
};
|
| 20 |
|
| 21 |
const groups: { title: string; items: Topic[] }[] = [
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import Link from 'next/link';
|
| 4 |
+
import { MagnifyingGlass as Search, Dna, SquaresFour as Layout, Stack as Layers, GitFork, Globe, GitBranch, ShareNetwork as Share2, TestTube as FlaskConical, Flask as Beaker, BookOpen, ArrowRight } from '@phosphor-icons/react';
|
|
|
|
|
|
|
|
|
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
import { useState } from 'react';
|
| 8 |
+
import type { Icon } from '@phosphor-icons/react';
|
| 9 |
import { PageHeader } from '@/components/ui';
|
| 10 |
|
| 11 |
type Topic = {
|
| 12 |
id: string;
|
| 13 |
title: string;
|
| 14 |
description: string;
|
| 15 |
+
icon: Icon;
|
| 16 |
};
|
| 17 |
|
| 18 |
const groups: { title: string; items: Topic[] }[] = [
|
bioai-platform/frontend/src/app/(dashboard)/report/[jobId]/page.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
"use client";
|
| 2 |
import { useEffect, useState } from "react";
|
| 3 |
import { useParams } from "next/navigation";
|
| 4 |
-
import { Printer, Download, LoaderCircle, XCircle } from
|
| 5 |
import Link from "next/link";
|
| 6 |
import { getExportUrl } from "@/lib/api";
|
| 7 |
import { BlastPanel } from "@/components/results/BlastPanel";
|
|
|
|
| 1 |
"use client";
|
| 2 |
import { useEffect, useState } from "react";
|
| 3 |
import { useParams } from "next/navigation";
|
| 4 |
+
import { Printer, Download, CircleNotch as LoaderCircle, XCircle } from '@phosphor-icons/react';
|
| 5 |
import Link from "next/link";
|
| 6 |
import { getExportUrl } from "@/lib/api";
|
| 7 |
import { BlastPanel } from "@/components/results/BlastPanel";
|
bioai-platform/frontend/src/app/(dashboard)/settings/page.tsx
CHANGED
|
@@ -5,10 +5,7 @@ import axios from 'axios';
|
|
| 5 |
import toast from 'react-hot-toast';
|
| 6 |
import { motion } from 'framer-motion';
|
| 7 |
import { fadeUp, stagger } from '@/lib/animations';
|
| 8 |
-
import {
|
| 9 |
-
User, BarChart3, Key, Shield, LoaderCircle, Save, Sun,
|
| 10 |
-
Mail, Building2, LogOut, ChevronRight, Zap, Trash2, Plus, Copy,
|
| 11 |
-
} from 'lucide-react';
|
| 12 |
import { useAuth } from '@/contexts/auth';
|
| 13 |
import { getSupabase } from '@/lib/supabase';
|
| 14 |
import { useRouter } from 'next/navigation';
|
|
|
|
| 5 |
import toast from 'react-hot-toast';
|
| 6 |
import { motion } from 'framer-motion';
|
| 7 |
import { fadeUp, stagger } from '@/lib/animations';
|
| 8 |
+
import { User, ChartBar as BarChart3, Key, Shield, CircleNotch as LoaderCircle, FloppyDisk as Save, Sun, Envelope as Mail, Building as Building2, SignOut as LogOut, CaretRight as ChevronRight, Lightning as Zap, Trash as Trash2, Plus, Copy } from '@phosphor-icons/react';
|
|
|
|
|
|
|
|
|
|
| 9 |
import { useAuth } from '@/contexts/auth';
|
| 10 |
import { getSupabase } from '@/lib/supabase';
|
| 11 |
import { useRouter } from 'next/navigation';
|
bioai-platform/frontend/src/app/page.tsx
CHANGED
|
@@ -4,7 +4,7 @@ import dynamic from 'next/dynamic';
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { useRef } from 'react';
|
| 6 |
import { motion, useScroll, useTransform } from 'framer-motion';
|
| 7 |
-
import { ArrowRight, Database, Zap, Brain, ChevronDown } from '
|
| 8 |
|
| 9 |
const DNAHelix = dynamic(
|
| 10 |
() => import('@/components/three/DNAHelix'),
|
|
@@ -260,7 +260,7 @@ export default function LandingPage() {
|
|
| 260 |
<div
|
| 261 |
className="w-10 h-10 rounded-xl flex items-center justify-center mb-6 bg-accent-cyan/10 border border-accent-cyan/20"
|
| 262 |
>
|
| 263 |
-
<Icon size={18} className="text-accent-cyan"
|
| 264 |
</div>
|
| 265 |
|
| 266 |
<h3 className="font-display text-base font-semibold mb-2 text-text-primary">
|
|
|
|
| 4 |
import Link from 'next/link';
|
| 5 |
import { useRef } from 'react';
|
| 6 |
import { motion, useScroll, useTransform } from 'framer-motion';
|
| 7 |
+
import { ArrowRight, Database, Lightning as Zap, Brain, CaretDown as ChevronDown } from '@phosphor-icons/react';
|
| 8 |
|
| 9 |
const DNAHelix = dynamic(
|
| 10 |
() => import('@/components/three/DNAHelix'),
|
|
|
|
| 260 |
<div
|
| 261 |
className="w-10 h-10 rounded-xl flex items-center justify-center mb-6 bg-accent-cyan/10 border border-accent-cyan/20"
|
| 262 |
>
|
| 263 |
+
<Icon size={18} className="text-accent-cyan" weight="regular" />
|
| 264 |
</div>
|
| 265 |
|
| 266 |
<h3 className="font-display text-base font-semibold mb-2 text-text-primary">
|
bioai-platform/frontend/src/app/shared/[token]/page.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useEffect, useState } from 'react';
|
| 4 |
import { useParams } from 'next/navigation';
|
| 5 |
-
import { Dna, LoaderCircle } from '
|
| 6 |
import type { JobStatus } from '@/types/pipeline';
|
| 7 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 8 |
import { getSharedResult } from '@/lib/api';
|
|
|
|
| 2 |
|
| 3 |
import { useEffect, useState } from 'react';
|
| 4 |
import { useParams } from 'next/navigation';
|
| 5 |
+
import { Dna, CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 6 |
import type { JobStatus } from '@/types/pipeline';
|
| 7 |
import { ThemeToggle } from '@/components/ThemeToggle';
|
| 8 |
import { getSharedResult } from '@/lib/api';
|
bioai-platform/frontend/src/components/AuditInsightPanel.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useEffect, useState, useCallback } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
-
import { AlertTriangle, Info, AlertCircle, X, ChevronUp } from '
|
| 6 |
import type { AuditInsight } from '@/types/audit';
|
| 7 |
|
| 8 |
const SEVERITY_CONFIG = {
|
|
|
|
| 2 |
|
| 3 |
import { useEffect, useState, useCallback } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
+
import { Warning as AlertTriangle, Info, WarningCircle as AlertCircle, X, CaretUp as ChevronUp } from '@phosphor-icons/react';
|
| 6 |
import type { AuditInsight } from '@/types/audit';
|
| 7 |
|
| 8 |
const SEVERITY_CONFIG = {
|
bioai-platform/frontend/src/components/DockingViewer.tsx
CHANGED
|
@@ -3,10 +3,7 @@
|
|
| 3 |
import { useCallback, useEffect, useRef, useState } from 'react';
|
| 4 |
import type { DockingInteraction } from '@/lib/api';
|
| 5 |
import { HudPanel, HudLegend } from '@/components/ui';
|
| 6 |
-
import {
|
| 7 |
-
RotateCcw, RotateCw, Camera, FlipHorizontal, Palette,
|
| 8 |
-
Box, Layers, Minus, Circle, Hexagon
|
| 9 |
-
} from 'lucide-react';
|
| 10 |
|
| 11 |
interface DockingViewerProps {
|
| 12 |
pdbId: string;
|
|
|
|
| 3 |
import { useCallback, useEffect, useRef, useState } from 'react';
|
| 4 |
import type { DockingInteraction } from '@/lib/api';
|
| 5 |
import { HudPanel, HudLegend } from '@/components/ui';
|
| 6 |
+
import { ArrowCounterClockwise as RotateCcw, ArrowClockwise as RotateCw, Camera, FlipHorizontal, Palette, Cube as Box, Stack as Layers, Minus, Circle, Hexagon } from '@phosphor-icons/react';
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
interface DockingViewerProps {
|
| 9 |
pdbId: string;
|
bioai-platform/frontend/src/components/ErrorBoundary.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { Component } from 'react';
|
| 4 |
-
import { AlertCircle } from '
|
| 5 |
|
| 6 |
interface Props {
|
| 7 |
children: React.ReactNode;
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { Component } from 'react';
|
| 4 |
+
import { WarningCircle as AlertCircle } from '@phosphor-icons/react';
|
| 5 |
|
| 6 |
interface Props {
|
| 7 |
children: React.ReactNode;
|
bioai-platform/frontend/src/components/GuestBanner.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
-
import { X, User } from '
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { useAuth } from '@/contexts/auth';
|
| 8 |
|
|
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
+
import { X, User } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import { useAuth } from '@/contexts/auth';
|
| 8 |
|
bioai-platform/frontend/src/components/InteractionPanel.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
import { fadeUp } from '@/lib/animations';
|
| 6 |
-
import { Beaker, Waves, Hexagon, Zap, ChevronDown, ChevronRight } from '
|
| 7 |
import type { DockingInteraction } from '@/lib/api';
|
| 8 |
|
| 9 |
interface InteractionPanelProps {
|
|
|
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
import { fadeUp } from '@/lib/animations';
|
| 6 |
+
import { Flask as Beaker, WaveSine as Waves, Hexagon, Lightning as Zap, CaretDown as ChevronDown, CaretRight as ChevronRight } from '@phosphor-icons/react';
|
| 7 |
import type { DockingInteraction } from '@/lib/api';
|
| 8 |
|
| 9 |
interface InteractionPanelProps {
|
bioai-platform/frontend/src/components/LearnPopover.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState, useRef, useEffect } from 'react';
|
| 4 |
import Link from 'next/link';
|
| 5 |
-
import { HelpCircle } from '
|
| 6 |
|
| 7 |
interface LearnPopoverProps {
|
| 8 |
term: string;
|
|
|
|
| 2 |
|
| 3 |
import { useState, useRef, useEffect } from 'react';
|
| 4 |
import Link from 'next/link';
|
| 5 |
+
import { Question as HelpCircle } from '@phosphor-icons/react';
|
| 6 |
|
| 7 |
interface LearnPopoverProps {
|
| 8 |
term: string;
|
bioai-platform/frontend/src/components/SequenceRetrieval.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
import { useRouter } from 'next/navigation';
|
| 6 |
-
import { Search, Dna, LoaderCircle, CheckCircle, AlertCircle, BookOpen, ArrowRight, Beaker } from '
|
| 7 |
import { fadeUp, stagger } from '@/lib/animations';
|
| 8 |
import { fetchSequence, validateSequence, searchSequences } from '@/lib/api';
|
| 9 |
import { extractErrorMessage } from '@/lib/errors';
|
|
|
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
import { useRouter } from 'next/navigation';
|
| 6 |
+
import { MagnifyingGlass as Search, Dna, CircleNotch as LoaderCircle, CheckCircle, WarningCircle as AlertCircle, BookOpen, ArrowRight, Flask as Beaker } from '@phosphor-icons/react';
|
| 7 |
import { fadeUp, stagger } from '@/lib/animations';
|
| 8 |
import { fetchSequence, validateSequence, searchSequences } from '@/lib/api';
|
| 9 |
import { extractErrorMessage } from '@/lib/errors';
|
bioai-platform/frontend/src/components/SequenceTypewriter.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useState, useEffect } from 'react';
|
| 4 |
-
import { Dna } from '
|
| 5 |
|
| 6 |
const SEQUENCES = [
|
| 7 |
{
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useState, useEffect } from 'react';
|
| 4 |
+
import { Dna } from '@phosphor-icons/react';
|
| 5 |
|
| 6 |
const SEQUENCES = [
|
| 7 |
{
|
bioai-platform/frontend/src/components/ThemeToggle.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
-
import { Sun, Moon } from '
|
| 4 |
import { useTheme } from '@/contexts/theme';
|
| 5 |
|
| 6 |
export function ThemeToggle({ compact = false }: { compact?: boolean }) {
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
+
import { Sun, Moon } from '@phosphor-icons/react';
|
| 4 |
import { useTheme } from '@/contexts/theme';
|
| 5 |
|
| 6 |
export function ThemeToggle({ compact = false }: { compact?: boolean }) {
|
bioai-platform/frontend/src/components/TutorialWalkthrough.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState, useEffect, useCallback } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
-
import { X, ChevronLeft, ChevronRight, BookOpen } from '
|
| 6 |
|
| 7 |
const STEPS = [
|
| 8 |
{
|
|
|
|
| 2 |
|
| 3 |
import { useState, useEffect, useCallback } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
+
import { X, CaretLeft as ChevronLeft, CaretRight as ChevronRight, BookOpen } from '@phosphor-icons/react';
|
| 6 |
|
| 7 |
const STEPS = [
|
| 8 |
{
|
bioai-platform/frontend/src/components/phylo/PhyloTreeViewer.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client'
|
| 2 |
|
| 3 |
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
| 4 |
-
import { Search } from '
|
| 5 |
import { ClaySegmented } from '@/components/ui/ClaySegmented'
|
| 6 |
|
| 7 |
// ─── Types ────────────────────────────────────────────────────────────────────
|
|
|
|
| 1 |
'use client'
|
| 2 |
|
| 3 |
import { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
| 4 |
+
import { MagnifyingGlass as Search } from '@phosphor-icons/react'
|
| 5 |
import { ClaySegmented } from '@/components/ui/ClaySegmented'
|
| 6 |
|
| 7 |
// ─── Types ────────────────────────────────────────────────────────────────────
|
bioai-platform/frontend/src/components/pipeline/JobProgress.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { motion } from 'framer-motion';
|
| 4 |
-
import { CheckCircle2, XCircle } from '
|
| 5 |
import { fadeUp, fadeIn } from '@/lib/animations';
|
| 6 |
|
| 7 |
interface Step {
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { motion } from 'framer-motion';
|
| 4 |
+
import { CheckCircle as CheckCircle2, XCircle } from '@phosphor-icons/react';
|
| 5 |
import { fadeUp, fadeIn } from '@/lib/animations';
|
| 6 |
|
| 7 |
interface Step {
|
bioai-platform/frontend/src/components/pipeline/PipelineSelector.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
-
import { Dna, ArrowRight, ChevronRight } from '
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
|
| 8 |
interface PipelineOption {
|
|
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
+
import { Dna, ArrowRight, CaretRight as ChevronRight } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp, stagger, cardHover } from '@/lib/animations';
|
| 7 |
|
| 8 |
interface PipelineOption {
|
bioai-platform/frontend/src/components/primers/PrimerDesigner.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
"use client";
|
| 2 |
import { useState, useRef, useEffect } from "react";
|
| 3 |
-
import { LoaderCircle, Download } from
|
| 4 |
import { downloadTsv } from "@/lib/export-utils";
|
| 5 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 6 |
import { CriticalButton, FlatInput, FlatTextarea } from "@/components/ui";
|
|
|
|
| 1 |
"use client";
|
| 2 |
import { useState, useRef, useEffect } from "react";
|
| 3 |
+
import { CircleNotch as LoaderCircle, Download } from '@phosphor-icons/react';
|
| 4 |
import { downloadTsv } from "@/lib/export-utils";
|
| 5 |
import { useAuditTrail } from "@/hooks/useAuditTrail";
|
| 6 |
import { CriticalButton, FlatInput, FlatTextarea } from "@/components/ui";
|
bioai-platform/frontend/src/components/results/AIInterpretation.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
import { useState, useRef, useCallback } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
-
import { Brain, Loader2, Dna, Search } from '
|
| 7 |
import type { AssembledContext } from '@/types/pipeline';
|
| 8 |
import type { StreamEvent } from '@/types/results';
|
| 9 |
import { interpretStream } from '@/lib/api';
|
|
|
|
| 3 |
import { useState, useRef, useCallback } from 'react';
|
| 4 |
import { useRouter } from 'next/navigation';
|
| 5 |
import { motion } from 'framer-motion';
|
| 6 |
+
import { Brain, CircleNotch as Loader2, Dna, MagnifyingGlass as Search } from '@phosphor-icons/react';
|
| 7 |
import type { AssembledContext } from '@/types/pipeline';
|
| 8 |
import type { StreamEvent } from '@/types/results';
|
| 9 |
import { interpretStream } from '@/lib/api';
|
bioai-platform/frontend/src/components/results/BlastPanel.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
-
import { ChevronDown, ChevronUp, ExternalLink, Download } from '
|
| 6 |
import type { BlastHitSummary } from '@/types/pipeline';
|
| 7 |
import { AlignmentView } from './AlignmentView';
|
| 8 |
import { PairwiseAlignView } from './PairwiseAlignView';
|
|
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion } from 'framer-motion';
|
| 5 |
+
import { CaretDown as ChevronDown, CaretUp as ChevronUp, ArrowSquareOut as ExternalLink, Download } from '@phosphor-icons/react';
|
| 6 |
import type { BlastHitSummary } from '@/types/pipeline';
|
| 7 |
import { AlignmentView } from './AlignmentView';
|
| 8 |
import { PairwiseAlignView } from './PairwiseAlignView';
|
bioai-platform/frontend/src/components/results/PairwiseAlignView.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
-
import { GitCompareArrows, LoaderCircle } from '
|
| 5 |
import { runPairwiseAlignment } from '@/lib/api';
|
| 6 |
import type { BlastHitSummary, PairwiseAlignResult } from '@/types/pipeline';
|
| 7 |
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
+
import { GitMerge as GitCompareArrows, CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 5 |
import { runPairwiseAlignment } from '@/lib/api';
|
| 6 |
import type { BlastHitSummary, PairwiseAlignResult } from '@/types/pipeline';
|
| 7 |
|
bioai-platform/frontend/src/components/results/PathwayDiagram.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useEffect, useRef, useState } from 'react';
|
| 4 |
-
import { LoaderCircle } from '
|
| 5 |
|
| 6 |
interface Props {
|
| 7 |
stId: string;
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { useEffect, useRef, useState } from 'react';
|
| 4 |
+
import { CircleNotch as LoaderCircle } from '@phosphor-icons/react';
|
| 5 |
|
| 6 |
interface Props {
|
| 7 |
stId: string;
|
bioai-platform/frontend/src/components/results/PathwayEnrichment.tsx
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
-
import { GitBranch, ChevronDown, ChevronRight, ExternalLink, AlertCircle, Download } from '
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import type { PathwayEnrichment as PathwayEnrichmentData } from '@/types/pipeline';
|
| 8 |
import { downloadTsv, copyText } from '@/lib/export-utils';
|
|
|
|
| 2 |
|
| 3 |
import { useState } from 'react';
|
| 4 |
import { motion, AnimatePresence } from 'framer-motion';
|
| 5 |
+
import { GitBranch, CaretDown as ChevronDown, CaretRight as ChevronRight, ArrowSquareOut as ExternalLink, WarningCircle as AlertCircle, Download } from '@phosphor-icons/react';
|
| 6 |
import { fadeUp } from '@/lib/animations';
|
| 7 |
import type { PathwayEnrichment as PathwayEnrichmentData } from '@/types/pipeline';
|
| 8 |
import { downloadTsv, copyText } from '@/lib/export-utils';
|
bioai-platform/frontend/src/components/results/PipelineResults.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
"use client";
|
| 2 |
import { useEffect, useState } from "react";
|
| 3 |
import { motion } from "framer-motion";
|
| 4 |
-
import { CheckCircle2, Circle, LoaderCircle, XCircle, ArrowRight, Dna } from
|
| 5 |
import { BlastPanel } from "./BlastPanel";
|
| 6 |
import { ScoreBars } from "./ScoreBars";
|
| 7 |
import { UniprotPanel } from "./UniprotPanel";
|
|
|
|
| 1 |
"use client";
|
| 2 |
import { useEffect, useState } from "react";
|
| 3 |
import { motion } from "framer-motion";
|
| 4 |
+
import { CheckCircle as CheckCircle2, Circle, CircleNotch as LoaderCircle, XCircle, ArrowRight, Dna } from '@phosphor-icons/react';
|
| 5 |
import { BlastPanel } from "./BlastPanel";
|
| 6 |
import { ScoreBars } from "./ScoreBars";
|
| 7 |
import { UniprotPanel } from "./UniprotPanel";
|
bioai-platform/frontend/src/components/results/UniprotPanel.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { motion } from 'framer-motion';
|
| 4 |
-
import { ExternalLink, Box } from '
|
| 5 |
import type { UniprotSummary } from '@/types/pipeline';
|
| 6 |
import { fadeUp, cardHover } from '@/lib/animations';
|
| 7 |
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import { motion } from 'framer-motion';
|
| 4 |
+
import { ArrowSquareOut as ExternalLink, Cube as Box } from '@phosphor-icons/react';
|
| 5 |
import type { UniprotSummary } from '@/types/pipeline';
|
| 6 |
import { fadeUp, cardHover } from '@/lib/animations';
|
| 7 |
|
bioai-platform/frontend/src/components/ui/BackButton.tsx
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import Link from 'next/link';
|
| 4 |
-
import { ArrowLeft } from '
|
| 5 |
|
| 6 |
/**
|
| 7 |
* Navigation affordance used at the top of tool pages to return to the
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
import Link from 'next/link';
|
| 4 |
+
import { ArrowLeft } from '@phosphor-icons/react';
|
| 5 |
|
| 6 |
/**
|
| 7 |
* Navigation affordance used at the top of tool pages to return to the
|
bioai-platform/frontend/src/components/ui/CriticalButton.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
-
import { Loader2 } from '
|
| 4 |
|
| 5 |
/**
|
| 6 |
* Solid, deliberate action button for irreversible / expensive actions
|
|
|
|
| 1 |
'use client';
|
| 2 |
|
| 3 |
+
import { CircleNotch as Loader2 } from '@phosphor-icons/react';
|
| 4 |
|
| 5 |
/**
|
| 6 |
* Solid, deliberate action button for irreversible / expensive actions
|