You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.0 KiB

  1. const perf = require('./performance');
  2. // allow override variables here
  3. require.context('../../assets/stylesheets/', false, /variables.*\.scss$/);
  4. // import default stylesheet with variables
  5. require('font-awesome/css/font-awesome.css');
  6. require('../styles/application.scss');
  7. function onDomContentLoaded(callback) {
  8. if (document.readyState !== 'loading') {
  9. callback();
  10. } else {
  11. document.addEventListener('DOMContentLoaded', callback);
  12. }
  13. }
  14. function main() {
  15. perf.start('main()');
  16. const Mastodon = require('mastodon/containers/mastodon').default;
  17. const React = require('react');
  18. const ReactDOM = require('react-dom');
  19. require.context('../images/', true);
  20. // import customization styles
  21. require.context('../../assets/stylesheets/', false, /custom.*\.scss$/);
  22. onDomContentLoaded(() => {
  23. const mountNode = document.getElementById('mastodon');
  24. const props = JSON.parse(mountNode.getAttribute('data-props'));
  25. ReactDOM.render(<Mastodon {...props} />, mountNode);
  26. perf.stop('main()');
  27. });
  28. }
  29. export default main;