feat: Add comprehensive help documentation system and plugin creation page

- Add CreatePlugin.tsx page for custom plugin creation with code editor
- Add HelpButton component for contextual help links
- Create 21 new help pages covering all dashboard features:
  - Core: Dashboard, Scheduler, Tasks
  - Manage: Customers, Services, Resources, Staff
  - Communicate: Messages (Ticketing already existed)
  - Money: Payments
  - Extend: Plugins overview and creation guide
  - Settings: General, Resource Types, Booking, Appearance, Email, Domains, API, Auth, Billing, Quota
- Update HelpGuide.tsx as main documentation hub with quick start guide
- Add routes for all help pages in App.tsx
- Add HelpButton to Dashboard, Customers, Services, and Tasks pages

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
poduck
2025-12-03 02:18:05 -05:00
parent 5cef01ad0d
commit 11bb83a85d
29 changed files with 4673 additions and 41 deletions

View File

@@ -1,6 +1,7 @@
import React, { useState, useRef } from 'react';
import { useTranslation } from 'react-i18next';
import { Plus, Pencil, Trash2, Clock, DollarSign, X, Loader2, GripVertical, Eye, ChevronRight, Upload, ImagePlus, Image } from 'lucide-react';
import HelpButton from '../components/HelpButton';
import { useServices, useCreateService, useUpdateService, useDeleteService, useReorderServices } from '../hooks/useServices';
import { Service } from '../types';
@@ -266,13 +267,16 @@ const Services: React.FC = () => {
return (
<div className="p-8 space-y-6">
<div className="flex items-center justify-between">
<div>
<h2 className="text-2xl font-bold text-gray-900 dark:text-white">
{t('services.title', 'Services')}
</h2>
<p className="text-gray-500 dark:text-gray-400">
{t('services.description', 'Manage the services your business offers')}
</p>
<div className="flex items-start gap-4">
<div>
<h2 className="text-2xl font-bold text-gray-900 dark:text-white">
{t('services.title', 'Services')}
</h2>
<p className="text-gray-500 dark:text-gray-400">
{t('services.description', 'Manage the services your business offers')}
</p>
</div>
<HelpButton helpPath="/help/services" />
</div>
<button
onClick={openCreateModal}