SaaS Mode

SaaS Mode V2
Here are a few ideas for upgrades to the current SaaS mode:1. More than 3 SaaS plans (preferably unlimited).2. Have a way for SaaS users to change their plan or cancel in their billing settings and let us make our own description of what is included in each plan to show here in billing.2a. Give us the ability to control what SaaS plans they can switch to in the billing settings.2b. Let us create a required form for SaaS users to submit if they are trying to cancel that includes the ability to downgrade to a cheaper plan. 2c. Agencies should be able to choose if users have the ability to change plans or cancel in settings, it should not be a required feature.3. Let us "impersonate" any SaaS user and see the app as they see it.4. Give us the ability to turn off some features completely so that no SaaS plan has them.5. Let us create our own banner popups that show for SaaS users.6. Give us the ability to disable certain settings in the settings menu for SaaS plans if we don't need our users to be able to access them. Also, I'd love to be able to add custom menu items to the settings menu, not just the main menu.7. There needs to be a way to fully disable features that SaaS accounts lose access to. For example, if a user cancels their subscription or downgrades to a plan that doesn't have workflows, they will not be able to view workflows anymore but the workflows will still actually work. This is not okay.8. We need some sort of system for managing and sorting our sub accounts. Filtering by SaaS plan would be a good start. Also, would love the ability to be able to select multiple SaaS accounts and bulk edit them (like adding or removing feature permissions). HIGHLVL-I-5285
33
·

planned

✅ Easily Customize UI CSS
We would like to easily make platform-wide changes to the UI. Please give us a setting for editing a platform-wide CSS (this should be a $497 feature). For example, give us the ability to copy/edit base CSS like this: :root { --background: oklch(0.9807 0.0106 100.8193); --foreground: oklch(0.1500 0.0303 21.3295); --card: oklch(0.9600 0.0093 99.9853); --card-foreground: var(--foreground); --popover: var(--card); --popover-foreground: var(--foreground); --primary: oklch(0.2601 0.0499 259.4422); --primary-foreground: oklch(0.9807 0.0106 100.8193); --secondary: oklch(0.4794 0.0807 29.7197); --secondary-foreground: oklch(0.9807 0.0106 100.8193); --muted: oklch(0.9389 0.0094 99.9893); --muted-foreground: oklch(0.4506 0.0292 259.7731); --accent: oklch(0.3898 0.0595 150.4215); --accent-foreground: var(--primary-foreground); --border: oklch(0.8688 0.0096 100.0042); --input: var(--border); --ring: oklch(0.6505 0.0298 260.2930); --chart-1: oklch(0.8088 0.0991 251.7533); --chart-5: oklch(0.4210 0.1792 266.0094); --sidebar: var(--primary); --sidebar-foreground: var(--primary-foreground); --sidebar-primary: var(--secondary); --sidebar-accent-foreground: var(--accent-foreground); --sidebar-border: var(--border); --sidebar-ring: var(--ring); --font-sans: "Inter", sans-serif; --font-serif: "Cinzel", serif; --font-mono: "Menlo", monospace; --radius: 0.625rem; --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25); --tracking-normal: 0em; --spacing: 0.25rem; } .dark { --background: oklch(0.1801 0.0191 255.7673); --foreground: oklch(0.9807 0.0106 100.8193); --card: oklch(0.2204 0.0199 258.3470); --card-foreground: var(--foreground); --popover: var(--card); --popover-foreground: var(--foreground); --primary: oklch(0.9600 0.0093 99.9853); --primary-foreground: oklch(0.1995 0.0198 262.0232); --secondary: oklch(0.4288 0.0702 30.1163); --secondary-foreground: var(--primary); --muted: oklch(0.2713 0.0086 255.5780); --muted-foreground: oklch(0.6505 0.0298 260.2930); --accent: oklch(0.3898 0.0595 150.4215); --accent-foreground: var(--primary); --destructive: oklch(0.6494 0.1702 27.0540); --destructive-foreground: var(--background); --border: oklch(0.3504 0.0103 253.9690); --input: var(--border); --ring: oklch(0.6505 0.0298 260.2930); --chart-1: oklch(0.8100 0.1000 252); --chart-5: oklch(0.4200 0.1800 266); --sidebar: oklch(0.2204 0.0199 258.3470); --sidebar-foreground: var(--foreground); --sidebar-primary: var(--secondary); --sidebar-primary-foreground: var(--secondary-foreground); --sidebar-accent: var(--accent); --sidebar-ring: var(--ring); --font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --radius: 0.625rem; --shadow-2xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-xs: 0 1px 3px 0px hsl(0 0% 0% / 0.05); --shadow-sm: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 1px 2px -1px hsl(0 0% 0% / 0.10); --shadow-xl: 0 1px 3px 0px hsl(0 0% 0% / 0.10), 0 8px 10px -1px hsl(0 0% 0% / 0.10); --shadow-2xl: 0 1px 3px 0px hsl(0 0% 0% / 0.25); } @theme inline { --color-background: var(--background); --color-foreground: var(--foreground); --color-card: var(--card); --color-card-foreground: var(--card-foreground); --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-secondary: var(--secondary); --color-sidebar-foreground: var(--sidebar-foreground); --color-sidebar-primary: var(--sidebar-primary); --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); --color-sidebar-accent: var(--sidebar-accent); --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); --color-sidebar-border: var(--sidebar-border); --color-sidebar-ring: var(--sidebar-ring); --font-sans: var(--font-sans); --font-mono: var(--font-mono); --font-serif: var(--font-serif); --radius-sm: calc(var(--radius) - 4px); --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); --shadow-2xs: var(--shadow-2xs); --shadow-xs: var(--shadow-xs); --shadow-lg: var(--shadow-lg); --shadow-xl: var(--shadow-xl); --shadow-2xl: var(--shadow-2xl); }
0
Load More