From cfc1b36adaa0dd7c206cb491d6e4c17f7c004b82 Mon Sep 17 00:00:00 2001 From: poduck Date: Sat, 29 Nov 2025 18:28:29 -0500 Subject: [PATCH] feat: Add SMTP settings and collapsible email configuration UI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add SMTP fields to TicketEmailSettings model (host, port, TLS/SSL, credentials, from email/name) - Update serializers with SMTP fields and is_smtp_configured flag - Add TicketEmailTestSmtpView for testing SMTP connections - Update frontend API types and hooks for SMTP settings - Add collapsible IMAP and SMTP configuration sections with "Configured" badges - Fix TypeScript errors in mockData.ts (missing required fields, type mismatches) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- TODO_EMAIL_AND_MESSAGING.md | 133 +++ .../appointment-reminder-24hr.png | Bin 993 -> 50512 bytes .../plugin-logos/birthday-greetings.png | Bin 840 -> 49599 bytes .../daily-appointment-summary.png | Bin 1122 -> 49843 bytes .../plugin-logos/generate_all_logos_gemini.py | 132 --- .../plugin-logos/generate_daily_summary.py | 77 -- .../public/plugin-logos/generate_icons.py | 143 +++ .../plugin-logos/generate_plugin_logos.py | 155 --- .../plugin-logos/generate_with_2_0_flash.py | 39 - .../plugin-logos/generate_with_gemini.py | 194 ---- .../plugin-logos/generate_with_gemini_sdk.py | 112 --- .../plugin-logos/generate_with_imagen.py | 146 --- .../inactive-customer-reengagement.png | Bin 1351 -> 49891 bytes .../plugin-logos/monthly-revenue-report.png | Bin 706 -> 43699 bytes .../public/plugin-logos/no-show-tracker.png | Bin 1146 -> 44172 bytes .../public/plugin-logos/test_gemini_image.py | 43 - .../plugin-logos/test_gemini_native_image.py | 41 - .../public/plugin-logos/test_google_genai.py | 41 - frontend/src/App.tsx | 26 +- frontend/src/api/auth.ts | 12 +- frontend/src/api/mfa.ts | 233 +++++ frontend/src/api/profile.ts | 23 +- frontend/src/api/ticketEmailSettings.ts | 169 ++++ frontend/src/components/EmailTemplateForm.tsx | 456 +++++++++ .../src/components/EmailTemplateSelector.tsx | 112 +++ frontend/src/components/Sidebar.tsx | 11 +- frontend/src/components/TicketModal.tsx | 47 +- frontend/src/contexts/SandboxContext.tsx | 10 +- frontend/src/hooks/useTicketEmailSettings.ts | 106 ++ frontend/src/hooks/useUsers.ts | 23 + frontend/src/mockData.ts | 41 +- frontend/src/pages/EmailTemplates.tsx | 535 ++++++++++ frontend/src/pages/LoginPage.tsx | 14 +- frontend/src/pages/MFASetupPage.tsx | 620 ++++++++++++ frontend/src/pages/MFAVerifyPage.tsx | 431 ++++++++ frontend/src/pages/MyPlugins.tsx | 9 +- .../src/pages/platform/PlatformSettings.tsx | 706 ++++++++++++- .../platform/components/TenantInviteModal.tsx | 71 +- frontend/src/types.ts | 51 + smoothschedule/.envs/.local/.django | 12 + smoothschedule/PLAN_EMAIL_TEMPLATES.md | 567 +++++++++++ smoothschedule/SCHEDULER_PLUGIN_SYSTEM.md | 79 ++ smoothschedule/config/settings/base.py | 20 + .../config/settings/multitenancy.py | 1 + smoothschedule/config/urls.py | 27 +- .../migrations/0009_add_feature_limits.py | 68 ++ smoothschedule/core/models.py | 48 + .../migrations/0002_add_limits_field.py | 18 + .../migrations/0003_add_platform_settings.py | 33 + .../migrations/0004_subscriptionplan.py | 37 + smoothschedule/platform_admin/models.py | 266 ++++- smoothschedule/platform_admin/serializers.py | 202 +++- smoothschedule/platform_admin/tasks.py | 209 ++++ .../emails/tenant_invitation.html | 167 ++++ smoothschedule/platform_admin/urls.py | 27 +- smoothschedule/platform_admin/views.py | 714 ++++++++++++- smoothschedule/pyproject.toml | 2 + smoothschedule/schedule/builtin_plugins.py | 35 +- .../migrations/0023_email_template.py | 38 + smoothschedule/schedule/models.py | 143 ++- smoothschedule/schedule/serializers.py | 63 +- smoothschedule/schedule/signals.py | 108 +- smoothschedule/schedule/tasks.py | 174 ++++ smoothschedule/schedule/template_parser.py | 63 +- .../schedule/emails/appointment_reminder.html | 187 ++++ smoothschedule/schedule/urls.py | 3 +- smoothschedule/schedule/views.py | 195 +++- .../scripts/generate_placeholder_icons.py | 192 ++++ .../scripts/generate_plugin_icons.py | 199 ++++ .../schedule/management/__init__.py | 0 .../schedule/management/commands/__init__.py | 0 .../commands/seed_email_templates.py | 940 ++++++++++++++++++ .../smoothschedule/users/api_views.py | 90 +- .../smoothschedule/users/mfa_api_views.py | 628 ++++++++++++ .../smoothschedule/users/mfa_services.py | 752 ++++++++++++++ .../users/migrations/0008_add_mfa_fields.py | 87 ++ smoothschedule/smoothschedule/users/models.py | 166 ++++ smoothschedule/tickets/email_notifications.py | 620 ++++++++++++ smoothschedule/tickets/email_receiver.py | 716 +++++++++++++ smoothschedule/tickets/management/__init__.py | 0 .../tickets/management/commands/__init__.py | 0 .../commands/fetch_ticket_emails.py | 96 ++ ...lsettings_ticketcomment_source_and_more.py | 95 ++ .../0005_add_delete_after_processing.py | 18 + .../0006_add_external_email_fields.py | 23 + .../0007_add_external_author_to_comment.py | 23 + .../migrations/0008_add_smtp_settings.py | 53 + smoothschedule/tickets/models.py | 396 +++++++- smoothschedule/tickets/serializers.py | 136 ++- smoothschedule/tickets/signals.py | 119 ++- smoothschedule/tickets/tasks.py | 74 ++ smoothschedule/tickets/urls.py | 23 +- smoothschedule/tickets/views.py | 298 +++++- smoothschedule/uv.lock | 328 ++++++ 94 files changed, 13419 insertions(+), 1121 deletions(-) create mode 100644 TODO_EMAIL_AND_MESSAGING.md delete mode 100644 frontend/public/plugin-logos/generate_all_logos_gemini.py delete mode 100644 frontend/public/plugin-logos/generate_daily_summary.py create mode 100644 frontend/public/plugin-logos/generate_icons.py delete mode 100644 frontend/public/plugin-logos/generate_plugin_logos.py delete mode 100644 frontend/public/plugin-logos/generate_with_2_0_flash.py delete mode 100644 frontend/public/plugin-logos/generate_with_gemini.py delete mode 100644 frontend/public/plugin-logos/generate_with_gemini_sdk.py delete mode 100644 frontend/public/plugin-logos/generate_with_imagen.py delete mode 100644 frontend/public/plugin-logos/test_gemini_image.py delete mode 100644 frontend/public/plugin-logos/test_gemini_native_image.py delete mode 100644 frontend/public/plugin-logos/test_google_genai.py create mode 100644 frontend/src/api/mfa.ts create mode 100644 frontend/src/api/ticketEmailSettings.ts create mode 100644 frontend/src/components/EmailTemplateForm.tsx create mode 100644 frontend/src/components/EmailTemplateSelector.tsx create mode 100644 frontend/src/hooks/useTicketEmailSettings.ts create mode 100644 frontend/src/pages/EmailTemplates.tsx create mode 100644 frontend/src/pages/MFASetupPage.tsx create mode 100644 frontend/src/pages/MFAVerifyPage.tsx create mode 100644 smoothschedule/PLAN_EMAIL_TEMPLATES.md create mode 100644 smoothschedule/core/migrations/0009_add_feature_limits.py create mode 100644 smoothschedule/platform_admin/migrations/0002_add_limits_field.py create mode 100644 smoothschedule/platform_admin/migrations/0003_add_platform_settings.py create mode 100644 smoothschedule/platform_admin/migrations/0004_subscriptionplan.py create mode 100644 smoothschedule/platform_admin/tasks.py create mode 100644 smoothschedule/platform_admin/templates/platform_admin/emails/tenant_invitation.html create mode 100644 smoothschedule/schedule/migrations/0023_email_template.py create mode 100644 smoothschedule/schedule/templates/schedule/emails/appointment_reminder.html create mode 100644 smoothschedule/scripts/generate_placeholder_icons.py create mode 100644 smoothschedule/scripts/generate_plugin_icons.py create mode 100644 smoothschedule/smoothschedule/schedule/management/__init__.py create mode 100644 smoothschedule/smoothschedule/schedule/management/commands/__init__.py create mode 100644 smoothschedule/smoothschedule/schedule/management/commands/seed_email_templates.py create mode 100644 smoothschedule/smoothschedule/users/mfa_api_views.py create mode 100644 smoothschedule/smoothschedule/users/mfa_services.py create mode 100644 smoothschedule/smoothschedule/users/migrations/0008_add_mfa_fields.py create mode 100644 smoothschedule/tickets/email_notifications.py create mode 100644 smoothschedule/tickets/email_receiver.py create mode 100644 smoothschedule/tickets/management/__init__.py create mode 100644 smoothschedule/tickets/management/commands/__init__.py create mode 100644 smoothschedule/tickets/management/commands/fetch_ticket_emails.py create mode 100644 smoothschedule/tickets/migrations/0004_ticketemailsettings_ticketcomment_source_and_more.py create mode 100644 smoothschedule/tickets/migrations/0005_add_delete_after_processing.py create mode 100644 smoothschedule/tickets/migrations/0006_add_external_email_fields.py create mode 100644 smoothschedule/tickets/migrations/0007_add_external_author_to_comment.py create mode 100644 smoothschedule/tickets/migrations/0008_add_smtp_settings.py create mode 100644 smoothschedule/tickets/tasks.py diff --git a/TODO_EMAIL_AND_MESSAGING.md b/TODO_EMAIL_AND_MESSAGING.md new file mode 100644 index 0000000..2c399f2 --- /dev/null +++ b/TODO_EMAIL_AND_MESSAGING.md @@ -0,0 +1,133 @@ +# Email Templates & Messaging TODO + +## Completed Features + +### Email Template System (Implemented) +- [x] EmailTemplate model with BUSINESS and PLATFORM scopes +- [x] Categories: Appointment, Reminder, Confirmation, Marketing, Notification, Report, Other +- [x] Template variables: `{{BUSINESS_NAME}}`, `{{CUSTOMER_NAME}}`, `{{APPOINTMENT_DATE}}`, etc. +- [x] Backend API (CRUD, preview, duplicate) +- [x] Frontend Email Templates page with list/create/edit/delete +- [x] EmailTemplateForm component with code editor and preview +- [x] EmailTemplateSelector component for plugin configuration +- [x] Plugin config support for `email_template` type variables +- [x] Footer enforcement for FREE tier tenants +- [x] Default templates seed command (`python manage.py seed_email_templates`) + +### Default Email Templates Created +- [x] Appointment Confirmation +- [x] Appointment Reminder - 24 Hours +- [x] Appointment Reminder - 1 Hour +- [x] Appointment Rescheduled +- [x] Appointment Cancelled +- [x] Thank You - Appointment Complete +- [x] Welcome New Customer + +### Ticket Email Templates (Added) +- [x] Ticket Assigned - Notification to staff when assigned +- [x] Ticket Status Changed - Status update notification +- [x] Ticket Reply - Staff Notification - When customer replies +- [x] Ticket Reply - Customer Notification - When staff replies +- [x] Ticket Resolved - Resolution confirmation + +### Plugin Documentation Updated +- [x] Documented `email_template` variable type in SCHEDULER_PLUGIN_SYSTEM.md +- [x] Added template variable types table (text, textarea, email, number, url, email_template) +- [x] Added ticket-related insertion codes to template_parser.py + +--- + +## Pending Features + +### Customer Onboarding Email Process +- [ ] Welcome email when customer creates account +- [ ] Email verification workflow +- [ ] First booking celebration email +- [ ] Loyalty program introduction email (if enabled) + +### Internal Staff Messaging System +- [ ] Message model (sender, recipient, subject, body, read status) +- [ ] Conversation threading +- [ ] Messaging UI in sidebar/header +- [ ] Unread count badge +- [ ] Push notifications for new messages +- [ ] Email notification option for messages + +### Ticket Email Notifications +- [x] Email templates created (see "Ticket Email Templates" in Completed) +- [x] Ticket email notification service (`tickets/email_notifications.py`) + - TicketEmailService class with methods for each notification type + - Renders email templates with ticket context variables + - Falls back to default text templates if custom templates not found + - Includes Reply-To header with ticket ID for email threading +- [x] Django signals to trigger emails on ticket events (`tickets/signals.py`) + - Pre-save handler to track state changes (assignee, status) + - Post-save handlers for assignment, status change, and resolution + - Comment handler for reply notifications +- [x] Reply-To header with ticket ID for inbound processing + - Format: `support+ticket-{id}@{domain}` + - X-Ticket-ID header for easy parsing + +### Email Reply Forwarding (Inbound Email Processing) +- [ ] Setup inbound email handling (mail.talova.net integration) +- [ ] Parse incoming emails to support@smoothschedule.com (or per-tenant) +- [ ] Extract ticket ID from subject line or headers +- [ ] Create ticket reply from email content +- [ ] Notify assignee of new reply +- [ ] Handle attachments + +--- + +## Email Server Details + +Current email server: `mail.talova.net` +Test account: `poduck@mail.talova.net` + +### Inbound Email Options + +1. **Mailgun/SendGrid Inbound Routes** + - Forward to webhook endpoint + - Parse and process programmatically + - Best for scalability + +2. **IMAP Polling** + - Connect to mail.talova.net via IMAP + - Poll for new messages periodically + - Process and delete/archive + +3. **Email Piping** + - Configure MTA to pipe emails to a Django management command + - Real-time processing + - Requires server access + +--- + +## Platform vs Business Templates + +### Platform Templates (Scope: PLATFORM) +Used for system-wide emails: +- Tenant invitation +- Platform announcements +- System notifications + +### Business Templates (Scope: BUSINESS) +Per-tenant customizable templates: +- Appointment confirmations +- Reminders +- Customer communications +- Marketing emails + +--- + +## Running the Seed Command + +```bash +# Seed templates for all tenant schemas +docker compose -f docker-compose.local.yml exec django python manage.py seed_email_templates + +# Seed for specific schema +docker compose -f docker-compose.local.yml exec django python manage.py seed_email_templates --schema=demo + +# Reset to defaults (overwrites existing) +docker compose -f docker-compose.local.yml exec django python manage.py seed_email_templates --reset +``` diff --git a/frontend/public/plugin-logos/appointment-reminder-24hr.png b/frontend/public/plugin-logos/appointment-reminder-24hr.png index 5062e76fb9fb5e0225ce0b71b60a99bb5e5adc3f..e99f7e632446bf44c64742488e3fee7bf6fe1a55 100644 GIT binary patch literal 50512 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 ur3H4}NeyP(TUa`NEv|a) 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 diff --git a/frontend/public/plugin-logos/birthday-greetings.png b/frontend/public/plugin-logos/birthday-greetings.png index 648d415f2db146e29117764344767d443df19383..13ca2a504462f474f9c9f424e244d25443ca20b7 100644 GIT binary patch literal 49599 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 N0#8>zmvv4FO#mrMkp2Jw literal 840 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$farftlaa#WAE}&f7b0eWe{m+AeN& zWq0(F)?}9AG<8&7*t12D)2hRzPSP@M@4b)K_xf)Z|5M_h_U`fSZrwev)joXt@W=4z z`-iK4UtfM#_x%2o51S&_-Es`I^|5#zsJ-Nez{NH3LYM7+9(|PQY;=6}DPh0eUfTmd zvI+U$_Ie&IGNEGI!jyB1nT5`8>zVs~MZ=NJzRAz(3>7}+++O;VpG`$>SKf~1&5WJx z${Z;ub{e8dw=K0&*cI(#6urhfOoXi&g zdyi?h)q+Wm^Iu8Vy!{+?;f-y8(VKn8uiLE`^<@jmj%Y8=nty$g8gr7>S=Nx>q5Hmk zes(R!!N=PH=%OV%8?yG_-vkv}eX=2I?wn6xwOsSG^4=s~ z7Z;GDa1dfY6JN>1$L*Y^e=|l(nmqeBI!-A4*MIZ(W9qx*2RzV%{O0}rc5k2639Xq9 zbx6wn(%9#A9oct);yDUR^BHeCO|kfr#0-kE|4c=a$vuz#_T?xD8a~;=KixoSFHjyB z`;XqR2?-uQ_tl_+Q&=$8{LaCn)e3^Sz{JwOt5fWvS?|o>FZLgD*`k~LJoZcao(@pz zI{Kcub4Bjb&%H?%)fN9dgTe~DWM4fatn9K diff --git a/frontend/public/plugin-logos/daily-appointment-summary.png b/frontend/public/plugin-logos/daily-appointment-summary.png index 55f545adb33d94a780644d5f69c3417193196f91..5312ad9e4bcf7215bb318feb8d39672de14a7546 100644 GIT binary patch literal 49843 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

p7;P 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 bool: + """Generate a logo using Gemini 2.5 Flash Image (per official docs)""" + print(f"\nGenerating {filename}...") + + try: + # Using the exact format from Google's documentation + response = client.models.generate_content( + model='gemini-2.5-flash-image', + contents=[prompt], + ) + + # Process response per docs + for part in response.parts: + if part.inline_data is not None: + # Get the raw image data and convert to PIL + from io import BytesIO + image_data = part.inline_data.data + pil_image = Image.open(BytesIO(image_data)) + + # Resize to 256x256 for consistency + if pil_image.size != (256, 256): + pil_image = pil_image.resize((256, 256), Image.Resampling.LANCZOS) + + output_path = os.path.join(OUTPUT_DIR, filename) + pil_image.save(output_path, 'PNG') + print(f" ✓ Saved: {output_path}") + return True + elif part.text is not None: + print(f" Model text: {part.text[:100]}...") + + print(" ✗ No image in response") + return False + + except Exception as e: + error_msg = str(e) + if "RESOURCE_EXHAUSTED" in error_msg or "quota" in error_msg.lower(): + print(f" ✗ Quota exceeded - try again later") + else: + print(f" ✗ Error: {type(e).__name__}: {error_msg[:300]}") + return False + + +def main(): + print("=" * 60) + print("Generating Plugin Icons with Gemini 2.5 Flash Image") + print("=" * 60) + + success_count = 0 + for i, plugin in enumerate(plugins): + if i > 0: + print("\nWaiting 5 seconds...") + time.sleep(5) + + if generate_logo(plugin['prompt'], plugin['filename']): + success_count += 1 + + print("\n" + "=" * 60) + print(f"Complete: {success_count}/{len(plugins)} icons generated") + print("=" * 60) + + +if __name__ == "__main__": + main() diff --git a/frontend/public/plugin-logos/generate_plugin_logos.py b/frontend/public/plugin-logos/generate_plugin_logos.py deleted file mode 100644 index 6144a82..0000000 --- a/frontend/public/plugin-logos/generate_plugin_logos.py +++ /dev/null @@ -1,155 +0,0 @@ -import os -import sys - -try: - from PIL import Image, ImageDraw, ImageFont -except ImportError: - print("Error: Pillow library not found.") - print("Please install it using: pip install Pillow") - sys.exit(1) - -# Configuration -OUTPUT_DIR = "/home/poduck/Desktop/smoothschedule2/frontend/public/plugin-logos" -SIZE = (144, 144) -RADIUS = 30 - -def create_base_logo(bg_color): - """Creates the base image with rounded corners and background color.""" - img = Image.new('RGBA', SIZE, (0, 0, 0, 0)) - draw = ImageDraw.Draw(img) - rect_bounds = [0, 0, SIZE[0], SIZE[1]] - draw.rounded_rectangle(rect_bounds, radius=RADIUS, fill=bg_color) - return img, draw - -def save_logo(img, filename): - """Saves the image to the output directory.""" - path = os.path.join(OUTPUT_DIR, filename) - os.makedirs(os.path.dirname(path), exist_ok=True) - img.save(path) - print(f"Saved: {path}") - -# 1. No-Show Customer Tracker (Red, Person with X) -def create_no_show_logo(): - img, draw = create_base_logo("#dc2626") # Red - - # Person Silhouette - cx, cy = 72, 72 - # Head - draw.ellipse([cx-15, 35, cx+15, 65], fill="white") - # Shoulders/Body - draw.rounded_rectangle([cx-30, 70, cx+30, 130], radius=10, fill="white") - - # Cancel Symbol (Red X on white circle or just overlaid) - # Let's use a thick Red X overlay - x_center_y = 85 - half = 20 - width = 8 - - # Draw X - draw.line([cx - half, x_center_y - half, cx + half, x_center_y + half], fill="#dc2626", width=width) - draw.line([cx + half, x_center_y - half, cx - half, x_center_y + half], fill="#dc2626", width=width) - - save_logo(img, "no-show-tracker.png") - -# 2. Birthday Greeting Campaign (Pink, Gift) -def create_birthday_logo(): - img, draw = create_base_logo("#ec4899") # Pink - - # Gift Box - box_w, box_h = 70, 60 - box_x = (SIZE[0] - box_w) // 2 - box_y = (SIZE[1] - box_h) // 2 + 10 - - # Box body - draw.rectangle([box_x, box_y, box_x + box_w, box_y + box_h], fill="white") - - # Ribbons (Lighter Pink) - r_w = 12 - ribbon_color = "#fbcfe8" - # Vertical - draw.rectangle([box_x + (box_w - r_w)//2, box_y, box_x + (box_w + r_w)//2, box_y + box_h], fill=ribbon_color) - # Horizontal - draw.rectangle([box_x, box_y + (box_h - r_w)//2, box_x + box_w, box_y + (box_h + r_w)//2], fill=ribbon_color) - - # Bow - bow_w = 20 - draw.ellipse([72 - bow_w, box_y - 15, 72, box_y], fill="white") - draw.ellipse([72, box_y - 15, 72 + bow_w, box_y], fill="white") - - save_logo(img, "birthday-greetings.png") - -# 3. Monthly Revenue Report (Green, Chart) -def create_revenue_logo(): - img, draw = create_base_logo("#10b981") # Green - - # Bar Chart - margin_bottom = 110 - bar_w = 20 - gap = 10 - start_x = (144 - (3 * bar_w + 2 * gap)) // 2 - - # Bars - heights = [30, 50, 75] - for i, h in enumerate(heights): - x = start_x + i * (bar_w + gap) - draw.rectangle([x, margin_bottom - h, x + bar_w, margin_bottom], fill="white") - - # Trend Arrow (Rising) - arrow_start = (start_x - 5, margin_bottom - 10) - arrow_end = (start_x + 3 * bar_w + 2 * gap + 5, margin_bottom - 90) - - # Simple line for trend - # draw.line([arrow_start, arrow_end], fill="white", width=4) - - save_logo(img, "monthly-revenue-report.png") - -# 4. Appointment Reminder (24hr) (Amber, Bell) -def create_reminder_logo(): - img, draw = create_base_logo("#f59e0b") # Amber - - cx, cy = 72, 70 - r = 30 - - # Bell Dome - draw.chord([cx - r, cy - r, cx + r, cy + r], 180, 0, fill="white") - draw.rectangle([cx - r, cy, cx + r, cy + 20], fill="white") - - # Bell Flare - draw.polygon([(cx - r, cy + 20), (cx + r, cy + 20), (cx + r + 5, cy + 30), (cx - r - 5, cy + 30)], fill="white") - - # Clapper - draw.ellipse([cx - 8, cy + 28, cx + 8, cy + 42], fill="white") - - # Notification Dot - draw.ellipse([cx + 15, cy - 25, cx + 35, cy - 5], fill="#dc2626") - - save_logo(img, "appointment-reminder-24hr.png") - -# 5. Inactive Customer Re-engagement (Purple, Heart) -def create_inactive_logo(): - img, draw = create_base_logo("#8b5cf6") # Purple - - hx, hy = 72, 75 - size = 18 - - # Heart Shape - # Left circle - draw.ellipse([hx - size * 2, hy - size, hx, hy + size], fill="white") - # Right circle - draw.ellipse([hx, hy - size, hx + size * 2, hy + size], fill="white") - # Bottom triangle - draw.polygon([(hx - size * 2 + 1, hy + 4), (hx + size * 2 - 1, hy + 4), (hx, hy + size * 2 + 8)], fill="white") - - # Refresh/Loop Arrow (Subtle arc above) - bbox = [25, 25, 119, 119] - draw.arc(bbox, start=180, end=0, fill="#ddd6fe", width=5) - draw.polygon([(119, 72), (110, 60), (128, 60)], fill="#ddd6fe") - - save_logo(img, "inactive-customer-reengagement.png") - -if __name__ == "__main__": - create_no_show_logo() - create_birthday_logo() - create_revenue_logo() - create_reminder_logo() - create_inactive_logo() diff --git a/frontend/public/plugin-logos/generate_with_2_0_flash.py b/frontend/public/plugin-logos/generate_with_2_0_flash.py deleted file mode 100644 index 5571a5f..0000000 --- a/frontend/public/plugin-logos/generate_with_2_0_flash.py +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env python3 -from google import genai -from google.genai import types -from PIL import Image -from io import BytesIO - -# Setup Client -client = genai.Client(api_key="AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw") - -# Test with a simple prompt -prompt = "Create a simple modern app icon with a blue background and white envelope symbol, square format, flat design, minimalist" - -print(f"Testing gemini-2.0-flash-exp...") -print(f"Prompt: '{prompt}'...") - -try: - response = client.models.generate_content( - model='gemini-2.0-flash-exp', - contents=prompt, - config=types.GenerateContentConfig( - response_modalities=["IMAGE"] - ) - ) - - # Save the Image - if response.candidates[0].content.parts: - for part in response.candidates[0].content.parts: - if part.inline_data: - image_data = part.inline_data.data - image = Image.open(BytesIO(image_data)) - image.save("test_2_0_flash.png") - print("✓ Success! Saved test_2_0_flash.png") - else: - print(f"✗ Model returned text: {part.text[:100]}") - else: - print("✗ No content parts in response") - -except Exception as e: - print(f"✗ Error: {type(e).__name__}: {str(e)[:300]}") diff --git a/frontend/public/plugin-logos/generate_with_gemini.py b/frontend/public/plugin-logos/generate_with_gemini.py deleted file mode 100644 index 7e8cbe1..0000000 --- a/frontend/public/plugin-logos/generate_with_gemini.py +++ /dev/null @@ -1,194 +0,0 @@ -#!/usr/bin/env python3 -import os -import sys -import requests -import base64 -from pathlib import Path - -# Gemini API configuration -API_KEY = "AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw" -API_URL = "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash-exp:generateContent" - -OUTPUT_DIR = "/home/poduck/Desktop/smoothschedule2/frontend/public/plugin-logos" - -# Plugin configurations -plugins = [ - { - 'filename': 'daily-appointment-summary.png', - 'prompt': '''Create a modern, professional icon/logo for a plugin called "Daily Appointment Summary Email". - -Design requirements: -- Square icon, 512x512 pixels -- Flat design style with a slight gradient -- Primary color: Indigo/blue (#4f46e5) -- Icon should combine email and calendar/scheduling concepts -- Clean, minimalist design suitable for a SaaS application -- White or light elements on the colored background -- Rounded corners (similar to modern app icons) -- Professional and trustworthy appearance - -The icon represents a plugin that sends daily email summaries of appointments to staff members.''' - }, - { - 'filename': 'no-show-tracker.png', - 'prompt': '''Create a modern, professional icon/logo for a plugin called "No-Show Customer Tracker". - -Design requirements: -- Square icon, 512x512 pixels -- Flat design style with a slight gradient -- Primary color: Red (#dc2626) -- Icon should represent missed appointments or absent customers -- Could show a person silhouette with an X, slash, or cancel symbol -- Clean, minimalist design suitable for a SaaS application -- White or light elements on the colored background -- Rounded corners (similar to modern app icons) -- Professional appearance - -The icon represents a plugin that tracks customers who miss their appointments.''' - }, - { - 'filename': 'birthday-greetings.png', - 'prompt': '''Create a modern, professional icon/logo for a plugin called "Birthday Greeting Campaign". - -Design requirements: -- Square icon, 512x512 pixels -- Flat design style with a slight gradient -- Primary color: Pink (#ec4899) -- Icon should represent birthdays and celebrations -- Could show a birthday cake, gift, party hat, or balloon -- Clean, minimalist design suitable for a SaaS application -- White or light elements on the colored background -- Rounded corners (similar to modern app icons) -- Friendly and celebratory appearance - -The icon represents a plugin that sends birthday emails with special offers to customers.''' - }, - { - 'filename': 'monthly-revenue-report.png', - 'prompt': '''Create a modern, professional icon/logo for a plugin called "Monthly Revenue Report". - -Design requirements: -- Square icon, 512x512 pixels -- Flat design style with a slight gradient -- Primary color: Green (#10b981) -- Icon should represent business growth, analytics, and financial reporting -- Could show an upward trending chart, graph, or money symbol -- Clean, minimalist design suitable for a SaaS application -- White or light elements on the colored background -- Rounded corners (similar to modern app icons) -- Professional and successful appearance - -The icon represents a plugin that generates comprehensive monthly business statistics and revenue reports.''' - }, - { - 'filename': 'appointment-reminder-24hr.png', - 'prompt': '''Create a modern, professional icon/logo for a plugin called "Appointment Reminder (24hr)". - -Design requirements: -- Square icon, 512x512 pixels -- Flat design style with a slight gradient -- Primary color: Amber/Orange (#f59e0b) -- Icon should represent notifications, alerts, and reminders -- Could show a bell with a notification badge, clock, or alarm -- Clean, minimalist design suitable for a SaaS application -- White or light elements on the colored background -- Rounded corners (similar to modern app icons) -- Attention-grabbing but professional appearance - -The icon represents a plugin that sends reminder emails to customers 24 hours before their appointments.''' - }, - { - 'filename': 'inactive-customer-reengagement.png', - 'prompt': '''Create a modern, professional icon/logo for a plugin called "Inactive Customer Re-engagement". - -Design requirements: -- Square icon, 512x512 pixels -- Flat design style with a slight gradient -- Primary color: Purple (#8b5cf6) -- Icon should represent customer retention, returning customers, or re-engagement -- Could show a heart, person with return arrow, refresh symbol, or comeback concept -- Clean, minimalist design suitable for a SaaS application -- White or light elements on the colored background -- Rounded corners (similar to modern app icons) -- Warm and welcoming appearance - -The icon represents a plugin that wins back customers who haven't booked appointments recently.''' - } -] - -def generate_image(prompt, filename): - """Generate an image using Gemini API""" - print(f"\nGenerating {filename}...") - - headers = { - "Content-Type": "application/json" - } - - payload = { - "contents": [{ - "parts": [{ - "text": prompt - }] - }], - "generationConfig": { - "temperature": 1, - "topK": 40, - "topP": 0.95, - "maxOutputTokens": 8192, - } - } - - try: - response = requests.post( - f"{API_URL}?key={API_KEY}", - headers=headers, - json=payload, - timeout=120 - ) - - if response.status_code == 200: - result = response.json() - - # Check if there's an image in the response - if 'candidates' in result and len(result['candidates']) > 0: - candidate = result['candidates'][0] - if 'content' in candidate and 'parts' in candidate['content']: - for part in candidate['content']['parts']: - if 'inlineData' in part: - # Extract and save the image - image_data = base64.b64decode(part['inlineData']['data']) - output_path = os.path.join(OUTPUT_DIR, filename) - with open(output_path, 'wb') as f: - f.write(image_data) - print(f"✓ Saved: {output_path}") - return True - elif 'text' in part: - print(f"Response: {part['text'][:200]}...") - - print(f"✗ No image generated. Response: {result}") - return False - else: - print(f"✗ API Error ({response.status_code}): {response.text}") - return False - - except Exception as e: - print(f"✗ Error: {str(e)}") - return False - -def main(): - # Create output directory - os.makedirs(OUTPUT_DIR, exist_ok=True) - - print("Starting logo generation with Gemini API...") - print("=" * 60) - - success_count = 0 - for plugin in plugins: - if generate_image(plugin['prompt'], plugin['filename']): - success_count += 1 - - print("\n" + "=" * 60) - print(f"Generation complete: {success_count}/{len(plugins)} successful") - -if __name__ == "__main__": - main() diff --git a/frontend/public/plugin-logos/generate_with_gemini_sdk.py b/frontend/public/plugin-logos/generate_with_gemini_sdk.py deleted file mode 100644 index 742694a..0000000 --- a/frontend/public/plugin-logos/generate_with_gemini_sdk.py +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env python3 -import google.generativeai as genai -import os -from PIL import Image -import io - -# Configure API Key -genai.configure(api_key="AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw") - -OUTPUT_DIR = "/home/poduck/Desktop/smoothschedule2/frontend/public/plugin-logos" - -# Plugin configurations -plugins = [ - { - 'filename': 'daily-appointment-summary.png', - 'prompt': '''Create a modern, minimalist app icon in a square format with rounded corners. -Design: Indigo blue gradient background (#4f46e5). White simple envelope icon combined with a small calendar symbol. -Style: Flat design, clean geometric shapes, professional SaaS application aesthetic. -The icon should be instantly recognizable at 48x48 pixels.''' - }, - { - 'filename': 'no-show-tracker.png', - 'prompt': '''Create a modern, minimalist app icon in a square format with rounded corners. -Design: Red gradient background (#dc2626). White simple person silhouette with a bold X or cancel symbol overlay. -Style: Flat design, clean geometric shapes, professional SaaS application aesthetic. -The icon should clearly convey "missed appointment" at small sizes.''' - }, - { - 'filename': 'birthday-greetings.png', - 'prompt': '''Create a modern, minimalist app icon in a square format with rounded corners. -Design: Pink gradient background (#ec4899). White simple birthday cake with candles or gift box with bow. -Style: Flat design, clean geometric shapes, cheerful yet professional aesthetic. -The icon should feel celebratory and friendly at small sizes.''' - }, - { - 'filename': 'monthly-revenue-report.png', - 'prompt': '''Create a modern, minimalist app icon in a square format with rounded corners. -Design: Green gradient background (#10b981). White simple upward trending line chart or bar graph showing growth. -Style: Flat design, clean geometric shapes, professional business analytics aesthetic. -The icon should convey success and growth at small sizes.''' - }, - { - 'filename': 'appointment-reminder-24hr.png', - 'prompt': '''Create a modern, minimalist app icon in a square format with rounded corners. -Design: Amber/orange gradient background (#f59e0b). White simple notification bell with a small red alert dot or badge. -Style: Flat design, clean geometric shapes, attention-grabbing yet professional aesthetic. -The icon should clearly indicate alerts and reminders at small sizes.''' - }, - { - 'filename': 'inactive-customer-reengagement.png', - 'prompt': '''Create a modern, minimalist app icon in a square format with rounded corners. -Design: Purple gradient background (#8b5cf6). White simple heart symbol with a circular refresh/return arrow around it. -Style: Flat design, clean geometric shapes, warm and welcoming professional aesthetic. -The icon should convey customer care and comeback at small sizes.''' - } -] - -def generate_image(prompt, filename): - """Generate an image using Gemini 2.0 Flash Image Generation""" - print(f"\nGenerating {filename}...") - - try: - # Use the image generation model - model = genai.GenerativeModel('gemini-2.0-flash-exp-image-generation') - - # Generate the image - response = model.generate_content(prompt) - - # Check for generated image - if hasattr(response, 'parts') and response.parts: - for part in response.parts: - if hasattr(part, 'inline_data') and part.inline_data: - # Extract image data - image_data = part.inline_data.data - - # Save the image - output_path = os.path.join(OUTPUT_DIR, filename) - with open(output_path, 'wb') as f: - f.write(image_data) - - print(f"✓ Saved: {output_path} ({len(image_data)} bytes)") - return True - - # If no image data found, check if there's text response - if hasattr(response, 'text'): - print(f"✗ No image generated. Response text: {response.text[:200]}") - else: - print(f"✗ No image generated. Response: {response}") - - return False - - except Exception as e: - print(f"✗ Error: {type(e).__name__}: {str(e)}") - return False - -def main(): - # Create output directory - os.makedirs(OUTPUT_DIR, exist_ok=True) - - print("Starting logo generation with Gemini 2.0 Flash Image Generation...") - print("=" * 60) - - success_count = 0 - for plugin in plugins: - if generate_image(plugin['prompt'], plugin['filename']): - success_count += 1 - - print("\n" + "=" * 60) - print(f"Generation complete: {success_count}/{len(plugins)} successful") - -if __name__ == "__main__": - main() diff --git a/frontend/public/plugin-logos/generate_with_imagen.py b/frontend/public/plugin-logos/generate_with_imagen.py deleted file mode 100644 index 9aef91b..0000000 --- a/frontend/public/plugin-logos/generate_with_imagen.py +++ /dev/null @@ -1,146 +0,0 @@ -#!/usr/bin/env python3 -import os -import sys -import requests -import base64 -import time -from pathlib import Path - -# Imagen API configuration -API_KEY = "AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw" -MODEL = "imagen-4.0-generate-preview-06-06" -API_URL = f"https://generativelanguage.googleapis.com/v1beta/models/{MODEL}:predict" - -OUTPUT_DIR = "/home/poduck/Desktop/smoothschedule2/frontend/public/plugin-logos" - -# Plugin configurations -plugins = [ - { - 'filename': 'daily-appointment-summary.png', - 'prompt': '''A modern, minimalist app icon for "Daily Appointment Summary Email" plugin. -Square format with rounded corners. Indigo blue gradient background (#4f46e5). -White icon showing a combination of an envelope and a calendar. -Flat design, clean lines, professional SaaS application style. -The icon should be simple and recognizable at small sizes.''' - }, - { - 'filename': 'no-show-tracker.png', - 'prompt': '''A modern, minimalist app icon for "No-Show Customer Tracker" plugin. -Square format with rounded corners. Red gradient background (#dc2626). -White icon showing a person silhouette with an X or cancel symbol overlay. -Flat design, clean lines, professional SaaS application style. -The icon should convey missed appointments clearly at small sizes.''' - }, - { - 'filename': 'birthday-greetings.png', - 'prompt': '''A modern, minimalist app icon for "Birthday Greeting Campaign" plugin. -Square format with rounded corners. Pink gradient background (#ec4899). -White icon showing a birthday cake or gift box with a bow. -Flat design, clean lines, cheerful yet professional style. -The icon should be celebratory and friendly at small sizes.''' - }, - { - 'filename': 'monthly-revenue-report.png', - 'prompt': '''A modern, minimalist app icon for "Monthly Revenue Report" plugin. -Square format with rounded corners. Green gradient background (#10b981). -White icon showing an upward trending chart or bar graph. -Flat design, clean lines, professional business analytics style. -The icon should convey growth and success at small sizes.''' - }, - { - 'filename': 'appointment-reminder-24hr.png', - 'prompt': '''A modern, minimalist app icon for "Appointment Reminder" plugin. -Square format with rounded corners. Amber/orange gradient background (#f59e0b). -White icon showing a notification bell with a small red badge or alert dot. -Flat design, clean lines, attention-grabbing yet professional style. -The icon should convey alerts and reminders clearly at small sizes.''' - }, - { - 'filename': 'inactive-customer-reengagement.png', - 'prompt': '''A modern, minimalist app icon for "Inactive Customer Re-engagement" plugin. -Square format with rounded corners. Purple gradient background (#8b5cf6). -White icon showing a heart with a circular refresh arrow around it. -Flat design, clean lines, warm and welcoming professional style. -The icon should convey customer care and return at small sizes.''' - } -] - -def generate_image(prompt, filename): - """Generate an image using Imagen API""" - print(f"\nGenerating {filename}...") - - headers = { - "Content-Type": "application/json" - } - - payload = { - "instances": [{ - "prompt": prompt - }], - "parameters": { - "sampleCount": 1 - } - } - - try: - response = requests.post( - f"{API_URL}?key={API_KEY}", - headers=headers, - json=payload, - timeout=120 - ) - - if response.status_code == 200: - result = response.json() - - # Check if there's an image in the predictions - if 'predictions' in result and len(result['predictions']) > 0: - prediction = result['predictions'][0] - if 'bytesBase64Encoded' in prediction: - # Extract and save the image - image_data = base64.b64decode(prediction['bytesBase64Encoded']) - output_path = os.path.join(OUTPUT_DIR, filename) - with open(output_path, 'wb') as f: - f.write(image_data) - print(f"✓ Saved: {output_path} ({len(image_data)} bytes)") - return True - elif 'image' in prediction and 'bytesBase64Encoded' in prediction['image']: - image_data = base64.b64decode(prediction['image']['bytesBase64Encoded']) - output_path = os.path.join(OUTPUT_DIR, filename) - with open(output_path, 'wb') as f: - f.write(image_data) - print(f"✓ Saved: {output_path} ({len(image_data)} bytes)") - return True - - print(f"✗ No image generated. Response: {str(result)[:300]}...") - return False - else: - print(f"✗ API Error ({response.status_code}): {response.text[:500]}") - return False - - except Exception as e: - print(f"✗ Error: {str(e)}") - return False - -def main(): - # Create output directory - os.makedirs(OUTPUT_DIR, exist_ok=True) - - print("Starting logo generation with Imagen 4.0 API...") - print("=" * 60) - - success_count = 0 - for i, plugin in enumerate(plugins): - if i > 0: - # Add delay between requests to avoid rate limiting - print("Waiting 2 seconds before next request...") - time.sleep(2) - - if generate_image(plugin['prompt'], plugin['filename']): - success_count += 1 - - print("\n" + "=" * 60) - print(f"Generation complete: {success_count}/{len(plugins)} successful") - -if __name__ == "__main__": - main() diff --git a/frontend/public/plugin-logos/inactive-customer-reengagement.png b/frontend/public/plugin-logos/inactive-customer-reengagement.png index 357b4cd825879c8382f3f490f4d04c99d5e33e28..d83ccefe074fe6159854855b3be7201cd24ae9b6 100644 GIT binary patch literal 49891 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¢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 literal 1351 zcmV-N1-SZ&P)>=RkeR?o=2;#|GwS(NPuEQWsnvDWqaW{r4m^H+ ze(A9v@sazdyGzUMH`%y^;ia}vRW~Ma{7_3I^F}0%e=IWHSavLV=D?EUDf1-Gyp&F( z;t3>q=B6~?B7r1N3`%m&7D)2MA~)|Wfh12%a&kWuNbt%3an6K#cAqm%r77;hN`q_}98)bla4k?tSR;aB zudfDf1a{zM05g0 zmuJC?L{tJvp7(f=h(;jElZIU)8i9mQC501uR3of4me5AkQ}c4bGOfB@M6=3c+3v`CYAsRL?NHo> z<?(np`PrKOdr=K!P7ifkvP03rihr^_-=}(`ib9M15Ml+K@m2 zX!%}@P9T=$VnOxnLnn}^OY67tUEanseE1ZB5q;JK5+)>&Fd>122?-=jNFZTC0tpjz z0(twWyfLIMdBlmfAhX%-m!LMf2&1Fb-eXWK|v`#~!Zz}vLmF!zC4Ab`7h zJzzh6dVv7`Cbq)Eak~%*@X^egcsX7-0s(%SYQ@uWx)KQR)!Z|9J3f~`Fts$9?E`ZQ z-o#mODbT_UB6$^O!QB#;!fOa#>%L|RfdGGDc&m4dX#@iNgyN;n9HtTo;17qrzEY+W z2;dEgwJr-&3IyoMED%sH^r-Rx z!36^B;YXGSkU#*=OAuWiKmxr{Dud*CMFL%sD~06wj|5tAB!}dAj|37XBv68_DWmE0 z5ec-xS{BKZMgr}yNF#Z+xd6c9*XNhfg$SQ$0tpimNSKg7!o&>#+&|r2Mi(OdasPC8 z(F77E-UQMV5+y9YXaWfn5=fYMCyNfeWu+_Ue(BvCAK^DerLmqalr$+`GBkR+O$ z(tJ%a=v(S}I6D|jPog!A=D?C;RRJ`S{7~!UZ!$q75-+t^jel1bGRG9BHeUb$002ov JPDHLkV1k1*U0?tJ diff --git a/frontend/public/plugin-logos/monthly-revenue-report.png b/frontend/public/plugin-logos/monthly-revenue-report.png index e440e3a6683a6be7f1d68c3befdc6929b46e2155..a411a2bd7a4fbed8fb47f40b16957afbcfb11e99 100644 GIT binary patch literal 43699 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 diff --git a/frontend/public/plugin-logos/no-show-tracker.png b/frontend/public/plugin-logos/no-show-tracker.png index 2ab4ee66c2aa3847e1af2ee0b4c33490f7fffe9a..861fe79402dedca5f36ab18de64bee1f00671d71 100644 GIT binary patch literal 44172 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 literal 1146 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q4M;wBd$farfyL3&#WAE}&fB|zMYjw@S|2h` zo@?U#ZT}pDmr=LcO{TEij@UQp&Fatp^L1qnUaZzhwzgd9EIy}S8iJPV85q-nBen3(wQnmnr76BJ ze^I9#gW>NBLH4zCrpu|!dUcO;w*eQc0#_;Xk$2r*zdjw}aargmw3$D*U$VoA5scKaOuFB`Q+e|W4Sb1;3?ne`MZ2c+r{a8M?gYd`8me<%7 zxKj7BEvjHx6aYlde>!&mcFjMjwEbDGd33z_??pCWm8$q0@?A{h^tG34*}Y+DqrRh{ z?2f32&G%Yn2wj-Pzngv0E#p`>mzNAvYfk72ZoTE3<~)V#!ZiNvtc$K?ukq;!V!RdQ z>ryTIRCcRL!=mOu=0Ja&$PY^yLl$!=rOkV}hQaf;Kx4X{wL{SE#m43~lQb1N=ZC~= zM>`1Z*Iw*)twCk};-z6XnI~;iE;z2t_##Y`?L!UQg8HpC;$}q*LGw3%T%5+g;`vtx z)^*XnI7HyVHL@gRa$jOaH8x2-3kYj`JxL>oMB${GKb;njoii;hTIOO*KHJj z-TTlGr8C3v%l?IoTlYxtxXkC}UU7VCi-MHMg~0doBm^%OG<@69c2n|VK*P5^4EIDY z8Z`73d~Z=+l*q8vf+c^a>?MhgHb#}Je}y(YEt~Rhx3am2!pd`*9n)@a{Pt0Ym))al zE=TT8+4KMGlAW0*ZHw)?SY-X|-<-XPjGo6O*DOxRyLh3Y?@C973PYd)L!br@wBqyY zuT{6Il{NCuIEZk8(JLKK$!m_vF%5A+ZQp-a?VUHHQR51)z~&2ur#{&2-?Lozjv%>vV1Pw`RCaTuxQ23N{ zcE|dEN`fwNYh~Xr%3tL8B=Dq#`21507jI1M%ja<3mcJ%*-&$ek7b#ksF9I|3MlFW4 qB{o-ooxh*L#(1f4_1^10xF<57+%WS)L=~`1VeoYIb6Mw<&;$U%9QW}6 diff --git a/frontend/public/plugin-logos/test_gemini_image.py b/frontend/public/plugin-logos/test_gemini_image.py deleted file mode 100644 index 399d18a..0000000 --- a/frontend/public/plugin-logos/test_gemini_image.py +++ /dev/null @@ -1,43 +0,0 @@ -import google.generativeai as genai -import os -from PIL import Image -import io - -# Configure API Key -genai.configure(api_key="AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw") - -# Try to initialize the model -try: - generation_model = genai.GenerativeModel('gemini-pro-vision') - print("Model initialized successfully") - - # Define prompt - prompt = "A modern app icon with a blue background and white envelope symbol" - print(f"Generating image for: '{prompt}'...") - - # Try to generate - response = generation_model.generate_content(prompt) - - print(f"Response type: {type(response)}") - print(f"Response: {response}") - - if hasattr(response, 'parts') and response.parts: - print(f"Parts: {response.parts}") - if hasattr(response.parts[0], 'inline_data'): - print("Has inline_data!") - image_data = response.parts[0].inline_data.data - image = Image.open(io.BytesIO(image_data)) - image.save("test_output.png") - print("Success! Image saved to test_output.png") - else: - print("No inline_data attribute") - print(f"Part attributes: {dir(response.parts[0])}") - else: - print("No parts in response or response.parts doesn't exist") - if hasattr(response, 'text'): - print(f"Response text: {response.text}") - -except Exception as e: - print(f"Error: {type(e).__name__}: {str(e)}") - import traceback - traceback.print_exc() diff --git a/frontend/public/plugin-logos/test_gemini_native_image.py b/frontend/public/plugin-logos/test_gemini_native_image.py deleted file mode 100644 index 5c5eb92..0000000 --- a/frontend/public/plugin-logos/test_gemini_native_image.py +++ /dev/null @@ -1,41 +0,0 @@ -from google import genai -from google.genai import types -from PIL import Image -from io import BytesIO -import os - -# Setup Client -client = genai.Client(api_key="AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw") - -# Define the Prompt -prompt = "Create a simple modern app icon with a blue background and white envelope symbol, square format, flat design, minimalist" - -print(f"Asking Gemini to generate: '{prompt}'...") - -# Call the Gemini Model -try: - response = client.models.generate_content( - model='gemini-2.5-flash-image', - contents=prompt, - config=types.GenerateContentConfig( - response_modalities=["IMAGE"] # Tell Gemini to draw, not talk - ) - ) - - # Save the Image - if response.candidates[0].content.parts: - for part in response.candidates[0].content.parts: - if part.inline_data: - image_data = part.inline_data.data - image = Image.open(BytesIO(image_data)) - image.save("test_gemini_native.png") - print("Success! Saved test_gemini_native.png") - else: - print("Model returned text instead of image:", part.text) - else: - print("No content parts in response") - -except Exception as e: - print(f"Error: {type(e).__name__}: {e}") - import traceback - traceback.print_exc() diff --git a/frontend/public/plugin-logos/test_google_genai.py b/frontend/public/plugin-logos/test_google_genai.py deleted file mode 100644 index 298044c..0000000 --- a/frontend/public/plugin-logos/test_google_genai.py +++ /dev/null @@ -1,41 +0,0 @@ -from google import genai -from google.genai import types -from PIL import Image -from io import BytesIO -import os - -# Initialize the Client -client = genai.Client(api_key="AIzaSyB-nR0nkeftKrd42NrNIDcFCj3yFP8JLtw") - -# Define the prompt -prompt = "A simple modern app icon with a blue background and white envelope symbol, square format, flat design" - -print(f"Generating image for: '{prompt}'...") - -# Call the API -try: - response = client.models.generate_images( - model='gemini-2.5-flash-image', - prompt=prompt, - config=types.GenerateImagesConfig( - number_of_images=1, - aspect_ratio="1:1", - safety_filter_level="BLOCK_LOW_AND_ABOVE", - person_generation="ALLOW_ADULT" - ) - ) - - # Handle the response - for i, generated_image in enumerate(response.generated_images): - # Convert raw bytes to an image - image = Image.open(BytesIO(generated_image.image.image_bytes)) - - # Save to disk - filename = f"test_generated_image_{i}.png" - image.save(filename) - print(f"Success! Saved {filename}") - -except Exception as e: - print(f"Error occurred: {type(e).__name__}: {e}") - import traceback - traceback.print_exc() diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 607fb5a..b6e1edc 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -13,6 +13,7 @@ import { setCookie } from './utils/cookies'; // Import Login Page import LoginPage from './pages/LoginPage'; +import MFAVerifyPage from './pages/MFAVerifyPage'; import OAuthCallback from './pages/OAuthCallback'; // Import layouts @@ -66,6 +67,7 @@ import PlatformSupport from './pages/PlatformSupport'; // Import Platform Suppor import PluginMarketplace from './pages/PluginMarketplace'; // Import Plugin Marketplace page import MyPlugins from './pages/MyPlugins'; // Import My Plugins page import Tasks from './pages/Tasks'; // Import Tasks page for scheduled plugin executions +import EmailTemplates from './pages/EmailTemplates'; // Import Email Templates page import { Toaster } from 'react-hot-toast'; // Import Toaster for notifications const queryClient = new QueryClient({ @@ -127,14 +129,22 @@ const AppContent: React.FC = () => { const { data: user, isLoading: userLoading, error: userError } = useCurrentUser(); const { data: business, isLoading: businessLoading, error: businessError } = useCurrentBusiness(); - const [darkMode, setDarkMode] = useState(false); + const [darkMode, setDarkMode] = useState(() => { + // Check localStorage first, then system preference + const saved = localStorage.getItem('darkMode'); + if (saved !== null) { + return JSON.parse(saved); + } + return window.matchMedia('(prefers-color-scheme: dark)').matches; + }); const updateBusinessMutation = useUpdateBusiness(); const masqueradeMutation = useMasquerade(); const logoutMutation = useLogout(); - // Apply dark mode class + // Apply dark mode class and persist to localStorage React.useEffect(() => { document.documentElement.classList.toggle('dark', darkMode); + localStorage.setItem('darkMode', JSON.stringify(darkMode)); }, [darkMode]); // Handle tokens in URL (from login or masquerade redirect) @@ -222,6 +232,7 @@ const AppContent: React.FC = () => { } /> } /> + } /> } /> } /> } /> @@ -236,6 +247,7 @@ const AppContent: React.FC = () => { return ( } /> + } /> } /> } /> } /> @@ -547,6 +559,16 @@ const AppContent: React.FC = () => { ) } /> + + ) : ( + + ) + } + /> } /> => { + const response = await apiClient.get('/api/auth/mfa/status/'); + return response.data; +}; + +// ============================================================================ +// SMS Setup +// ============================================================================ + +/** + * Send phone verification code + */ +export const sendPhoneVerification = async (phone: string): Promise<{ success: boolean; message: string }> => { + const response = await apiClient.post('/api/auth/mfa/phone/send/', { phone }); + return response.data; +}; + +/** + * Verify phone number with code + */ +export const verifyPhone = async (code: string): Promise<{ success: boolean; message: string }> => { + const response = await apiClient.post('/api/auth/mfa/phone/verify/', { code }); + return response.data; +}; + +/** + * Enable SMS MFA (requires verified phone) + */ +export const enableSMSMFA = async (): Promise => { + const response = await apiClient.post('/api/auth/mfa/sms/enable/'); + return response.data; +}; + +// ============================================================================ +// TOTP Setup (Authenticator App) +// ============================================================================ + +/** + * Initialize TOTP setup (returns QR code and secret) + */ +export const setupTOTP = async (): Promise => { + const response = await apiClient.post('/api/auth/mfa/totp/setup/'); + return response.data; +}; + +/** + * Verify TOTP code to complete setup + */ +export const verifyTOTPSetup = async (code: string): Promise => { + const response = await apiClient.post('/api/auth/mfa/totp/verify/', { code }); + return response.data; +}; + +// ============================================================================ +// Backup Codes +// ============================================================================ + +/** + * Generate new backup codes (invalidates old ones) + */ +export const generateBackupCodes = async (): Promise => { + const response = await apiClient.post('/api/auth/mfa/backup-codes/'); + return response.data; +}; + +/** + * Get backup codes status + */ +export const getBackupCodesStatus = async (): Promise => { + const response = await apiClient.get('/api/auth/mfa/backup-codes/status/'); + return response.data; +}; + +// ============================================================================ +// Disable MFA +// ============================================================================ + +/** + * Disable MFA (requires password or valid MFA code) + */ +export const disableMFA = async (credentials: { password?: string; mfa_code?: string }): Promise<{ success: boolean; message: string }> => { + const response = await apiClient.post('/api/auth/mfa/disable/', credentials); + return response.data; +}; + +// ============================================================================ +// MFA Login Challenge +// ============================================================================ + +/** + * Send MFA code for login (SMS only) + */ +export const sendMFALoginCode = async (userId: number, method: 'SMS' | 'TOTP' = 'SMS'): Promise<{ success: boolean; message: string; method: string }> => { + const response = await apiClient.post('/api/auth/mfa/login/send/', { user_id: userId, method }); + return response.data; +}; + +/** + * Verify MFA code to complete login + */ +export const verifyMFALogin = async ( + userId: number, + code: string, + method: 'SMS' | 'TOTP' | 'BACKUP', + trustDevice: boolean = false +): Promise => { + const response = await apiClient.post('/api/auth/mfa/login/verify/', { + user_id: userId, + code, + method, + trust_device: trustDevice, + }); + return response.data; +}; + +// ============================================================================ +// Trusted Devices +// ============================================================================ + +/** + * List trusted devices + */ +export const listTrustedDevices = async (): Promise<{ devices: TrustedDevice[] }> => { + const response = await apiClient.get('/api/auth/mfa/devices/'); + return response.data; +}; + +/** + * Revoke a specific trusted device + */ +export const revokeTrustedDevice = async (deviceId: number): Promise<{ success: boolean; message: string }> => { + const response = await apiClient.delete(`/api/auth/mfa/devices/${deviceId}/`); + return response.data; +}; + +/** + * Revoke all trusted devices + */ +export const revokeAllTrustedDevices = async (): Promise<{ success: boolean; message: string; count: number }> => { + const response = await apiClient.delete('/api/auth/mfa/devices/revoke-all/'); + return response.data; +}; diff --git a/frontend/src/api/profile.ts b/frontend/src/api/profile.ts index 593a544..cba63fb 100644 --- a/frontend/src/api/profile.ts +++ b/frontend/src/api/profile.ts @@ -121,29 +121,34 @@ export const changePassword = async ( }); }; -// 2FA API +// 2FA API (using new MFA endpoints) export const setupTOTP = async (): Promise => { - const response = await apiClient.post('/api/auth/2fa/totp/setup/'); + const response = await apiClient.post('/api/auth/mfa/totp/setup/'); return response.data; }; export const verifyTOTP = async (code: string): Promise => { - const response = await apiClient.post('/api/auth/2fa/totp/verify/', { code }); - return response.data; + const response = await apiClient.post('/api/auth/mfa/totp/verify/', { code }); + // Map response to expected format + return { + success: response.data.success, + recovery_codes: response.data.backup_codes || [], + }; }; export const disableTOTP = async (code: string): Promise => { - await apiClient.post('/api/auth/2fa/totp/disable/', { code }); + await apiClient.post('/api/auth/mfa/disable/', { mfa_code: code }); }; export const getRecoveryCodes = async (): Promise => { - const response = await apiClient.get('/api/auth/2fa/recovery-codes/'); - return response.data.codes; + const response = await apiClient.get('/api/auth/mfa/backup-codes/status/'); + // Note: Actual codes are only shown when generated, not retrievable later + return []; }; export const regenerateRecoveryCodes = async (): Promise => { - const response = await apiClient.post('/api/auth/2fa/recovery-codes/regenerate/'); - return response.data.codes; + const response = await apiClient.post('/api/auth/mfa/backup-codes/'); + return response.data.backup_codes; }; // Sessions API diff --git a/frontend/src/api/ticketEmailSettings.ts b/frontend/src/api/ticketEmailSettings.ts new file mode 100644 index 0000000..abfef92 --- /dev/null +++ b/frontend/src/api/ticketEmailSettings.ts @@ -0,0 +1,169 @@ +/** + * API client for ticket email settings + */ + +import apiClient from './client'; + +export interface TicketEmailSettings { + // IMAP settings (inbound) + imap_host: string; + imap_port: number; + imap_use_ssl: boolean; + imap_username: string; + imap_password_masked: string; + imap_folder: string; + // SMTP settings (outbound) + smtp_host: string; + smtp_port: number; + smtp_use_tls: boolean; + smtp_use_ssl: boolean; + smtp_username: string; + smtp_password_masked: string; + smtp_from_email: string; + smtp_from_name: string; + // General settings + support_email_address: string; + support_email_domain: string; + is_enabled: boolean; + delete_after_processing: boolean; + check_interval_seconds: number; + max_attachment_size_mb: number; + allowed_attachment_types: string[]; + // Status + last_check_at: string | null; + last_error: string; + emails_processed_count: number; + is_configured: boolean; + is_imap_configured: boolean; + is_smtp_configured: boolean; + created_at: string; + updated_at: string; +} + +export interface TicketEmailSettingsUpdate { + // IMAP settings + imap_host?: string; + imap_port?: number; + imap_use_ssl?: boolean; + imap_username?: string; + imap_password?: string; + imap_folder?: string; + // SMTP settings + smtp_host?: string; + smtp_port?: number; + smtp_use_tls?: boolean; + smtp_use_ssl?: boolean; + smtp_username?: string; + smtp_password?: string; + smtp_from_email?: string; + smtp_from_name?: string; + // General settings + support_email_address?: string; + support_email_domain?: string; + is_enabled?: boolean; + delete_after_processing?: boolean; + check_interval_seconds?: number; + max_attachment_size_mb?: number; + allowed_attachment_types?: string[]; +} + +export interface TestConnectionResult { + success: boolean; + message: string; +} + +export interface FetchNowResult { + success: boolean; + message: string; + processed: number; +} + +export interface IncomingTicketEmail { + id: number; + message_id: string; + from_address: string; + from_name: string; + to_address: string; + subject: string; + body_text: string; + extracted_reply: string; + ticket: number | null; + ticket_subject: string; + matched_user: number | null; + ticket_id_from_email: string; + processing_status: 'PENDING' | 'PROCESSED' | 'FAILED' | 'SPAM' | 'NO_MATCH' | 'DUPLICATE'; + processing_status_display: string; + error_message: string; + email_date: string; + received_at: string; + processed_at: string | null; +} + +/** + * Get ticket email settings + */ +export const getTicketEmailSettings = async (): Promise => { + const response = await apiClient.get('/api/tickets/email-settings/'); + return response.data; +}; + +/** + * Update ticket email settings + */ +export const updateTicketEmailSettings = async ( + data: TicketEmailSettingsUpdate +): Promise => { + const response = await apiClient.patch('/api/tickets/email-settings/', data); + return response.data; +}; + +/** + * Test IMAP connection + */ +export const testImapConnection = async (): Promise => { + const response = await apiClient.post('/api/tickets/email-settings/test-imap/'); + return response.data; +}; + +/** + * Test SMTP connection + */ +export const testSmtpConnection = async (): Promise => { + const response = await apiClient.post('/api/tickets/email-settings/test-smtp/'); + return response.data; +}; + +// Legacy alias for backwards compatibility +export const testEmailConnection = testImapConnection; + +/** + * Manually trigger email fetch + */ +export const fetchEmailsNow = async (): Promise => { + const response = await apiClient.post('/api/tickets/email-settings/fetch-now/'); + return response.data; +}; + +/** + * Get incoming email audit log + */ +export const getIncomingEmails = async (params?: { + status?: string; + ticket?: number; +}): Promise => { + const response = await apiClient.get('/api/tickets/incoming-emails/', { params }); + return response.data; +}; + +/** + * Reprocess a failed incoming email + */ +export const reprocessIncomingEmail = async (id: number): Promise<{ + success: boolean; + message: string; + comment_id?: number; + ticket_id?: number; +}> => { + const response = await apiClient.post(`/api/tickets/incoming-emails/${id}/reprocess/`); + return response.data; +}; diff --git a/frontend/src/components/EmailTemplateForm.tsx b/frontend/src/components/EmailTemplateForm.tsx new file mode 100644 index 0000000..47d726f --- /dev/null +++ b/frontend/src/components/EmailTemplateForm.tsx @@ -0,0 +1,456 @@ +import React, { useState, useEffect } from 'react'; +import { useTranslation } from 'react-i18next'; +import { useMutation, useQuery } from '@tanstack/react-query'; +import { + X, + Save, + Eye, + Code, + FileText, + Monitor, + Smartphone, + Plus, + AlertTriangle, + ChevronDown +} from 'lucide-react'; +import api from '../api/client'; +import { EmailTemplate, EmailTemplateCategory, EmailTemplateVariableGroup } from '../types'; + +interface EmailTemplateFormProps { + template?: EmailTemplate | null; + onClose: () => void; + onSuccess: () => void; +} + +const EmailTemplateForm: React.FC = ({ + template, + onClose, + onSuccess, +}) => { + const { t } = useTranslation(); + const isEditing = !!template; + + // Form state + const [name, setName] = useState(template?.name || ''); + const [description, setDescription] = useState(template?.description || ''); + const [subject, setSubject] = useState(template?.subject || ''); + const [htmlContent, setHtmlContent] = useState(template?.htmlContent || ''); + const [textContent, setTextContent] = useState(template?.textContent || ''); + const [category, setCategory] = useState(template?.category || 'OTHER'); + + // UI state + const [activeTab, setActiveTab] = useState<'html' | 'text'>('html'); + const [editorMode, setEditorMode] = useState<'visual' | 'code'>('code'); + const [previewDevice, setPreviewDevice] = useState<'desktop' | 'mobile'>('desktop'); + const [showPreview, setShowPreview] = useState(false); + const [showVariables, setShowVariables] = useState(false); + + // Fetch available variables + const { data: variablesData } = useQuery<{ variables: EmailTemplateVariableGroup[] }>({ + queryKey: ['email-template-variables'], + queryFn: async () => { + const { data } = await api.get('/api/email-templates/variables/'); + return data; + }, + }); + + // Preview mutation + const previewMutation = useMutation({ + mutationFn: async () => { + const { data } = await api.post('/api/email-templates/preview/', { + subject, + html_content: htmlContent, + text_content: textContent, + }); + return data; + }, + }); + + // Create/Update mutation + const saveMutation = useMutation({ + mutationFn: async () => { + const payload = { + name, + description, + subject, + html_content: htmlContent, + text_content: textContent, + category, + scope: 'BUSINESS', // Business users only create business templates + }; + + if (isEditing && template) { + const { data } = await api.patch(`/api/email-templates/${template.id}/`, payload); + return data; + } else { + const { data } = await api.post('/api/email-templates/', payload); + return data; + } + }, + onSuccess: () => { + onSuccess(); + }, + }); + + const handlePreview = () => { + previewMutation.mutate(); + setShowPreview(true); + }; + + const insertVariable = (code: string) => { + if (activeTab === 'html') { + setHtmlContent(prev => prev + code); + } else if (activeTab === 'text') { + setTextContent(prev => prev + code); + } + }; + + const categories: { value: EmailTemplateCategory; label: string }[] = [ + { value: 'APPOINTMENT', label: t('emailTemplates.categoryAppointment', 'Appointment') }, + { value: 'REMINDER', label: t('emailTemplates.categoryReminder', 'Reminder') }, + { value: 'CONFIRMATION', label: t('emailTemplates.categoryConfirmation', 'Confirmation') }, + { value: 'MARKETING', label: t('emailTemplates.categoryMarketing', 'Marketing') }, + { value: 'NOTIFICATION', label: t('emailTemplates.categoryNotification', 'Notification') }, + { value: 'REPORT', label: t('emailTemplates.categoryReport', 'Report') }, + { value: 'OTHER', label: t('emailTemplates.categoryOther', 'Other') }, + ]; + + const isValid = name.trim() && subject.trim() && (htmlContent.trim() || textContent.trim()); + + return ( +

+
+ {/* Modal Header */} +
+

+ {isEditing + ? t('emailTemplates.edit', 'Edit Template') + : t('emailTemplates.create', 'Create Template')} +

+ +
+ + {/* Modal Body */} +
+
+ {/* Left Column - Form */} +
+ {/* Name */} +
+ + setName(e.target.value)} + placeholder={t('emailTemplates.namePlaceholder', 'e.g., Appointment Confirmation')} + className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-brand-500 focus:border-brand-500" + /> +
+ + {/* Category */} +
+ + +
+ + {/* Description */} +
+ + setDescription(e.target.value)} + placeholder={t('emailTemplates.descriptionPlaceholder', 'Brief description of when this template is used')} + className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-brand-500 focus:border-brand-500" + /> +
+ + {/* Subject */} +
+ + setSubject(e.target.value)} + placeholder={t('emailTemplates.subjectPlaceholder', 'e.g., Your appointment is confirmed!')} + className="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-white focus:ring-2 focus:ring-brand-500 focus:border-brand-500" + /> +
+ + {/* Variables Dropdown */} +
+ + + {showVariables && variablesData?.variables && ( +
+ {variablesData.variables.map((group) => ( +
+

+ {group.category} +

+
+ {group.items.map((variable) => ( + + ))} +
+
+ ))} +
+ )} +
+ + {/* Content Tabs */} +
+
+
+ + +
+ + {/* Editor Mode Toggle (for HTML only) */} + {activeTab === 'html' && ( +
+ + +
+ )} +
+ + {/* Content Editor */} + {activeTab === 'html' && ( +

AfHPx|cljNjLO<-u{7yUirE^KXC8) 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