diff --git a/apps/sim/app/templates/[id]/template.tsx b/apps/sim/app/templates/[id]/template.tsx index 82383b102c..a6fd4678bb 100644 --- a/apps/sim/app/templates/[id]/template.tsx +++ b/apps/sim/app/templates/[id]/template.tsx @@ -4,55 +4,17 @@ import { useEffect, useState } from 'react' import { formatDistanceToNow } from 'date-fns' import { ArrowLeft, - Award, - BarChart3, - Bell, - BookOpen, - Bot, - Brain, - Briefcase, - Calculator, + ChartNoAxesColumn, ChevronDown, - Clock, - Cloud, - Code, - Cpu, - CreditCard, - Database, - DollarSign, - Eye, - FileText, - Folder, Globe, - HeadphonesIcon, - Layers, - Lightbulb, - LineChart, Linkedin, Mail, - Megaphone, - MessageSquare, - NotebookPen, - Phone, - Play, - Search, - Server, - Settings, - ShoppingCart, Star, - Target, - TrendingUp, - Twitter, User, - Users, - Workflow, - Wrench, - Zap, } from 'lucide-react' import { useParams, useRouter, useSearchParams } from 'next/navigation' import ReactMarkdown from 'react-markdown' -import { Badge } from '@/components/ui/badge' -import { Button } from '@/components/ui/button' +import { Button } from '@/components/emcn' import { DropdownMenu, DropdownMenuContent, @@ -69,47 +31,6 @@ import { getBlock } from '@/blocks/registry' const logger = createLogger('TemplateDetails') -// Icon mapping -const iconMap = { - FileText, - NotebookPen, - BookOpen, - BarChart3, - LineChart, - TrendingUp, - Target, - Database, - Server, - Cloud, - Folder, - Megaphone, - Mail, - MessageSquare, - Phone, - Bell, - DollarSign, - CreditCard, - Calculator, - ShoppingCart, - Briefcase, - HeadphonesIcon, - Users, - Settings, - Wrench, - Bot, - Brain, - Cpu, - Code, - Zap, - Workflow, - Search, - Play, - Layers, - Lightbulb, - Globe, - Award, -} - interface TemplateDetailsProps { isWorkspaceContext?: boolean } @@ -313,7 +234,7 @@ export default function TemplateDetails({ isWorkspaceContext = false }: Template return (
Loading template...
+Loading template...
The template you're looking for doesn't exist.
++ The template you're looking for doesn't exist. +
- {template.details.tagline} -
- )} - {/* Tags */} - {template.tags && template.tags.length > 0 && ( -+ {template.details.tagline} +
+ )} - {/* Author Type - show if organization */} - {template.creator?.referenceType === 'organization' && ( -+ Credentials needed:{' '} + {template.requiredCredentials + .map((cred: CredentialRequirement) => { const blockName = getBlock(cred.blockType)?.name || cred.blockType.charAt(0).toUpperCase() + cred.blockType.slice(1) const alreadyHasBlock = cred.label .toLowerCase() .includes(` for ${blockName.toLowerCase()}`) - const text = alreadyHasBlock ? cred.label : `${cred.label} for ${blockName}` - return
+
{children}
), h1: ({ children }) => ( -
+
{children}
) : (
-
+
{children}
),
@@ -924,19 +834,17 @@ export default function TemplateDetails({ isWorkspaceContext = false }: Template
href={href}
target='_blank'
rel='noopener noreferrer'
- className='text-[#3B82F6] underline-offset-2 transition-colors hover:text-[#60A5FA] hover:underline dark:text-[#60A5FA] dark:hover:text-[#93C5FD]'
+ className='text-blue-600 underline-offset-2 transition-colors hover:text-blue-500 hover:underline dark:text-blue-400 dark:hover:text-blue-300'
>
{children}
),
strong: ({ children }) => (
-
+
{children}
),
- em: ({ children }) => (
- {children}
- ),
+ em: ({ children }) => {children},
}}
>
{template.details.about}
@@ -945,17 +853,21 @@ export default function TemplateDetails({ isWorkspaceContext = false }: Template
- {template.creator.details.about} -
- )} + {/* Creator details */} ++ {children} +
+ ), + a: ({ href, children }) => ( + + {children} + + ), + strong: ({ children }) => ( + + {children} + + ), + }} + > + {template.creator.details.about} +- {description} -
-+
Grab a template and start building, or make one from scratch.
- {emptyState.title} -
-- {emptyState.description} -
+{emptyState.title}
+{emptyState.description}