Overview

What's in the box.

Format
React
5 more on their own pages
Files
Full source
code + documentation
License
Personal
1 commercial site
Updates
Lifetime
free, for your format
Support
Same day
business days, 9am–6pm ET
Delivery
Instant
download after checkout

Tenebra React is a React photography portfolio template, made for fine art photographers and print shops. It rebuilds the Tenebra design as a React 18 app with Vite. Every page is a function component, and React Router moves between all 33 pages without a reload.

The look and the content match the Tenebra demo. Underneath, the print, sitting & shop logic runs in React state. That covers every print in three sizes and each size its own numbered edition with the numbers left, and the page updates the moment a visitor changes an option.

Three Home Pages As Components

  • The Studio – a hero slider of works, portraits and still lifes, four tall works.
  • The Editions – prints in small editions with the numbers left on each, the price ladder.
  • The Gallery – a side menu beside a split hero, portraits and still lifes.

Print, Sitting & Shop Pages In React

  • Print Details – size, paper, frame and mat with the framed preview, the price line by line.
  • Edition Register – every editioned work, size by size, with the sold.
  • Print Shop – series, subject, size and price filters, sort by price, newest or fewest left, search.
  • Portrait Sittings & Book A Sitting – four kinds of sitting, the light by season, and a four-step booking.
  • Proofing Gallery – the sitter’s proofs to tick.
  • Series & Exhibitions – the six series and the exhibitions sorted into on now.

React Photography Portfolio Template Features

  • React 18 function components and hooks across 33 pages
  • Vite for a fast dev server and an optimised production build
  • React Router routes for every page, including the three home pages
  • Cart, theme and language state shared through React Context
  • Light and dark mode on one switch, remembered between visits
  • Right-to-left layouts for every page
  • Responsive from phones to wide screens
  • Documentation for setup, structure and changes

Getting Started

First, install Node 18 or newer. Then run npm install and npm run dev to open the site locally. When it is ready, npm run build writes static files that any host can serve.

Looking for this React photography portfolio template in another stack? Tenebra also comes as HTML5, Vue, Angular and WordPress. You can get every format in the developer bundle at 20% off, or browse more Photography React templates.

Built with React and Vite, with Old Standard TT and Open Sans from Google Fonts.

Buyer’s guideArt Gallery Website Template: Complete Buyer’s Guide (2026) — see how React Photography Portfolio Template compares with the alternatives.

Changelog · 1 version

What's changed.

  • Initial release.
  • React 18 + Vite build with 33 page components
  • React Router routes and shared state in React Context
  • Documentation included
Customer reviews

What customers actually said.

Reviews

There are no reviews yet.

Be the first to review “React Photography Portfolio Template – Tenebra”

Need React Photography Portfolio Template installed or customized?

Fixed prices, done by the developers who built this template. Pick a service and we take it from there.

  • Theme installation
  • Color scheme customization
  • Speed optimization
  • 1-hour web development
See studio services
React Photography Portfolio Template – Tenebra
$18 · React