overleaf/services/web/frontend/js/features/pdf-preview/components/pdf-orphan-refresh-button.js
Alf Eaton f375362894 Always use mockable location methods (#11929)
* Always use mockable location methods
* Add eslint rules for window.location calls/assignment
* Add useLocation hook
* Update tests

GitOrigin-RevId: eafb846db89f884a7a9a8570cce7745be605152c
2023-03-17 09:05:21 +00:00

27 lines
716 B
JavaScript

import { Button } from 'react-bootstrap'
import { useTranslation } from 'react-i18next'
import { memo, useCallback } from 'react'
import { buildUrlWithDetachRole } from '../../../shared/utils/url-helper'
import { useLocation } from '../../../shared/hooks/use-location'
function PdfOrphanRefreshButton() {
const { t } = useTranslation()
const location = useLocation()
const redirect = useCallback(() => {
location.assign(buildUrlWithDetachRole(null).toString())
}, [location])
return (
<Button
onClick={redirect}
className="btn-orphan"
bsStyle="primary"
bsSize="small"
>
{t('redirect_to_editor')}
</Button>
)
}
export default memo(PdfOrphanRefreshButton)