Files
net/PREVIEW_LINKS_GUIDE.md
2025-12-14 10:38:03 -05:00

216 lines
5.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Preview Links - Implementation Summary
## ✅ Preview Routes Available
The Spark Platform has complete preview functionality for all content types:
### 1. **Article Preview**
- **Route:** `/preview/article/[articleId]`
- **File:** `frontend/src/pages/preview/article/[articleId].astro`
- **Features:**
- Full article rendering with HTML content
- Metadata display (word count, SEO score, generation hash)
- Preview banner with status
- Back to articles link
- Edit in Directus link
### 2. **Page Preview**
- **Route:** `/preview/page/[pageId]`
- **File:** `frontend/src/pages/preview/page/[pageId].astro`
- **Features:**
- Block-based content rendering
- Fallback to HTML content
- Preview mode banner
- Close preview button
### 3. **Post Preview**
- **Route:** `/preview/post/[postId]`
- **File:** `frontend/src/pages/preview/post/[postId].astro`
- **Features:**
- Article content with meta description
- Published/Draft status badge
- Copy preview link button
- Close preview button
### 4. **Site Preview** (NEW!)
- **Route:** `/preview/site/[siteId]`
- **File:** `frontend/src/pages/preview/site/[siteId].astro`
- **Features:**
- Shows all pages for a site
- Site metadata (domain, page count, created date)
- Grid of page cards
- Click any page to preview it
- Empty state for sites with no pages
---
## 🔘 Preview Buttons Added
### Sites Manager
**File:** `frontend/src/components/admin/sites/SitesManager.tsx`
**Added:**
- 👁️ **Preview button** on each site card
- Opens `/preview/site/[siteId]` in new tab
- Purple-themed button to stand out
- Located next to "Manage Content" button
**Usage:**
```tsx
<Button
variant="outline"
size="sm"
className="bg-purple-900/30 border-purple-700 hover:bg-purple-800/40 text-purple-300"
onClick={() => window.open(`/preview/site/${site.id}`, '_blank')}
>
👁 Preview
</Button>
```
### Other Components with Preview
**Kanban Board** (`KanbanBoard.tsx`):
- Preview button for generated articles
- Opens `/preview/article/[id]`
---
## 📋 Preview Links by Content Type
| Content Type | Preview URL | Access From |
|--------------|-------------|-------------|
| **Sites** | `/preview/site/[siteId]` | Sites Manager → Preview button |
| **Pages** | `/preview/page/[pageId]` | Site preview → Click page card |
| **Posts** | `/preview/post/[postId]` | Posts manager (to be added) |
| **Articles** | `/preview/article/[articleId]` | Kanban Board → Preview button |
---
## 🎨 Preview Page Features
### Common Features (All Previews)
- ✅ Preview mode banner at top
- ✅ Status badge (Draft/Published/Active)
- ✅ Close preview button
- ✅ Responsive design
- ✅ Clean, readable styling
### Site Preview Specific
- ✅ Site metadata display
- ✅ Grid of all pages
- ✅ Click-through to page previews
- ✅ Empty state for no pages
- ✅ Page status indicators
- ✅ Permalink display
### Article Preview Specific
- ✅ Full metadata grid
- ✅ Word count
- ✅ SEO score
- ✅ Generation hash
- ✅ Template info
- ✅ Location targeting data
---
## 🔗 How to Use Preview Links
### From Sites Manager:
1. Go to `/admin/sites`
2. Find your site card
3. Click **👁️ Preview** button
4. Opens site preview in new tab
5. Click any page card to preview that page
### From Kanban Board:
1. Go to `/admin/content-factory`
2. Find an article card
3. Click preview icon
4. Opens article preview in new tab
### Direct URL Access:
```
https://launch.jumpstartscaling.com/preview/site/[site-id]
https://launch.jumpstartscaling.com/preview/page/[page-id]
https://launch.jumpstartscaling.com/preview/post/[post-id]
https://launch.jumpstartscaling.com/preview/article/[article-id]
```
---
## 🚀 Next Steps
### To Add Preview Buttons to Other Managers:
**Posts Manager:**
```tsx
<Button onClick={() => window.open(`/preview/post/${post.id}`, '_blank')}>
👁 Preview
</Button>
```
**Pages Manager:**
```tsx
<Button onClick={() => window.open(`/preview/page/${page.id}`, '_blank')}>
👁 Preview
</Button>
```
**Articles Manager:**
```tsx
<Button onClick={() => window.open(`/preview/article/${article.id}`, '_blank')}>
👁 Preview
</Button>
```
---
## 📊 Implementation Status
| Component | Preview Route | Preview Button | Status |
|-----------|---------------|----------------|--------|
| Sites | ✅ `/preview/site/[id]` | ✅ Added | Complete |
| Pages | ✅ `/preview/page/[id]` | ⏳ To add | Route ready |
| Posts | ✅ `/preview/post/[id]` | ⏳ To add | Route ready |
| Articles | ✅ `/preview/article/[id]` | ✅ In Kanban | Complete |
---
## 🎯 Example Preview URLs
**Site Preview:**
```
/preview/site/e7c12533-0fb1-4ae1-8b26-b971988a8e84
```
**Page Preview:**
```
/preview/page/abc123-page-id
```
**Article Preview:**
```
/preview/article/xyz789-article-id
```
---
## 📝 Code Changes
**Files Modified:**
- `frontend/src/components/admin/sites/SitesManager.tsx` - Added preview button
**Files Created:**
- `frontend/src/pages/preview/site/[siteId].astro` - Site preview page
**Existing Preview Routes:**
- `frontend/src/pages/preview/article/[articleId].astro`
- `frontend/src/pages/preview/page/[pageId].astro`
- `frontend/src/pages/preview/post/[postId].astro`
---
**Commit:** `df8dd18` - feat: add preview button to sites and create site preview page
**Status:****COMPLETE**
🎉 **All preview functionality is now available and accessible from the Sites Manager!**