* Fix `{splitTest.requiredCohortSize && (...)}` can display `0`
* Get `paywall-cta` assignment in ProjectController.js
* CTA change: "Get Dropbox Sync"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578763286026
* CTA change: "Get GitHub Sync"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578763286736
* CTA change: "Get Git integration"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578763286283
* CTA change: "Add more collaborators"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578763884855
* CTA change: "Get track changes"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764030761
* Update wording and position: "Already subscribed? Try refreshing the page."
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764366969
* Casing update: "Upgrade to track changes"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764209961
* CTA changes: "Get Mendeley integration" + "Get Zotero integration"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764547424
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764547269
* CTA change: "Get full project history"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764762005
* Casing update: "full project history"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764762280
* CTA change: "Get more compile time" in timeout-upgrade-prompt-new.tsx
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764762563
* CTA change: "Get more compile time" in compile-timeout-warning.tsx
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764762726
* CTA change: "Get advanced reference search"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764969087
* Update casing and wording: "advanced reference search"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764969412
* CTA change: "Get Symbol Palette"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578765128906
* Update title: "Subscribe to find the symbols you need faster"
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578765289664
* Revert use of `satisfies`: it doesn't work with our version of prettier (https://github.com/prettier/prettier/issues/13516)
* CTA change: "Get more compile time" in compile-timeout-changing-soon.tsx
⚠️ not in miro
* Rename `paywallCtaAssignment`, remove useless export and comment
Addressing Fahru's review
* Add alternative texts in `/registration/try-premium` page
* CTA change: "Get more compile time" in timeout-upgrade-prompt.jsx
https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578764762563
* CTA change: "Get GitHub Sync" in import-project-from-github-modal-content.tsx
Not in Miro, but related to: https://miro.com/app/board/uXjVMFLu5J8=/?openComment=3458764578763286736
* CTA change: "Get more compile time" in compile-time-warning.tsx
Not in Miro, but related to others
* Fix compile-time-warning style (spacings, overflows out of window)
* `npm run format:fix`
GitOrigin-RevId: 0d8d1808b5901c2761d35494c49713d26721bcfd
123 lines
3.7 KiB
TypeScript
123 lines
3.7 KiB
TypeScript
import Notification from '@/shared/components/notification'
|
|
import StartFreeTrialButton from '@/shared/components/start-free-trial-button'
|
|
import { Trans, useTranslation } from 'react-i18next'
|
|
import * as eventTracking from '@/infrastructure/event-tracking'
|
|
import { FC } from 'react'
|
|
import { useSplitTestContext } from '@/shared/context/split-test-context'
|
|
|
|
const sendInfoClickEvent = () => {
|
|
eventTracking.sendMB('paywall-info-click', {
|
|
'paywall-type': 'compile-time-warning',
|
|
content: 'blog',
|
|
})
|
|
}
|
|
|
|
export const CompileTimeoutChangingSoon: FC<{
|
|
isProjectOwner?: boolean
|
|
handleDismissChangingSoon: () => void
|
|
}> = ({ isProjectOwner = false, handleDismissChangingSoon }) => {
|
|
const { t } = useTranslation()
|
|
|
|
const { splitTestVariants } = useSplitTestContext()
|
|
const hasNewPaywallCta = splitTestVariants['paywall-cta'] === 'enabled'
|
|
|
|
const compileTimeoutChangesBlogLink = (
|
|
/* eslint-disable-next-line jsx-a11y/anchor-has-content */
|
|
<a
|
|
aria-label={t('read_more_about_free_compile_timeouts_servers')}
|
|
href="/blog/changes-to-free-compile-timeouts-and-servers"
|
|
key="compileTimeoutBlogLink1"
|
|
rel="noopener noreferrer"
|
|
target="_blank"
|
|
onClick={sendInfoClickEvent}
|
|
/>
|
|
)
|
|
|
|
const fixingCompileTimeoutsLearnLink = (
|
|
/* eslint-disable-next-line jsx-a11y/anchor-has-content */
|
|
<a
|
|
aria-label={t('read_more_about_fix_prevent_timeout')}
|
|
href="/learn/how-to/Fixing_and_preventing_compile_timeouts"
|
|
key="compileTimeoutBlogLink2"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
/>
|
|
)
|
|
|
|
if (isProjectOwner) {
|
|
return (
|
|
<Notification
|
|
action={
|
|
<StartFreeTrialButton
|
|
variant="new-changing"
|
|
source="compile-time-warning"
|
|
buttonProps={{
|
|
className: 'btn-secondary-compile-timeout-override',
|
|
}}
|
|
>
|
|
{hasNewPaywallCta
|
|
? t('get_more_compile_time')
|
|
: t('start_free_trial_without_exclamation')}
|
|
</StartFreeTrialButton>
|
|
}
|
|
ariaLive="polite"
|
|
content={
|
|
<div>
|
|
<p>
|
|
<Trans
|
|
i18nKey="compiles_on_our_free_plan_are_now_on_faster_servers"
|
|
components={[compileTimeoutChangesBlogLink]}
|
|
/>
|
|
</p>
|
|
<p className="row-spaced">
|
|
<Trans
|
|
i18nKey="you_may_be_able_to_fix_issues_to_speed_up_the_compile"
|
|
components={[fixingCompileTimeoutsLearnLink]}
|
|
/>{' '}
|
|
<Trans
|
|
i18nKey="and_you_can_upgrade_for_plenty_more_compile_time"
|
|
components={{ strong: <strong /> }}
|
|
/>
|
|
</p>
|
|
</div>
|
|
}
|
|
title={t('your_project_compiled_but_soon_might_not')}
|
|
type="warning"
|
|
isActionBelowContent
|
|
isDismissible
|
|
onDismiss={handleDismissChangingSoon}
|
|
/>
|
|
)
|
|
}
|
|
|
|
return (
|
|
<Notification
|
|
ariaLive="polite"
|
|
content={
|
|
<div>
|
|
<p>
|
|
<Trans
|
|
i18nKey="compiles_on_our_free_plan_are_now_on_faster_servers"
|
|
components={[compileTimeoutChangesBlogLink]}
|
|
/>{' '}
|
|
<Trans
|
|
i18nKey="you_may_be_able_to_fix_issues_to_speed_up_the_compile"
|
|
components={[fixingCompileTimeoutsLearnLink]}
|
|
/>
|
|
</p>
|
|
<p className="row-spaced">
|
|
<Trans
|
|
i18nKey="tell_the_project_owner_to_upgrade_plan_for_more_compile_time"
|
|
components={{ strong: <strong /> }}
|
|
/>
|
|
</p>
|
|
</div>
|
|
}
|
|
title={t('this_project_compiled_but_soon_might_not')}
|
|
type="warning"
|
|
isDismissible
|
|
onDismiss={handleDismissChangingSoon}
|
|
/>
|
|
)
|
|
}
|