Skip to Content
SubmissionReview Process

Review Process

Every template submitted to Gymlium goes through a manual review by the platform team. This ensures quality, consistency, and a great experience for trainers.

What reviewers check

Functional testing

  • All pages render without errors
  • Navigation works correctly (all links functional)
  • No JavaScript console errors
  • Loading states display properly
  • Auth-dependent UI works (login/logout flow)
  • Conditional navigation respects plan limits

Visual quality

  • Professional, polished appearance
  • Consistent design language across all pages
  • Good use of whitespace and typography
  • Quality hover and focus states
  • Smooth transitions and animations (if any)
  • Visually distinct from existing marketplace templates

Responsiveness

  • Layouts adapt smoothly from mobile (375px) to desktop (1440px)
  • Mobile menu works correctly
  • No horizontal scrolling on any viewport
  • Touch targets are adequately sized (44×44px minimum)
  • Images scale appropriately

RTL support

  • Layout mirrors correctly in Arabic locale
  • Navigation flows right-to-left
  • Text alignment is correct
  • No overlapping elements
  • Mobile menu slides from the correct side
  • Directional icons flip appropriately

Dark & light mode

  • Both modes look polished and intentional
  • No invisible text against backgrounds
  • Borders and dividers are visible in both modes
  • Form inputs have visible focus indicators in both modes
  • Images/icons have appropriate contrast in both modes

Code quality

  • Correct export patterns (Header/Footer named, pages default)
  • CSS Modules used properly — no global style leaks
  • No inline styles (except dynamic values)
  • No hardcoded user-facing text — everything uses t()
  • Locale-aware links use localePath()
  • Semantic HTML elements
  • ARIA attributes on interactive custom elements

Assets

  • Thumbnail is high-quality, 1200×900px
  • Screenshots accurately represent the template
  • Total package size is within limits
  • No unnecessary files included

Common rejection reasons

ReasonHow to fix
Hardcoded English textReplace all visible text with t('key') calls
RTL layout brokenTest with ar locale, add :global([dir="rtl"]) overrides
Only one theme mode worksDefine variables for both [data-theme="light"] and [data-theme="dark"]
Mobile layout brokenTest at 375px width, implement hamburger menu
Header uses default exportChange to export function Header() (named export)
Console errorsFix all runtime errors visible in DevTools
Low-quality thumbnailCreate a high-resolution 1200×900px screenshot
Missing pagesEnsure home, about, and login pages exist
Horizontal scroll on mobileCheck for elements exceeding viewport width
Inaccessible interactive elementsUse <button>, <a>, add aria-label to icon buttons

Timeline expectations

StageDuration
Automated validationInstant (seconds)
Queue wait1-3 business days
Manual review1-2 business days
Total2-5 business days

Review times may be longer during peak submission periods. You’ll receive email notifications at each stage change.

Reviewer feedback

When changes are requested, reviewers leave specific, actionable feedback on each issue. You’ll see this in the developer portal under your template’s detail page.

Example feedback:

RTL: Mobile menu slides from wrong side The mobile menu slides in from the right in RTL mode — it should slide from the left. Add :global([dir="rtl"]) overrides to your mobile menu CSS.

Dark mode: Footer links invisible Footer links use color: #64748b which has insufficient contrast against --bg-primary: #0f172a. Use var(--text-secondary) instead.

How to resubmit after rejection

  1. Read all reviewer feedback carefully
  2. Fix each issue in your local template
  3. Run validation: npm run validate -- --template your-template-name
  4. Test thoroughly — especially the areas the reviewer flagged
  5. Repackage and upload through the developer portal

Resubmissions are reviewed with priority and typically processed within 1-2 business days. Reviewers will specifically re-check the areas they previously flagged plus a general quality pass.

Last updated on