import '@expo/metro-runtime';
import { registerRootComponent } from 'expo';

// Inject minimal global CSS and a small setNativeProps polyfill for web
if (typeof document !== 'undefined') {
  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 {}
    };
  }
}

import App from './App';

registerRootComponent(App);
