diff --git a/.changeset/lemon-steaks-provide.md b/.changeset/lemon-steaks-provide.md
new file mode 100644
index 000000000000..29f0289419a0
--- /dev/null
+++ b/.changeset/lemon-steaks-provide.md
@@ -0,0 +1,6 @@
+---
+'@rocket.chat/i18n': minor
+'@rocket.chat/meteor': minor
+---
+
+Added an accordion for advanced settings on Create teams and channels
diff --git a/apps/meteor/client/sidebar/header/CreateChannel/CreateChannelModal.tsx b/apps/meteor/client/sidebar/header/CreateChannel/CreateChannelModal.tsx
index c45d300dc4c7..27ad314b2ab8 100644
--- a/apps/meteor/client/sidebar/header/CreateChannel/CreateChannelModal.tsx
+++ b/apps/meteor/client/sidebar/header/CreateChannel/CreateChannelModal.tsx
@@ -12,6 +12,8 @@ import {
FieldError,
FieldHint,
FieldDescription,
+ Accordion,
+ AccordionItem,
} from '@rocket.chat/fuselage';
import { useUniqueId } from '@rocket.chat/fuselage-hooks';
import type { TranslationKey } from '@rocket.chat/ui-contexts';
@@ -210,7 +212,7 @@ const CreateChannelModal = ({ teamId = '', onClose, reload }: CreateChannelModal
-
+
{t('Name')}
@@ -276,90 +278,99 @@ const CreateChannelModal = ({ teamId = '', onClose, reload }: CreateChannelModal
{isPrivate ? t('People_can_only_join_by_being_invited') : t('Anyone_can_access')}
-
-
- {t('Federation_Matrix_Federated')}
- (
-
+
+
+
+
+ {t('Security_and_permissions')}
+
+
+
+ {t('Federation_Matrix_Federated')}
+ (
+
+ )}
/>
- )}
- />
-
- {t(getFederationHintKey(federatedModule, federationEnabled))}
-
-
-
- {t('Encrypted')}
- (
-
+ {t(getFederationHintKey(federatedModule, federationEnabled))}
+
+
+
+ {t('Encrypted')}
+ (
+
+ )}
/>
- )}
- />
-
- {getEncryptedHint({ isPrivate, broadcast, encrypted })}
-
-
-
- {t('Read_only')}
- (
-
+ {getEncryptedHint({ isPrivate, broadcast, encrypted })}
+
+
+
+ {t('Read_only')}
+ (
+
+ )}
/>
- )}
- />
-
-
- {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'channel' }) : t('Anyone_can_send_new_messages')}
-
-
-
-
- {t('Broadcast')}
- (
-
+
+ {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'channel' }) : t('Anyone_can_send_new_messages')}
+
+
+
+
+ {t('Broadcast')}
+ (
+
+ )}
/>
- )}
- />
-
- {broadcast && {t('Broadcast_hint_enabled', { roomType: 'channel' })}}
-
-
+
+ {broadcast && {t('Broadcast_hint_enabled', { roomType: 'channel' })}}
+
+
+
+
diff --git a/apps/meteor/client/sidebar/header/CreateTeam/CreateTeamModal.tsx b/apps/meteor/client/sidebar/header/CreateTeam/CreateTeamModal.tsx
index b56bb003aa9e..ad1abdcbf399 100644
--- a/apps/meteor/client/sidebar/header/CreateTeam/CreateTeamModal.tsx
+++ b/apps/meteor/client/sidebar/header/CreateTeam/CreateTeamModal.tsx
@@ -12,6 +12,8 @@ import {
FieldError,
FieldDescription,
FieldHint,
+ Accordion,
+ AccordionItem,
} from '@rocket.chat/fuselage';
import { useUniqueId } from '@rocket.chat/fuselage-hooks';
import {
@@ -169,7 +171,7 @@ const CreateTeamModal = ({ onClose }: { onClose: () => void }): ReactElement =>
{t('Teams_new_description')}
-
+
{t('Teams_New_Name_Label')}
@@ -229,62 +231,77 @@ const CreateTeamModal = ({ onClose }: { onClose: () => void }): ReactElement =>
{isPrivate ? t('People_can_only_join_by_being_invited') : t('Anyone_can_access')}
-
-
- {t('Teams_New_Read_only_Label')}
- (
-
+
+
+
+
+ {t('Security_and_permissions')}
+
+
+
+ {t('Teams_New_Encrypted_Label')}
+ (
+
+ )}
/>
- )}
- />
-
-
- {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'team' }) : t('Anyone_can_send_new_messages')}
-
-
-
-
- {t('Teams_New_Encrypted_Label')}
- (
-
+ {getEncryptedHint({ isPrivate, broadcast, encrypted })}
+
+
+
+ {t('Teams_New_Read_only_Label')}
+ (
+
+ )}
/>
- )}
- />
-
- {getEncryptedHint({ isPrivate, broadcast, encrypted })}
-
-
-
- {t('Teams_New_Broadcast_Label')}
- (
-
- )}
- />
-
- {broadcast && {t('Teams_New_Broadcast_Description')}}
-
-
+
+
+ {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'team' }) : t('Anyone_can_send_new_messages')}
+
+
+
+
+ {t('Teams_New_Broadcast_Label')}
+ (
+
+ )}
+ />
+
+ {broadcast && {t('Teams_New_Broadcast_Description')}}
+
+
+
+
diff --git a/apps/meteor/client/sidebarv2/header/CreateChannelModal.tsx b/apps/meteor/client/sidebarv2/header/CreateChannelModal.tsx
index a395f784b70a..38a1df5a5ec8 100644
--- a/apps/meteor/client/sidebarv2/header/CreateChannelModal.tsx
+++ b/apps/meteor/client/sidebarv2/header/CreateChannelModal.tsx
@@ -12,6 +12,8 @@ import {
FieldError,
FieldHint,
FieldDescription,
+ Accordion,
+ AccordionItem,
} from '@rocket.chat/fuselage';
import { useUniqueId } from '@rocket.chat/fuselage-hooks';
import type { TranslationKey } from '@rocket.chat/ui-contexts';
@@ -210,7 +212,7 @@ const CreateChannelModal = ({ teamId = '', onClose, reload }: CreateChannelModal
-
+
{t('Name')}
@@ -276,90 +278,99 @@ const CreateChannelModal = ({ teamId = '', onClose, reload }: CreateChannelModal
{isPrivate ? t('People_can_only_join_by_being_invited') : t('Anyone_can_access')}
-
-
- {t('Federation_Matrix_Federated')}
- (
-
+
+
+
+
+ {t('Security_and_permissions')}
+
+
+
+ {t('Federation_Matrix_Federated')}
+ (
+
+ )}
/>
- )}
- />
-
- {t(getFederationHintKey(federatedModule, federationEnabled))}
-
-
-
- {t('Encrypted')}
- (
-
+ {t(getFederationHintKey(federatedModule, federationEnabled))}
+
+
+
+ {t('Encrypted')}
+ (
+
+ )}
/>
- )}
- />
-
- {getEncryptedHint({ isPrivate, broadcast, encrypted })}
-
-
-
- {t('Read_only')}
- (
-
+ {getEncryptedHint({ isPrivate, broadcast, encrypted })}
+
+
+
+ {t('Read_only')}
+ (
+
+ )}
/>
- )}
- />
-
-
- {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'channel' }) : t('Anyone_can_send_new_messages')}
-
-
-
-
- {t('Broadcast')}
- (
-
+
+ {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'channel' }) : t('Anyone_can_send_new_messages')}
+
+
+
+
+ {t('Broadcast')}
+ (
+
+ )}
/>
- )}
- />
-
- {broadcast && {t('Broadcast_hint_enabled', { roomType: 'channel' })}}
-
-
+
+ {broadcast && {t('Broadcast_hint_enabled', { roomType: 'channel' })}}
+
+
+
+
diff --git a/apps/meteor/client/sidebarv2/header/CreateTeamModal.tsx b/apps/meteor/client/sidebarv2/header/CreateTeamModal.tsx
index 70717d01f37e..e907558ce278 100644
--- a/apps/meteor/client/sidebarv2/header/CreateTeamModal.tsx
+++ b/apps/meteor/client/sidebarv2/header/CreateTeamModal.tsx
@@ -12,6 +12,8 @@ import {
FieldError,
FieldDescription,
FieldHint,
+ Accordion,
+ AccordionItem,
} from '@rocket.chat/fuselage';
import { useUniqueId } from '@rocket.chat/fuselage-hooks';
import {
@@ -171,7 +173,7 @@ const CreateTeamModal = ({ onClose }: CreateTeamModalProps) => {
{t('Teams_new_description')}
-
+
{t('Teams_New_Name_Label')}
@@ -231,62 +233,77 @@ const CreateTeamModal = ({ onClose }: CreateTeamModalProps) => {
{isPrivate ? t('People_can_only_join_by_being_invited') : t('Anyone_can_access')}
-
-
- {t('Teams_New_Read_only_Label')}
- (
-
+
+
+
+
+ {t('Security_and_permissions')}
+
+
+
+ {t('Teams_New_Encrypted_Label')}
+ (
+
+ )}
/>
- )}
- />
-
-
- {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'team' }) : t('Anyone_can_send_new_messages')}
-
-
-
-
- {t('Teams_New_Encrypted_Label')}
- (
-
+ {getEncryptedHint({ isPrivate, broadcast, encrypted })}
+
+
+
+ {t('Teams_New_Read_only_Label')}
+ (
+
+ )}
/>
- )}
- />
-
- {getEncryptedHint({ isPrivate, broadcast, encrypted })}
-
-
-
- {t('Teams_New_Broadcast_Label')}
- (
-
- )}
- />
-
- {broadcast && {t('Teams_New_Broadcast_Description')}}
-
-
+
+
+ {readOnly ? t('Read_only_field_hint_enabled', { roomType: 'team' }) : t('Anyone_can_send_new_messages')}
+
+
+
+
+ {t('Teams_New_Broadcast_Label')}
+ (
+
+ )}
+ />
+
+ {broadcast && {t('Teams_New_Broadcast_Description')}}
+
+
+
+
diff --git a/apps/meteor/tests/e2e/channel-management.spec.ts b/apps/meteor/tests/e2e/channel-management.spec.ts
index fbdd1669eeb5..dc0ec9b1ebaa 100644
--- a/apps/meteor/tests/e2e/channel-management.spec.ts
+++ b/apps/meteor/tests/e2e/channel-management.spec.ts
@@ -320,6 +320,7 @@ test.describe.serial('channel-management', () => {
await poHomeChannel.sidenav.openNewByLabel('Channel');
await poHomeChannel.sidenav.inputChannelName.fill(channelName);
await poHomeChannel.sidenav.checkboxPrivateChannel.click();
+ await poHomeChannel.sidenav.advancedSettingsAccordion.click();
await poHomeChannel.sidenav.checkboxReadOnly.click();
await poHomeChannel.sidenav.btnCreate.click();
diff --git a/apps/meteor/tests/e2e/e2e-encryption.spec.ts b/apps/meteor/tests/e2e/e2e-encryption.spec.ts
index e1a87b4615f6..dd481ea39b6a 100644
--- a/apps/meteor/tests/e2e/e2e-encryption.spec.ts
+++ b/apps/meteor/tests/e2e/e2e-encryption.spec.ts
@@ -351,6 +351,7 @@ test.describe.serial('e2e-encryption', () => {
await poHomeChannel.sidenav.openNewByLabel('Channel');
await poHomeChannel.sidenav.inputChannelName.fill(channelName);
+ await poHomeChannel.sidenav.advancedSettingsAccordion.click();
await poHomeChannel.sidenav.checkboxEncryption.click();
await poHomeChannel.sidenav.btnCreate.click();
@@ -661,6 +662,7 @@ test.describe.serial('e2ee room setup', () => {
await poHomeChannel.sidenav.openNewByLabel('Channel');
await poHomeChannel.sidenav.inputChannelName.fill(channelName);
+ await poHomeChannel.sidenav.advancedSettingsAccordion.click();
await poHomeChannel.sidenav.checkboxEncryption.click();
await poHomeChannel.sidenav.btnCreate.click();
@@ -711,6 +713,7 @@ test.describe.serial('e2ee room setup', () => {
await poHomeChannel.sidenav.openNewByLabel('Channel');
await poHomeChannel.sidenav.inputChannelName.fill(channelName);
+ await poHomeChannel.sidenav.advancedSettingsAccordion.click();
await poHomeChannel.sidenav.checkboxEncryption.click();
await poHomeChannel.sidenav.btnCreate.click();
@@ -758,6 +761,7 @@ test.describe.serial('e2ee room setup', () => {
await poHomeChannel.sidenav.openNewByLabel('Channel');
await poHomeChannel.sidenav.inputChannelName.fill(channelName);
+ await poHomeChannel.sidenav.advancedSettingsAccordion.click();
await poHomeChannel.sidenav.checkboxEncryption.click();
await poHomeChannel.sidenav.btnCreate.click();
diff --git a/apps/meteor/tests/e2e/page-objects/fragments/home-sidenav.ts b/apps/meteor/tests/e2e/page-objects/fragments/home-sidenav.ts
index f8002ed450f5..0f17b7ccb5d4 100644
--- a/apps/meteor/tests/e2e/page-objects/fragments/home-sidenav.ts
+++ b/apps/meteor/tests/e2e/page-objects/fragments/home-sidenav.ts
@@ -9,6 +9,10 @@ export class HomeSidenav {
this.page = page;
}
+ get advancedSettingsAccordion(): Locator {
+ return this.page.getByRole('dialog').getByRole('button', { name: 'Advanced settings', exact: true });
+ }
+
get checkboxPrivateChannel(): Locator {
return this.page.locator('label', { has: this.page.getByRole('checkbox', { name: 'Private' }) });
}
@@ -154,6 +158,7 @@ export class HomeSidenav {
async createEncryptedChannel(name: string) {
await this.openNewByLabel('Channel');
await this.inputChannelName.type(name);
+ await this.advancedSettingsAccordion.click();
await this.checkboxEncryption.click();
await this.btnCreate.click();
}
diff --git a/apps/meteor/tests/e2e/team-management.spec.ts b/apps/meteor/tests/e2e/team-management.spec.ts
index 9542b8a81a70..55530302ca96 100644
--- a/apps/meteor/tests/e2e/team-management.spec.ts
+++ b/apps/meteor/tests/e2e/team-management.spec.ts
@@ -46,6 +46,7 @@ test.describe.serial('teams-management', () => {
test('expect create "targetTeamReadOnly" readonly', async ({ page }) => {
await poHomeTeam.sidenav.openNewByLabel('Team');
await poHomeTeam.inputTeamName.type(targetTeamReadOnly);
+ await poHomeTeam.sidenav.advancedSettingsAccordion.click();
await poHomeTeam.textReadOnly.click();
await poHomeTeam.addMember('user1');
await poHomeTeam.btnTeamCreate.click();
diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json
index 13754b7a4b8a..4e067f6ddde0 100644
--- a/packages/i18n/src/locales/en.i18n.json
+++ b/packages/i18n/src/locales/en.i18n.json
@@ -6498,5 +6498,7 @@
"Workspace_and_user_settings": "Workspace and user settings",
"Sidebar_Sections_Order": "Sidebar sections order",
"Sidebar_Sections_Order_Description": "Select the categories in your preferred order",
- "Incoming_Calls": "Incoming calls"
+ "Incoming_Calls": "Incoming calls",
+ "Advanced_settings": "Advanced settings",
+ "Security_and_permissions": "Security and permissions"
}