Multiple Views
Lifted OptinMonster campaigns from 3 hardcoded views (optin / success / yesno) to unlimited, named, drag-sortable views with plan-gated monetization.
Solo-owned full vertical — Rock mega-merge PR #2315 (51 files) + api-js PR #1008 + backend PR #6327, plus S1285 gating PR #2327/6425. Replaced the hardcoded 3-view assumption baked across header, footer, rulesets, S3 render, template import, and api-js with a normalized byId / allIds / currentView + order store, tinyInteger order migration (legacy yesno→1, optin→2, success→3), drag-drop footer (react-dnd), and a CRUD modal (kebab-case slugs, reserved teaser, duplicate-title guards). Rewired display-rule coupling so rename/delete rewrites show-campaign values per device, made save/load device-aware (devices:{desktop,tablet,mobile} + legacy dual payload for rolling-deploy safety), and replaced api-js resetView with lowest-order default + highest-order smart-success. Then monetized it: three-layer gate — server-side filterViewsForMultipleViewsGate (crafted POSTs can't mint slugs), fetch-time filtering, and UI upsell + dropdown/ruleset/import-screenshot downgrades so non-entitled users stay on ['optin','success'] even via 7-view template imports.