diff --git a/frontend/src/app/(dashboard)/model-pricing/page.tsx b/frontend/src/app/(dashboard)/model-pricing/page.tsx index 6d57383b..8f367e4a 100644 --- a/frontend/src/app/(dashboard)/model-pricing/page.tsx +++ b/frontend/src/app/(dashboard)/model-pricing/page.tsx @@ -1,6 +1,5 @@ 'use client'; -import { SectionHeader } from '@/components/home/section-header'; import { AlertCircle, Clock, @@ -86,6 +85,60 @@ const exampleTasks = [ duration: '14 minutes', originalModel: 'claude-sonnet-4', }, + { + name: 'Startup Pitch Deck', + complexity: 'Standard Complexity', + complexityVariant: 'secondary' as const, + inputTokens: 169175, + outputTokens: 10263, + duration: '5 minutes', + originalModel: 'claude-sonnet-4', + }, + { + name: 'Health Tracking Dashboard', + complexity: 'Standard Complexity', + complexityVariant: 'secondary' as const, + inputTokens: 110952, + outputTokens: 5639, + duration: '3 minutes', + originalModel: 'claude-sonnet-4', + }, + { + name: 'Recommendation Engine', + complexity: 'Complex', + complexityVariant: 'destructive' as const, + inputTokens: 4220364, + outputTokens: 21733, + duration: '25 minutes', + originalModel: 'claude-sonnet-4', + }, + { + name: 'Automated ETL Pipeline', + complexity: 'Complex', + complexityVariant: 'destructive' as const, + inputTokens: 2513197, + outputTokens: 78438, + duration: '32 minutes', + originalModel: 'claude-sonnet-4', + }, + { + name: 'Automated Code Reviewer', + complexity: 'Complex', + complexityVariant: 'destructive' as const, + inputTokens: 1707944, + outputTokens: 79117, + duration: '29 minutes', + originalModel: 'claude-sonnet-4', + }, + { + name: 'Risk Assessment', + complexity: 'Complex', + complexityVariant: 'destructive' as const, + inputTokens: 693487, + outputTokens: 43371, + duration: '15 minutes', + originalModel: 'claude-sonnet-4', + }, ]; export default function PricingPage() { @@ -99,6 +152,7 @@ export default function PricingPage() { const [selectedModelId, setSelectedModelId] = useState( 'anthropic/claude-sonnet-4-20250514', ); + const [showAllTasks, setShowAllTasks] = useState(false); // Filter to only show models that have pricing information available const models = @@ -258,65 +312,80 @@ export default function PricingPage() { {/* Example Tasks Grid */}
- {exampleTasks.map((task, index) => { - const calculatedCost = selectedModel - ? calculateCost( - task.inputTokens, - task.outputTokens, - selectedModel, - ) - : null; + {(showAllTasks ? exampleTasks : exampleTasks.slice(0, 3)).map( + (task, index) => { + const calculatedCost = selectedModel + ? calculateCost( + task.inputTokens, + task.outputTokens, + selectedModel, + ) + : null; - return ( -
-
-

- {task.name} -

-
-
-
- Model: - - {selectedModel?.display_name || task.originalModel} - + return ( +
+
+

+ {task.name} +

-
- - Input Tokens: - - {task.inputTokens.toLocaleString()} -
-
- - Output Tokens: - - {task.outputTokens.toLocaleString()} -
- {/*
+
+
+ Model: + + {selectedModel?.display_name || task.originalModel} + +
+
+ + Input Tokens: + + {task.inputTokens.toLocaleString()} +
+
+ + Output Tokens: + + {task.outputTokens.toLocaleString()} +
+ {/*
Duration: {task.duration}
*/} -
- Cost: - {calculatedCost !== null ? ( - - ${calculatedCost.toFixed(2)} - - ) : ( - - Select model above - - )} +
+ Cost: + {calculatedCost !== null ? ( + + ${calculatedCost.toFixed(2)} + + ) : ( + + Select model above + + )} +
-
- ); - })} + ); + }, + )}
+ + {/* Show More/Less Button */} + {exampleTasks.length > 3 && ( +
+ +
+ )}