Skip to content
Library

Widget: recent work

One photo as a small card, with a gradient fade and the caption, title and place over it at the bottom, and a link to the gallery. Dark on the photo in both schemes. Medium or small.

ComponentWidgets

Live preview

Variant
Scheme
Width
Motion

Recent work

Hillcrest terrace, finished in June

Draper, a paver patio and two seat walls

etchpress.com/library/widget-work
Widget: recent work

What you can build with it

The latest finished job beside the hours, the rating and a stat. A photo tile that opens the gallery. A before-and-after teaser on a service page. One strong image in a band of quiet tiles.

Props

image (image URL); alt (text); caption (text); title (text); where (text, optional); linkLabel and linkHref (optional); size (select: medium, small)

States shown

Rest; the link's hover, focus and press; the scrim and light text hold in both schemes; small. Nothing moves under reduced motion.

How to change it

Content and options are 8 props in the component's settings panel. Colour, type, spacing and radius follow your Automatic.css settings, so a change to the site's palette or scale changes this too. For anything else, edit the classes in the Style Manager, starting with .widget, .widget-work.

ACSS tokens used

space-s, space-xs, text-s, text-m, radius, primary-light, text-light, text-light-muted, neutral-ultra-dark, black, box-shadow-1, focus tokens; –ep-font-mono with a fallback.

ACSS requirements

ACSS 4 defaults. Nothing to switch on. Give the image real alt text when it shows the work.

Version history

Version 1.0.0, September 30, 2026: First release, part of the widget family built under the component-systems contract.

Tested with

Etch 1.6.7 and ACSS 4.0.1. Version 1.0.0.

Lifetime members

Members copy this straight into Etch, ready to paste.

Used an earlier version? How to update it

Get lifetime access
Other builders

Want EtchPress for Bricks or the block editor?

Everything here is made for Etch. Pick the builder you use and leave your email: we write once, when EtchPress works there.

This field is required.