feat: add tenancy module card to the index grid - #379
Conversation
Marked SOON, following the same shape as the other unreleased module cards (gray, no href, four feature chips), inserted before webhooks. Copy comes from modules/.disable/tenancy: subdomain-based workspaces with isolated data, member roles, email invitations, and joining by email domain. frameworks is ['vue', 'react'] rather than ['vue'] like its SOON siblings, because the module ships both per its composer.json. The field is not read in resources/js, so this is metadata only. Applied to both the vue and react module lists. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe React and Vue Saucebase module catalogs now include a Tenancy entry. The entry uses the ChangesTenancy module
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: ⚪ Minimal · up to This adds a non-clickable upcoming Tenancy card to both index-page module grids with consistent metadata and feature copy. No current merge-readiness risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|



Adds a
tenancycard to the module grid on the index page, markedSOONlike the other unreleased modules.The grid lost a card when the settings module was retired in #376. Tenancy is the next module in the pipeline (
v0.3.1exists), so it fills the slot with something real rather than leaving the row short.The entry
Follows the existing
BADGE_SOONshape used bywebhooks/integrations/notifications/analytics—color: '--color-gray-500',href: null, four feature chips — and is inserted directly beforewebhooks, ahead of the modules that don't exist yet.Building2Copy is drawn from the module's own README and
composer.jsoninmodules/.disable/tenancy/("Subdomain-based multi-tenancy for Saucebase"), specifically its Features list: separate workspaces on their own subdomains or customer-owned domains, secure separation of workspace data, owners/members/roles, email invitations, and joining by email domain.One deliberate difference from its
SOONsiblings:frameworksis['vue', 'react']rather than['vue'], because the module genuinely ships both (extra.saucebase.frameworksin itscomposer.json). The field isn't read anywhere inresources/js, so this is metadata accuracy only — no rendering impact.Applied to both stacks:
resources/js/vue/components/ui/saucebase/index.tsandresources/js/react/components/ui/saucebase/index.ts.Verification
npx prettier --checkpasses on both files. The build and e2e for both stacks run in CI.🤖 Generated with Claude Code
Summary by CodeRabbit