Skip to main content

Overview

Ana’s Supplements is a custom EverShop theme designed for a health supplements store. It features a clean, modern design with a green/mint color scheme and Spanish language support.
This theme is located at themes/anasuplements/ and is activated in config/default.json.

Brand Colors

The theme uses a consistent color palette throughout:

Color Usage Example

Theme Structure

Global Components

These components appear on every page. The header provides navigation, cart, and account access. Location: src/pages/all/Header.tsx
Features:
  • Responsive design with mobile menu support
  • Dynamic category navigation
  • Shopping cart and account access
  • Branded color scheme
Multi-column footer with links and newsletter signup. Location: src/pages/all/Footer.tsx Key Sections:
  1. About - Store description
  2. Quick Links - Catalog, Account, Cart
  3. Customer Service - Contact, Shipping, Returns
  4. Newsletter - Email subscription form
The footer includes dynamic year using new Date().getFullYear() for automatic copyright updates.

Homepage Components

Hero Section

Location: src/pages/homepage/Hero.tsx
Sort Order: 1 (renders first)
Features:
  • Large, centered headline
  • Descriptive subtitle
  • Two call-to-action buttons (primary and secondary styles)
  • Responsive text sizing (text-4xl md:text-5xl)

Features Section

Location: src/pages/homepage/Features.tsx
Sort Order: 5
Highlights four key benefits with icons:
  1. Calidad Garantizada - Quality assurance
  2. Envío Rápido - Fast shipping (24-48 hours)
  3. Asesoría Personalizada - Expert advice
  4. Natural y Orgánico - Natural ingredients
Features:
  • Responsive grid (1 column → 2 → 4)
  • Circular icon containers
  • Light green background (#E8F5E9)
Location: src/pages/homepage/FeaturedProducts.tsx
Sort Order: 10
Displays a grid of featured products with custom ProductCard component.
Sample Products:
The product list is currently static for demonstration. In production, this would fetch real products via GraphQL.

Account Pages

Login Form

Location: src/pages/account/Login.tsx
Features:
  • Email and password fields
  • “Remember me” checkbox
  • Forgot password link
  • Link to registration page

Registration Form

Location: src/pages/account/Register.tsx Form Fields:
  • First name and last name (side by side)
  • Email address
  • Password (minimum 8 characters)
  • Password confirmation
  • Newsletter opt-in checkbox
  • Terms & conditions acceptance (required)

Account Dashboard

Location: src/pages/account/Dashboard.tsx The dashboard displays user information and recent orders using GraphQL data.
GraphQL Query:
Dashboard Sections:
  1. Quick Actions (3-column grid)
    • Mis Pedidos - View all orders
    • Mis Direcciones - Manage shipping addresses
    • Mi Perfil - Update account information
  2. Recent Orders
    • Last 3 orders displayed
    • Order number, date, total, and status
    • Status badges (delivered, processing, pending)
    • Link to view all orders
Order status is displayed with color-coded badges for visual clarity:
  • Green for “Entregado” (delivered)
  • Yellow for “Procesando” (processing)
  • Gray for “Pendiente” (pending)

Styling Patterns

Buttons

The theme uses two button styles:

Cards

Form Inputs

Responsive Grids

Configuration

Activate Theme

In config/default.json:

Language Support

All text content is in Spanish:

Development

Build Theme

This compiles TypeScript files from src/ to dist/.

Development Mode

Enables hot-reload for rapid iteration.

File Locations

Customization Guide

Change Brand Colors

Replace hex codes throughout the theme:

Add New Homepage Section

  1. Create component file:
  2. Implement component:
  3. Rebuild theme:

Modify Header Navigation

Pass categories data to the Header component via props or GraphQL query.

Best Practice

Keep theme components purely presentational. Fetch data using GraphQL queries and pass it as props.

Next Steps

Theme Overview

Learn theme fundamentals

Tailwind Styling

Master utility-first CSS

GraphQL Queries

Fetch data in components

Extensions

Add business logic