Skip to content

Features Component

Showcase component for highlighting key product features. Displays features in a responsive grid with icons, titles, and descriptions.

Overview

The Features component creates an engaging features section that showcases your product's key capabilities. It's designed to communicate value propositions clearly and convert visitors into users.

Preview

Features Component Preview

Basic Usage

vue
<template>
  <section id="features">
    <Features />
  </section>
</template>

<script setup lang="ts">
import Features from '@/components/Features.vue'
</script>

Features

  • Responsive Grid - Adapts from 1 to 3 columns based on screen size
  • Icon Integration - Uses icon library for visual consistency
  • Animation Support - Scroll-triggered animations
  • Internationalization - Full i18n support
  • Customizable Layout - Easy to modify feature list

Component Structure

vue
<template>
  <div class="features-section">
    <!-- Section Header -->
    <div class="text-center mb-12">
      <h2>{{ $t('features.title') }}</h2>
      <p>{{ $t('features.subtitle') }}</p>
    </div>
    
    <!-- Features Grid -->
    <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
      <div v-for="feature in features" :key="feature.id" class="feature-card">
        <Icon :name="feature.icon" />
        <h3>{{ feature.title }}</h3>
        <p>{{ feature.description }}</p>
      </div>
    </div>
  </div>
</template>

Default Features

The component typically includes features like:

  1. Authentication - Secure user management
  2. Payment Processing - Stripe integration
  3. Email System - Transactional emails
  4. Database - Supabase integration
  5. UI Components - Pre-built components
  6. SEO Ready - Optimized for search engines

Internationalization

Configure feature content in your i18n files:

json
{
  "features": {
    "title": "Powerful Features",
    "subtitle": "Everything you need to build your SaaS",
    "auth": {
      "title": "Authentication",
      "description": "Secure user management with OAuth and magic links"
    },
    "payments": {
      "title": "Payments",
      "description": "Stripe integration with subscriptions and invoices"
    }
  }
}

Customization

Adding New Features

typescript
const features = [
  {
    id: 'custom-feature',
    icon: 'heroicons:star',
    title: 'Custom Feature',
    description: 'Your custom feature description'
  }
]

Changing Layout

Modify the grid classes to change the layout:

vue
<!-- 4 columns on large screens -->
<div class="grid md:grid-cols-2 lg:grid-cols-4 gap-6">

Animation

The component supports scroll-triggered animations using libraries like AOS or custom intersection observers.

Built with love by mhdevfr