2020-03-23 15:35:58 +01:00
/ *
* MIT License
*
* Copyright ( c ) 2020 - present Cloudogu GmbH and Contributors
*
* Permission is hereby granted , free of charge , to any person obtaining a copy
* of this software and associated documentation files ( the "Software" ) , to deal
* in the Software without restriction , including without limitation the rights
* to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
* copies of the Software , and to permit persons to whom the Software is
* furnished to do so , subject to the following conditions :
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software .
*
* THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
* LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE .
* /
2019-10-20 18:02:52 +02:00
import React from "react" ;
import ReactDOM from "react-dom" ;
import Index from "./containers/Index" ;
2019-10-19 16:38:07 +02:00
2019-10-20 18:02:52 +02:00
import { I18nextProvider } from "react-i18next" ;
import i18n from "./i18n" ;
2019-10-19 16:38:07 +02:00
2019-10-20 18:02:52 +02:00
import { BrowserRouter as Router } from "react-router-dom" ;
2019-10-19 16:38:07 +02:00
2022-10-21 08:47:42 +02:00
import { ActiveModalCountContextProvider , urls } from "@scm-manager/ui-components" ;
2022-03-29 15:04:14 +02:00
import { binder , extensionPoints } from "@scm-manager/ui-extensions" ;
2020-07-01 10:43:17 +02:00
import ChangesetShortLink from "./repos/components/changesets/ChangesetShortLink" ;
2021-02-24 08:17:40 +01:00
import "./tokenExpired" ;
2023-10-25 18:14:50 +02:00
import { ApiProvider , LocalStorageProvider } from "@scm-manager/ui-api" ;
import { ShortcutDocsContextProvider } from "@scm-manager/ui-shortcuts" ; // Makes sure that the global `define` function is registered and all provided modules are included in the final bundle at all times
2023-10-13 08:15:27 +02:00
import "./_modules/provided-modules" ;
2022-03-29 15:04:14 +02:00
binder . bind < extensionPoints.ChangesetDescriptionTokens > ( "changeset.description.tokens" , ChangesetShortLink ) ;
2019-10-19 16:38:07 +02:00
2019-10-20 18:02:52 +02:00
const root = document . getElementById ( "root" ) ;
2019-10-19 16:38:07 +02:00
if ( ! root ) {
2019-10-20 18:02:52 +02:00
throw new Error ( "could not find root element" ) ;
2019-10-19 16:38:07 +02:00
}
ReactDOM . render (
2022-02-18 14:47:37 +01:00
< ApiProvider >
< I18nextProvider i18n = { i18n } >
2023-10-25 18:14:50 +02:00
< LocalStorageProvider >
< ShortcutDocsContextProvider >
< ActiveModalCountContextProvider >
< Router basename = { urls . contextPath } >
< Index / >
< / Router >
< / ActiveModalCountContextProvider >
< / ShortcutDocsContextProvider >
< / LocalStorageProvider >
2022-02-18 14:47:37 +01:00
< / I18nextProvider >
< / ApiProvider > ,
2019-10-20 18:02:52 +02:00
root
2019-10-19 16:38:07 +02:00
) ;