Portfolio Under Construction
A centered personal placeholder page for a portfolio site that's still being built. Shows an oversized name heading, a role/tagline line, a pill-shaped mailto contact button, a row of social links, and an availability status line with a small pulsing dot.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/portfolio-under-construction.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/coming-soon/comingsoon60.tsx instead.
Usage
The file also exports comingsoon60Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { ComingSoon60, comingsoon60Demo } from "@/components/blocks/coming-soon/comingsoon60"; export default function Page() { return <ComingSoon60 {...comingsoon60Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | "(portfolio under construction)" | Monospace label above the name. |
| name | string | none | Oversized name heading. |
| role | string | none | Role/tagline line under the name. |
| string | none | Address used to build the mailto: contact button. | |
| socialLinks | PortfolioSocialLink[] | none | Icon-only social links rendered below the contact button. |
| availabilityLabel | string | "Open to new projects" | Text next to the pulsing availability dot. |
| className | string | none | Extra classes for the outer section element. |
Types
interface PortfolioSocialLink { label: string; href: string; icon: "twitter" | "github" | "linkedin"; }
Behavior notes
- Plain Server Component: the contact button is a real mailto: link and the social icons are real external links (target="_blank"), but nothing sends data or holds state, there is no client-side behavior at all.
- The availability dot's pulse is CSS-only (animate-pulse), it does not reflect any real-time status.
- Icon-only social buttons each get an aria-label from the link's label, since they render no visible text.
More Coming Soon Blocks
View all →countdown-timer-launch
Countdown Timer Launch
A centered launch page with a live days/hours/minutes/seconds countdown to a target date.
development-progress-milestones
Development Progress Milestones
A centered launch page with an overall progress bar and a milestone tracker list with status badges.
social-connect-launch
Social Connect Launch
A centered coming-soon page with pill-style outline buttons linking out to Twitter, GitHub, LinkedIn, and email.
animated-icons-preview
Animated Icons Preview
A centered coming-soon page with a row of bobbing icon tiles and a pulsing build-status indicator.
sneak-peek-feature-grid
Sneak Peek Feature Grid
A centered coming-soon page with a grid of blurred feature cards teased behind a lock icon overlay.
waitlist-with-avatars
Waitlist with Avatars
A centered coming-soon page with a working waitlist signup form, stacked subscriber avatars, and a live join count.