@n1k1t/mock-server 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +1123 -43
  2. package/lib/package.json +1 -1
  3. package/lib/src/client/utils.d.ts.map +1 -1
  4. package/lib/src/client/utils.js +3 -0
  5. package/lib/src/client/utils.js.map +1 -1
  6. package/lib/src/config/model.d.ts +1 -0
  7. package/lib/src/config/model.d.ts.map +1 -1
  8. package/lib/src/config/model.js +1 -0
  9. package/lib/src/config/model.js.map +1 -1
  10. package/lib/src/expectations/models/expectation.d.ts +1 -1
  11. package/lib/src/expectations/models/expectation.d.ts.map +1 -1
  12. package/lib/src/expectations/models/expectation.js +1 -1
  13. package/lib/src/expectations/models/expectation.js.map +1 -1
  14. package/lib/src/expectations/operators/merge.operator.d.ts +10 -3
  15. package/lib/src/expectations/operators/merge.operator.d.ts.map +1 -1
  16. package/lib/src/expectations/operators/merge.operator.js +21 -4
  17. package/lib/src/expectations/operators/merge.operator.js.map +1 -1
  18. package/lib/src/expectations/types.d.ts +0 -1
  19. package/lib/src/expectations/types.d.ts.map +1 -1
  20. package/lib/src/expectations/types.js.map +1 -1
  21. package/lib/src/logger/index.d.ts +2 -2
  22. package/lib/src/logger/index.d.ts.map +1 -1
  23. package/lib/src/logger/index.js +1 -1
  24. package/lib/src/logger/index.js.map +1 -1
  25. package/lib/src/server/endpoints/config.get.endpoint.d.ts +3 -0
  26. package/lib/src/server/endpoints/config.get.endpoint.d.ts.map +1 -1
  27. package/lib/src/server/index.d.ts +1 -0
  28. package/lib/src/server/index.d.ts.map +1 -1
  29. package/lib/src/server/index.js +4 -1
  30. package/lib/src/server/index.js.map +1 -1
  31. package/lib/tsconfig.tsbuildinfo +1 -1
  32. package/package.json +1 -1
  33. package/public/scripts/main.js +75 -29
  34. package/public/styles/main.css +67 -0
  35. package/screenshots/history.png +0 -0
  36. package/screenshots/preview.png +0 -0
  37. package/screenshots/strategy.png +0 -0
@@ -19814,6 +19814,25 @@ exports.hasBinary = hasBinary;
19814
19814
 
19815
19815
  },{}],229:[function(require,module,exports){
19816
19816
  "use strict";
19817
+ Object.defineProperty(exports, "__esModule", { value: true });
19818
+ exports.CurtainComponent = void 0;
19819
+ const models_1 = require("../models");
19820
+ class CurtainComponent extends models_1.Component {
19821
+ constructor(options = {}) {
19822
+ super('<div class="curtain hidden"></div>');
19823
+ this.options = options;
19824
+ if (!options.isPreventedToManualClose) {
19825
+ this.element.addEventListener('click', (event) => event.target === this.element ? this.hide() : null);
19826
+ }
19827
+ }
19828
+ static build(options) {
19829
+ return new CurtainComponent(options);
19830
+ }
19831
+ }
19832
+ exports.CurtainComponent = CurtainComponent;
19833
+
19834
+ },{"../models":254}],230:[function(require,module,exports){
19835
+ "use strict";
19817
19836
  var __importDefault = (this && this.__importDefault) || function (mod) {
19818
19837
  return (mod && mod.__esModule) ? mod : { "default": mod };
19819
19838
  };
@@ -19830,7 +19849,7 @@ class EmptyComponent extends models_1.Component {
19830
19849
  }
19831
19850
  exports.EmptyComponent = EmptyComponent;
19832
19851
 
19833
- },{"../../models":252,"./template.hbs":230,"handlebars":60}],230:[function(require,module,exports){
19852
+ },{"../../models":254,"./template.hbs":231,"handlebars":60}],231:[function(require,module,exports){
19834
19853
  module.exports = `
19835
19854
  <div class="empty">
19836
19855
  <i class="fas fa-hourglass-start"></i>
@@ -19838,7 +19857,7 @@ module.exports = `
19838
19857
  </div>
19839
19858
  `
19840
19859
 
19841
- },{}],231:[function(require,module,exports){
19860
+ },{}],232:[function(require,module,exports){
19842
19861
  "use strict";
19843
19862
  var __importDefault = (this && this.__importDefault) || function (mod) {
19844
19863
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -19874,7 +19893,7 @@ class ExpectationComponent extends models_1.Component {
19874
19893
  }
19875
19894
  exports.ExpectationComponent = ExpectationComponent;
19876
19895
 
19877
- },{"../../../../../../json-formatter":1,"../../context":241,"../../models":252,"./template.hbs":232,"handlebars":60,"lodash/pick":212}],232:[function(require,module,exports){
19896
+ },{"../../../../../../json-formatter":1,"../../context":243,"../../models":254,"./template.hbs":233,"handlebars":60,"lodash/pick":212}],233:[function(require,module,exports){
19878
19897
  module.exports = `
19879
19898
  <div class="container expectation" id="{{id}}">
19880
19899
  <div class="meta">{{> expectationMeta this}}</div>
@@ -19882,7 +19901,7 @@ module.exports = `
19882
19901
  </div>
19883
19902
  `
19884
19903
 
19885
- },{}],233:[function(require,module,exports){
19904
+ },{}],234:[function(require,module,exports){
19886
19905
  "use strict";
19887
19906
  var __importDefault = (this && this.__importDefault) || function (mod) {
19888
19907
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -19937,7 +19956,7 @@ class HistoryComponent extends models_1.Component {
19937
19956
  }
19938
19957
  exports.HistoryComponent = HistoryComponent;
19939
19958
 
19940
- },{"../../../../../../json-formatter":1,"../../context":241,"../../models":252,"./template.hbs":234,"handlebars":60,"lodash/pick":212}],234:[function(require,module,exports){
19959
+ },{"../../../../../../json-formatter":1,"../../context":243,"../../models":254,"./template.hbs":235,"handlebars":60,"lodash/pick":212}],235:[function(require,module,exports){
19941
19960
  module.exports = `
19942
19961
  <div class="container history" id="{{id}}">
19943
19962
  <div class="meta">
@@ -19980,7 +19999,7 @@ module.exports = `
19980
19999
  </div>
19981
20000
  `
19982
20001
 
19983
- },{}],235:[function(require,module,exports){
20002
+ },{}],236:[function(require,module,exports){
19984
20003
  "use strict";
19985
20004
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19986
20005
  if (k2 === undefined) k2 = k;
@@ -19999,10 +20018,28 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19999
20018
  Object.defineProperty(exports, "__esModule", { value: true });
20000
20019
  __exportStar(require("./expectation.component"), exports);
20001
20020
  __exportStar(require("./history.component"), exports);
20021
+ __exportStar(require("./curtain.component"), exports);
20022
+ __exportStar(require("./loader.component"), exports);
20002
20023
  __exportStar(require("./popups.component"), exports);
20003
20024
  __exportStar(require("./empty.component"), exports);
20004
20025
 
20005
- },{"./empty.component":229,"./expectation.component":231,"./history.component":233,"./popups.component":236}],236:[function(require,module,exports){
20026
+ },{"./curtain.component":229,"./empty.component":230,"./expectation.component":232,"./history.component":234,"./loader.component":237,"./popups.component":238}],237:[function(require,module,exports){
20027
+ "use strict";
20028
+ Object.defineProperty(exports, "__esModule", { value: true });
20029
+ exports.LoaderComponent = void 0;
20030
+ const curtain_component_1 = require("./curtain.component");
20031
+ class LoaderComponent extends curtain_component_1.CurtainComponent {
20032
+ constructor() {
20033
+ super({ isPreventedToManualClose: true });
20034
+ this.append('<div><p>Ping pong</p><div class="loader"></div></div>').assignId('loader');
20035
+ }
20036
+ static build() {
20037
+ return new LoaderComponent();
20038
+ }
20039
+ }
20040
+ exports.LoaderComponent = LoaderComponent;
20041
+
20042
+ },{"./curtain.component":229}],238:[function(require,module,exports){
20006
20043
  "use strict";
20007
20044
  var __importDefault = (this && this.__importDefault) || function (mod) {
20008
20045
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20029,7 +20066,7 @@ class PopupsComponent extends models_1.Component {
20029
20066
  }
20030
20067
  exports.PopupsComponent = PopupsComponent;
20031
20068
 
20032
- },{"../../models":252,"./template.hbs":237,"handlebars":60}],237:[function(require,module,exports){
20069
+ },{"../../models":254,"./template.hbs":239,"handlebars":60}],239:[function(require,module,exports){
20033
20070
  module.exports = `
20034
20071
  <div class="popup-message {{level}}">
20035
20072
  <i class="{{icon}}"></i>
@@ -20037,7 +20074,7 @@ module.exports = `
20037
20074
  </div>
20038
20075
  `
20039
20076
 
20040
- },{}],238:[function(require,module,exports){
20077
+ },{}],240:[function(require,module,exports){
20041
20078
  "use strict";
20042
20079
  var __importDefault = (this && this.__importDefault) || function (mod) {
20043
20080
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20080,7 +20117,7 @@ const container = models_1.Container
20080
20117
  });
20081
20118
  exports.default = container.append(empty);
20082
20119
 
20083
- },{"../components":235,"../context":241,"../models":252}],239:[function(require,module,exports){
20120
+ },{"../components":236,"../context":243,"../models":254}],241:[function(require,module,exports){
20084
20121
  "use strict";
20085
20122
  var __importDefault = (this && this.__importDefault) || function (mod) {
20086
20123
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20132,7 +20169,7 @@ const container = models_1.Container
20132
20169
  });
20133
20170
  exports.default = container.append(empty);
20134
20171
 
20135
- },{"../components":235,"../context":241,"../models":252}],240:[function(require,module,exports){
20172
+ },{"../components":236,"../context":243,"../models":254}],242:[function(require,module,exports){
20136
20173
  "use strict";
20137
20174
  var __importDefault = (this && this.__importDefault) || function (mod) {
20138
20175
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20144,7 +20181,7 @@ Object.defineProperty(exports, "expectations", { enumerable: true, get: function
20144
20181
  var history_1 = require("./history");
20145
20182
  Object.defineProperty(exports, "history", { enumerable: true, get: function () { return __importDefault(history_1).default; } });
20146
20183
 
20147
- },{"./expectations":238,"./history":239}],241:[function(require,module,exports){
20184
+ },{"./expectations":240,"./history":241}],243:[function(require,module,exports){
20148
20185
  "use strict";
20149
20186
  Object.defineProperty(exports, "__esModule", { value: true });
20150
20187
  const socket_io_client_1 = require("socket.io-client");
@@ -20155,7 +20192,8 @@ class Context {
20155
20192
  constructor() {
20156
20193
  this.config = (0, common_1.cast)({
20157
20194
  gui: {
20158
- route: '_blank',
20195
+ title: 'Mock server',
20196
+ route: 'about:blank',
20159
20197
  },
20160
20198
  history: {
20161
20199
  limit: 100,
@@ -20185,7 +20223,7 @@ class Context {
20185
20223
  }
20186
20224
  exports.default = new Context();
20187
20225
 
20188
- },{"../../utils/common":254,"./models":252,"socket.io-client":221}],242:[function(require,module,exports){
20226
+ },{"../../utils/common":256,"./models":254,"socket.io-client":221}],244:[function(require,module,exports){
20189
20227
  "use strict";
20190
20228
  Object.defineProperty(exports, "__esModule", { value: true });
20191
20229
  exports.toLocaleTime = exports.compare = void 0;
@@ -20207,7 +20245,7 @@ exports.compare = (0, utils_1.buildHandlebarsHelper)((context) => (arg1, operato
20207
20245
  });
20208
20246
  exports.toLocaleTime = (0, utils_1.buildHandlebarsHelper)(() => (timestamp) => new Date(timestamp).toLocaleTimeString());
20209
20247
 
20210
- },{"./utils":246}],243:[function(require,module,exports){
20248
+ },{"./utils":248}],245:[function(require,module,exports){
20211
20249
  "use strict";
20212
20250
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20213
20251
  if (k2 === undefined) k2 = k;
@@ -20246,7 +20284,7 @@ exports.default = {
20246
20284
  },
20247
20285
  };
20248
20286
 
20249
- },{"./helpers":242,"./partials":245,"handlebars":60}],244:[function(require,module,exports){
20287
+ },{"./helpers":244,"./partials":247,"handlebars":60}],246:[function(require,module,exports){
20250
20288
  module.exports = `
20251
20289
  {{#compare format 'neq' 'short'}}
20252
20290
  <button class="activity">
@@ -20286,13 +20324,13 @@ module.exports = `
20286
20324
  {{#if schema.forward.url}}<span class="forward">{{schema.forward.url}}</span>{{/if}}
20287
20325
  `
20288
20326
 
20289
- },{}],245:[function(require,module,exports){
20327
+ },{}],247:[function(require,module,exports){
20290
20328
  "use strict";
20291
20329
  Object.defineProperty(exports, "__esModule", { value: true });
20292
20330
  exports.expectationMeta = void 0;
20293
20331
  exports.expectationMeta = require('./expectation-meta.hbs');
20294
20332
 
20295
- },{"./expectation-meta.hbs":244}],246:[function(require,module,exports){
20333
+ },{"./expectation-meta.hbs":246}],248:[function(require,module,exports){
20296
20334
  "use strict";
20297
20335
  Object.defineProperty(exports, "__esModule", { value: true });
20298
20336
  exports.buildHandlebarsHelper = void 0;
@@ -20303,7 +20341,7 @@ const buildHandlebarsHelper = (handler) => {
20303
20341
  };
20304
20342
  exports.buildHandlebarsHelper = buildHandlebarsHelper;
20305
20343
 
20306
- },{}],247:[function(require,module,exports){
20344
+ },{}],249:[function(require,module,exports){
20307
20345
  "use strict";
20308
20346
  Object.defineProperty(exports, "__esModule", { value: true });
20309
20347
  exports.Button = void 0;
@@ -20336,7 +20374,7 @@ class Button {
20336
20374
  }
20337
20375
  exports.Button = Button;
20338
20376
 
20339
- },{}],248:[function(require,module,exports){
20377
+ },{}],250:[function(require,module,exports){
20340
20378
  "use strict";
20341
20379
  Object.defineProperty(exports, "__esModule", { value: true });
20342
20380
  exports.Component = void 0;
@@ -20350,6 +20388,10 @@ class Component {
20350
20388
  get isHidden() {
20351
20389
  return this.element.classList.contains('hidden');
20352
20390
  }
20391
+ assignId(id) {
20392
+ this.element.id = id;
20393
+ return this;
20394
+ }
20353
20395
  show() {
20354
20396
  this.element.classList.remove('hidden');
20355
20397
  return this;
@@ -20388,7 +20430,7 @@ class Component {
20388
20430
  }
20389
20431
  exports.Component = Component;
20390
20432
 
20391
- },{}],249:[function(require,module,exports){
20433
+ },{}],251:[function(require,module,exports){
20392
20434
  "use strict";
20393
20435
  var __importDefault = (this && this.__importDefault) || function (mod) {
20394
20436
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20427,7 +20469,7 @@ class Container extends component_1.Component {
20427
20469
  }
20428
20470
  exports.Container = Container;
20429
20471
 
20430
- },{"./component":248,"./dynamic-storage":250,"events":27}],250:[function(require,module,exports){
20472
+ },{"./component":250,"./dynamic-storage":252,"events":27}],252:[function(require,module,exports){
20431
20473
  "use strict";
20432
20474
  var __importDefault = (this && this.__importDefault) || function (mod) {
20433
20475
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20462,7 +20504,7 @@ class DynamicStorage {
20462
20504
  }
20463
20505
  exports.DynamicStorage = DynamicStorage;
20464
20506
 
20465
- },{"../utils":253,"./form":251,"lodash/set":213}],251:[function(require,module,exports){
20507
+ },{"../utils":255,"./form":253,"lodash/set":213}],253:[function(require,module,exports){
20466
20508
  "use strict";
20467
20509
  var __importDefault = (this && this.__importDefault) || function (mod) {
20468
20510
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20518,7 +20560,7 @@ class Form extends component_1.Component {
20518
20560
  }
20519
20561
  exports.Form = Form;
20520
20562
 
20521
- },{"../utils":253,"./component":248,"lodash/set":213}],252:[function(require,module,exports){
20563
+ },{"../utils":255,"./component":250,"lodash/set":213}],254:[function(require,module,exports){
20522
20564
  "use strict";
20523
20565
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20524
20566
  if (k2 === undefined) k2 = k;
@@ -20541,7 +20583,7 @@ __exportStar(require("./container"), exports);
20541
20583
  __exportStar(require("./button"), exports);
20542
20584
  __exportStar(require("./form"), exports);
20543
20585
 
20544
- },{"./button":247,"./component":248,"./container":249,"./dynamic-storage":250,"./form":251}],253:[function(require,module,exports){
20586
+ },{"./button":249,"./component":250,"./container":251,"./dynamic-storage":252,"./form":253}],255:[function(require,module,exports){
20545
20587
  "use strict";
20546
20588
  var __importDefault = (this && this.__importDefault) || function (mod) {
20547
20589
  return (mod && mod.__esModule) ? mod : { "default": mod };
@@ -20560,7 +20602,7 @@ exports.convertObjectToKeyValueCouples = convertObjectToKeyValueCouples;
20560
20602
  const buildCounter = (initial = 0, step = 1) => (value = step) => (initial += value);
20561
20603
  exports.buildCounter = buildCounter;
20562
20604
 
20563
- },{"lodash/isObject":201}],254:[function(require,module,exports){
20605
+ },{"lodash/isObject":201}],256:[function(require,module,exports){
20564
20606
  "use strict";
20565
20607
  Object.defineProperty(exports, "__esModule", { value: true });
20566
20608
  exports.flattenArrayed = exports.cast = exports.wait = void 0;
@@ -20579,7 +20621,7 @@ const flattenArrayed = (payload) => {
20579
20621
  };
20580
20622
  exports.flattenArrayed = flattenArrayed;
20581
20623
 
20582
- },{}],255:[function(require,module,exports){
20624
+ },{}],257:[function(require,module,exports){
20583
20625
  "use strict";
20584
20626
 
20585
20627
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
@@ -20597,6 +20639,7 @@ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyri
20597
20639
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
20598
20640
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
20599
20641
  _handlebars["default"].init();
20642
+ var loader = _components.LoaderComponent.build().show();
20600
20643
  var switchButtonIdToContainerElementMap = {
20601
20644
  'switch-to-expectations-container': containers.expectations.hide(),
20602
20645
  'switch-to-history-container': containers.history.hide()
@@ -20605,6 +20648,7 @@ _context2["default"].switchStorage(containers.expectations.storage).share({
20605
20648
  popups: _components.PopupsComponent.build()
20606
20649
  });
20607
20650
  document.body.append(_context2["default"].shared.popups.element);
20651
+ document.body.append(loader.element);
20608
20652
  document.querySelector('div#container-select').addEventListener('click', function (source) {
20609
20653
  var _event$target, _event$target$parentN;
20610
20654
  var event = source;
@@ -20639,7 +20683,9 @@ _context2["default"].instances.ws.on('connect', /*#__PURE__*/_asyncToGenerator(
20639
20683
  data = _yield$context$servic.data;
20640
20684
  _context2["default"].assignConfig(data);
20641
20685
  containers.expectations.initialize().show();
20642
- case 9:
20686
+ loader.hide();
20687
+ document.title = _context2["default"].config.gui.title;
20688
+ case 11:
20643
20689
  case "end":
20644
20690
  return _context.stop();
20645
20691
  }
@@ -20647,4 +20693,4 @@ _context2["default"].instances.ws.on('connect', /*#__PURE__*/_asyncToGenerator(
20647
20693
  }, _callee);
20648
20694
  })));
20649
20695
 
20650
- },{"./components":235,"./containers":240,"./context":241,"./handlebars":243,"lodash/omit":211,"lodash/set":213,"lodash/unset":217}]},{},[255]);
20696
+ },{"./components":236,"./containers":242,"./context":243,"./handlebars":245,"lodash/omit":211,"lodash/set":213,"lodash/unset":217}]},{},[257]);
@@ -93,6 +93,21 @@ div.empty p {
93
93
  font-weight: 300;
94
94
  }
95
95
 
96
+ div.curtain {
97
+ cursor: pointer;
98
+ position: fixed;
99
+ overflow-y: auto;
100
+ top: 0;
101
+ left: 0;
102
+ height: calc(100% - 50px);
103
+ width: 100%;
104
+ padding-top: 50px;
105
+ background-color: rgba(30, 30, 30, 0.95);
106
+ }
107
+ div.curtain > * {
108
+ cursor: auto;
109
+ }
110
+
96
111
  .hidden {
97
112
  visibility: hidden;
98
113
  display: none !important;
@@ -159,6 +174,7 @@ body > header {
159
174
  }
160
175
  body > header button {
161
176
  text-decoration: none;
177
+ font-size: 12px;
162
178
  color: rgba(255, 255, 255, 0.5);
163
179
  }
164
180
  body > header button i {
@@ -184,6 +200,57 @@ body > header div.buttons-container#container-select button {
184
200
  padding: 10px 20px;
185
201
  }
186
202
 
203
+ @keyframes l43 {
204
+ 0% {
205
+ background-position: 0% 50%, 33.3333333333% 50%, 66.6666666667% 50%, 100% 50%;
206
+ }
207
+ 16.67% {
208
+ background-position: 0% 0, 33.3333333333% 50%, 66.6666666667% 50%, 100% 50%;
209
+ }
210
+ 33.33% {
211
+ background-position: 0% 100%, 33.3333333333% 0, 66.6666666667% 50%, 100% 50%;
212
+ }
213
+ 50% {
214
+ background-position: 0% 50%, 33.3333333333% 100%, 66.6666666667% 0, 100% 50%;
215
+ }
216
+ 66.67% {
217
+ background-position: 0% 50%, 33.3333333333% 50%, 66.6666666667% 100%, 100% 0;
218
+ }
219
+ 83.33% {
220
+ background-position: 0% 50%, 33.3333333333% 50%, 66.6666666667% 50%, 100% 100%;
221
+ }
222
+ 100% {
223
+ background-position: 0% 50%, 33.3333333333% 50%, 66.6666666667% 50%, 100% 50%;
224
+ }
225
+ }
226
+ .loader {
227
+ height: 20px;
228
+ aspect-ratio: 2.5;
229
+ --_g: no-repeat radial-gradient(farthest-side, #fff 90%, #0000);
230
+ background: var(--_g), var(--_g), var(--_g), var(--_g);
231
+ background-size: 20% 50%;
232
+ animation: l43 1s infinite linear;
233
+ }
234
+
235
+ div.curtain#loader {
236
+ cursor: default;
237
+ display: flex;
238
+ align-items: center;
239
+ justify-content: center;
240
+ padding-top: 0;
241
+ height: 100%;
242
+ }
243
+ div.curtain#loader p {
244
+ color: #fff;
245
+ font-weight: 100;
246
+ font-size: 25px;
247
+ }
248
+ div.curtain#loader > div {
249
+ display: flex;
250
+ flex-direction: column;
251
+ align-items: center;
252
+ }
253
+
187
254
  section#history div.history:hover div.meta {
188
255
  cursor: pointer;
189
256
  }
Binary file
Binary file
Binary file