Skip to contentVibraUI
5 pagesopens at /real-estate

Real estate

An agency's book: the listings, the agents holding them and the viewings booked this month.

Preview
/real-estate

Install

The whole dashboard — every page under one sidebar, the sample data they read — is one command. Or take a page at a time: each one brings the sidebar with it.

npx shadcn@latest add @vibra/real-estate
  • /real-estateReal estate dashboard
    npx shadcn@latest add @vibra/real-estate-overview
  • /real-estate/listingsListing book
    npx shadcn@latest add @vibra/real-estate-listings
  • /real-estate/listings/[id]Listing page
    npx shadcn@latest add @vibra/real-estate-listing
  • /real-estate/agentsAgents
    npx shadcn@latest add @vibra/real-estate-agents
  • /real-estate/viewingsViewings agenda
    npx shadcn@latest add @vibra/real-estate-viewings

Widgets

Single cards cut from these pages, each installed on its own.

  • The Listings headline card
    npx shadcn@latest add @vibra/widget-real-estate-overview-listing-stats
    From Real estate dashboard

    Listings headline

    Listings on the market and how many are under offer, the month's enquiries against the same days of the last, the quarter's closings and the commission they earned; reads listingStats().

  • The Performance card
    npx shadcn@latest add @vibra/widget-real-estate-overview-performance-chart
    From Real estate dashboard

    Performance

    Closings against viewings by week, month or year, as the reader switches; reads performance().

  • The Spotlight card
    npx shadcn@latest add @vibra/widget-real-estate-overview-spotlight-card
    From Real estate dashboard

    Spotlight

    The listing with the most enquiries — its facts, a month of its daily views and its agent's book — drawn with the kit rather than photographed; reads spotlight().

  • The Closed vs in progress card
    npx shadcn@latest add @vibra/widget-real-estate-overview-closed-band
    From Real estate dashboard

    Closed vs in progress

    What has closed against the whole book as one band, and what is still being worked beside it; reads closedBand().

  • The Viewings card
    npx shadcn@latest add @vibra/widget-real-estate-overview-viewings-list
    From Real estate dashboard

    Viewings

    The booked viewings, soonest first — the date, the listing and the agent showing it — three at first and the rest folded out in place; reads viewings().

  • The Agents card
    npx shadcn@latest add @vibra/widget-real-estate-overview-agents-list
    From Real estate dashboard

    Agents

    Everyone holding a listing, the city most of their book is in and a number to call; reads agents().

  • The Sales by channel card
    npx shadcn@latest add @vibra/widget-real-estate-overview-sales-by-channel
    From Real estate dashboard

    Sales by channel

    The quarter's closings by the channel that brought the buyer, as a ring with a count a channel under it; reads salesByChannel().

  • The Portfolio card
    npx shadcn@latest add @vibra/widget-real-estate-overview-portfolio-card
    From Real estate dashboard

    Portfolio

    The whole book by status as one bar, and what is listed and what has sold with their shares; reads portfolio().

  • The Active listings card
    npx shadcn@latest add @vibra/widget-real-estate-overview-listings-table
    From Real estate dashboard

    Active listings

    Every listing still on the market, newest first, with its kind, city, price, status and agent — searchable by title or city, filtered by kind, sortable and paged; reads activeRows().

  • The Viewing calendar card
    npx shadcn@latest add @vibra/widget-real-estate-overview-viewing-calendar
    From Real estate dashboard

    Viewing calendar

    The month with a count on every day that has a viewing booked, and the picked day's viewings under it; reads viewings().

  • The Book figures card
    npx shadcn@latest add @vibra/widget-real-estate-listings-book-figures
    From Listing book

    Book figures

    What is on the market and under offer, what it asks and the median ask, what has closed — sold and let — and the enquiry rate its views turned into; reads bookTotals().

  • The Listing facts card
    npx shadcn@latest add @vibra/widget-real-estate-listing-facts-panel
    From Listing page

    Listing facts

    The listing drawn with the kit rather than photographed — its kind's glyph, the asking price, the price per square metre against its city's median and the rest of what the row records; reads listingRecord(id).

  • The Interest by week card
    npx shadcn@latest add @vibra/widget-real-estate-listing-interest-chart
    From Listing page

    Interest by week

    The listing's views and the enquiries they turned into, week by week over the last twelve complete weeks of its life; reads listingRecord(id).

  • The Price history card
    npx shadcn@latest add @vibra/widget-real-estate-listing-price-history
    From Listing page

    Price history

    The asking price from the day it was listed, each cut with its size, and the closing once there is one; reads listingRecord(id).

  • The Deal card
    npx shadcn@latest add @vibra/widget-real-estate-listing-deal-card
    From Listing page

    Deal

    Where the deal stands and the two verbs that move it — an offer taken, and a sale — each written through the server, a refusal marked with its reason; reads listingRecord(id).

  • The Listing agent card
    npx shadcn@latest add @vibra/widget-real-estate-listing-agent-card
    From Listing page

    Listing agent

    The agent holding the listing — a face, a number to call and an address to write to — and their book this year; reads listingRecord(id).

  • The Next viewing card
    npx shadcn@latest add @vibra/widget-real-estate-listing-viewing-card
    From Listing page

    Next viewing

    The next viewing booked on the listing and who is showing it, or that a closed listing has none; reads listingRecord(id).

  • The Agency figures card
    npx shadcn@latest add @vibra/widget-real-estate-agents-agent-figures
    From Agents

    Agency figures

    The agents holding listings and the cities they cover, what is on the market, what closed this year — sold and let — and the enquiries every listing drew; reads agencyTotals(agents).

  • The Viewing figures card
    npx shadcn@latest add @vibra/widget-real-estate-viewings-viewing-figures
    From Viewings agenda

    Viewing figures

    The viewings booked in the next four weeks, those in the next seven days, the busiest day and the agents showing; reads viewingRows().

  • The Viewing days card
    npx shadcn@latest add @vibra/widget-real-estate-viewings-viewings-calendar
    From Viewings agenda

    Viewing days

    The four weeks as a month, every day with a viewing marked with how many, and how many the picked day holds; reads viewingRows().

  • The Viewing agenda card
    npx shadcn@latest add @vibra/widget-real-estate-viewings-viewings-agenda
    From Viewings agenda

    Viewing agenda

    The next four weeks day by day — the time, the listing, where it is and who is showing it — each viewing moved to another slot through the server; reads viewingRows().

Reads from db

Every figure on these pages is read from these repositories of the sample store. Swap one for your own API and each page that reads it follows.

  • db.listings
  • db.members
  • db.notifications