diff --git a/apps/web/content/docs/brand/index.mdx b/apps/web/content/docs/brand/index.mdx new file mode 100644 index 0000000000..5d022519ed --- /dev/null +++ b/apps/web/content/docs/brand/index.mdx @@ -0,0 +1,34 @@ +--- +title: Introduction +description: The VitNode brand - Tabby the pet, the hexagon mark and the blue palette, ready to use in your community and plugins. +icon: Power +--- + +The Brand section collects what makes VitNode look like VitNode, so your +community, plugin or blog post can use it without guessing. Everything here +ships in `@vitnode/core` or downloads straight from the page. + + + +## What's here + +- **Tabby, the pet.** A striped hexagon cat with 14 states, from `hello` to + `dizzy`. Its body is the logo's hexagon and its colors are the logo's blues, + so it never looks off-brand next to the mark. +- **The palette.** Tabby and the logo use the same blues as the UI's primary + color, documented with every other token on the Colors page. + +## Related + + + + + diff --git a/apps/web/content/docs/brand/meta.json b/apps/web/content/docs/brand/meta.json new file mode 100644 index 0000000000..85abac1a80 --- /dev/null +++ b/apps/web/content/docs/brand/meta.json @@ -0,0 +1,7 @@ +{ + "title": "Brand", + "description": "VitNode's look and personality, starting with Tabby the pet", + "icon": "Sparkles", + "root": true, + "pages": ["index", "pet"] +} diff --git a/apps/web/content/docs/brand/pet.mdx b/apps/web/content/docs/brand/pet.mdx new file mode 100644 index 0000000000..d1512f0931 --- /dev/null +++ b/apps/web/content/docs/brand/pet.mdx @@ -0,0 +1,110 @@ +--- +title: Pet +description: Tabby, the VitNode pet - an animated SVG mascot with 14 states for welcome screens, loading, empty states and error pages, plus SVG and PNG downloads. +icon: Cat +--- + +Tabby is VitNode's pet: a striped hexagon cat that ships as one React component +with 14 states. Drop it into an empty state, a loading screen or an error page +and the page instantly feels less like a stack trace. + + + +## Use the pet + +Import `Pet` from core and pick a `state`. The pet scales to its box, so size it +with Tailwind classes. Keep roughly a 7:8 width-to-height ratio. + +```tsx title="welcome.tsx" +import { Pet } from '@vitnode/core/components/pet/pet' + +export const Welcome = () => +``` + +## States + + + +Every card has three buttons: + +- **Copy** puts the SVG markup on your clipboard, ready to paste into code or a + design tool. +- **SVG** downloads an animated file. The animation styles travel inside it, so + Tabby keeps moving wherever you open it. +- **PNG** downloads a still, 1024 px wide image with a transparent background. + +| State | Use it for | +| ----------- | ------------------------------ | +| `idle` | Default pose | +| `hello` | Onboarding and welcome screens | +| `coding` | Docs and developer pages | +| `coffee` | Breaks and quiet days | +| `love` | Thank-you screens | +| `music` | Media and playlists | +| `sleeping` | Idle or maintenance mode | +| `thinking` | Loading states | +| `celebrate` | Success and first publish | +| `searching` | Empty search results | +| `offline` | Lost connections | +| `oops` | 404 pages | +| `dizzy` | 500 errors | +| `building` | Maintenance and coming soon | + +## Error pages + +`ErrorContent` draws the status code in huge digits and lets Tabby stand in for +the middle one: a 404 shows `oops` between the two 4s, and a 500 shows `dizzy` +between the 5 and the 0. The built-in pages need no extra code. Other codes, such +as 403, keep all three digits and skip the pet. Screen readers hear the code and +title together, not the decorative digits. + +## Props + +import { TypeTable } from 'fumadocs-ui/components/type-table' + +