preload.html 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <style>
  5. html,
  6. body {
  7. background-color: black;
  8. }
  9. .theia-preload {
  10. position: absolute;
  11. top: 0;
  12. left: 0;
  13. right: 0;
  14. bottom: 0;
  15. /* Above styles copied from https://github.com/eclipse-theia/theia/blob/5aeef6c0c683b4e91713ab736957e6655b486adc/packages/core/src/browser/style/index.css#L147-L151 */
  16. /* Otherwise, there is a flickering when Theia's CSS loads. */
  17. background-image: none;
  18. }
  19. .theia-preload::after {
  20. /* remove default loading animation */
  21. content: none;
  22. }
  23. .spinner-container {
  24. display: flex;
  25. flex-direction: center;
  26. align-self: center;
  27. justify-content: center;
  28. height: 100vh;
  29. width: 100vw;
  30. }
  31. .custom-spinner {
  32. align-self: center;
  33. }
  34. .custom-spinner svg {
  35. width: 16vw;
  36. height: 16vh;
  37. animation-delay: 0;
  38. animation-duration: 2s;
  39. animation-iteration-count: infinite;
  40. animation-name: theia-ide-spinner;
  41. animation-timing-function: ease;
  42. }
  43. @keyframes theia-ide-spinner {
  44. 0% {
  45. filter: invert(49%) sepia(71%) saturate(5980%) hue-rotate(199deg) brightness(103%) contrast(101%);
  46. transform: scale(1.0);
  47. }
  48. 50% {
  49. filter: invert(57%) sepia(52%) saturate(1900%) hue-rotate(160deg) brightness(100%) contrast(102%);
  50. transform: scale(0.8);
  51. }
  52. 100% {
  53. filter: invert(49%) sepia(71%) saturate(5980%) hue-rotate(199deg) brightness(103%) contrast(101%);
  54. transform: scale(1.0);
  55. }
  56. }
  57. </style>
  58. </head>
  59. <body>
  60. <div class='spinner-container'>
  61. <div class='custom-spinner'>
  62. <svg id="spinner" version="1.1" xmlns="http://www.w3.org/2000/svg"
  63. xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" preserveAspectRatio="xMinYMin meet"
  64. viewBox="0, 0, 1150, 540.6">
  65. <g id="Layer_1" fill="#FFFFFF">
  66. <path
  67. d="M880.199,2.8 C1028.1,2.8 1147.9,122.6 1147.9,270.5 C1147.9,418.3 1028.1,538.2 880.2,538.2 L290.1,538.2 C269,538.2 251.9,521.1 251.9,500 C251.9,478.9 269,461.8 290.1,461.8 L427.6,461.8 C448.6,461.8 465.7,444.7 465.7,423.6 C465.7,402.5 448.6,385.4 427.6,385.4 L396.999,385.4 C375.9,385.4 358.8,368.3 358.8,347.2 C358.8,326.1 375.9,309 397,309 L488.703,309 C509.918,308.941 526.373,291.65 526.9,270.8 C526.9,249.7 509.8,232.6 488.7,232.6 L167.8,232.6 C146.7,232.6 129.6,215.5 129.6,194.4 C129.6,173.3 146.7,156.2 167.8,156.2 L404.604,156.2 C425.818,156.141 442.273,138.85 442.8,118 C442.8,96.9 425.7,79.8 404.6,79.8 L351.2,79.8 C330.1,79.8 313,62.7 313,41.6 C313,20.5 330.1,2.4 351.2,2.4 L880.199,2.8 z M837.4,92 L837.4,92 C755.2,92 688.7,158.6 688.7,240.7 L688.7,300.2 C688.7,382.4 755.2,448.9 837.4,448.9 C919.5,448.9 986.1,382.4 986.1,300.2 L986.1,240.7 C986.1,158.6 919.5,92 837.4,92 L837.4,92 z M888.2,232.6 C908,232.6 924.1,248.7 924.1,268.5 L924.1,273.1 C924.1,292.9 908,309 888.2,309 L776.6,309 C756.8,309 740.7,292.9 740.7,273.1 L740.7,268.5 C740.7,248.7 756.8,232.6 776.6,232.6 L888.2,232.6 z" />
  68. <path
  69. d="M170.1,461.8 C190,461.8 206,477.8 206,497.7 L206,502.3 C206,522.1 190,538.2 170.1,538.2 L38,538.2 C18.2,538.2 2.1,522.1 2.1,502.3 L2.1,497.7 C2.1,477.8 18.2,461.8 38,461.8 L170.1,461.8 z" />
  70. <path
  71. d="M231.3,3.4 C251.1,3.4 267.1,19.5 267.1,39.3 L267.1,44 C267.1,63.8 251.1,79.8 231.3,79.8 L83.8,79.8 C64,79.8 47.9,63.8 47.9,44 L47.9,39.3 C47.9,19.5 64,3.4 83.8,3.4 L231.3,3.4 z" />
  72. <path
  73. d="M277.1,309 C296.9,309 313,325.1 313,344.9 L313,349.5 C313,369.3 296.9,385.4 277.1,385.4 L196.1,385.4 C176.3,385.4 160.2,369.3 160.2,349.5 L160.2,344.9 C160.2,325.1 176.3,309 196.1,309 L277.1,309 z" />
  74. </g>
  75. </svg>
  76. </div>
  77. </div>
  78. <script>
  79. if (document.head) {
  80. let link = document.createElement('link');
  81. link.rel = 'icon';
  82. link.href = '/favicon.ico';
  83. document.head.appendChild(link);
  84. }
  85. </script>
  86. </body>
  87. </html>