index.ejs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  5. <meta name="robots" content="NONE,NOARCHIVE" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <meta name="theme-color" content="#000000">
  8. <title><%= htmlWebpackPlugin.options.title || 'Sentry Dev'%></title>
  9. <script type="text/javascript">
  10. try {
  11. var reg = new RegExp(/\/organizations\/(.+?(?=(\/|$)))(\/|$)/, 'i');
  12. var organization = window.location.pathname;
  13. var slug = organization.match(reg)[1];
  14. var preloadPromises = { orgSlug: slug };
  15. function promiseRequest(url) {
  16. return new Promise(function (resolve, reject) {
  17. var xhr = new XMLHttpRequest();
  18. xhr.open('GET', url);
  19. xhr.onload = function () {
  20. try {
  21. this.status >= 200 && this.status < 300
  22. ? resolve(JSON.parse(xhr.response))
  23. : reject([this.status, this.statusText]);
  24. } catch(e) {
  25. reject();
  26. }
  27. };
  28. xhr.onerror = function () {
  29. reject([this.status, this.statusText]);
  30. };
  31. xhr.send();
  32. });
  33. }
  34. function makeUrl(suffix) {
  35. return '/api/0/organizations/' + slug + suffix;
  36. }
  37. window.__sentry_preload = preloadPromises;
  38. if (slug !== 'new') {
  39. preloadPromises['organization?detailed=0'] = promiseRequest(makeUrl('/?detailed=0'));
  40. preloadPromises.projects = promiseRequest(makeUrl('/projects/?all_projects=1&collapse=latestDeploys'));
  41. preloadPromises.teams = promiseRequest(makeUrl('/teams/'));
  42. }
  43. } catch(_) {}
  44. </script>
  45. </head>
  46. <body>
  47. <% if (htmlWebpackPlugin.options.unsupportedBrowser) { %>
  48. <style>.unsupported-browser { display: none; }</style>
  49. <div class="unsupported-browser">
  50. Sorry, your browser is not supported. Please upgrade to
  51. the latest version or switch your browser to use this site.
  52. See <a href="http://outdatedbrowser.com/">outdatedbrowser.com</a>
  53. for options.
  54. </div>
  55. <% } %>
  56. <div id="blk_router">
  57. <div class="loading triangle">
  58. <div class="loading-mask"></div>
  59. <div class="loading-indicator">
  60. <img src="<%=require('sentry-images/sentry-loader.svg')%>" />
  61. </div>
  62. <div class="loading-message">
  63. <p>Please wait while we load an obnoxious amount of JavaScript.</p>
  64. <p>
  65. <small>You may need to disable adblocking extensions to load Sentry.</small>
  66. </p>
  67. </div>
  68. </div>
  69. </div>
  70. <% if (htmlWebpackPlugin.options.window) { %>
  71. <script>
  72. <% for (var varName in htmlWebpackPlugin.options.window) { %>
  73. window['<%=varName%>'] = <%= JSON.stringify(htmlWebpackPlugin.options.window[varName]) %>;
  74. <% } %>
  75. </script>
  76. <% } %>
  77. </body>
  78. </html>