216 lines
5.3 KiB
Markdown
216 lines
5.3 KiB
Markdown
# 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!**
|