Skip to content

Customer Support Center (Storefront)

Storefront customer support center with New Ticket and My Tickets tabs, ticket submission form fields, and support terms checkbox before submit.

  • Technology: Server-rendered HTML/CSS/JS string from Remix loader
  • Data bootstrap: window.SUPPORT_PORTAL payload (shop, customerId, orders, categories, termsUrl, apiBase)
  • Data dependency: The support ticket service powers ticket creation and updates.
  • Customer identity: Requires logged_in_customer_id from app proxy context
  • Shop context: Derived from app proxy session/shop query
  • No customer behavior: Shows sign-in guidance instead of ticket UI
  • Header (Support Center title and subtitle)
  • Two tabs: New Ticket / My Tickets
  • Ticket creation form
  • Ticket list and ticket detail conversation
  • Brand footer link with app icon + text
- Subject (required)
- Category (required, from Settings)
- Order ID (required or optional by category requiresLinkedOrder)
- Description (required)
- Support Terms acceptance checkbox (required)
- Order requirement toggles live when category changes.
- If customer has no orders and selected category requires order, submit is disabled with helper hint.
- If customer is blocked from ticket submission, form shows block warning and submit is disabled.
- Ticket creation action
- On success: form reset, tickets refresh, automatically opens new ticket detail
- On error: inline alert message
  • List mode: Shows non-archived tickets for current customer ordered by updatedAt desc.
  • Detail mode: Shows single ticket thread with status badge and linked order info.
  • Reply behavior: Customer replies are posted and the conversation refreshes automatically.
  • Url sync: Tab and selected ticket are mirrored in URL query params (tab, ticket).
  • Back navigation: Back to My Tickets returns detail view to list view.
  • Agent bubble style: Agent message cards use distinct support-team style.
  • Customer visibility: Only public messages are shown to the customer.
  • Archived exclusion: Archived tickets are excluded from customer list and detail views.
  • Customer received: Agent replies and agent-created tickets can trigger customer email notifications.
  • Team received: Customer-created tickets and customer replies trigger team notification emails (BCC recipients from agents and account owners).
  • Requirements: Store notification setup and deliverable recipient emails are required.
  • Customer account menu: Loader attempts to ensure Support link in customer account menu.
  • Storefront main menu: Loader attempts to ensure Support link in storefront main menu.
  • Legacy link migration: App shell services also migrate legacy support links to current proxy path.
  • Support Terms content in /app/terms
  • Category list and requiresLinkedOrder flags in /app/settings
  • Ticket assignment defaults/rules in /app/settings
  • Store notification configuration for outgoing messages