diff --git a/apps/36-blocks-widget/src/app/app.component.ts b/apps/36-blocks-widget/src/app/app.component.ts
index 65b222f5..9a2aefc7 100644
--- a/apps/36-blocks-widget/src/app/app.component.ts
+++ b/apps/36-blocks-widget/src/app/app.component.ts
@@ -5,12 +5,11 @@ import { BaseComponent } from '@proxy/ui/base-component';
import { WidgetTheme, PublicScriptType, WidgetConfig, PROXY_DOM_ID } from '@proxy/constant';
import { WidgetThemeService } from './otp/service/widget-theme.service';
-const REFERENCE_ID = '4512365b177668815069e61c1692def';
+const REFERENCE_ID = '4512365o17835822266a4f4e12e0cd1';
const THEME: WidgetTheme = WidgetTheme.System;
-const TYPE: PublicScriptType = PublicScriptType.UserProfile;
+const TYPE: PublicScriptType = PublicScriptType.Authorization;
const OPEN_EDIT_PROFILE = true;
-const AUTH_TOKEN =
- 'VnNwWTNwWEZYV2VicU1mWElaNjU2S08vZS94N3JxVVhCcUt2RU9KVy9JZ1BlWEJPczlTeU1ZNlowRVRrbVFPVGNIT09XNjJRelB3VXg0V0kyR1NGSEc3Q1VjRTNKVGJrVnk4WWMwdWJWYTBrUGJYYSs4UXpqdVkwOGVnOHI4Sk1DRW5lZDdxODFTTk14SC9UczVFTGJReWZyTmg4NHRKZVBOTFRPdzlMS2xOb29IcmZZWkhTd0FwUnBoRTY5TjJJOU1VbUdKeEhRdzRhTHFlSFpxaTByQT09';
+const AUTH_TOKEN = '';
@Component({
selector: 'proxy-root',
diff --git a/apps/36-blocks-widget/src/app/otp/widget/widget.component.ts b/apps/36-blocks-widget/src/app/otp/widget/widget.component.ts
index 033297fc..0e9135c5 100644
--- a/apps/36-blocks-widget/src/app/otp/widget/widget.component.ts
+++ b/apps/36-blocks-widget/src/app/otp/widget/widget.component.ts
@@ -1499,7 +1499,10 @@ export class ProxyAuthWidgetComponent extends BaseComponent implements OnInit, O
this.renderer.appendChild(paragraph, link);
this.renderer.appendChild(element, paragraph);
- // Powered by footer
+ // Powered by footer — hidden when branding is removed (ui_preferences.remove_branding)
+ if (selectWidgetTheme?.ui_preferences?.remove_branding) {
+ return;
+ }
const poweredBy: HTMLParagraphElement = this.renderer.createElement('a');
poweredBy.setAttribute('href', 'https://36blocks.com');
poweredBy.setAttribute('target', '_blank');
diff --git a/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.html b/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.html
index e1086b39..ddbcbaef 100644
--- a/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.html
+++ b/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.html
@@ -919,35 +919,37 @@
-
- Powered by
-
-
-
-
-
-
-
+ @if (!featureForm.get('brandingDetails.remove_branding')?.value) {
+
+ Powered by
+
+
+
+
+
+
+
+ }
@@ -2262,6 +2264,13 @@ Taxes
color="primary"
>
+
+ Remove branding
+
+
@if (isEditMode) {
Block new user sign-ups
diff --git a/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.ts b/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.ts
index 4e1c4d4a..cd0061c4 100644
--- a/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.ts
+++ b/apps/36-blocks/src/app/panel/features/create-feature/create-feature.component.ts
@@ -345,6 +345,7 @@ export class CreateFeatureComponent extends BaseComponent implements OnDestroy,
title: new FormControl('Sign in to your account', []),
sign_up_button_text: new FormControl('Create an account', [Validators.required]),
create_account_link: new FormControl(true, []),
+ remove_branding: new FormControl(false, []),
theme: new FormControl('system', []),
version: new FormControl('v2', []),
}),
@@ -459,6 +460,7 @@ export class CreateFeatureComponent extends BaseComponent implements OnDestroy,
sign_up_button_text: feature.ui_preferences?.sign_up_button_text ?? 'Create an account',
icons: feature.ui_preferences?.icons ?? false,
create_account_link: feature.block_registration ?? true,
+ remove_branding: feature.ui_preferences?.remove_branding ?? false,
theme: feature.ui_preferences?.theme || 'system',
version: feature.ui_preferences?.version || 'v1',
},
diff --git a/apps/36-blocks/src/app/panel/layout/layout.component.ts b/apps/36-blocks/src/app/panel/layout/layout.component.ts
index 887966e1..5c5f5803 100644
--- a/apps/36-blocks/src/app/panel/layout/layout.component.ts
+++ b/apps/36-blocks/src/app/panel/layout/layout.component.ts
@@ -151,27 +151,27 @@ export class LayoutComponent extends BaseComponent implements OnInit, OnDestroy
}
});
- this.clientSettings$.pipe(takeUntil(this.destroy$)).subscribe((clientSettings) => {
- if (clientSettings?.client) {
- this.logInData$.pipe(take(1)).subscribe((existingLoginData) => {
- if (!existingLoginData) {
- this.store.dispatch(
- logInActions.authenticatedAction({
- response: {
- uid: String(clientSettings.client.id),
- displayName: clientSettings.client.name,
- email: clientSettings.client.email,
- phoneNumber: clientSettings.client.mobile ?? null,
- photoURL: null,
- emailVerified: false,
- jwtToken: this.authService.getTokenSync(),
- },
- })
- );
- }
- });
- }
- });
+ // this.clientSettings$.pipe(takeUntil(this.destroy$)).subscribe((clientSettings) => {
+ // if (clientSettings?.client) {
+ // this.logInData$.pipe(take(1)).subscribe((existingLoginData) => {
+ // if (!existingLoginData) {
+ // this.store.dispatch(
+ // logInActions.authenticatedAction({
+ // response: {
+ // uid: String(clientSettings.client.id),
+ // displayName: clientSettings.client.name,
+ // email: clientSettings.client.email,
+ // phoneNumber: clientSettings.client.mobile ?? null,
+ // photoURL: null,
+ // emailVerified: false,
+ // jwtToken: this.authService.getTokenSync(),
+ // },
+ // })
+ // );
+ // }
+ // });
+ // }
+ // });
combineLatest([this.logInData$, this.clientSettings$]).subscribe(([loginData, clientSettings]) => {
if (loginData && clientSettings) {
diff --git a/apps/36-blocks/src/app/panel/users/management/management.component.html b/apps/36-blocks/src/app/panel/users/management/management.component.html
index 02e717ef..da569ef7 100644
--- a/apps/36-blocks/src/app/panel/users/management/management.component.html
+++ b/apps/36-blocks/src/app/panel/users/management/management.component.html
@@ -281,8 +281,85 @@
}
-
+
@if (selectedSectionIndex === 3) {
+
+
+
Test Users
+
+ Users who log in with a matching email or mobile are treated as test users. On logout,
+ their account (and any organization where they are the only member) is deleted.
+
+
+
= maxTestIdentities"
+ >
+ add
+ Add Test User
+
+
+
+
+ }
+
+
+ @if (selectedSectionIndex === 4) {