summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreta <gretadoci@gmail.com>2024-02-21 15:46:01 +0100
committerGitHub <noreply@github.com>2024-02-21 15:46:01 +0100
commit8d7e907a2e14b833aad8af39b31fd9c1093beebd (patch)
treeb7a11f06d9fb26a9d52b587e85b2fe9b803109dc
parent40bd712eb36add37883b85c8e822f886ca1c0620 (diff)
parent45b7dcadcf61d28f52c8252164f6f7b991eeb8d7 (diff)
Merge pull request #3818 from nextcloud/feat/teams
feat: Rebrand circles to teams in the frontend
-rw-r--r--img/circles.svg2
-rw-r--r--src/components/AppContent/CircleContent.vue6
-rw-r--r--src/components/AppNavigation/CircleNavigationItem.vue4
-rw-r--r--src/components/AppNavigation/RootNavigation.vue14
-rw-r--r--src/components/CircleDetails.vue16
-rw-r--r--src/components/CircleDetails/CirclePasswordSettings.vue4
-rw-r--r--src/components/EntityPicker/NewCircleIntro.vue12
-rw-r--r--src/components/MemberList.vue6
-rw-r--r--src/components/MembersList/MembersListItem.vue2
-rw-r--r--src/mixins/CircleActionsMixin.js12
-rw-r--r--src/models/constants.ts14
-rw-r--r--src/store/circles.js6
12 files changed, 49 insertions, 49 deletions
diff --git a/img/circles.svg b/img/circles.svg
index 6264e746..01159f5f 100644
--- a/img/circles.svg
+++ b/img/circles.svg
@@ -1 +1 @@
-<svg height="16" viewBox="0 0 21.33 21.33" width="16" xmlns="http://www.w3.org/2000/svg"><path d="M10.67 1.33a9.34 9.34 0 100 18.68 9.34 9.34 0 000-18.68zM6.93 15.8a2.33 2.33 0 110-4.67 2.33 2.33 0 010 4.67zm1.4-8.87a2.33 2.33 0 114.67 0 2.33 2.33 0 01-4.67 0zm6.07 8.87a2.33 2.33 0 110-4.67 2.33 2.33 0 010 4.67z"/></svg> \ No newline at end of file
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,5.5A3.5,3.5 0 0,1 15.5,9A3.5,3.5 0 0,1 12,12.5A3.5,3.5 0 0,1 8.5,9A3.5,3.5 0 0,1 12,5.5M5,8C5.56,8 6.08,8.15 6.53,8.42C6.38,9.85 6.8,11.27 7.66,12.38C7.16,13.34 6.16,14 5,14A3,3 0 0,1 2,11A3,3 0 0,1 5,8M19,8A3,3 0 0,1 22,11A3,3 0 0,1 19,14C17.84,14 16.84,13.34 16.34,12.38C17.2,11.27 17.62,9.85 17.47,8.42C17.92,8.15 18.44,8 19,8M5.5,18.25C5.5,16.18 8.41,14.5 12,14.5C15.59,14.5 18.5,16.18 18.5,18.25V20H5.5V18.25M0,20V18.5C0,17.11 1.89,15.94 4.45,15.6C3.86,16.28 3.5,17.22 3.5,18.25V20H0M24,20H20.5V18.25C20.5,17.22 20.14,16.28 19.55,15.6C22.11,15.94 24,17.11 24,18.5V20Z" /></svg> \ No newline at end of file
diff --git a/src/components/AppContent/CircleContent.vue b/src/components/AppContent/CircleContent.vue
index 55269ee3..bfb5c5c8 100644
--- a/src/components/AppContent/CircleContent.vue
+++ b/src/components/AppContent/CircleContent.vue
@@ -22,7 +22,7 @@
<template>
<AppContent v-if="!circle">
- <EmptyContent :name="t('contacts', 'Please select a circle')">
+ <EmptyContent :name="t('contacts', 'Please select a team')">
<template #icon>
<IconCircles :size="20" />
</template>
@@ -30,7 +30,7 @@
</AppContent>
<AppContent v-else-if="loading">
- <EmptyContent class="empty-content" :name="t('contacts', 'Loading circle …')">
+ <EmptyContent class="empty-content" :name="t('contacts', 'Loading team…')">
<template #icon>
<IconLoading :size="20" />
</template>
@@ -50,7 +50,7 @@
<!-- not a member -->
<template v-if="!circle.isMember">
<!-- Pending request validation -->
- <EmptyContent v-if="circle.isPendingMember" :name="t('contacts', 'Your request to join this circle is pending approval')">
+ <EmptyContent v-if="circle.isPendingMember" :name="t('contacts', 'Your request to join this team is pending approval')">
<template #icon>
<IconLoading :size="20" />
</template>
diff --git a/src/components/AppNavigation/CircleNavigationItem.vue b/src/components/AppNavigation/CircleNavigationItem.vue
index 3a4c650b..d0769e08 100644
--- a/src/components/AppNavigation/CircleNavigationItem.vue
+++ b/src/components/AppNavigation/CircleNavigationItem.vue
@@ -57,7 +57,7 @@
<!-- leave circle -->
<ActionButton v-if="circle.canLeave"
@click="confirmLeaveCircle">
- {{ t('contacts', 'Leave circle') }}
+ {{ t('contacts', 'Leave team') }}
<ExitToApp slot="icon"
:size="16"
decorative />
@@ -79,7 +79,7 @@
<template #icon>
<IconDelete :size="20" />
</template>
- {{ t('contacts', 'Delete circle') }}
+ {{ t('contacts', 'Delete team') }}
</ActionButton>
</template>
diff --git a/src/components/AppNavigation/RootNavigation.vue b/src/components/AppNavigation/RootNavigation.vue
index 1dabe82f..232b9473 100644
--- a/src/components/AppNavigation/RootNavigation.vue
+++ b/src/components/AppNavigation/RootNavigation.vue
@@ -132,13 +132,13 @@
<!-- New circle button caption and modal -->
<AppNavigationCaption id="newcircle"
- :name="t('contacts', 'Circles')">
+ :name="t('contacts', 'Teams')">
<template #actions>
<NcActionButton @click="toggleNewCircleModal">
<template #icon>
<IconAdd :size="20" />
</template>
- {{ t('contacts', 'Create a new circle') }}
+ {{ t('contacts', 'Create a new team') }}
</NcActionButton>
</template>
</AppNavigationCaption>
@@ -390,8 +390,8 @@ export default {
},
collapseCirclesTitle() {
return this.collapsedCircles
- ? t('contacts', 'Show all circles')
- : t('contacts', 'Collapse circles')
+ ? t('contacts', 'Show all teams')
+ : t('contacts', 'Collapse teams')
},
},
@@ -437,13 +437,13 @@ export default {
this.isNewCircleModalOpen = true
},
async createNewCircle(circleName, isPersonal, isLocal) {
- this.logger.debug('Creating new circle', { circleName })
+ this.logger.debug('Creating new team', { circleName })
this.createCircleLoading = true
// Check if already exists
if (this.circles.find(circle => circle.name === circleName)) {
- this.createCircleError = t('contacts', 'This circle already exists')
+ this.createCircleError = t('contacts', 'This team already exists')
return
}
this.createCircleError = null
@@ -460,7 +460,7 @@ export default {
},
})
} catch (error) {
- showError(t('contacts', 'An error happened during the creation of the circle'))
+ showError(t('contacts', 'An error happened during the creation of the team'))
} finally {
this.createCircleLoading = false
}
diff --git a/src/components/CircleDetails.vue b/src/components/CircleDetails.vue
index 66dbffec..c4a76211 100644
--- a/src/components/CircleDetails.vue
+++ b/src/components/CircleDetails.vue
@@ -36,7 +36,7 @@
<template #title>
<input v-model="circle.displayName"
:readonly="!circle.isOwner"
- :placeholder="t('contacts', 'Circle name')"
+ :placeholder="t('contacts', 'Team name')"
type="text"
autocomplete="off"
autocorrect="off"
@@ -48,7 +48,7 @@
<!-- org, title -->
<template v-if="!circle.isOwner" #subtitle>
- {{ t('contacts', 'Circle owned by {owner}', { owner: circle.owner.displayName}) }}
+ {{ t('contacts', 'Team owned by {owner}', { owner: circle.owner.displayName}) }}
</template>
</DetailsHeader>
@@ -105,7 +105,7 @@
<Logout slot="icon"
:size="16"
decorative />
- {{ t('contacts', 'Leave circle') }}
+ {{ t('contacts', 'Leave team') }}
</Button>
<!-- delete circle -->
@@ -116,7 +116,7 @@
<template #icon>
<IconDelete :size="20" />
</template>
- {{ t('contacts', 'Delete circle') }}
+ {{ t('contacts', 'Delete team') }}
</Button>
</section>
</AppContentDetails>
@@ -173,9 +173,9 @@ export default {
computed: {
descriptionPlaceholder() {
if (this.circle.description.trim() === '') {
- return t('contacts', 'There is no description for this circle')
+ return t('contacts', 'There is no description for this team')
}
- return t('contacts', 'Enter a description for the circle')
+ return t('contacts', 'Enter a description for the team')
},
isEmptyDescription() {
@@ -211,7 +211,7 @@ export default {
try {
await editCircle(this.circle.id, CircleEdit.Description, description)
} catch (error) {
- console.error('Unable to edit circle description', description, error)
+ console.error('Unable to edit team description', description, error)
showError(t('contacts', 'An error happened during description sync'))
} finally {
this.loadingDescription = false
@@ -226,7 +226,7 @@ export default {
try {
await editCircle(this.circle.id, CircleEdit.Name, name)
} catch (error) {
- console.error('Unable to edit circle name', name, error)
+ console.error('Unable to edit name', name, error)
showError(t('contacts', 'An error happened during name sync'))
} finally {
this.loadingName = false
diff --git a/src/components/CircleDetails/CirclePasswordSettings.vue b/src/components/CircleDetails/CirclePasswordSettings.vue
index 916f5577..5057635c 100644
--- a/src/components/CircleDetails/CirclePasswordSettings.vue
+++ b/src/components/CircleDetails/CirclePasswordSettings.vue
@@ -33,7 +33,7 @@
:disabled="loading.length > 0"
wrapper-element="li"
@update:checked="changePasswordProtection">
- {{ t('contacts', 'Enforce password protection on files shared to this circle') }}
+ {{ t('contacts', 'Enforce password protection on files shared to this team') }}
</CheckboxRadioSwitch>
<CheckboxRadioSwitch v-if="enforcePasswordProtection"
@@ -42,7 +42,7 @@
:disabled="loading.length > 0"
wrapper-element="li"
@update:checked="changeUseUniquePassword">
- {{ t('contacts', 'Use a unique password for all shares to this circle') }}
+ {{ t('contacts', 'Use a unique password for all shares to this team') }}
</CheckboxRadioSwitch>
<li class="unique-password">
diff --git a/src/components/EntityPicker/NewCircleIntro.vue b/src/components/EntityPicker/NewCircleIntro.vue
index 3b99b5e7..3c5345f7 100644
--- a/src/components/EntityPicker/NewCircleIntro.vue
+++ b/src/components/EntityPicker/NewCircleIntro.vue
@@ -28,7 +28,7 @@
<div class="entity-picker__new">
<input ref="input"
v-model="circleName"
- :placeholder="t('contacts', 'New circle name')"
+ :placeholder="t('contacts', 'New team name')"
class="entity-picker__new-input"
type="text"
@keypress.enter="onSubmit">
@@ -42,10 +42,10 @@
<template v-if="false">
<CheckboxRadioSwitch :checked.sync="isPersonal"
:disabled="loading !== false">
- {{ t('contacts', 'Personal circle') }}
+ {{ t('contacts', 'Personal team') }}
</CheckboxRadioSwitch>
<p>
- {{ t('contacts', 'This circle will only be visible to you. Other members will not be able to see or use it.') }}
+ {{ t('contacts', 'This team will only be visible to you. Other members will not be able to see or use it.') }}
</p>
</template>
@@ -53,10 +53,10 @@
<template v-if="isGlobalScale">
<CheckboxRadioSwitch :checked.sync="isLocal"
:disabled="loading !== false">
- {{ t('contacts', 'Local circle') }}
+ {{ t('contacts', 'Local team') }}
</CheckboxRadioSwitch>
<p>
- {{ t('contacts', 'This circle will not be shared with the other instances of the global scale') }}
+ {{ t('contacts', 'This team will not be shared with the other instances of the global scale') }}
</p>
</template>
</div>
@@ -70,7 +70,7 @@
<button :disabled="isEmptyName || loading"
class="navigation__button-right primary"
@click="onSubmit">
- {{ t('contacts', 'Create circle') }}
+ {{ t('contacts', 'Create team') }}
</button>
</div>
</div>
diff --git a/src/components/MemberList.vue b/src/components/MemberList.vue
index 27a5a138..784f8e2d 100644
--- a/src/components/MemberList.vue
+++ b/src/components/MemberList.vue
@@ -30,7 +30,7 @@
</EmptyContent>
</template>
<template v-else-if="!circle.isMember">
- <EmptyContent class="empty-content" :name="t('contacts', 'The list of members is only visible to members of this circle')">
+ <EmptyContent class="empty-content" :name="t('contacts', 'The list of members is only visible to members of this team')">
<template #icon>
<IconContact :size="20" />
</template>
@@ -60,7 +60,7 @@
<template #icon>
<IconInfo :size="20" />
</template>
- {{ t('contacts', 'Show circle details') }}
+ {{ t('contacts', 'Show team details') }}
</Button>
</div>
@@ -294,7 +294,7 @@ export default {
this.resetPicker()
} catch (error) {
- showError(t('contacts', 'There was an issue adding members to the circle'))
+ showError(t('contacts', 'There was an issue adding members to the team'))
console.error('There was an issue adding members to the circle', this.pickerCircle, error)
} finally {
this.pickerLoading = false
diff --git a/src/components/MembersList/MembersListItem.vue b/src/components/MembersList/MembersListItem.vue
index 669c85c9..fe1a186e 100644
--- a/src/components/MembersList/MembersListItem.vue
+++ b/src/components/MembersList/MembersListItem.vue
@@ -81,7 +81,7 @@
<!-- Leave or delete member from circle -->
<ActionButton v-if="isCurrentUser && !circle.isOwner" @click="deleteMember">
- {{ t('contacts', 'Leave circle') }}
+ {{ t('contacts', 'Leave team') }}
<ExitToApp slot="icon"
:size="16"
decorative />
diff --git a/src/mixins/CircleActionsMixin.js b/src/mixins/CircleActionsMixin.js
index 4dc7b05e..991c2a74 100644
--- a/src/mixins/CircleActionsMixin.js
+++ b/src/mixins/CircleActionsMixin.js
@@ -64,7 +64,7 @@ export default {
if (this.circle.requireJoinAccept) {
return t('contacts', 'Request to join')
}
- return t('contacts', 'Join circle')
+ return t('contacts', 'Join team')
},
},
@@ -74,7 +74,7 @@ export default {
t('contacts', 'You are about to leave {circle}.\nAre you sure?', {
circle: this.circle.displayName,
}),
- t('contacts', 'Please confirm circle leave'),
+ t('contacts', 'Please confirm team leave'),
OC.dialogs.YES_NO_BUTTONS,
this.leaveCircle,
true,
@@ -99,7 +99,7 @@ export default {
this.circle.initiator = null
} catch (error) {
console.error('Could not leave the circle', member, error)
- showError(t('contacts', 'Could not leave the circle {displayName}', this.circle))
+ showError(t('contacts', 'Could not leave the team {displayName}', this.circle))
} finally {
this.loadingAction = false
}
@@ -118,7 +118,7 @@ export default {
// Append new member
member.circle.addMember(member)
} catch (error) {
- showError(t('contacts', 'Unable to join the circle'))
+ showError(t('contacts', 'Unable to join the team'))
console.error('Unable to join the circle', error)
} finally {
this.loadingJoin = false
@@ -131,7 +131,7 @@ export default {
t('contacts', 'You are about to delete {circle}.\nAre you sure?', {
circle: this.circle.displayName,
}),
- t('contacts', 'Please confirm circle deletion'),
+ t('contacts', 'Please confirm team deletion'),
OC.dialogs.YES_NO_BUTTONS,
this.deleteCircle,
true,
@@ -148,7 +148,7 @@ export default {
try {
this.$store.dispatch('deleteCircle', this.circle.id)
} catch (error) {
- showError(t('contacts', 'Unable to delete the circle'))
+ showError(t('contacts', 'Unable to delete the team'))
} finally {
this.loadingAction = false
}
diff --git a/src/models/constants.ts b/src/models/constants.ts
index 830988c8..ed62041f 100644
--- a/src/models/constants.ts
+++ b/src/models/constants.ts
@@ -67,7 +67,7 @@ const MEMBER_TYPE_MAIL: MemberType = 4
const MEMBER_TYPE_CONTACT: MemberType = 8
const MEMBER_TYPE_CIRCLE: MemberType = 16
-export const CIRCLE_DESC = t('contacts', 'Circles are groups of people that you can create yourself and with whom you can share data. They can be made up of other accounts or groups of accounts of the Nextcloud instance, but also of contacts from your address book or even external people by simply entering their e-mail addresses.')
+export const CIRCLE_DESC = t('contacts', 'Teams are groups of people that you can create yourself and with whom you can share data. They can be made up of other accounts or groups of accounts of the Nextcloud instance, but also of contacts from your address book or even external people by simply entering their e-mail addresses.')
// Circles config flags
/* eslint-disable no-tabs */
@@ -90,7 +90,7 @@ const CIRCLE_CONFIG_FEDERATED: CircleConfig = 32768 // Federated
// Existing members types
export const CIRCLES_MEMBER_TYPES = {
- [MEMBER_TYPE_CIRCLE]: t('contacts', 'Circle'),
+ [MEMBER_TYPE_CIRCLE]: t('contacts', 'Team'),
[MEMBER_TYPE_USER]: t('contacts', 'User'),
[MEMBER_TYPE_GROUP]: t('contacts', 'Group'),
[MEMBER_TYPE_MAIL]: t('contacts', 'Email'),
@@ -121,10 +121,10 @@ export const PUBLIC_CIRCLE_CONFIG = {
[CIRCLE_CONFIG_VISIBLE]: t('contacts', 'Visible to everyone'),
},
- [t('contacts', 'Circle membership')]: {
+ [t('contacts', 'Team membership')]: {
// TODO: implement backend
- // [CIRCLE_CONFIG_CIRCLE_INVITE]: t('contacts', 'Circle must confirm when invited in another circle'),
- [CIRCLE_CONFIG_ROOT]: t('contacts', 'Prevent circle from being a member of another circle'),
+ // [CIRCLE_CONFIG_CIRCLE_INVITE]: t('contacts', 'Team must confirm when invited in another circle'),
+ [CIRCLE_CONFIG_ROOT]: t('contacts', 'Prevent teams from being a member of another team'),
},
}
@@ -158,7 +158,7 @@ export const CIRCLES_MEMBER_GROUPING = [
// },
{
id: `picker-${Type.SHARE_TYPE_CIRCLE}`,
- label: t('contacts', 'Circles'),
+ label: t('contacts', 'Teams'),
share: Type.SHARE_TYPE_CIRCLE,
type: MEMBER_TYPE_CIRCLE,
},
@@ -171,7 +171,7 @@ export const CIRCLES_MEMBER_GROUPING = [
// TODO: implement SHARE_TYPE_CONTACT
{
id: 'picker-contact',
- label: t('contacts', 'Contacts'),
+ label: t('contacts', 'Teams'),
share: Type.SHARE_TYPE_EMAIL,
type: MEMBER_TYPE_CONTACT,
},
diff --git a/src/store/circles.js b/src/store/circles.js
index bdabc275..2ca2baea 100644
--- a/src/store/circles.js
+++ b/src/store/circles.js
@@ -140,7 +140,7 @@ const actions = {
})
if (failure) {
- showError(t('contacts', 'An error has occurred in circle(s). Check the console for more details.'))
+ showError(t('contacts', 'An error has occurred in team(s). Check the console for more details.'))
}
return circles
@@ -200,7 +200,7 @@ const actions = {
return circle
} catch (error) {
console.error(error)
- showError(t('contacts', 'Unable to create circle {circleName}', { circleName }))
+ showError(t('contacts', 'Unable to create team {circleName}', { circleName }))
}
},
@@ -218,7 +218,7 @@ const actions = {
logger.debug('Deleted circle', { circleId })
} catch (error) {
console.error(error)
- showError(t('contacts', 'Unable to delete circle {circleId}', circleId))
+ showError(t('contacts', 'Unable to delete team {circleId}', circleId))
}
},