Overview
TheService interface represents a product or service offering in the VENCOL catalog. It provides comprehensive data for displaying solutions in both listing and detail views, including descriptions, features, images, and icons.
Type Definition
source/types.ts:19-33
Properties
Unique identifier for the service. Used for React keys and data lookups.
URL-friendly identifier for routing (e.g.,
"bolsas-termoencogibles-cryovac" becomes /soluciones/bolsas-termoencogibles-cryovac).Full display title of the service shown in detail pages and cards.
Short description displayed in listing cards and previews. Keep concise (1-2 sentences).
Extended description with detailed information about the service, displayed on the detail page.
First section subtitle in the detail view for organizing content into themed sections.
Content for the first subtitle section, providing detailed information about that aspect.
Second section subtitle in the detail view for additional content organization.
Content for the second subtitle section with complementary information.
React component reference from
lucide-react library. Used for visual representation in cards and menus.Common icons: Package, Layers, Droplets, Tag, PenToolArray of key features or benefits. Each string represents one bullet point.
Array of image URLs for the service. First image typically used as hero, others in gallery.
Shortened title for dropdown menus and navigation where space is limited.
Usage Examples
Complete Service Definition
Here’s a real example of a service object from the VENCOL application:source/data/data.tsx:276-299
Service Array for Solutions Catalog
source/data/solutions.tsx:4-85
Rendering Service in Dropdown Menu
source/components/Navbar.tsx:78-87
Using Icon Component
Icon Reference
Common Lucide icons used in the VENCOL services:- Package - Bolsas termoencogibles
- Layers - Film de empaque termoformado
- Droplets - Absorbentes tipo almohadilla
- Tag - Foils para etiquetas
- PenTool - Foils de marcación
lucide-react:
Content Strategy
Description vs Long Description
Description vs Long Description
- description: 1-2 sentences, focusing on key benefits (shown in cards)
- longDescription: 2-3 paragraphs with technical details and use cases (shown on detail page)
Organizing Subtitles
Organizing Subtitles
Use subtitle sections to break down complex product information:
- subtitle1: Often focuses on technical capabilities
- subtitle2: Often focuses on business benefits or applications
Feature Best Practices
Feature Best Practices
- Keep each feature to one line if possible
- Lead with benefit, follow with technical detail
- Use 4-6 features for optimal readability
- Format consistently (e.g., all start with action verbs)
Image Guidelines
Image Guidelines
- First image in array is typically the hero/primary image
- Include 2-4 images total
- Use high-quality product photography
- Ensure images are web-optimized (WebP format recommended)
Related Types
- NavLink - Used for simple navigation items
- BlogPost - Similar content structure for blog articles
TypeScript Notes
- All fields are required (no optional properties)
- The
iconproperty requires a React component type fromlucide-react - Arrays (
features,images) can be empty but should be defined - The
LucideIcontype is imported from"lucide-react"