Skip to main content

Seller portal

Brands get their own experience in the (brand) route group, which has its own layout and is gated to users whose role is brand. It is where a clothing brand turns its catalog into a try-on-enabled storefront.

brand-onboarding.tsx
application form

agreement.tsx
partner agreement

dashboard.tsx

products / add-product

analytics

orders

billing + Stripe Connect

widget
Shop on Drape HTML snippet

Screens

ScreenWhat it does
brand-onboarding.tsx (top-level)Brand application form — name, categories, contact
agreement.tsxThe DRAPE Partner Agreement, with scroll-to-accept persistence
dashboard.tsxBrand home — plan/subscription status, quick stats, links, and Stripe/portal deep links
add-product.tsxCreate a product: image picker, name/price/description, and sport category + subcategory from the taxonomy
products.tsxManage the brand's catalog — list, edit, delete
analytics.tsxPer-product performance (try-on and preview counts), fed by the events log
orders.tsxBrand-side order management with status updates and a notes modal
billing.tsxSubscription plans, payment method entry, and Stripe management links
widget.tsxGenerates a Shop on Drape HTML button snippet (not a CDN JS try-on embed). See Website widget & deep links.

Billing & payouts

The portal is backed by Stripe Connect Express. A brand onboards a Connect account, and its plan determines the platform fee (Freemium 10% down to Premium 6% on the public ladder; Grandfathered 5% is admin-only). When a store is Connect-enabled, checkout routes funds to the brand via application_fee_amount + transfer_data; otherwise the platform takes the charge for manual payout. The full flow is on the backend payments page.

Website button vs iOS home-screen widget

These are different products:

SurfaceWhat it is
Website widget (widget.tsx / brand portal /widget)HTML Shop on Drape button linking to {slug}.drape.to. Install steps: Website widget & deep links.
iOS WidgetKit (modules/drape-widget)Native home-screen widget for the consumer app, wired by withDrapeWidget in app.json — not a web embed.
Brand vs store terminology

In the data model a brand is a stores document with a plan_type and Stripe Connect fields. "Seller portal," "brand portal," and "store admin" all operate on the same underlying store record.