Samad14 commited on
Commit
349f22c
·
1 Parent(s): 4d6992b

refactor(icons): migrate lucide-react to @phosphor-icons/react, remove dep

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. bioai-platform/frontend/package-lock.json +0 -10
  2. bioai-platform/frontend/package.json +0 -1
  3. bioai-platform/frontend/src/app/(auth)/auth/callback/page.tsx +1 -1
  4. bioai-platform/frontend/src/app/(auth)/auth/page.tsx +1 -1
  5. bioai-platform/frontend/src/app/(dashboard)/analyze/admet/page.tsx +1 -1
  6. bioai-platform/frontend/src/app/(dashboard)/analyze/alignment/page.tsx +1 -1
  7. bioai-platform/frontend/src/app/(dashboard)/analyze/blast/page.tsx +1 -1
  8. bioai-platform/frontend/src/app/(dashboard)/analyze/docking/page.tsx +1 -5
  9. bioai-platform/frontend/src/app/(dashboard)/analyze/domains/page.tsx +1 -1
  10. bioai-platform/frontend/src/app/(dashboard)/analyze/function/page.tsx +1 -1
  11. bioai-platform/frontend/src/app/(dashboard)/analyze/md/page.tsx +1 -1
  12. bioai-platform/frontend/src/app/(dashboard)/analyze/page.tsx +1 -1
  13. bioai-platform/frontend/src/app/(dashboard)/analyze/pathway/page.tsx +1 -1
  14. bioai-platform/frontend/src/app/(dashboard)/analyze/sequencing/page.tsx +1 -1
  15. bioai-platform/frontend/src/app/(dashboard)/analyze/structure/page.tsx +1 -1
  16. bioai-platform/frontend/src/app/(dashboard)/analyze/tools/page.tsx +1 -1
  17. bioai-platform/frontend/src/app/(dashboard)/analyze/uniprot/page.tsx +1 -1
  18. bioai-platform/frontend/src/app/(dashboard)/dashboard/page.tsx +1 -5
  19. bioai-platform/frontend/src/app/(dashboard)/history/page.tsx +1 -1
  20. bioai-platform/frontend/src/app/(dashboard)/jobs/[jobId]/page.tsx +1 -1
  21. bioai-platform/frontend/src/app/(dashboard)/jobs/page.tsx +1 -3
  22. bioai-platform/frontend/src/app/(dashboard)/layout.tsx +3 -15
  23. bioai-platform/frontend/src/app/(dashboard)/learn/page.tsx +3 -6
  24. bioai-platform/frontend/src/app/(dashboard)/report/[jobId]/page.tsx +1 -1
  25. bioai-platform/frontend/src/app/(dashboard)/settings/page.tsx +1 -4
  26. bioai-platform/frontend/src/app/page.tsx +2 -2
  27. bioai-platform/frontend/src/app/shared/[token]/page.tsx +1 -1
  28. bioai-platform/frontend/src/components/AuditInsightPanel.tsx +1 -1
  29. bioai-platform/frontend/src/components/DockingViewer.tsx +1 -4
  30. bioai-platform/frontend/src/components/ErrorBoundary.tsx +1 -1
  31. bioai-platform/frontend/src/components/GuestBanner.tsx +1 -1
  32. bioai-platform/frontend/src/components/InteractionPanel.tsx +1 -1
  33. bioai-platform/frontend/src/components/LearnPopover.tsx +1 -1
  34. bioai-platform/frontend/src/components/SequenceRetrieval.tsx +1 -1
  35. bioai-platform/frontend/src/components/SequenceTypewriter.tsx +1 -1
  36. bioai-platform/frontend/src/components/ThemeToggle.tsx +1 -1
  37. bioai-platform/frontend/src/components/TutorialWalkthrough.tsx +1 -1
  38. bioai-platform/frontend/src/components/phylo/PhyloTreeViewer.tsx +1 -1
  39. bioai-platform/frontend/src/components/pipeline/JobProgress.tsx +1 -1
  40. bioai-platform/frontend/src/components/pipeline/PipelineSelector.tsx +1 -1
  41. bioai-platform/frontend/src/components/primers/PrimerDesigner.tsx +1 -1
  42. bioai-platform/frontend/src/components/results/AIInterpretation.tsx +1 -1
  43. bioai-platform/frontend/src/components/results/BlastPanel.tsx +1 -1
  44. bioai-platform/frontend/src/components/results/PairwiseAlignView.tsx +1 -1
  45. bioai-platform/frontend/src/components/results/PathwayDiagram.tsx +1 -1
  46. bioai-platform/frontend/src/components/results/PathwayEnrichment.tsx +1 -1
  47. bioai-platform/frontend/src/components/results/PipelineResults.tsx +1 -1
  48. bioai-platform/frontend/src/components/results/UniprotPanel.tsx +1 -1
  49. bioai-platform/frontend/src/components/ui/BackButton.tsx +1 -1
  50. 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 'lucide-react';
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 'lucide-react';
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 "lucide-react";
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 'lucide-react';
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 'lucide-react';
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 "lucide-react";
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 "lucide-react";
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 "lucide-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";
 
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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
- strokeWidth={active ? 2 : 1.75}
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" strokeWidth={1.75} />
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 { LucideIcon } from 'lucide-react';
12
  import { PageHeader } from '@/components/ui';
13
 
14
  type Topic = {
15
  id: string;
16
  title: string;
17
  description: string;
18
- icon: LucideIcon;
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 "lucide-react";
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 'lucide-react';
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" strokeWidth={1.8} />
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react'
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 'lucide-react';
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 'lucide-react';
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 "lucide-react";
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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 "lucide-react";
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 'lucide-react';
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 'lucide-react';
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 'lucide-react';
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