mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Merge pull request #32063 from overleaf/oa-group-plans
[web] Rename group plans GitOrigin-RevId: 8a3097dc1724709b5d7b163e0f9d968c21d63831
This commit is contained in:
@@ -16,8 +16,6 @@ const data = fs.readFileSync(
|
||||
)
|
||||
const groups = JSON.parse(data.toString())
|
||||
|
||||
const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1)
|
||||
|
||||
// With group accounts in Recurly, we end up with a lot of plans to manage.
|
||||
// Rather than hand coding them in the settings file, and then needing to keep
|
||||
// that data in sync with the data in groups.json, we can auto generate the
|
||||
@@ -35,17 +33,16 @@ for (const [usage, planData] of Object.entries(groups)) {
|
||||
}
|
||||
}
|
||||
|
||||
const planName =
|
||||
planCode === 'collaborator' ? 'Standard' : capitalize(planCode)
|
||||
const planName = planCode === 'collaborator' ? 'Standard' : 'Pro'
|
||||
|
||||
// Generate plans in settings
|
||||
for (const size of sizes) {
|
||||
const plan = {
|
||||
planCode: `group_${planCode}_${size}_${usage}`,
|
||||
name:
|
||||
usage === 'enterprise'
|
||||
? `Group ${planName} Plan (${size} licenses)`
|
||||
: `Group ${planName} Plan (${size} licenses) - ${capitalize(usage)}`,
|
||||
usage === 'educational'
|
||||
? `${planName} group with edu discount (${size} licenses)`
|
||||
: `${planName} group (${size} licenses)`,
|
||||
hideFromUsers: true,
|
||||
price_in_cents: groups[usage][planCode].USD[size].price_in_cents,
|
||||
annual: true,
|
||||
|
||||
@@ -1170,10 +1170,10 @@ function getPlanNameForDisplay(planName, planCode) {
|
||||
if (!match) return planName
|
||||
|
||||
const [, type, category] = match
|
||||
const prefix = type === 'collaborator' ? 'Standard' : 'Professional'
|
||||
const suffix = category === 'educational' ? ' Educational' : ''
|
||||
const prefix = type === 'collaborator' ? 'Standard' : 'Pro'
|
||||
const suffix = category === 'educational' ? ' with edu discount' : ''
|
||||
|
||||
return `Overleaf ${prefix} Group${suffix}`
|
||||
return `${prefix} group${suffix}`
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -572,7 +572,7 @@ function buildGroupSubscriptionForView(groupSubscription) {
|
||||
// most group plans in Recurly should be in form "group_plancode_size_usage"
|
||||
const planLevelFromGroupPlanCode = groupSubscription.planCode.substr(6, 12)
|
||||
if (planLevelFromGroupPlanCode === 'professional') {
|
||||
groupSubscription.planLevelName = 'Professional'
|
||||
groupSubscription.planLevelName = 'Pro'
|
||||
} else if (planLevelFromGroupPlanCode === 'collaborator') {
|
||||
groupSubscription.planLevelName = 'Standard'
|
||||
}
|
||||
@@ -580,7 +580,7 @@ function buildGroupSubscriptionForView(groupSubscription) {
|
||||
// this fallback tries to still show the right thing in these cases:
|
||||
if (!groupSubscription.planLevelName) {
|
||||
if (groupSubscription.planCode.startsWith('professional')) {
|
||||
groupSubscription.planLevelName = 'Professional'
|
||||
groupSubscription.planLevelName = 'Pro'
|
||||
} else if (groupSubscription.planCode.startsWith('collaborator')) {
|
||||
groupSubscription.planLevelName = 'Standard'
|
||||
} else {
|
||||
|
||||
@@ -215,7 +215,7 @@ mixin overleafGroupPlans
|
||||
.collapse(id='overleafGroupPlansQ1')
|
||||
.custom-accordion-body
|
||||
div On any of our group plans, the number of users refers to the number of people you can invite to join your group. All of these people will have access to the plan’s paid-for features across all their projects, such as real-time track changes and document history.
|
||||
.mt-2 Collaborators are people that your group users may invite to work with them on their projects. So, for example, if you have the Group Standard plan, the users in your group can invite up to 10 people to work with them on a project. And if you have the Group Professional plan, your users can invite as many people to work with them as they want.
|
||||
.mt-2 Collaborators are people that your group users may invite to work with them on their projects. So, for example, if you have the Standard group plan, the users in your group can invite up to 10 people to work with them on a project. And if you have the Pro group plan, your users can invite as many people to work with them as they want.
|
||||
.custom-accordion-item
|
||||
button.custom-accordion-header.collapsed(
|
||||
type='button'
|
||||
@@ -315,12 +315,12 @@ mixin overleafGroupPlans
|
||||
aria-expanded='false'
|
||||
aria-controls='overleafGroupPlansQ5'
|
||||
)
|
||||
| How do I upgrade my plan from Group Standard to Group Professional?
|
||||
| How do I upgrade my plan from Standard group to Pro group?
|
||||
span.custom-accordion-icon
|
||||
+material-symbol('keyboard_arrow_down')
|
||||
.collapse(id='overleafGroupPlansQ5')
|
||||
.custom-accordion-body
|
||||
span You can upgrade your plan from Group Standard to Group Professional on the
|
||||
span You can upgrade your plan from Standard group to Pro group on the
|
||||
|
|
||||
a.inline-green-link(
|
||||
target='_blank'
|
||||
|
||||
@@ -101,7 +101,6 @@
|
||||
"add_unlimited_ai_to_your_overleaf_plan": "",
|
||||
"add_unlimited_ai_to_your_plan": "",
|
||||
"add_your_comment_here": "",
|
||||
"add_your_first_group_member_now": "",
|
||||
"added_by_on": "",
|
||||
"adding": "",
|
||||
"additional_certificate": "",
|
||||
@@ -188,7 +187,7 @@
|
||||
"autocomplete_references": "",
|
||||
"automatically_insert_closing_brackets_and_parentheses": "",
|
||||
"automatically_recompile_the_project_as_you_edit": "",
|
||||
"available_with_group_professional": "",
|
||||
"available_for_pro_groups": "",
|
||||
"back": "",
|
||||
"back_to_configuration": "",
|
||||
"back_to_editing": "",
|
||||
@@ -961,6 +960,7 @@
|
||||
"invert_pdf_preview_colors_when_in_dark_mode": "",
|
||||
"invite": "",
|
||||
"invite_expired": "",
|
||||
"invite_group_members": "",
|
||||
"invite_more_collabs": "",
|
||||
"invite_more_members": "",
|
||||
"invite_not_accepted": "",
|
||||
|
||||
@@ -9,9 +9,9 @@ type GroupPlanProps = Pick<
|
||||
>
|
||||
|
||||
function getFriendlyPlanName(planName: string): string {
|
||||
if (planName.toLowerCase().includes('professional')) {
|
||||
return 'Professional'
|
||||
} else if (planName.toLowerCase().includes('collaborator')) {
|
||||
if (planName.toLowerCase().includes('pro group')) {
|
||||
return 'Pro'
|
||||
} else if (planName.toLowerCase().includes('standard')) {
|
||||
return 'Standard'
|
||||
}
|
||||
// fallback on plan name
|
||||
|
||||
@@ -26,7 +26,7 @@ function AvailableWithGroupProfessionalBadge() {
|
||||
onClick: handleUpgradeClick,
|
||||
}}
|
||||
>
|
||||
<strong>{t('available_with_group_professional')}</strong>
|
||||
<strong>{t('available_for_pro_groups')}</strong>
|
||||
</OLTag>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ function InstitutionMemberships() {
|
||||
<Trans
|
||||
i18nKey="you_are_on_x_plan_as_a_confirmed_member_of_institution_y"
|
||||
values={{
|
||||
planName: 'Professional',
|
||||
planName: 'Pro',
|
||||
institutionName: institution.name || '',
|
||||
}}
|
||||
shouldUnescape
|
||||
|
||||
@@ -151,7 +151,7 @@ export default function ManagedGroupSubscriptions() {
|
||||
{isAdmin && (
|
||||
<>
|
||||
{isSharingUpdatesEnabled &&
|
||||
subscription.planLevelName === 'Professional' && (
|
||||
subscription.planLevelName === 'Pro' && (
|
||||
<RowLink
|
||||
href={`/manage/groups/${subscription._id}/sharing-permissions`}
|
||||
heading={t('sharing_permissions')}
|
||||
|
||||
@@ -56,13 +56,11 @@ export function ActiveSubscription({
|
||||
if (onStandalonePlan) {
|
||||
planName = 'Overleaf Free'
|
||||
if (institutionMemberships && institutionMemberships.length > 0) {
|
||||
planName = 'Overleaf Professional'
|
||||
planName = 'Overleaf Pro'
|
||||
}
|
||||
if (memberGroupSubscriptions.length > 0) {
|
||||
if (
|
||||
memberGroupSubscriptions.some(s => s.planLevelName === 'Professional')
|
||||
) {
|
||||
planName = 'Overleaf Professional'
|
||||
if (memberGroupSubscriptions.some(s => s.planLevelName === 'Pro')) {
|
||||
planName = 'Overleaf Pro'
|
||||
} else {
|
||||
planName = 'Overleaf Standard'
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ function SuccessfulSubscription() {
|
||||
href={`/manage/groups/${subscription._id}/members`}
|
||||
className="btn btn-primary btn-large"
|
||||
>
|
||||
{t('add_your_first_group_member_now')}
|
||||
{t('invite_group_members')}
|
||||
</a>
|
||||
</p>
|
||||
)}
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
"account_settings": "Nastavení účtu",
|
||||
"actions": "Akce",
|
||||
"add": "Přidat",
|
||||
"add_your_first_group_member_now": "Přidejte do vaší skupiny prvního člena",
|
||||
"added": "přidáno",
|
||||
"admin": "administrátor",
|
||||
"all_projects": "Všechny projekty",
|
||||
@@ -124,6 +123,7 @@
|
||||
"importing_and_merging_changes_in_github": "Importuji a merguji změny v GitHubu",
|
||||
"info": "Informace",
|
||||
"institution": "Instituce",
|
||||
"invite_group_members": "Pozvat členy skupiny",
|
||||
"it": "Italština",
|
||||
"join_sl_to_view_project": "Pro zobrazení tohoto projektu se přihlašte do __appName__.",
|
||||
"keybindings": "Klávesové zkratky",
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
"add_to_dictionary": "Tilføj til ordbog",
|
||||
"add_to_tag": "Tilføj til tag",
|
||||
"add_your_comment_here": "Tilføj din kommentar her",
|
||||
"add_your_first_group_member_now": "Tilføj de første medlemmer til din gruppe nu",
|
||||
"added": "tilføjet",
|
||||
"added_by_on": "Tilføjet af __name__ d. __date__",
|
||||
"adding": "Tilføjer",
|
||||
@@ -712,11 +711,11 @@
|
||||
"group_plan_admins_can_easily_add_and_remove_users_from_a_group": "Gruppeadministratorer kan nemt tilføje og slette medlemmer fra en gruppe. For organisationsdækkende abonnementer bliver brugere automatisk opgraderet når de registrerer sig eller tilføjer deres e-mailadresse til Overleaf (domænebaseret tilknytning eller SSO).",
|
||||
"group_plan_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement. Klik for at finde ud af hvordan du får det meste ud af dine Overleaf Premium-funktioner.",
|
||||
"group_plan_with_name_tooltip": "Du er på __plan__ abonnementet som medlem af et gruppeabonnement, __groupName__. Klik for at finde ud af hvordan du får det meste ud af dine Overleaf Premium-funktioner.",
|
||||
"group_professional": "Gruppe Professionel",
|
||||
"group_professional": "Pro gruppe",
|
||||
"group_sso_configuration_idp_metadata": "Informationen du udfylder her kommer fra din Identity Provider (IdP). Det bliver ofte benævnt som <0>SAML metadata</0>. Du kan udfylde det manuelt eller klikke på <1>Importer IdP metadata</1> for at importere en XML fil.",
|
||||
"group_sso_configure_service_provider_in_idp": "Hos nogle IdPs skal du konfigurere Overleaf som en Service Provider for at tilgå dataen til at udfylde denne forumlar. For at gøre dette, skal du download Overleafs metadata.",
|
||||
"group_sso_documentation_links": "Se venligst vores <0>dokumentation</0> og <1>fejlsøgningsguide</1> for mere hjælp.",
|
||||
"group_standard": "Gruppe Standard",
|
||||
"group_standard": "Standard gruppe",
|
||||
"group_subscription": "Gruppeabonnement",
|
||||
"groups": "Grupper",
|
||||
"have_an_extra_backup": "Hav en ekstra backup",
|
||||
@@ -858,6 +857,7 @@
|
||||
"invalid_zip_file": "Ugyldig zip-fil",
|
||||
"invite": "Inviter",
|
||||
"invite_expired": "Invitationen kan være udløbet",
|
||||
"invite_group_members": "Inviter gruppemedlemmer",
|
||||
"invite_more_collabs": "Inviter flere samarbejdspartnere",
|
||||
"invite_not_accepted": "Invitationen er endnu ikke accepteret",
|
||||
"invite_not_valid": "Dette er ikke en gyldig projekt invitation",
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
"add_role_and_department": "Rolle und Abteilung hinzufügen",
|
||||
"add_to_tag": "Zu Stichwort hinzufügen",
|
||||
"add_your_comment_here": "Füge hier einen Kommentar hinzu",
|
||||
"add_your_first_group_member_now": "Füge jetzt dein erstes Gruppenmitglied hinzu",
|
||||
"added": "hinzugefügt",
|
||||
"added_by_on": "Hinzugefügt von __name__ am __date__",
|
||||
"adding": "Hinzufügen",
|
||||
@@ -508,8 +507,8 @@
|
||||
"group_managed_by_group_administrator": "Die Benutzerkonten in diesem Team werden vom Gruppenadministrator verwaltet.",
|
||||
"group_plan_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied eines Gruppen-Abonnements. Klicke hier um herauszufinden, was Dir die Overleaf-Premiumfunktionen ermöglichen.",
|
||||
"group_plan_with_name_tooltip": "Du nutzt ein __plan__-Abonnement als Mitglied des Gruppen-Abonnements __groupName__. Klicke hier um herauszufinden, was Dir die Overleaf Premiumfunktionen ermöglichen.",
|
||||
"group_professional": "Gruppe Professionell",
|
||||
"group_standard": "Gruppe Standard",
|
||||
"group_professional": "Pro Gruppe",
|
||||
"group_standard": "Standard Gruppe",
|
||||
"group_subscription": "Gruppen-Abonnement",
|
||||
"groups": "Gruppen",
|
||||
"have_an_extra_backup": "Zusätzliche Sicherung vorhanden",
|
||||
@@ -621,6 +620,7 @@
|
||||
"invalid_password_too_similar": "Passwort ist zu ähnlich zu Teilen deiner E-Mail-Adresse.",
|
||||
"invalid_request": "Ungültige Anfrage. Bitte korrigiere die Daten und versuche es erneut.",
|
||||
"invalid_zip_file": "Ungültige ZIP-Datei",
|
||||
"invite_group_members": "Gruppenmitglieder einladen",
|
||||
"invite_more_collabs": "Lade weitere Mitarbeiter ein",
|
||||
"invite_not_accepted": "Einladung noch nicht angenommen",
|
||||
"invite_not_valid": "Dies ist keine gültige Projekteinladung",
|
||||
|
||||
@@ -118,7 +118,6 @@
|
||||
"add_unlimited_ai_to_your_overleaf_plan": "Add unlimited AI* to your Overleaf __planName__ plan",
|
||||
"add_unlimited_ai_to_your_plan": "Add unlimited AI* to your __planName__ plan",
|
||||
"add_your_comment_here": "Add your comment here",
|
||||
"add_your_first_group_member_now": "Add your first group members now",
|
||||
"added": "added",
|
||||
"added_by_on": "Added by __name__ on __date__",
|
||||
"adding": "Adding",
|
||||
@@ -170,7 +169,7 @@
|
||||
"all": "All",
|
||||
"all_borders": "All borders",
|
||||
"all_events": "All events",
|
||||
"all_features_in_group_standard_plus": "All features in Group Standard, plus:",
|
||||
"all_features_in_group_standard_plus": "All features in Standard group, plus:",
|
||||
"all_logs": "All logs",
|
||||
"all_premium_features": "All premium features",
|
||||
"all_premium_features_including": "All premium features, including:",
|
||||
@@ -249,7 +248,7 @@
|
||||
"automatic_user_registration_uppercase": "Automatic user registration",
|
||||
"automatically_insert_closing_brackets_and_parentheses": "Automatically insert closing brackets and parentheses",
|
||||
"automatically_recompile_the_project_as_you_edit": "Automatically recompile the project as you edit",
|
||||
"available_with_group_professional": "Available with Group Professional",
|
||||
"available_for_pro_groups": "Available for Pro groups",
|
||||
"back": "Back",
|
||||
"back_to_account_settings": "Back to account settings",
|
||||
"back_to_all_posts": "Back to all posts",
|
||||
@@ -608,7 +607,7 @@
|
||||
"details": "Details",
|
||||
"details_provided_by_google_explanation": "Your details were provided by your Google account. Please check you’re happy with them.",
|
||||
"dictionary": "Dictionary",
|
||||
"did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Professional features</0> to everyone at __institutionName__?",
|
||||
"did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Pro features</0> to everyone at __institutionName__?",
|
||||
"disable": "Disable",
|
||||
"disable_ai_features": "Disable AI features",
|
||||
"disable_equation_preview": "Disable equation preview",
|
||||
@@ -808,8 +807,8 @@
|
||||
"event_type": "Event type",
|
||||
"every": "per",
|
||||
"everything_in_free_plus": "Everything in Free, plus…",
|
||||
"everything_in_group_professional_plus": "Everything in Group Professional, plus…",
|
||||
"everything_in_group_standard_plus": "Everything in Group Standard, plus…",
|
||||
"everything_in_group_professional_plus": "Everything in Pro group, plus…",
|
||||
"everything_in_group_standard_plus": "Everything in Standard group, plus…",
|
||||
"everything_in_standard_plus": "Everything in Standard, plus…",
|
||||
"example": "Example",
|
||||
"example_project": "Example project",
|
||||
@@ -833,7 +832,7 @@
|
||||
"export_project_to_github": "Export Project to GitHub",
|
||||
"failed": "Failed",
|
||||
"failed_to_consent_to_workbench_terms": "Failed to consent to workbench terms. Please try again later.",
|
||||
"failed_to_send_group_invite_to_email": "Failed to send Group invite to <0>__email__</0>. Please try again later.",
|
||||
"failed_to_send_group_invite_to_email": "Failed to send group invite to <0>__email__</0>. Please try again later.",
|
||||
"failed_to_send_managed_user_invite_to_email": "Failed to send Managed User invite to <0>__email__</0>. Please try again later.",
|
||||
"failed_to_send_sso_link_invite_to_email": "Failed to send SSO invite reminder to <0>__email__</0>. Please try again later.",
|
||||
"fair_usage_policy_applies": "Fair usage policy applies.",
|
||||
@@ -1065,12 +1064,12 @@
|
||||
"group_plan_tooltip": "You are on the __plan__ plan as a member of a group subscription. Click to find out how to make the most of your Overleaf premium features.",
|
||||
"group_plan_upgrade_description": "You’re on the <0>__currentPlan__</0> plan and you’re upgrading to the <0>__nextPlan__</0> plan. If you’re interested in a site-wide Overleaf Commons plan, please <1>get in touch</1>.",
|
||||
"group_plan_with_name_tooltip": "You are on the __plan__ plan as a member of a group subscription, __groupName__. Click to find out how to make the most of your Overleaf premium features.",
|
||||
"group_professional": "Group Professional",
|
||||
"group_professional": "Pro group",
|
||||
"group_settings": "Group settings",
|
||||
"group_sso_configuration_idp_metadata": "The information you provide here comes from your Identity Provider (IdP). This is often referred to as its <0>SAML metadata</0>. You can add this manually or click <1>Import IdP metadata</1> to import an XML file.",
|
||||
"group_sso_configure_service_provider_in_idp": "For some IdPs, you must configure Overleaf as a Service Provider to get the data you need to fill out this form. To do this, you will need to download the Overleaf metadata.",
|
||||
"group_sso_documentation_links": "Please see our <0>documentation</0> and <1>troubleshooting guide</1> for more help.",
|
||||
"group_standard": "Group Standard",
|
||||
"group_standard": "Standard group",
|
||||
"group_subscription": "Group Subscription",
|
||||
"groups": "Groups",
|
||||
"have_an_extra_backup": "Have an extra backup",
|
||||
@@ -1224,7 +1223,7 @@
|
||||
"institution_acct_successfully_linked_2": "Your <0>__appName__</0> account was successfully linked to your <0>__institutionName__</0> institutional account.",
|
||||
"institution_and_role": "Institution and role",
|
||||
"institution_email_new_to_app": "Your <b>__institutionName__</b> email (<b>__email__</b>) is new to __appName__.",
|
||||
"institution_has_overleaf_subscription": "<0>__institutionName__</0> has an Overleaf subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>Overleaf Professional</0>.",
|
||||
"institution_has_overleaf_subscription": "<0>__institutionName__</0> has an Overleaf subscription. Click the confirmation link sent to __emailAddress__ to upgrade to <0>Overleaf Pro</0>.",
|
||||
"institution_templates": "Institution Templates",
|
||||
"institutional": "Institutional",
|
||||
"institutional_login_unknown": "Sorry, we don’t know which institution issued that email address. You can browse our <a href=\"__link__\">list of institutions</a> to find yours, or you can use one of the other options below.",
|
||||
@@ -1255,6 +1254,7 @@
|
||||
"invert_pdf_preview_colors_when_in_dark_mode": "Invert PDF preview colors when in dark mode",
|
||||
"invite": "Invite",
|
||||
"invite_expired": "The invite may have expired",
|
||||
"invite_group_members": "Invite group members",
|
||||
"invite_more_collabs": "Invite more collaborators",
|
||||
"invite_more_members": "Invite more members",
|
||||
"invite_not_accepted": "Invite not yet accepted",
|
||||
@@ -1659,10 +1659,10 @@
|
||||
"not_registered": "Not registered",
|
||||
"note_features_under_development": "<0>Please note</0> that features in this program are still being tested and actively developed. This means that they might <0>change</0>, be <0>removed</0> or <0>become part of a premium plan</0>",
|
||||
"notification": "Notification",
|
||||
"notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to all of Overleaf’s Professional features.",
|
||||
"notification_features_upgraded_by_affiliation": "Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to all of Overleaf’s Pro features.",
|
||||
"notification_old_debug_projects": "You have some old debug projects that you should delete, if you no longer need them.",
|
||||
"notification_personal_and_group_subscriptions": "We’ve spotted that you’ve got <0>more than one active __appName__ subscription</0>. To avoid paying more than you need to, <1>review your subscriptions</1>.",
|
||||
"notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to Overleaf’s Professional features through your affiliation. You can cancel your individual subscription without losing access to any features.",
|
||||
"notification_personal_subscription_not_required_due_to_affiliation": " Good news! Your affiliated organization __institutionName__ has an Overleaf subscription, and you now have access to Overleaf’s Pro features through your affiliation. You can cancel your individual subscription without losing access to any features.",
|
||||
"notification_project_invite_accepted_message": "You’ve joined <b>__projectName__</b>",
|
||||
"notification_project_invite_message": "<b>__userName__</b> would like you to join <b>__projectName__</b>",
|
||||
"november": "November",
|
||||
@@ -1686,7 +1686,7 @@
|
||||
"one_collaborator_per_project": "1 collaborator per project",
|
||||
"one_free_collab": "One free collaborator",
|
||||
"one_per_project": "1 per project",
|
||||
"one_step_away_from_professional_features": "You are one step away from accessing <0>Overleaf Professional features</0>!",
|
||||
"one_step_away_from_professional_features": "You are one step away from accessing <0>Overleaf Pro features</0>!",
|
||||
"one_user": "1 user",
|
||||
"ongoing_experiments": "Ongoing experiments",
|
||||
"online_latex_editor": "Online LaTeX Editor",
|
||||
@@ -2848,7 +2848,7 @@
|
||||
"upload_project": "Upload project",
|
||||
"upload_zipped_project": "Upload Zipped Project",
|
||||
"url_to_fetch_the_file_from": "URL to fetch the file from",
|
||||
"us_gov_banner_fedramp": "<0>Now FedRAMP® authorized for LI-SaaS: </0>Overleaf’s Group Professional subscription. Need an air-gapped deployment? We offer an on-premises solution too. Talk to our US federal government team.",
|
||||
"us_gov_banner_fedramp": "<0>Now FedRAMP® authorized for LI-SaaS: </0>Overleaf’s Pro group subscription. Need an air-gapped deployment? We offer an on-premises solution too. Talk to our US federal government team.",
|
||||
"us_gov_banner_government_purchasing": "<0>Get __appName__ for US federal government. </0>Move faster through procurement with our tailored purchasing options. Talk to our government team.",
|
||||
"us_gov_banner_small_business_reseller": "<0>Easy procurement for US federal government. </0>We partner with small business resellers to help you buy Overleaf organizational plans. Talk to our government team.",
|
||||
"usage_limit_reached": "Usage limit reached",
|
||||
@@ -3025,7 +3025,7 @@
|
||||
"you_can_buy_this_plan_but_not_as_a_trial": "You can buy this plan but not as a trial, as you’ve completed a trial before.",
|
||||
"you_can_link_x_in_your_account_settings": "You can link __managers__ in your <0>account settings</0>.",
|
||||
"you_can_now_enable_sso": "You can now enable SSO on your group settings page.",
|
||||
"you_can_now_log_in_sso": "You can now log in through your institution and if eligible you will receive <0>__appName__ Professional features</0>.",
|
||||
"you_can_now_log_in_sso": "You can now log in through your institution and if eligible you will receive <0>__appName__ Pro features</0>.",
|
||||
"you_can_now_search_and_add_references_from_your_rm_library_without_needing_to_import_files": "You can now search and add references from your __referenceManager__ library without needing to import files—just type <code>\\cite{}</code> in your .tex file. <a>Learn more</a>",
|
||||
"you_can_now_sign_in_with_new_password": "You can now sign in with your new password.",
|
||||
"you_can_only_be_affiliated_with_one_group": "You can only be affiliated with one group.",
|
||||
|
||||
@@ -70,7 +70,6 @@
|
||||
"add_role_and_department": "Añadir rol y departamento",
|
||||
"add_to_tag": "Añadir a etiqueta",
|
||||
"add_your_comment_here": "Añade tu comentario aquí",
|
||||
"add_your_first_group_member_now": "Agrega tu primer grupo de miembros ahora",
|
||||
"added": "agregado",
|
||||
"added_by_on": "Añadido por __name__ el __date__",
|
||||
"adding": "Añadiendo",
|
||||
@@ -338,6 +337,7 @@
|
||||
"importing_and_merging_changes_in_github": "Importando y uniendo cambios en GitHub",
|
||||
"info": "Información",
|
||||
"institution": "Institución",
|
||||
"invite_group_members": "Invitar miembros del grupo",
|
||||
"it": "Italiano",
|
||||
"ja": "Japonés",
|
||||
"january": "Enero",
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
"account_settings": "Tilin asetukset",
|
||||
"actions": "Toiminnot",
|
||||
"add": "Lisää",
|
||||
"add_your_first_group_member_now": "Lisää ensimmäiset ryhmäsi jäsenet nyt",
|
||||
"added": "lisätty",
|
||||
"address": "Osoite",
|
||||
"admin": "ylläpitäjä",
|
||||
@@ -126,6 +125,7 @@
|
||||
"importing_and_merging_changes_in_github": "Tuodaan ja yhdistetään muutoksia GitHubissa",
|
||||
"info": "Tietoa",
|
||||
"institution": "Instituutio",
|
||||
"invite_group_members": "Kutsu ryhmän jäseniä",
|
||||
"it": "Italia",
|
||||
"ja": "Japani",
|
||||
"january": "Tammikuu",
|
||||
|
||||
@@ -72,7 +72,6 @@
|
||||
"add_to_dictionary": "Ajouter au Dictionnaire",
|
||||
"add_to_tag": "Ajouter à l’étiquette",
|
||||
"add_your_comment_here": "Ajoutez votre commentaire ici",
|
||||
"add_your_first_group_member_now": "Ajouter le premier membre de votre groupe maintenant",
|
||||
"added": "ajouté",
|
||||
"added_by_on": "Ajouté par __name__ le __date__",
|
||||
"adding": "Ajout",
|
||||
@@ -597,6 +596,7 @@
|
||||
"invalid_password": "Mot de passe invalide.",
|
||||
"invalid_request": "Requête invalide. Veuillez corriger les données et réessayer.",
|
||||
"invalid_zip_file": "Archive invalide",
|
||||
"invite_group_members": "Inviter des membres du groupe",
|
||||
"invite_not_accepted": "Invitation en attente",
|
||||
"invite_not_valid": "Cette invitation à un projet n’est pas valable",
|
||||
"invite_not_valid_description": "L’invitation a peut-être expiré. Veuillez contacter le propriétaire du projet",
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
"account_settings": "Impostazioni Account",
|
||||
"actions": "Azioni",
|
||||
"add": "Aggiungi",
|
||||
"add_your_first_group_member_now": "Aggiungi ora i primi membri del gruppo",
|
||||
"added": "aggiunto",
|
||||
"adding": "Aggiunta",
|
||||
"address": "Indirizzo",
|
||||
@@ -147,6 +146,7 @@
|
||||
"importing_and_merging_changes_in_github": "Importazione e unione modifiche in GitHub",
|
||||
"info": "Info",
|
||||
"institution": "Istituzione",
|
||||
"invite_group_members": "Invita i membri del gruppo",
|
||||
"it": "Italiano",
|
||||
"ja": "Giapponese",
|
||||
"january": "Gennaio",
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
"activating": "アクティベート中",
|
||||
"activation_token_expired": "アクティベーショントークンの期限が切れています。新しいトークンが必要となります。",
|
||||
"add": "追加",
|
||||
"add_your_first_group_member_now": "最初のグループメンバーを今すぐ追加",
|
||||
"added": "追加",
|
||||
"adding": "追加中",
|
||||
"address": "住所",
|
||||
@@ -184,6 +183,7 @@
|
||||
"institution": "組織",
|
||||
"invalid_file_name": "無効なファイル名",
|
||||
"invalid_password": "パスワードの入力に誤りがあります。",
|
||||
"invite_group_members": "グループメンバーを招待",
|
||||
"invite_not_accepted": "招待はまだ承認されていません",
|
||||
"invite_not_valid": "これは有効なプロジェクト招待ではありません",
|
||||
"invite_not_valid_description": "招待の有効期限が切れている可能性があります。プロジェクトオーナーにお問い合わせください",
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
"add": "추가",
|
||||
"add_comment": "코멘트 추가",
|
||||
"add_your_comment_here": "여기에 코멘트 추가",
|
||||
"add_your_first_group_member_now": "지금 첫 그룹 멤버 추가",
|
||||
"added": "추가완료",
|
||||
"adding": "추가하기",
|
||||
"address": "주소",
|
||||
@@ -211,6 +210,7 @@
|
||||
"invalid_email": "이메일 주소가 잘못되었습니다.",
|
||||
"invalid_file_name": "파일 이름이 부적절합니다.",
|
||||
"invalid_password": "비밀번호 틀림.",
|
||||
"invite_group_members": "그룹 멤버 초대",
|
||||
"invite_not_accepted": "받지 않은 초대장",
|
||||
"invite_not_valid": "프로젝트 초대가 유효하지 않습니다.",
|
||||
"invite_not_valid_description": "초대가 만료되었습니다. 프로젝트 소유자에게 연락하십시오.",
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
"add_new_email": "Voeg nieuwe email toe",
|
||||
"add_role_and_department": "Voeg rol en afdeling toe",
|
||||
"add_your_comment_here": "Voeg uw opmerking hier toe",
|
||||
"add_your_first_group_member_now": "Voeg je eerste groepsleden nu toe",
|
||||
"added": "toegevoegd",
|
||||
"adding": "Toevoegen",
|
||||
"address": "Straat",
|
||||
@@ -221,6 +220,7 @@
|
||||
"institution_and_role": "Instelling en rol",
|
||||
"invalid_file_name": "Ongeldige Bestandsnaam",
|
||||
"invalid_password": "Onjuist Wachtwoord.",
|
||||
"invite_group_members": "Groepsleden uitnodigen",
|
||||
"invite_not_accepted": "Uitnodiging nog niet geaccepteerd",
|
||||
"invite_not_valid": "Dit is geen valide projectuitnodiging",
|
||||
"invite_not_valid_description": "De uitnodiging kan verlopen zijn. Neem contact op met de projecteigenaar",
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
"actions": "Handlinger",
|
||||
"activate_account": "Aktiver din konto",
|
||||
"add": "Legg til",
|
||||
"add_your_first_group_member_now": "Legg til ditt første gruppemedlem nå",
|
||||
"added": "lagt til",
|
||||
"adding": "Legge til",
|
||||
"address": "Adresse",
|
||||
@@ -148,6 +147,7 @@
|
||||
"importing_and_merging_changes_in_github": "Importerer og merger endringer i GitHub",
|
||||
"info": "Info",
|
||||
"institution": "Institusjon",
|
||||
"invite_group_members": "Inviter gruppemedlemmer",
|
||||
"it": "Italiensk",
|
||||
"ja": "Japansk",
|
||||
"january": "Januar",
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
"add_new_email": "Adicionar novo e-mail",
|
||||
"add_role_and_department": "Adicionar perfil e departamento",
|
||||
"add_your_comment_here": "Adicione seu comentário aqui",
|
||||
"add_your_first_group_member_now": "Adicione seu primeiro membro no grupo agora",
|
||||
"added": "adicionado",
|
||||
"adding": "Adicionando",
|
||||
"address": "Endereço",
|
||||
@@ -262,6 +261,7 @@
|
||||
"invalid_email": "Algum email está inválido",
|
||||
"invalid_file_name": "Nome de Arquivo Inválido",
|
||||
"invalid_password": "Senha inválida.",
|
||||
"invite_group_members": "Convidar membros do grupo",
|
||||
"invite_not_accepted": "Convite ainda não aceito",
|
||||
"invite_not_valid": "Esse não é um convite válido do projeto",
|
||||
"invite_not_valid_description": "Talvez o convite tenha expirado. Por favor, entre em contato com o dono do projeto.",
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
"activating": "Активация",
|
||||
"activation_token_expired": "Срок действия Вашего ключа истёк. Вам необходимо запросить новый ключ активации.",
|
||||
"add": "Добавить",
|
||||
"add_your_first_group_member_now": "Добавьте первых участников группы сейчас",
|
||||
"added": "добавлены",
|
||||
"adding": "Добавление",
|
||||
"address": "Адрес",
|
||||
@@ -191,6 +190,7 @@
|
||||
"info": "Информация",
|
||||
"institution": "Организация",
|
||||
"invalid_file_name": "Неверное имя файла",
|
||||
"invite_group_members": "Пригласить участников группы",
|
||||
"invite_not_accepted": "Приглашение еще не было принято",
|
||||
"invite_not_valid": "Приглашение недействительно",
|
||||
"invite_not_valid_description": "Вышел срок приглашения. Пожалуйста, обратитесь к владельцу проекта",
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
"add_new_email": "Lägg till ny e-postadress",
|
||||
"add_role_and_department": "Lägg till befattning och avdelning",
|
||||
"add_your_comment_here": "Skriv din kommentar här",
|
||||
"add_your_first_group_member_now": "Lägg till dina första gruppmedlemmar nu",
|
||||
"added": "lagst till",
|
||||
"adding": "Lägger till",
|
||||
"address": "Adress",
|
||||
@@ -375,6 +374,7 @@
|
||||
"invalid_password_too_long": "Maximal lösenordslängd __maxLength__ överskrids.",
|
||||
"invalid_password_too_short": "Lösenordet är för kort, minimum __minLength__.",
|
||||
"invalid_zip_file": "Ogiltig zip-fil",
|
||||
"invite_group_members": "Bjud in gruppmedlemmar",
|
||||
"invite_more_collabs": "Bjuda in fler medarbetare",
|
||||
"invite_not_accepted": "Inbjudan ännu inte accepterad",
|
||||
"invite_not_valid": "Detta är inte en giltig inbjudan till ett projekt",
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
"activating": "Aktifleştiriliyor",
|
||||
"activation_token_expired": "Aktivasyon kodunuzun süresi geçmiş, size tekrar yollayacağımız kodu kullanın.",
|
||||
"add": "Ekle",
|
||||
"add_your_first_group_member_now": "Grubunuza ilk üyeleri ekleyin",
|
||||
"added": "eklenmiş",
|
||||
"adding": "Ekleniyor",
|
||||
"address": "Adres",
|
||||
@@ -148,6 +147,7 @@
|
||||
"importing_and_merging_changes_in_github": "Değişiklikler GitHub’a aktarılıyor",
|
||||
"info": "Bilgi",
|
||||
"institution": "Enstitü",
|
||||
"invite_group_members": "Grup üyelerini davet edin",
|
||||
"it": "İtalyanca",
|
||||
"ja": "Japonca",
|
||||
"january": "Ocak",
|
||||
|
||||
@@ -91,7 +91,6 @@
|
||||
"add_to_dictionary": "添加到词典",
|
||||
"add_to_tag": "添加到标记",
|
||||
"add_your_comment_here": "在此添加评论",
|
||||
"add_your_first_group_member_now": "现在添加您的第一个组成员",
|
||||
"added": "已添加",
|
||||
"added_by_on": "由 __name__ 在 __date__ 添加",
|
||||
"adding": "添加",
|
||||
@@ -184,7 +183,7 @@
|
||||
"automatic_user_registration_uppercase": "自动用户注册",
|
||||
"automatically_insert_closing_brackets_and_parentheses": "自动插入右括号和圆括号",
|
||||
"automatically_recompile_the_project_as_you_edit": "编辑时自动重新编译项目",
|
||||
"available_with_group_professional": "适用于 Group Professional",
|
||||
"available_for_pro_groups": "适用于 Pro 群组",
|
||||
"back": "返回",
|
||||
"back_to_account_settings": "返回帐户设置",
|
||||
"back_to_all_posts": "回到所有帖子",
|
||||
@@ -1005,6 +1004,7 @@
|
||||
"invalid_zip_file": "zip文件无效",
|
||||
"invite": "邀请",
|
||||
"invite_expired": "此邀请已经过期",
|
||||
"invite_group_members": "邀请群组成员",
|
||||
"invite_more_collabs": "邀请更多的协作者",
|
||||
"invite_more_members": "邀请更多成员",
|
||||
"invite_not_accepted": "邀请尚未接受",
|
||||
|
||||
@@ -206,7 +206,7 @@ module.exports = {
|
||||
},
|
||||
{
|
||||
planCode: 'group_professional',
|
||||
name: 'Professional - Group Account - Enterprise',
|
||||
name: 'Pro group',
|
||||
hideFromUsers: true,
|
||||
price_in_cents: 0,
|
||||
annual: true,
|
||||
@@ -218,7 +218,7 @@ module.exports = {
|
||||
},
|
||||
{
|
||||
planCode: 'group_collaborator',
|
||||
name: 'Collaborator - Group Account - Enterprise',
|
||||
name: 'Standard group',
|
||||
hideFromUsers: true,
|
||||
price_in_cents: 0,
|
||||
annual: true,
|
||||
|
||||
@@ -284,7 +284,7 @@ describe('<AddSeats />', function () {
|
||||
nextInvoice: {
|
||||
date: '2025-12-01T00:00:00.000Z',
|
||||
plan: {
|
||||
name: 'Overleaf Standard Group',
|
||||
name: 'Standard group',
|
||||
amount: 0,
|
||||
},
|
||||
subtotal: 895,
|
||||
|
||||
@@ -14,7 +14,7 @@ describe('<UpgradeSubscription />', function () {
|
||||
this.preview = {
|
||||
change: {
|
||||
type: 'group-plan-upgrade',
|
||||
prevPlan: { name: 'Overleaf Standard Group' },
|
||||
prevPlan: { name: 'Standard group' },
|
||||
},
|
||||
currency: 'USD',
|
||||
immediateCharge: {
|
||||
@@ -27,7 +27,7 @@ describe('<UpgradeSubscription />', function () {
|
||||
nextPlan: { annual: true },
|
||||
nextInvoice: {
|
||||
date: '2025-11-05T11:35:32.000Z',
|
||||
plan: { name: 'Overleaf Professional Group', amount: 0 },
|
||||
plan: { name: 'Pro group', amount: 0 },
|
||||
addOns: [
|
||||
{
|
||||
code: 'additional-license',
|
||||
|
||||
@@ -836,10 +836,10 @@ describe('<UserNotifications />', function () {
|
||||
const alert = await screen.findByRole('alert')
|
||||
const email = unconfirmedCommonsUserData.email
|
||||
expect(alert.textContent).to.contain(
|
||||
'You are one step away from accessing Overleaf Professional features'
|
||||
'You are one step away from accessing Overleaf Pro features'
|
||||
)
|
||||
expect(alert.textContent).to.contain(
|
||||
`Overleaf has an Overleaf subscription. Click the confirmation link sent to ${email} to upgrade to Overleaf Professional`
|
||||
`Overleaf has an Overleaf subscription. Click the confirmation link sent to ${email} to upgrade to Overleaf Pro`
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ const memberGroupSubscriptions: MemberGroupSubscription[] = [
|
||||
{
|
||||
...groupActiveSubscription,
|
||||
userIsGroupManager: false,
|
||||
planLevelName: 'Professional',
|
||||
planLevelName: 'Pro',
|
||||
admin_id: {
|
||||
id: 'abc123abc123' as UserId,
|
||||
email: 'you@example.com',
|
||||
@@ -33,7 +33,7 @@ const memberGroupSubscriptions: MemberGroupSubscription[] = [
|
||||
{
|
||||
...groupActiveSubscriptionWithPendingLicenseChange,
|
||||
userIsGroupManager: true,
|
||||
planLevelName: 'Collaborator',
|
||||
planLevelName: 'Standard',
|
||||
admin_id: {
|
||||
id: 'bcd456bcd456' as UserId,
|
||||
email: 'someone@example.com',
|
||||
@@ -68,7 +68,7 @@ describe('<GroupSubscriptionMemberships />', function () {
|
||||
})
|
||||
expect(elements.length).to.equal(1)
|
||||
expect(elements[0].textContent).to.equal(
|
||||
'You are on our Professional plan as a member of the group subscription GAS administered by you@example.com'
|
||||
'You are on our Pro plan as a member of the group subscription GAS administered by you@example.com'
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
@@ -49,10 +49,10 @@ describe('<InstitutionMemberships />', function () {
|
||||
})
|
||||
expect(elements.length).to.equal(2)
|
||||
expect(elements[0].textContent).to.equal(
|
||||
'You are on our Professional plan as a confirmed member of Test University'
|
||||
'You are on our Pro plan as a confirmed member of Test University'
|
||||
)
|
||||
expect(elements[1].textContent).to.equal(
|
||||
'You are on our Professional plan as a confirmed member of Example Institution'
|
||||
'You are on our Pro plan as a confirmed member of Example Institution'
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ function getManagedGroupSubscriptions(
|
||||
const subscriptionOne = {
|
||||
_id: 'bcd567',
|
||||
userIsGroupMember: true,
|
||||
planLevelName: 'Professional',
|
||||
planLevelName: 'Pro',
|
||||
admin_id: {
|
||||
email: 'you@example.com',
|
||||
},
|
||||
@@ -28,7 +28,7 @@ function getManagedGroupSubscriptions(
|
||||
const subscriptionTwo = {
|
||||
_id: 'def456',
|
||||
userIsGroupMember: false,
|
||||
planLevelName: 'Collaborator',
|
||||
planLevelName: 'Standard',
|
||||
admin_id: {
|
||||
email: 'someone@example.com',
|
||||
},
|
||||
@@ -42,7 +42,7 @@ function getManagedGroupSubscriptions(
|
||||
const subscriptionMemberAndAdmin = {
|
||||
_id: 'group2abc',
|
||||
userIsGroupMember: true,
|
||||
planLevelName: 'Collaborator',
|
||||
planLevelName: 'Standard',
|
||||
admin_id: {
|
||||
email: 'admin@example.com',
|
||||
},
|
||||
@@ -56,7 +56,7 @@ function getManagedGroupSubscriptions(
|
||||
const subscriptionAdmin = {
|
||||
_id: 'group123abc',
|
||||
userIsGroupMember: false,
|
||||
planLevelName: 'Collaborator',
|
||||
planLevelName: 'Standard',
|
||||
admin_id: {
|
||||
email: 'admin@example.com',
|
||||
},
|
||||
@@ -105,16 +105,16 @@ describe('<ManagedGroupSubscriptions />', function () {
|
||||
})
|
||||
expect(elements.length).to.equal(4)
|
||||
expect(elements[0].textContent).to.equal(
|
||||
'You are a manager and member of the Professional group subscription GAS administered by you@example.com.'
|
||||
'You are a manager and member of the Pro group subscription GAS administered by you@example.com.'
|
||||
)
|
||||
expect(elements[1].textContent).to.equal(
|
||||
'You are a manager of the Collaborator group subscription GASWPLC administered by someone@example.com.'
|
||||
'You are a manager of the Standard group subscription GASWPLC administered by someone@example.com.'
|
||||
)
|
||||
expect(elements[2].textContent).to.equal(
|
||||
'You are a manager and member of the Collaborator group subscription Testing administered by you (admin@example.com).'
|
||||
'You are a manager and member of the Standard group subscription Testing administered by you (admin@example.com).'
|
||||
)
|
||||
expect(elements[3].textContent).to.equal(
|
||||
'You are a manager of the Collaborator group subscription Testing Another administered by you (admin@example.com).'
|
||||
'You are a manager of the Standard group subscription Testing Another administered by you (admin@example.com).'
|
||||
)
|
||||
|
||||
const links = screen.getAllByRole('link')
|
||||
|
||||
@@ -410,8 +410,7 @@ describe('<ChangePlanModal />', function () {
|
||||
renderActiveSubscription(annualActiveSubscription)
|
||||
await openModal()
|
||||
|
||||
const professionalPlanOption =
|
||||
within(modal).getByLabelText('Professional')
|
||||
const professionalPlanOption = within(modal).getByLabelText('Pro')
|
||||
fireEvent.click(professionalPlanOption)
|
||||
|
||||
await within(modal).findByText(professionalPlanCollaboratorText)
|
||||
@@ -461,7 +460,7 @@ describe('<ChangePlanModal />', function () {
|
||||
) as HTMLInputElement
|
||||
expect(standardPlanRadioInput.checked).to.be.true
|
||||
let professionalPlanRadioInput = within(modal).getByLabelText(
|
||||
'Professional'
|
||||
'Pro'
|
||||
) as HTMLInputElement
|
||||
expect(professionalPlanRadioInput.checked).to.be.false
|
||||
|
||||
@@ -472,7 +471,7 @@ describe('<ChangePlanModal />', function () {
|
||||
) as HTMLInputElement
|
||||
expect(standardPlanRadioInput.checked).to.be.false
|
||||
professionalPlanRadioInput = within(modal).getByLabelText(
|
||||
'Professional'
|
||||
'Pro'
|
||||
) as HTMLInputElement
|
||||
expect(professionalPlanRadioInput.checked).to.be.true
|
||||
|
||||
@@ -516,7 +515,7 @@ describe('<ChangePlanModal />', function () {
|
||||
await openModal()
|
||||
|
||||
const standardPlanRadioInput = within(modal).getByLabelText(
|
||||
'Professional'
|
||||
'Pro'
|
||||
) as HTMLInputElement
|
||||
expect(standardPlanRadioInput.checked).to.be.true
|
||||
})
|
||||
|
||||
@@ -226,7 +226,7 @@ export const groupPlans: GroupPlans = {
|
||||
code: 'collaborator',
|
||||
},
|
||||
{
|
||||
display: 'Professional',
|
||||
display: 'Pro',
|
||||
code: 'professional',
|
||||
},
|
||||
],
|
||||
|
||||
@@ -540,7 +540,7 @@ export const groupActiveSubscription: GroupSubscription = {
|
||||
planCode: 'group_collaborator_10_enterprise',
|
||||
plan: {
|
||||
planCode: 'group_collaborator_10_enterprise',
|
||||
name: 'Overleaf Standard - Group Account (10 licenses) - Enterprise',
|
||||
name: 'Standard group (10 licenses)',
|
||||
hideFromUsers: true,
|
||||
price_in_cents: 129000,
|
||||
annual: true,
|
||||
@@ -588,7 +588,7 @@ export const groupProfessionalActiveSubscription: GroupSubscription = {
|
||||
planCode: 'group_professional_2_enterprise',
|
||||
plan: {
|
||||
planCode: 'group_professional_2_enterprise',
|
||||
name: 'Group Professional Plan (2 licenses)',
|
||||
name: 'Pro group (2 licenses)',
|
||||
hideFromUsers: true,
|
||||
price_in_cents: 129000,
|
||||
annual: true,
|
||||
@@ -637,7 +637,7 @@ export const groupActiveSubscriptionWithPendingLicenseChange: GroupSubscription
|
||||
planCode: 'group_collaborator_10_enterprise',
|
||||
plan: {
|
||||
planCode: 'group_collaborator_10_enterprise',
|
||||
name: 'Overleaf Standard - Group Account (10 licenses) - Enterprise',
|
||||
name: 'Standard group (10 licenses)',
|
||||
hideFromUsers: true,
|
||||
price_in_cents: 129000,
|
||||
annual: true,
|
||||
@@ -674,7 +674,7 @@ export const groupActiveSubscriptionWithPendingLicenseChange: GroupSubscription
|
||||
},
|
||||
pendingPlan: {
|
||||
planCode: 'group_collaborator_10_enterprise',
|
||||
name: 'Overleaf Standard - Group Account (10 licenses) - Enterprise',
|
||||
name: 'Standard group (10 licenses)',
|
||||
hideFromUsers: true,
|
||||
price_in_cents: 129000,
|
||||
annual: true,
|
||||
|
||||
@@ -762,7 +762,7 @@ describe('PaymentProviderEntities', function () {
|
||||
new PaymentProviderSubscriptionChange({
|
||||
subscription: ctx.subscription,
|
||||
nextPlanCode: 'group_professional_10_educational',
|
||||
nextPlanName: 'Group Professional Educational',
|
||||
nextPlanName: 'Pro group with edu discount',
|
||||
nextPlanPrice: 100,
|
||||
nextAddOns: [additionalLicenseAddOn],
|
||||
})
|
||||
@@ -805,7 +805,7 @@ describe('PaymentProviderEntities', function () {
|
||||
new PaymentProviderSubscriptionChange({
|
||||
subscription: ctx.subscription,
|
||||
nextPlanCode: 'group_professional_10_educational',
|
||||
nextPlanName: 'Group Professional Educational',
|
||||
nextPlanName: 'Pro group with edu discount',
|
||||
nextPlanPrice: 100,
|
||||
nextAddOns: [aiAddOn, additionalLicenseAddOn],
|
||||
})
|
||||
|
||||
@@ -77,7 +77,7 @@ describe('SubscriptionController', function () {
|
||||
},
|
||||
immediateCharge: { amount: 0 },
|
||||
nextPlanCode: 'professional',
|
||||
nextPlanName: 'Professional',
|
||||
nextPlanName: 'Pro',
|
||||
nextPlanPrice: 2000,
|
||||
nextAddOns: [],
|
||||
subtotal: 2000,
|
||||
|
||||
@@ -1002,7 +1002,7 @@ describe('SubscriptionViewModelBuilder', function () {
|
||||
{
|
||||
subscription: ctx.paymentRecord,
|
||||
nextPlanCode: ctx.groupPlanCode,
|
||||
nextPlanName: 'Group Collaborator (Annual) 4 licenses',
|
||||
nextPlanName: 'Standard group',
|
||||
nextPlanPrice: 1400,
|
||||
nextAddOns: [
|
||||
new PaymentProviderSubscriptionAddOn({
|
||||
|
||||
Reference in New Issue
Block a user