Skip to content

pastetaste

Savings Calculator

FormsDataInteraction

Two-card ROI calculator: hours and hourly-cost sliders plus a plan switch, with live monthly savings, net per month, setup, payback time and first-year result.

Paste it into Claude Code: it installs the component, asks for your brand and content, and places it on the page you name.

Install

Or by hand, in a Next.js project with shadcn set up. It writes components/pastetaste/savings-calculator.tsx.

npx shadcn@latest add https://pastetaste.com/r/savings-calculator.json

Prompt

Install the pastetaste component "Savings Calculator" (savings-calculator) into this Next.js project and use it.

What it is: Two-card ROI calculator: hours and hourly-cost sliders plus a plan switch, with live monthly savings, net per month, setup, payback time and first-year result.

Before you place it, ask me (one short message, in my language; "skip" = sensible default): which page and section it goes in, my brand colour (hex), the text, labels or images it should show, and whether I want my logo or my own copy in the demo content. Then:

Steps:
1. If the project has no components.json, run: npx shadcn@latest init -y -d. Then run: npx shadcn@latest add https://pastetaste.com/r/savings-calculator.json
   (it writes components/pastetaste/savings-calculator.tsx; install any npm packages it reports).
2. Import it: import { SavingsCalculator } from "@/components/pastetaste/savings-calculator" (check the file for the exact named export).
3. Put it where it fits on the page I name, keep the rest of the page untouched, and pass props for my colours instead of editing the installed file.
4. It does not depend on Tailwind; colours come from CSS variables (--pt-*) or props.
5. It supports prefers-reduced-motion with a still state; do not remove it.

Props (all optional unless the type has no default):
- plans: { key: string; label: string; price: number; setup: number }[] — Plans in the switch: monthly price and one-off setup.
- share: number = 0.7 — Share of the manual hours removed, 0 to 1.
- weeksPerMonth: number = 4.33 — Weeks per month used for the maths.
- defaultHours / defaultRate: number = 30 / 35 — Initial slider values.
- hoursRange / rateRange: [number, number] = [2, 120] / [12, 120] — Slider limits.
- currency: string = '$' — Currency symbol.
- action: ReactNode — Call to action at the bottom of the result card.

Live preview: https://pastetaste.com/c/savings-calculator
Then run the dev server, check it in the browser at desktop and mobile width, and tell me the page URL.

Props 7

PropTypeDefaultDescription
plans{ key: string; label: string; price: number; setup: number }[]-Plans in the switch: monthly price and one-off setup.
sharenumber0.7Share of the manual hours removed, 0 to 1.
weeksPerMonthnumber4.33Weeks per month used for the maths.
defaultHours / defaultRatenumber30 / 35Initial slider values.
hoursRange / rateRange[number, number][2, 120] / [12, 120]Slider limits.
currencystring'$'Currency symbol.
actionReactNode-Call to action at the bottom of the result card.
View all →