LogoShipSaaS

组件

了解 ShipSaaS 中可用的组件及如何有效使用

ShipSaaS 提供一套精简的 UI 组件:Shadcn UI、营销组件和业务组件,结构清晰、便于扩展。

组件结构

组件位于 src/components 下,主要分为:

src

components

ui

blocks

auth

blog

layout

shared

settings

theme

pricing

data-table

dashboard

其他按功能划分的目录(如 paymentadminanalyticschatboxcontactroadmap)遵循相同组织方式。

Shadcn/ui 与 Base UI

src/components/ui 目录存放应用的基础 UI 构件,来自 Shadcn/ui,所有组件基于 Base UI实现,提供无样式基础。

类别组件说明
表单InputTextareaSelectCheckboxRadio GroupSwitchFormInput GroupField表单控件与校验
浮层DialogAlert DialogSheetDrawerPopoverHover Card弹窗与浮动内容
导航TabsNavigation MenuBreadcrumbMenubarPaginationSidebar菜单与导航
数据展示TableCardCalendarCarouselAvatarBadge表格、卡片与展示
布局AccordionCollapsibleSeparatorScroll AreaResizable布局与结构
反馈AlertProgressSkeletonSpinnerCommandEmpty状态与加载

使用说明:

  • 建议不要直接修改 src/components/ui 内文件,以便顺利同步模板更新。
  • 这些组件会定时与 Shadcn/ui + Base UI 组件保持同步。
  • src/components/ui 已排除在 Biome 的 lint 与格式化之外。

营销组件

落地页与营销组件集中在 src/components/blocks,可直接用于首页、定价等页面:

  • Herohero.tsxhomepage.tsx
  • Featuresfeatures.tsxfeatures2.tsxfeatures3.tsx
  • Stats、Logo cloud、Testimonialsstats.tsxlogo-cloud.tsxtestimonials.tsx
  • FAQs、CTAfaqs.tsxcalltoaction.tsx
  • Integration、Newsletterintegration.tsxintegration2.tsxnewsletter-card.tsx
  • Pricingpricing.tsx(组合定价表的组件)

可按产品需要复制并修改这些组件,更多组件参考可查看 Tailark

业务组件

按功能划分的组件位于 src/components 下对应目录:

目录用途
auth登录、注册、忘记密码、重置密码、社交登录
blog博客卡片、网格、分页
layout导航栏、页脚、侧栏、仪表盘布局、容器
sharedLogo、Toaster、表单成功/错误、用户按钮/头像
settings个人资料、账单、安全、文件、API 密钥、通知
theme主题 Provider、模式切换
pricing价格卡片、表格、结账按钮、客户门户
data-table可复用数据表(筛选、排序、工具栏)
dashboard组件卡片、图表

新增组件时,放入对应功能目录,使用 PascalCase 命名,并尽量复用 components/ui 与 shared 组件。

示例:

// src/components/dashboard/section-cards.tsx
import { Card } from "@/components/ui/card"

export function SectionCards() {
  return (
    <Card>
      {/* ... */}
    </Card>
  )
}

参考资料

下一步

了解 ShipSaaS 的组件后,可以继续阅读:

On this page