* Update index to make it clear what has hasn't updated to Next/React yet * Typescriptify events and experiments * Typescript the old JS for easier integration * Update release-notes.ts * Lint * Run npm i * Fix a few lint issues * Update airgap-links.ts * Update airgap-links.ts * Update set-next-env to ts * Update airgap-links.ts * Update package-lock.json * Update set-next-env.ts * Update package-lock.json * Revert "Update package-lock.json" This reverts commit b45e8250beeb700719d3b44e1092b0bbd093baba. * readd fsevents * Revert "readd fsevents" This reverts commit 419f3c35080ac4a9072f0b4e8e291e1712ce3639. * Update openapi-schema-check.yml * Revert "Update openapi-schema-check.yml" This reverts commit 5e9f4a29ea11ee343ca17291a40a751920c5b923. * Update package-lock.json * Update package-lock.json
18 lines
613 B
TypeScript
18 lines
613 B
TypeScript
export default function airgapLinks() {
|
|
// @ts-ignore
|
|
if (window.IS_NEXTJS_PAGE) return
|
|
|
|
// When in an airgapped environment,
|
|
// show a tooltip on external links
|
|
const exposeEl = document?.getElementById('expose') as HTMLScriptElement
|
|
const { airgap } = JSON.parse(exposeEl.text)
|
|
if (!airgap) return
|
|
|
|
const externaLinks = Array.from(document.querySelectorAll('a[href^="http"], a[href^="//"]'))
|
|
externaLinks.forEach((link) => {
|
|
link.classList.add('tooltipped')
|
|
link.setAttribute('aria-label', 'This link may not work in this environment.')
|
|
link.setAttribute('rel', 'noopener')
|
|
})
|
|
}
|