Simple monitor for displaying MIDI status for digital pianos.
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 
 

37 rader
1.3 KiB

  1. import './assets/main.css'
  2. import React from 'react'
  3. import ReactDOM from 'react-dom/client'
  4. import IndexPage from './pages'
  5. import SettingsPage from './pages/settings'
  6. import { defaultConfig } from '../../common/config'
  7. const search = new URLSearchParams(window.location.search)
  8. const scaleFactorRaw = search.get('scaleFactor') || defaultConfig.scaleFactor
  9. const scaleFactorTryNumber = Number(scaleFactorRaw)
  10. const scaleFactor = Number.isFinite(scaleFactorTryNumber) ? scaleFactorTryNumber : 1
  11. window.document.documentElement.style.setProperty('--size-scale-factor', scaleFactor.toString())
  12. const naturalKeyColor = search.get('naturalKeyColor') || defaultConfig.naturalKeyColor
  13. window.document.documentElement.style.setProperty('--color-natural-key', naturalKeyColor)
  14. const accidentalKeyColor = search.get('accidentalKeyColor') || defaultConfig.accidentalKeyColor
  15. window.document.documentElement.style.setProperty('--color-accidental-key', accidentalKeyColor)
  16. window.document.documentElement.style.setProperty('--color-channel-0', search.get('highlightColor'))
  17. const windows = {
  18. main: IndexPage,
  19. settings: SettingsPage
  20. }
  21. const currentWindowKey = search.get('window') ?? 'main'
  22. const Page = windows[currentWindowKey]
  23. ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
  24. <React.StrictMode>
  25. <Page params={search} />
  26. </React.StrictMode>
  27. )