Skip to main content
Clever Ops

Job Timeline

Renovation job timeline React block, week-by-week phases on a vertical spine with mono date windows and heads-up disruption notes. Tailwind, plain-spoken.

Preview & code

Loading Job Timeline preview

Installation

pnpm dlx shadcn@latest add @cleverui/trade-job-timeline

Requires the @cleverui registry in your components.json, a one-off, two-line setup.

Usage

tsx
import { TradeJobTimeline } from '@/components/blocks/trade-job-timeline'
Exampletsx
import { TradeJobTimeline } from '@/components/blocks/trade-job-timeline'

export default function TradeJobTimelineDemo() {
  return (
    <div className="mx-auto max-w-3xl px-4 py-6 sm:px-6">
      <TradeJobTimeline
        heading="What the job looks like"
        intro="A full bathroom renovation runs three weeks. Here's where each one goes."
        phases={[
          {
            window: 'Week 1',
            title: 'Strip-out & rough-in',
            detail:
              'We protect floors, strip the old room, and set new waste and water points to plan.',
            headsUp: 'Water off for the house Tuesday 9am–11am.',
          },
          {
            window: 'Week 2',
            title: 'Waterproof & tile',
            detail:
              'Membrane cured and inspected, then wall and floor tiles set to the layout you signed off.',
            headsUp: 'No access through the ensuite door while adhesives cure overnight.',
          },
          {
            window: 'Days 12–14',
            title: 'Fit-off',
            detail:
              'Vanity, shower screen, tapware, and lights go in. Grout and silicone finish the wet areas.',
          },
          {
            window: 'Week 3',
            title: 'Paint, clean, commission',
            detail:
              'Final paint touch-ups, full clean, and every tap and waste tested under pressure.',
            headsUp: 'Trades on site Monday–Wednesday; driveway blocked for the skip until Wednesday noon.',
          },
        ]}
        done={{
          title: 'Final walkthrough',
          detail: 'We walk every job with you before we invoice, snags fixed the same week.',
        }}
        note="Weather and asbestos are the two things that move dates. We call you the same day either shows up."
      />
    </div>
  )
}

API reference

TradeJobTimeline accepts the following props.

PropTypeDefaultDescription
headingstring'What the job looks like'
introstringone plain sentence under the heading
phases*TradeJobPhase[]3–6 phases in order
done{ title: string; detail?: string }{ title: 'Final walkthrough', detail: 'We walk every job with you before we invoice.', }completion node at the foot of the spine
notestringclosing line about what moves dates

…plus everything from React.HTMLAttributes<HTMLElement>: className, event handlers, aria attributes and the rest pass straight through.

Referenced types

Typestsx
export interface TradeJobPhase {
  /** preformatted window, e.g. "Week 1" or "Days 1-2" */
  window: string
  title: string
  /** one plain sentence */
  detail: string
  /** disruption warning, e.g. "Water off for two hours Tuesday" */
  headsUp?: string
}

Frequently asked questions

How do I install the Job Timeline component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/trade-job-timeline`. The shadcn CLI copies the source into your project, you own the code from that point. You can also copy the source directly from this page.

What dependencies does Job Timeline require?

Job Timeline uses motion and lucide-react on top of React and Tailwind CSS. You don't need to install them manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Job Timeline to match my brand?

Yes. The component is styled entirely with Tailwind utilities over standard design tokens (primary, background, muted, border), so it inherits your existing shadcn/ui theme automatically. Change your CSS variables and the component follows, no source edits needed for palette, radius, or fonts.

Want this built for you?

CleverUI is built by the Clever Ops web team. If you'd rather ship a hand-coded, fast, custom website than assemble one, we build them for Australian businesses every week.

Explore web development services