mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 09:09:36 +02:00
Merge pull request #26440 from overleaf/mj-ide-co-branding-submit
[web] Editor redesign: Add co-branded submit button to toolbar GitOrigin-RevId: 45f7ba93de8b28868d88a4ad913f6543e0f7e0a6
This commit is contained in:
committed by
Copybot
parent
e562e3d1bf
commit
4fd9c6fd18
@@ -74,6 +74,10 @@ function sanitizeBrandVariationDetails(details) {
|
||||
details.submit_button_html,
|
||||
settings.modules.sanitize.options
|
||||
)
|
||||
details.submit_button_html_no_br = sanitizeHtml(
|
||||
details.submit_button_html.replace(/<br\s*\/?>/gi, ' '),
|
||||
settings.modules.sanitize.options
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,10 @@ import EditableLabel from './editable-label'
|
||||
import { DuplicateProject } from './duplicate-project'
|
||||
|
||||
const [publishModalModules] = importOverleafModules('publishModal')
|
||||
const SubmitProjectButton = publishModalModules?.import.NewPublishToolbarButton
|
||||
const SubmitProjectButton = publishModalModules?.import.NewPublishDropdownButton
|
||||
|
||||
export const ToolbarProjectTitle = () => {
|
||||
const { cobranding } = useEditorContext()
|
||||
const { t } = useTranslation()
|
||||
const { permissionsLevel, renameProject } = useEditorContext()
|
||||
const { name } = useProjectContext()
|
||||
@@ -67,7 +68,7 @@ export const ToolbarProjectTitle = () => {
|
||||
/>
|
||||
</DropdownToggle>
|
||||
<DropdownMenu renderOnMount>
|
||||
{shouldDisplaySubmitButton && (
|
||||
{shouldDisplaySubmitButton && !cobranding && (
|
||||
<>
|
||||
<SubmitProjectButton />
|
||||
<DropdownDivider />
|
||||
|
||||
@@ -11,12 +11,19 @@ import { useCallback } from 'react'
|
||||
import * as eventTracking from '../../../../infrastructure/event-tracking'
|
||||
import { ToolbarLogos } from './logos'
|
||||
import { useEditorContext } from '@/shared/context/editor-context'
|
||||
import importOverleafModules from '../../../../../macros/import-overleaf-module.macro'
|
||||
import UpgradeButton from './upgrade-button'
|
||||
import getMeta from '@/utils/meta'
|
||||
|
||||
const [publishModalModules] = importOverleafModules('publishModal')
|
||||
const SubmitProjectButton = publishModalModules?.import.NewPublishToolbarButton
|
||||
|
||||
export const Toolbar = () => {
|
||||
const { view, setView } = useLayoutContext()
|
||||
const { cobranding } = useEditorContext()
|
||||
const { cobranding, permissionsLevel } = useEditorContext()
|
||||
const shouldDisplaySubmitButton =
|
||||
(permissionsLevel === 'owner' || permissionsLevel === 'readAndWrite') &&
|
||||
SubmitProjectButton
|
||||
|
||||
const handleBackToEditorClick = useCallback(() => {
|
||||
eventTracking.sendMB('navigation-clicked-history', { action: 'close' })
|
||||
@@ -47,6 +54,9 @@ export const Toolbar = () => {
|
||||
<OnlineUsers />
|
||||
<ShowHistoryButton />
|
||||
<ChangeLayoutButton />
|
||||
{shouldDisplaySubmitButton && cobranding && (
|
||||
<SubmitProjectButton cobranding={cobranding} />
|
||||
)}
|
||||
<ShareProjectButton />
|
||||
{getMeta('ol-showUpgradePrompt') && <UpgradeButton />}
|
||||
</div>
|
||||
|
||||
@@ -72,6 +72,7 @@ export const EditorProvider: FC<React.PropsWithChildren> = ({ children }) => {
|
||||
partner: brandVariation.partner,
|
||||
brandedMenu: brandVariation.branded_menu,
|
||||
submitBtnHtml: brandVariation.submit_button_html,
|
||||
submitBtnHtmlNoBreaks: brandVariation.submit_button_html_no_br,
|
||||
}
|
||||
)
|
||||
}, [])
|
||||
|
||||
@@ -118,5 +118,21 @@ describe('BrandVariationsHandler', function () {
|
||||
'<br /><strong style="color:#B39500">AGU Journal</strong>hello'
|
||||
)
|
||||
})
|
||||
|
||||
it("should sanitize and remove breaks in 'submit_button_html_no_br'", async function () {
|
||||
this.mockedBrandVariationDetails.submit_button_html =
|
||||
'Submit to<br class="break"/><strong style="color:#B39500">AGU Journal</strong><iframe>hello</iframe>'
|
||||
this.V1Api.request.callsArgWith(
|
||||
1,
|
||||
null,
|
||||
{ statusCode: 200 },
|
||||
this.mockedBrandVariationDetails
|
||||
)
|
||||
const brandVariationDetails =
|
||||
await this.BrandVariationsHandler.promises.getBrandVariationById('12')
|
||||
expect(brandVariationDetails.submit_button_html_no_br).to.equal(
|
||||
'Submit to <strong style="color:#B39500">AGU Journal</strong>hello'
|
||||
)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -8,4 +8,5 @@ export type Cobranding = {
|
||||
partner?: string
|
||||
brandedMenu?: boolean
|
||||
submitBtnHtml?: string
|
||||
submitBtnHtmlNoBreaks?: string
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user