Files
Verso/services/web/frontend/js/features/pdf-preview/components/synctex-toasts.tsx
T
Rebeka DekanyandCopybot d751b88e6b Bootstrap files and folders cleanup (#27692)
* Remove icons folder

* Create folders for badge, button, and dropdown components

* Remove Bootstrap 5 from test

* Rename `getBootstrap5Breakpoint` to `getBootstrapBreakpoint`

* Cleanup and update BS 5 comments

* Move components to the shared folder

* Rename `tooltips-bs5` to `tooltip`

* Remove `-bs5` suffix

* Fix path

* Delete BS3 version file

* Rename `_form_marketing-bootstrap-5` to `_form_marketing`

* Delete BS3 version file

* Rename `_contact_general_modal-marketing-bootstrap-5` to `_contact_general_modal-marketing`

* Delete BS3 version file

* Rename `_contact_modal-marketing-bootstrap-5` to `_contact_modal-marketing`

* Delete BS3 version file

* Rename `thin-footer-bootstrap-5` to `thin-footer`

* Delete BS3 version file

* Rename `language-picker-bootstrap-5` to `language-picker`

* Rename `fat-footer-react-bootstrap-5` to `fat-footer-react`

* Delete BS3 version file

* Rename `navbar-marketing-bootstrap-5` to `navbar-marketing`

* Rename `navbar-marketing-react-bootstrap-5` to `navbar-marketing-react`

* Delete BS3 version file

* Rename `layout-website-redesign-cms-bootstrap-5` to `layout-website-redesign-cms`

* Source format

* Fix path

GitOrigin-RevId: cf0f5db7c84cf545c69213dcc271d9ff17fe5db7
2025-08-11 08:06:16 +00:00

74 lines
1.6 KiB
TypeScript

import { GlobalToastGeneratorEntry } from '@/features/ide-react/components/global-toasts'
import { useTranslation } from 'react-i18next'
import OLButton from '@/shared/components/ol/ol-button'
export const SynctexFileErrorToast = () => {
const { t } = useTranslation()
return (
<div className="synctex-error-toast-content">
<span>{t('synctex_failed')}</span>
<OLButton
href="/learn/how-to/SyncTeX_Errors"
target="_blank"
variant="secondary"
size="sm"
>
{t('more_info')}
</OLButton>
</div>
)
}
export const SynctexRequestErrorToast = () => {
const { t } = useTranslation()
return <span>{t('synctex_error_recompile_and_try_again')}</span>
}
const generators: GlobalToastGeneratorEntry[] = [
{
key: 'synctex:file-error',
generator: () => ({
content: <SynctexFileErrorToast />,
type: 'warning',
autoHide: true,
delay: 4000,
isDismissible: true,
}),
},
{
key: 'synctex:request-error',
generator: () => ({
content: <SynctexRequestErrorToast />,
type: 'warning',
autoHide: true,
delay: 4000,
isDismissible: true,
}),
},
]
export default generators
export const showFileErrorToast = () => {
window.dispatchEvent(
new CustomEvent('ide:show-toast', {
detail: {
key: 'synctex:file-error',
},
})
)
}
export const showSynctexRequestErrorToast = () => {
window.dispatchEvent(
new CustomEvent('ide:show-toast', {
detail: {
key: 'synctex:request-error',
},
})
)
}