All files / src/apps/gbs-music-web MusicWebRoot.tsx

0% Statements 0/29
100% Branches 0/0
0% Functions 0/2
0% Lines 0/29

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46                                                                                           
import React from "react";
import { createRoot } from "react-dom/client";
import { Provider } from "react-redux";
import AppContainerDnD from "components/app/AppContainerDnD";
import { installWebRendererApi } from "gbs-music-web/lib/api";
import { createMusicEditorStore } from "gbs-music-web/store/configureStore";
import ThemeProvider from "ui/theme/ThemeProvider";
import GlobalStyle from "ui/globalStyle";
import initRendererL10N from "renderer/lib/lang/initRendererL10N";
import { initKeyBindings } from "renderer/lib/keybindings/keyBindings";
import API from "renderer/lib/api";
import { MusicWebApp } from "gbs-music-web/components/MusicWebApp";
import { initTheme } from "renderer/lib/theme";
import { initMusicPlaybackListener } from "renderer/lib/music/initMusicPlaybackListener";
import { initMusicMidiProjectBridge } from "components/music/midi/MusicMidiProjectBridge";
import trackerActions from "store/features/tracker/trackerActions";
 
const store = createMusicEditorStore();
installWebRendererApi(store);
initMusicMidiProjectBridge(store);
initMusicPlaybackListener(store.dispatch);
API.events.settings.trackerKeyBindingsChanged.subscribe(() => {
  void initKeyBindings();
});
initKeyBindings();
store.dispatch(trackerActions.initViewFromSaved());
 
(async () => {
  await initRendererL10N();
  await initTheme();
 
  const root = createRoot(document.getElementById("App") as HTMLElement);
  root.render(
    <React.StrictMode>
      <Provider store={store}>
        <ThemeProvider>
          <GlobalStyle />
          <AppContainerDnD>
            <MusicWebApp />
          </AppContainerDnD>
        </ThemeProvider>
      </Provider>
    </React.StrictMode>,
  );
})();