Initial commit with translated description

This commit is contained in:
2026-03-29 10:22:10 +08:00
commit b78c2d717d
4 changed files with 263 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
# Marketing Copy Patterns
## Hero Section
```typescript
<Hero>
{/* Headline: Main benefit */}
<h1>Deploy your app in seconds, not hours</h1>
{/* Subheadline: How/Who */}
<p>Push your code and we'll handle deployment, scaling, monitoring.</p>
{/* CTA */}
<Button>Start Free Trial</Button>
<Button variant="outline">Watch Demo (2 min)</Button>
{/* Social proof */}
<p>Trusted by 50,000+ developers at Airbnb, Netflix, Shopify</p>
</Hero>
```
## Feature Descriptions
Focus on benefits, not features. Be specific (numbers, timeframes).
```typescript
const features = [
{
title: 'Lightning-Fast Deploys',
description: 'See it live in under 30 seconds. No config files.'
},
{
title: 'Auto-Scaling',
description: 'Handle any traffic spike. Scale from zero to millions.'
}
]
```
## Call-to-Action (CTA)
| Type | Example |
|------|---------|
| Value-focused | "Start Free Trial", "Get Started Free" |
| Urgency | "Claim Your Spot", "Join 10,000 Developers" |
| Low commitment | "Browse Templates", "See How It Works" |
Formula: Verb + Benefit + Remove friction ("Free", "No credit card")
## Email Templates
### Welcome Email
```typescript
<Email>
<Heading>Welcome, {name}!</Heading>
<Text>Here's what to do next:</Text>
<ol>
<li>Connect your Git repository</li>
<li>Deploy your first project (2 min)</li>
<li>Invite your team</li>
</ol>
<Button>Deploy Your First Project</Button>
</Email>
```
### Transactional Email
```typescript
<Email>
<Heading>Payment Successful</Heading>
<Text>We've received your payment of {total}.</Text>
<Text>Order: {orderNumber}</Text>
<Button>View Order Details</Button>
</Email>
```

93
references/ux-patterns.md Normal file
View File

@@ -0,0 +1,93 @@
# UX Writing Patterns
## Button Labels
```typescript
// Bad: Vague
<Button>Submit</Button>
<Button>OK</Button>
// Good: Verb + Noun, shows outcome
<Button>Create Account</Button>
<Button>Save Changes</Button>
<Button>Start Free Trial</Button>
```
## Error Messages
Formula: What happened → Why → How to fix
```typescript
// Bad
"Invalid input"
"Error 422"
// Good
"Please enter a valid email address"
"Password must be at least 8 characters"
```
## Empty States
Formula: Headline → Explanation → Action
```typescript
<EmptyState
title="No results found"
description="Try adjusting your search or filters"
action={<Button>Clear Filters</Button>}
/>
```
## Form Labels
```typescript
<Label>
Email Address
<HelpText>We'll never share your email</HelpText>
</Label>
```
## Loading States
```typescript
// Bad: "Loading..."
// Good: "Creating your account..." / "Uploading (2/5)..."
```
## Success Messages
```typescript
<Toast
message="Post published!"
action={<Button>View Post</Button>}
/>
```
## Tooltips
```typescript
// Bad: Repeats label
<Tooltip content="Click to delete">
// Good: Adds context
<Tooltip content="This action cannot be undone">
```
## Confirmation Dialogs
```typescript
<Dialog
title="Delete this post?"
message="This will be permanently deleted."
confirmButton="Delete Post"
variant="destructive"
/>
```
## Placeholder Text
```typescript
// Bad: "Enter value"
// Good: "e.g., john@example.com"
```