52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
import '@expo/metro-runtime'
|
|
import { registerRootComponent } from 'expo'
|
|
|
|
import App from './App'
|
|
|
|
// Inject minimal global CSS and a small setNativeProps polyfill for web
|
|
if (typeof document !== 'undefined') {
|
|
document.documentElement?.setAttribute('translate', 'no')
|
|
document.body?.setAttribute('translate', 'no')
|
|
|
|
const style = document.createElement('style')
|
|
style.setAttribute('data-inline-global', 'true')
|
|
style.innerHTML = `
|
|
html, body, #root { height: 100%; }
|
|
body { margin: 0; }
|
|
*:focus { outline: none; }
|
|
* { scrollbar-width: none; -ms-overflow-style: none; }
|
|
*::-webkit-scrollbar { display: none; }
|
|
`
|
|
document.head.appendChild(style)
|
|
|
|
const proto = window.HTMLElement && window.HTMLElement.prototype
|
|
if (proto && typeof proto.setNativeProps !== 'function') {
|
|
proto.setNativeProps = function (nativeProps = {}) {
|
|
try {
|
|
const { style: s, pointerEvents, ...rest } = nativeProps || {}
|
|
if (pointerEvents != null) {
|
|
this.style.pointerEvents = pointerEvents
|
|
}
|
|
if (s && typeof s === 'object') {
|
|
for (const k in s) {
|
|
if (Object.prototype.hasOwnProperty.call(s, k)) {
|
|
try {
|
|
this.style[k] = s[k]
|
|
} catch {}
|
|
}
|
|
}
|
|
}
|
|
for (const k in rest) {
|
|
if (Object.prototype.hasOwnProperty.call(rest, k)) {
|
|
try {
|
|
this.style[k] = rest[k]
|
|
} catch {}
|
|
}
|
|
}
|
|
} catch {}
|
|
}
|
|
}
|
|
}
|
|
|
|
registerRootComponent(App)
|