feat(core): impl team workspace (#8920)

AF-1738 AF-1735 AF-1731 AF-1721 AF-1717 AF-1736 AF-1727 AF-1719 AF-1877
UI for team workspaces :
- add upgrade to team & successful upgrade page ( `/upgrade-to-team` & `/upgrade-success/team`)
- update team plans on pricing page ( settings —> pricing plans )
- update reaching the usage/member limit modal
- update invite member modal
- update member CRUD options
This commit is contained in:
JimmFly
2024-12-10 06:31:35 +00:00
parent 5d25580eff
commit 612310bc26
77 changed files with 3788 additions and 1044 deletions

View File

@@ -1,24 +1,24 @@
{
"ar": 74,
"ar": 70,
"ca": 5,
"da": 6,
"de": 27,
"da": 5,
"de": 26,
"el-GR": 0,
"en": 100,
"es-AR": 13,
"es-CL": 15,
"es-CL": 14,
"es": 13,
"fr": 66,
"fr": 62,
"hi": 2,
"it-IT": 1,
"it": 1,
"ja": 98,
"ko": 78,
"ja": 93,
"ko": 73,
"pl": 0,
"pt-BR": 84,
"ru": 72,
"pt-BR": 80,
"ru": 68,
"sv-SE": 4,
"ur": 3,
"zh-Hans": 98,
"zh-Hant": 98
"ur": 2,
"zh-Hans": 93,
"zh-Hant": 93
}

View File

@@ -75,6 +75,10 @@
"Page": "Page",
"Pen": "Pen",
"Pending": "Pending",
"Collaborator": "Collaborator",
"Under-Review": "Under Review",
"Need-More-Seats": "Need More Seats",
"Admin": "Admin",
"Publish": "Publish",
"Published to Web": "Published to web",
"Quick Search": "Quick search",
@@ -116,7 +120,7 @@
"Version": "Version",
"Visit Workspace": "Visit workspace",
"Workspace Name": "Workspace name",
"Workspace Owner": "Workspace owner",
"Workspace Owner": "Workspace Owner",
"Workspace Profile": "Workspace profile",
"Workspace Settings": "Workspace settings",
"Workspace Settings with name": "{{name}}'s settings",
@@ -843,8 +847,11 @@
"com.affine.payment.billing-type-form.title": "Tell us your use case",
"com.affine.payment.blob-limit.description.local": "The maximum file upload size for local workspaces is {{quota}}.",
"com.affine.payment.blob-limit.description.member": "The maximum file upload size for this joined workspace is {{quota}}. You can contact the owner of this workspace.",
"com.affine.payment.blob-limit.description.owner.free": "{{planName}} users can upload files with a maximum size of {{currentQuota}}. You can upgrade your account to unlock a maximum file size of {{upgradeQuota}}.",
"com.affine.payment.blob-limit.description.owner.pro": "{{planName}} users can upload files with a maximum size of {{quota}}.",
"com.affine.payment.blob-limit.description.owner": "The maximum file upload size for this workspace is {{quota}}. To proceed, you can:",
"com.affine.payment.blob-limit.description.owner.tips-1": "Upgrade your account for larger file upload limits",
"com.affine.payment.blob-limit.description.owner.tips-2": "Upgrade the workspace plan to increase storage for all member",
"com.affine.payment.blob-limit.description.owner.tips-3": "Compress your file and upload again",
"com.affine.payment.blob-limit.title": "You have reached the limit",
"com.affine.payment.book-a-demo": "Book a demo",
"com.affine.payment.buy-pro": "Buy Pro",
@@ -880,22 +887,22 @@
"com.affine.payment.cloud.pro.benefit.g1-8": "Real-time syncing & collaboration for more people.",
"com.affine.payment.cloud.pro.description": "For family and small teams.",
"com.affine.payment.cloud.pro.name": "Pro",
"com.affine.payment.cloud.pro.title.billed-yearly": "billed annually",
"com.affine.payment.cloud.pro.title.billed-yearly": "annually",
"com.affine.payment.cloud.pro.title.price-monthly": "{{price}} per month",
"com.affine.payment.cloud.team.benefit.g1": "Both in Team & Enterprise",
"com.affine.payment.cloud.team.benefit.g1-1": "Everything in AFFiNE Pro.",
"com.affine.payment.cloud.team.benefit.g1-2": "Advanced permission control, page history and review mode.",
"com.affine.payment.cloud.team.benefit.g1-3": "Pay for seats, fits all team size.",
"com.affine.payment.cloud.team.benefit.g1-4": "Email & Slack support.",
"com.affine.payment.cloud.team.benefit.g2": "Enterprise only",
"com.affine.payment.cloud.team.benefit.g2-1": "SSO authorization.",
"com.affine.payment.cloud.team.benefit.g2-2": "Solutions & best practices for dedicated needs.",
"com.affine.payment.cloud.team.benefit.g2-3": "Embed-able & integrations with IT support.",
"com.affine.payment.cloud.team.description": "Best for scalable teams.",
"com.affine.payment.cloud.team.name": "Team / Enterprise",
"com.affine.payment.cloud.team.title": "Coming soon",
"com.affine.payment.cloud.team-workspace.benefit.g1": "Include in Team Workspace",
"com.affine.payment.cloud.team-workspace.benefit.g1-1": "Everything in AFFiNE Pro.",
"com.affine.payment.cloud.team-workspace.benefit.g1-2": "100 GB initial storage + 20 GB per seat.",
"com.affine.payment.cloud.team-workspace.benefit.g1-3": "500 MB of maximum file size.",
"com.affine.payment.cloud.team-workspace.benefit.g1-4": "Unlimited team members (10+ seats).",
"com.affine.payment.cloud.team-workspace.benefit.g1-5": "Multiple admin roles.",
"com.affine.payment.cloud.team-workspace.benefit.g1-6": "Priority customer support",
"com.affine.payment.cloud.team-workspace.description": "Best for scalable teams.",
"com.affine.payment.cloud.team-workspace.name": "Team Workspace",
"com.affine.payment.cloud.team-workspace.title.billed-yearly": "annually",
"com.affine.payment.cloud.team-workspace.title.price-monthly": "{{price}} per seat/month",
"com.affine.payment.contact-sales": "Contact sales",
"com.affine.payment.current-plan": "Current plan",
"com.affine.payment.start-free-trial": "Start 14-day free trial",
"com.affine.payment.discount-amount": "{{amount}}% off",
"com.affine.payment.downgrade": "Downgrade",
"com.affine.payment.downgraded-notify.content": "We'd like to hear more about where we fall short, so that we can make AFFiNE better.",
@@ -919,14 +926,62 @@
"com.affine.payment.lifetime.purchased": "Purchased",
"com.affine.payment.lifetime.title": "Believer Plan",
"com.affine.payment.member-limit.free.confirm": "Upgrade",
"com.affine.payment.member-limit.free.description": "Each {{planName}} user can invite up to {{quota}} members to join their workspace. You can upgrade your account to unlock more members.",
"com.affine.payment.member-limit.description": "Workspaces created by {{planName}} users are limited to {{quota}} members. To add more collaborators, you can:",
"com.affine.payment.member-limit.description.tips-for-free-plan": "Upgrade to AFFiNE Pro for expanded member capacity",
"com.affine.payment.member-limit.description.tips-1": "Convert to a Team Workspace for unlimited collaboration",
"com.affine.payment.member-limit.description.tips-2": "Or create a new workspace",
"com.affine.payment.member-limit.pro.confirm": "Got it",
"com.affine.payment.member-limit.pro.description": "Each {{planName}} user can invite up to {{quota}} members to join their workspace. If you want to continue adding collaboration members, you can create a new workspace.",
"com.affine.payment.member-limit.title": "You have reached the limit",
"com.affine.payment.member.description": "Manage members here. {{planName}} users can invite up to {{memberLimit}}",
"com.affine.payment.member.description.choose-plan": "Choose your plan",
"com.affine.payment.member.description.go-upgrade": "go upgrade",
"com.affine.payment.member.description2": "Looking to collaborate with more people?",
"com.affine.payment.member.team.description": "Work together with unlimited team members.",
"com.affine.payment.member.team.invite.title": "Invite team members",
"com.affine.payment.member.team.invite.description": "Invite new members to join your workspace via email or share an invite link",
"com.affine.payment.member.team.invite.email-invite": "Email Invite",
"com.affine.payment.member.team.invite.invite-link": "Invite Link",
"com.affine.payment.member.team.invite.email-addresses": "Email addresses",
"com.affine.payment.member.team.invite.email-placeholder": "Enter email addresses (separated by commas)",
"com.affine.payment.member.team.invite.import-csv": "Import CSV",
"com.affine.payment.member.team.invite.send-invites": "Send Invites",
"com.affine.payment.member.team.invite.link-expiration": "Link expiration",
"com.affine.payment.member.team.invite.expiration-date": "{{number}} days",
"com.affine.payment.member.team.invite.invitation-link": "Invitation link",
"com.affine.payment.member.team.invite.invitation-link.description": "Generate a link to invite members to your workspace",
"com.affine.payment.member.team.invite.generate": "Generate",
"com.affine.payment.member.team.invite.copy": "Copy",
"com.affine.payment.member.team.invite.done": "Done",
"com.affine.payment.member.team.invite.notify.title": "Invitation sent",
"com.affine.payment.member.team.invite.notify.message": "Invited members have been notified with email to join this Workspace.",
"com.affine.payment.member.team.revoke": "Revoke invitation",
"com.affine.payment.member.team.approve": "Approve",
"com.affine.payment.member.team.decline": "Decline",
"com.affine.payment.member.team.remove": "Remove member",
"com.affine.payment.member.team.change.admin": "Change role to admin",
"com.affine.payment.member.team.change.collaborator": "Change role to collaborator",
"com.affine.payment.member.team.assign": "Assign as owner",
"com.affine.payment.member.team.revoke.notify.title": "Invitation Revoked",
"com.affine.payment.member.team.revoke.notify.message": "You have canceled the invitation for {{name}}",
"com.affine.payment.member.team.approve.notify.title": "Request approved",
"com.affine.payment.member.team.approve.notify.message": "You have approved the {{name}}’s request to join this workspace",
"com.affine.payment.member.team.decline.notify.title": "Request declined",
"com.affine.payment.member.team.decline.notify.message": "You have declined the {{name}}’s request to join this workspace",
"com.affine.payment.member.team.remove.notify.title": "Member removed",
"com.affine.payment.member.team.remove.notify.message": "You have removed {{name}} from this workspace",
"com.affine.payment.member.team.change.notify.title": "Role Updated",
"com.affine.payment.member.team.change.admin.notify.message": "You have successfully promoted {{name}} to Admin.",
"com.affine.payment.member.team.change.collaborator.notify.message": "You have successfully changed {{name}} s role to collaborator.",
"com.affine.payment.member.team.assign.notify.title": "Owner assigned",
"com.affine.payment.member.team.assign.notify.message": "You have successfully assigned {{name}} as the owner of this workspace.",
"com.affine.payment.member.team.assign.confirm.title": "Confirm new workspace owner",
"com.affine.payment.member.team.assign.confirm.description": "You are about to transfer workspace ownership to {{name}}. Please review the following changes carefully:",
"com.affine.payment.member.team.assign.confirm.description-1": "This action cannot be undone",
"com.affine.payment.member.team.assign.confirm.description-2": "Your role will be changed to Admin",
"com.affine.payment.member.team.assign.confirm.description-3": "You will lose ownership rights to the entire workspace",
"com.affine.payment.member.team.assign.confirm.description-4": "To confirm this transfer, please type the workspace name",
"com.affine.payment.member.team.assign.confirm.placeholder": "Type workspace name to confirm",
"com.affine.payment.member.team.assign.confirm.button": "Transfer Ownership",
"com.affine.payment.modal.change.cancel": "Cancel",
"com.affine.payment.modal.change.confirm": "Change",
"com.affine.payment.modal.change.title": "Change your subscription",
@@ -949,7 +1004,8 @@
"com.affine.payment.sign-up-free": "Sign up free",
"com.affine.payment.storage-limit.description.member": "Cloud storage is insufficient. Please contact the owner of that workspace.",
"com.affine.payment.storage-limit.description.owner": "Cloud storage is insufficient. You can upgrade your account to unlock more cloud storage.",
"com.affine.payment.storage-limit.title": "Sync failed",
"com.affine.payment.storage-limit.new-description.owner": "Unable to sync due to insufficient storage space. You can remove excess content, upgrade your account, or increase your workspace storage to resolve this issue.",
"com.affine.payment.storage-limit.new-title": "Sync failed due to storage space limit",
"com.affine.payment.storage-limit.view": "View",
"com.affine.payment.subtitle-active": "You are currently on the {{currentPlan}} plan. If you have any questions, please contact our <3>customer support</3>.",
"com.affine.payment.subtitle-canceled": "You are currently on the {{plan}} plan. After the current billing period ends, your account will automatically switch to the Free plan.",
@@ -969,6 +1025,8 @@
"com.affine.payment.upgrade-success-page.support": "If you have any questions, please contact our <1> customer support</1>.",
"com.affine.payment.upgrade-success-page.text": "Congratulations! Your AFFiNE account has been successfully upgraded to a Pro account.",
"com.affine.payment.upgrade-success-page.title": "Upgrade successful!",
"com.affine.payment.upgrade-success-page.team.text-1": "Congratulations! Your workspace has been successfully upgraded to a Team Workspace. Now you can invite unlimited members to collaborate in this workspace.",
"com.affine.payment.upgrade-success-page.team.text-2": "If you have any questions, please contact our <1>customer support</1>.",
"com.affine.peek-view-controls.close": "Close",
"com.affine.peek-view-controls.open-doc": "Open this doc",
"com.affine.peek-view-controls.open-doc-in-new-tab": "Open in new tab",
@@ -1262,12 +1320,21 @@
"com.affine.settings.workspace.experimental-features.enable-mobile-edgeless-editing.description": "Once enabled, users can edit edgeless canvas.",
"com.affine.settings.workspace.not-owner": "Only an owner can edit the workspace avatar and name. Changes will be shown for everyone.",
"com.affine.settings.workspace.preferences": "Preference",
"com.affine.settings.workspace.billing": "Billing",
"com.affine.settings.workspace.billing.team-workspace": "Team Workspace",
"com.affine.settings.workspace.billing.team-workspace.description.free-trail": "Your workspace is in a free trail period.",
"com.affine.settings.workspace.billing.team-workspace.description.billed.annually": "Your workspace is billed annually.",
"com.affine.settings.workspace.billing.team-workspace.description.billed.monthly": "Your workspace is billed monthly.",
"com.affine.settings.workspace.billing.team-workspace.not-renewed": "Your subscription will end on {{date}}",
"com.affine.settings.workspace.billing.team-workspace.next-billing-date": "Next billing date: {{date}}",
"com.affine.settings.workspace.billing.team-workspace.cancel-plan": "Cancel Plan",
"com.affine.settings.workspace.state.local": "Local",
"com.affine.settings.workspace.state.sync-affine-cloud": "Sync with AFFiNE Cloud",
"com.affine.settings.workspace.state.self-hosted": "Self-Hosted Server",
"com.affine.settings.workspace.state.joined": "Joined Workspace",
"com.affine.settings.workspace.state.available-offline": "Available Offline",
"com.affine.settings.workspace.state.published": "Published to Web",
"com.affine.settings.workspace.state.team": "Team Workspace",
"com.affine.settings.workspace.properties": "Properties",
"com.affine.settings.workspace.properties.add_property": "Add property",
"com.affine.settings.workspace.properties.all": "All",
@@ -1288,6 +1355,9 @@
"com.affine.settings.workspace.sharing.title": "Sharing",
"com.affine.settings.workspace.sharing.url-preview.description": "Allow URL unfurling by Slack & other social apps, even if a doc is only accessible by workspace members.",
"com.affine.settings.workspace.sharing.url-preview.title": "Always enable url preview",
"com.affine.settings.workspace.affine-ai.title": "AFFiNE AI",
"com.affine.settings.workspace.affine-ai.label": "Allow AFFiNE AI Assistant",
"com.affine.settings.workspace.affine-ai.description": "Allow workspace members to use AFFiNE AI features. This setting doesn't affect billing. Workspace members use AFFiNE AI through their personal accounts.",
"com.affine.share-menu.EnableCloudDescription": "Sharing doc requires AFFiNE Cloud.",
"com.affine.share-menu.ShareMode": "Share mode",
"com.affine.share-menu.SharePage": "Share doc",
@@ -1504,5 +1574,21 @@
"com.affine.editor.at-menu.journal": "Journal",
"com.affine.editor.at-menu.date-picker": "Select a specific date",
"com.affine.editor.bi-directional-link-panel.show": "Show",
"com.affine.editor.bi-directional-link-panel.hide": "Hide"
"com.affine.editor.bi-directional-link-panel.hide": "Hide",
"com.affine.upgrade-to-team-page.title": "Empower Your Team with Seamless Collaboration",
"com.affine.upgrade-to-team-page.workspace-selector.placeholder": "Select an existing workspace or create a new one",
"com.affine.upgrade-to-team-page.workspace-selector.create-workspace": "Create Workspace",
"com.affine.upgrade-to-team-page.upgrade-button": "Upgrade to Team Workspace",
"com.affine.upgrade-to-team-page.benefit.title": "Team Workspace gives you everything you need for seamless team collaboration:",
"com.affine.upgrade-to-team-page.benefit.g1": "Invite unlimited members to your workspace",
"com.affine.upgrade-to-team-page.benefit.g2": "Set custom roles and permissions for better control",
"com.affine.upgrade-to-team-page.benefit.g3": "Access advanced team management features",
"com.affine.upgrade-to-team-page.benefit.g4": "Get priority customer support",
"com.affine.upgrade-to-team-page.benefit.description": "Perfect for growing teams and organizations that need professional collaboration tools.",
"com.affine.upgrade-to-team-page.upgrade-confirm.title": "Upgrade to Team Workspace",
"com.affine.upgrade-to-team-page.upgrade-confirm.description": "Are you sure you want to upgrade <1>{{workspaceName}}</1> to a Team Workspace? This will allow unlimited members to collaborate in this workspace.",
"com.affine.upgrade-to-team-page.create-and-upgrade-confirm.title": "Name Your Workspace",
"com.affine.upgrade-to-team-page.create-and-upgrade-confirm.description": "A workspace is your virtual space to capture, create and plan as just one person or together as a team.",
"com.affine.upgrade-to-team-page.create-and-upgrade-confirm.placeholder": "Set a workspace name",
"com.affine.upgrade-to-team-page.create-and-upgrade-confirm.confirm": "Continue to Pricing"
}