1(function () { 2 function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } 3 4 function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } 5 6 function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) { n[e] = r[e]; } return n; } 7 8 function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } } 9 10 function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } 11 12 function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } 13 14 function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } 15 16 function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } 17 18 (self["webpackChunkvirtrolio_site"] = self["webpackChunkvirtrolio_site"] || []).push([["main"], { 19 /***/ 20 98255: 21 /*!*******************************************************!*\ 22 !*** ./$_lazy_route_resources/ lazy namespace object ***! 23 \*******************************************************/ 24 25 /***/ 26 function _(module) { 27 function webpackEmptyAsyncContext(req) { 28 // Here Promise.resolve().then() is used instead of new Promise() to prevent 29 // uncaught exception popping up in devtools 30 return Promise.resolve().then(function () { 31 var e = new Error("Cannot find module '" + req + "'"); 32 e.code = 'MODULE_NOT_FOUND'; 33 throw e; 34 }); 35 } 36 37 webpackEmptyAsyncContext.keys = function () { 38 return []; 39 }; 40 41 webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; 42 webpackEmptyAsyncContext.id = 98255; 43 module.exports = webpackEmptyAsyncContext; 44 /***/ 45 }, 46 47 /***/ 48 90158: 49 /*!***************************************!*\ 50 !*** ./src/app/app-routing.module.ts ***! 51 \***************************************/ 52 53 /***/ 54 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 55 "use strict"; 56 57 __webpack_require__.r(__webpack_exports__); 58 /* harmony export */ 59 60 61 __webpack_require__.d(__webpack_exports__, { 62 /* harmony export */ 63 "AppRoutingModule": function AppRoutingModule() { 64 return ( 65 /* binding */ 66 _AppRoutingModule 67 ); 68 } 69 /* harmony export */ 70 71 }); 72 /* harmony import */ 73 74 75 var _angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__( 76 /*! @angular/fire/auth-guard */ 77 68386); 78 /* harmony import */ 79 80 81 var _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 82 /*! ./core/pending-changes.guard */ 83 88989); 84 /* harmony import */ 85 86 87 var _angular_router__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__( 88 /*! @angular/router */ 89 39895); 90 /* harmony import */ 91 92 93 var _pages_about_about_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 94 /*! ./pages/about/about.component */ 95 73794); 96 /* harmony import */ 97 98
99 var _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 100 /*! ./pages/access-denied-beta/access-denied-beta.component */ 101 40970); 102 /* harmony import */ 103 104 105 var _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 106 /*! ./pages/access-denied/access-denied.component */ 107 91452); 108 /* harmony import */ 109 110 111 var _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 112 /*! ./pages/contact/contact.component */ 113 45996); 114 /* harmony import */ 115 116 117 var _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 118 /*! ./pages/faq/faq.component */ 119 16459); 120 /* harmony import */ 121 122 123 var _pages_home_home_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 124 /*! ./pages/home/home.component */ 125 25245); 126 /* harmony import */ 127 128 129 var _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 130 /*! ./pages/invalid-link/invalid-link.component */ 131 84892); 132 /* harmony import */ 133 134 135 var _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 136 /*! ./pages/msg-sent/msg-sent.component */ 137 88198); 138 /* harmony import */ 139 140 141 var _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 142 /*! ./pages/my-virtrolio/my-virtrolio.component */ 143 32093); 144 /* harmony import */ 145 146 147 var _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 148 /*! ./pages/page-not-found/page-not-found.component */ 149 78340); 150 /* harmony import */ 151 152 153 var _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( 154 /*! ./pages/privacy-policy/privacy-policy.component */ 155 3654); 156 /* harmony import */ 157 158 159 var _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__( 160 /*! ./pages/settings/settings.component */ 161 65814); 162 /* harmony import */ 163 164 165 var _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__( 166 /*! ./pages/signing-auth-redirect/signing-auth-redirect.component */ 167 83964); 168 /* harmony import */ 169 170 171 var _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__( 172 /*! ./pages/signing/signing.component */ 173 63168); 174 /* harmony import */ 175 176 177 var _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__( 178 /*! ./pages/terms-of-service/terms-of-service.component */ 179 21912); 180 /* harmony import */ 181 182 183 var _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__( 184 /*! ./pages/viewing/viewing.component */ 185 68106); 186 /* harmony import */ 187 188 189 var _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__( 190 /*! ./core/login-resolver */ 191 55249); 192 /* harmony import */ 193 194 195 var _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__( 196 /*! ./pages/maintenance/maintenance.component */ 197 20479); 198 /* harmony import */ 199 200 201 var _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__( 202 /*! ./pages/rejecc/rejecc.component */ 203 79668); 204 /* harmony import */ 205 206 207 var _core_signing_guard__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__( 208 /*! ./core/signing.guard */ 209 49001); 210 /* harmony import */ 211 212 213 var _angular_core__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__( 214 /*! @angular/core */ 215 37716); // Pages 216 // Services & Guards 217 218 219 var redirectUnauthorized = function redirectUnauthorized() { 220 return (0, _angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.redirectUnauthorizedTo)(['/access-denied']); 221 }; 222 223 var routes = [{ 224 path: '', 225 component: _pages_home_home_component__WEBPACK_IMPORTED_MODULE_6__.HomeComponent, 226 resolve: { 227 user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver 228 } 229 }, { 230 path: 'about', 231 component: _pages_about_about_component__WEBPACK_IMPORTED_MODULE_1__.AboutComponent 232 }, { 233 path: 'access-denied-beta',
234 component: _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_2__.AccessDeniedBetaComponent 235 }, { 236 path: 'access-denied', 237 component: _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_3__.AccessDeniedComponent 238 }, { 239 path: 'contact', 240 component: _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_4__.ContactComponent 241 }, { 242 path: 'faq', 243 component: _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_5__.FaqComponent 244 }, { 245 path: 'invalid-link', 246 component: _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_7__.InvalidLinkComponent // canActivate: [ PreventURLAccessGuard ] 247 248 }, { 249 path: 'maintenance', 250 component: _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_18__.MaintenanceComponent // canActivate: [ PreventURLAccessGuard ] 251 252 }, { 253 path: 'msg-sent', 254 component: _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_8__.MsgSentComponent // canActivate: [ PreventURLAccessGuard ], 255 256 }, { 257 path: 'my-virtrolio', 258 component: _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_9__.MyVirtrolioComponent, 259 canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard], 260 data: { 261 authGuardPipe: redirectUnauthorized 262 }, 263 resolve: { 264 user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver 265 } 266 }, { 267 path: 'privacy-policy', 268 component: _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_11__.PrivacyPolicyComponent 269 }, { 270 path: 'rejecc', 271 component: _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_19__.RejeccComponent // canActivate: [ PreventURLAccessGuard ] 272 273 }, { 274 path: 'settings', 275 component: _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_12__.SettingsComponent, 276 canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard], 277 data: { 278 authGuardPipe: redirectUnauthorized 279 }, 280 resolve: { 281 user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver 282 } 283 }, { 284 path: 'signing', 285 component: _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_14__.SigningComponent, 286 canActivate: [_core_signing_guard__WEBPACK_IMPORTED_MODULE_20__.SigningGuard], 287 resolve: { 288 user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver 289 }, 290 canDeactivate: [_core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_0__.PendingChangesGuard] 291 }, { 292 path: 'signing-auth-redirect', 293 component: _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_13__.SigningAuthRedirectComponent // canActivate: [ PreventURLAccessGuard ] 294 295 }, { 296 path: 'terms-of-service', 297 component: _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_15__.TermsOfServiceComponent 298 }, { 299 path: 'viewing', 300 component: _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_16__.ViewingComponent, 301 canActivate: [_angular_fire_auth_guard__WEBPACK_IMPORTED_MODULE_21__.AngularFireAuthGuard], 302 data: { 303 authGuardPipe: redirectUnauthorized 304 }, 305 resolve: { 306 user: _core_login_resolver__WEBPACK_IMPORTED_MODULE_17__.LoginResolver 307 } 308 }, { 309 path: 'page-not-found', 310 component: _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_10__.PageNotFoundComponent 311 }, { 312 path: '**', 313 pathMatch: 'full', 314 redirectTo: '/page-not-found' 315 }]; 316 317 var _AppRoutingModule = function _AppRoutingModule() { 318 _classCallCheck(this, _AppRoutingModule); 319 }; 320 321 _AppRoutingModule.ɵfac = function AppRoutingModule_Factory(t) { 322 return new (t || _AppRoutingModule)(); 323 }; 324 325 _AppRoutingModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵdefineNgModule"]({ 326 type: _AppRoutingModule 327 }); 328 _AppRoutingModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵdefineInjector"]({ 329 imports: [[_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule.forRoot(routes, { 330 scrollPositionRestoration: 'enabled', 331 anchorScrolling: 'enabled', 332 onSameUrlNavigation: 'reload', 333 relativeLinkResolution: 'legacy' 334 })], _angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule] 335 }); 336 337 (function () { 338 (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_22__["ɵɵsetNgModuleScope"](_AppRoutingModule, { 339 imports: [_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule], 340 exports: [_angular_router__WEBPACK_IMPORTED_MODULE_23__.RouterModule] 341 }); 342 })(); 343 /***/ 344 345 }, 346 347 /***/ 348 55041: 349 /*!**********************************!*\ 350 !*** ./src/app/app.component.ts ***! 351 \**********************************/ 352 353 /***/ 354 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 355 "use strict"; 356 357 __webpack_require__.r(__webpack_exports__); 358 /* harmony export */ 359 360 361 __webpack_require__.d(__webpack_exports__, { 362 /* harmony export */ 363 "AppComponent": function AppComponent() { 364 return ( 365 /* binding */ 366 _AppComponent 367 ); 368 } 369 /* harmony export */ 370 371 }); 372 /* harmony import */ 373 374 375 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 376 /*! @angular/core */ 377 37716); 378 /* harmony import */ 379 380 381 var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 382 /*! ngx-cookie-service */ 383 31584); 384 385 function AppComponent_div_5_Template(rf, ctx) { 386 if (rf & 1) { 387 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"](); 388 389 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 4); 390 391 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div"); 392 393 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, " Virtrolio uses cookies to enhance the user experience. By continuing to use our website, you consent to our use of cookies. See our "); 394 395 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "a", 5); 396 397 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, "Terms of Service"); 398 399 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 400 401 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, " for more information. "); 402 403 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 404 405 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "button", 6); 406 407 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click", function AppComponent_div_5_Template_button_click_6_listener() { 408 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r2); 409 410 var ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](); 411 412 return ctx_r1.cookieService.set("new-user-cookie", "false", 365); 413 }); 414 415 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "span", 7); 416 417 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "\xD7"); 418 419 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 420 421 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 422 423 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 424 } 425 } 426 /** 427 * Controls 'new user' cookie, displaying an alert if their browser hasn't visited the site before. 428 */ 429 430 431 var _AppComponent = /*#__PURE__*/function () { 432 function _AppComponent(cookieService) { 433 _classCallCheck(this, _AppComponent); 434 435 this.cookieService = cookieService; 436 this.title = 'virtrolio-site'; 437 } 438 439 _createClass(_AppComponent, [{ 440 key: "ngOnInit", 441 value: function ngOnInit() { 442 // Generate new-user-cookie if it does not exist 443 if (this.cookieService.check('new-user-cookie') === false) { 444 this.cookieService.set('new-user-cookie', 'true', 365); 445 } 446 } 447 }]); 448 449 return _AppComponent; 450 }(); 451 452 _AppComponent.BETA = false;
453 454 _AppComponent.ɵfac = function AppComponent_Factory(t) { 455 return new (t || _AppComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](ngx_cookie_service__WEBPACK_IMPORTED_MODULE_1__.CookieService)); 456 }; 457 458 _AppComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 459 type: _AppComponent, 460 selectors: [["app-root"]], 461 decls: 7, 462 vars: 1, 463 consts: [["id", "navbar-filler"], ["id", "content-wrapper"], [1, "col-12", "justify-content-center"], ["class", "alert alert-primary col-sm-8 align-items-center d-flex", "id", "cookie-alert", "role", "alert", 4, "ngIf"], ["id", "cookie-alert", "role", "alert", 1, "alert", "alert-primary", "col-sm-8", "align-items-center", "d-flex"], ["routerLink", "/terms-of-service"], ["id", "cookie-alert-button", "type", "button", 1, "close", "ml-2", 3, "click"], ["aria-hidden", "true"]], 464 template: function AppComponent_Template(rf, ctx) { 465 if (rf & 1) { 466 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](0, "app-navbar"); 467 468 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "div", 0); 469 470 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "div", 1); 471 472 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](3, "router-outlet"); 473 474 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 475 476 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 2); 477 478 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](5, AppComponent_div_5_Template, 9, 0, "div", 3); 479 480 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 481 482 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6, "app-footer"); 483 } 484 485 if (rf & 2) { 486 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](5); 487 488 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx.cookieService.get("new-user-cookie") == "true"); 489 } 490 }, 491 styles: ["#navbar-filler[_ngcontent-%COMP%] {\n \n height: var(--navbar-height);\n}\n\n#cookie-alert[_ngcontent-%COMP%] {\n position: fixed;\n left: 50%;\n transform: translate(-50%, -50%);\n bottom: 1em;\n z-index: 2000;\n}\n\n#cookie-alert-button[_ngcontent-%COMP%] {\n padding-bottom: 0.15em;\n}\n\n#content-wrapper[_ngcontent-%COMP%] {\n \n min-height: calc(100vh - var(--footer-height) - var(--navbar-height));\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsNERBQTREO0VBQzVELDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGVBQWU7RUFDZixTQUFTO0VBQ1QsZ0NBQWdDO0VBQ2hDLFdBQVc7RUFDWCxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7RUFDRSxvRUFBb0U7RUFDcEUscUVBQXFFO0FBQ3ZFIiwiZmlsZSI6ImFwcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI25hdmJhci1maWxsZXIge1xuICAvKiBUcmFuc3B
491hcmVudCBkaXYgdG8gcHVzaCByb3V0ZXItb3V0bGV0IGNvbnRlbnQgZG93bndhcmRzICovXG4gIGhlaWdodDogdmFyKC0tbmF2YmFyLWhlaWdodCk7XG59XG5cbiNjb29raWUtYWxlcnQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJvdHRvbTogMWVtO1xuICB6LWluZGV4OiAyMDAwO1xufVxuXG4jY29va2llLWFsZXJ0LWJ1dHRvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjE1ZW07XG59XG5cbiNjb250ZW50LXdyYXBwZXIge1xuICAvKiBQcmV2ZW50cyBmb290ZXIgY29sbGFwc2UgdG8gdG9wIG9mIHNjcmVlbiB3aGlsZSBjb21wb25lbnQgbG9hZHMgKi9cbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWZvb3Rlci1oZWlnaHQpIC0gdmFyKC0tbmF2YmFyLWhlaWdodCkpO1xufVxuIl19 */"] 492 }); 493 /***/ 494 }, 495 496 /***/ 497 36747: 498 /*!*******************************!*\ 499 !*** ./src/app/app.module.ts ***! 500 \*******************************/ 501 502 /***/ 503 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 504 "use strict"; 505 506 __webpack_require__.r(__webpack_exports__); 507 /* harmony export */ 508 509 510 __webpack_require__.d(__webpack_exports__, { 511 /* harmony export */ 512 "AppModule": function AppModule() { 513 return ( 514 /* binding */ 515 _AppModule 516 ); 517 } 518 /* harmony export */ 519 520 }); 521 /* harmony import */ 522 523 524 var _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__( 525 /*! @angular/platform-browser/animations */ 526 75835); 527 /* harmony import */ 528 529 530 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__( 531 /*! @angular/platform-browser */ 532 39075); 533 /* harmony import */ 534 535 536 var _angular_common__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__( 537 /*! @angular/common */ 538 38583); 539 /* harmony import */ 540 541 542 var _angular_forms__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__( 543 /*! @angular/forms */ 544 3679); 545 /* harmony import */ 546 547 548 var _angular_fire__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__( 549 /*! @angular/fire */ 550 50057); 551 /* harmony import */ 552 553 554 var _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__( 555 /*! @angular/fire/analytics */ 556 71037); 557 /* harmony import */ 558 559 560 var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__( 561 /*! @angular/fire/firestore */ 562 56717); 563 /* harmony import */ 564 565 566 var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__( 567 /*! @angular/fire/auth */ 568 49743); 569 /* harmony import */ 570 571 572 var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__( 573 /*! @angular/fire/storage */ 574 68274); 575 /* harmony import */ 576 577 578 var _environments_environment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 579 /*! ../environments/environment */ 580 92340); 581 /* harmony import */ 582 583 584 var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__( 585 /*! ngx-cookie-service */ 586 31584); 587 /* harmony import */ 588 589 590 var ngx_markdown__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__( 591 /*! ngx-markdown */ 592 76715); 593 /* harmony import */ 594 595 596 var ngx_toastr__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__( 597 /*! ngx-toastr */ 598 49344); 599 /* harmony import */ 600 601 602 var _app_routing_module__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 603 /*! ./app-routing.module */ 604 90158); 605 /* harmony import */ 606 607 608 var _app_component__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 609 /*! ./app.component */ 610 55041); 611 /* harmony import */ 612 613 614 var _core_core_module__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 615 /*! ./core/core.module */ 616 40294); 617 /* harmony import */ 618 619 620 var _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 621 /*! ./shared/shared.module */ 622 44466); 623 /* harmony import */ 624 625 626 var _pages_about_about_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 627 /*! ./pages/about/about.component */ 628 73794); 629 /* harmony import */ 630 631
632 var _pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 633 /*! ./pages/access-denied-beta/access-denied-beta.component */ 634 40970); 635 /* harmony import */ 636 637 638 var _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 639 /*! ./pages/access-denied/access-denied.component */ 640 91452); 641 /* harmony import */ 642 643 644 var _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 645 /*! ./pages/contact/contact.component */ 646 45996); 647 /* harmony import */ 648 649 650 var _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 651 /*! ./pages/faq/faq.component */ 652 16459); 653 /* harmony import */ 654 655 656 var _pages_home_home_component__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 657 /*! ./pages/home/home.component */ 658 25245); 659 /* harmony import */ 660 661 662 var _pages_viewing_messages_image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( 663 /*! ./pages/viewing/messages/image-footer/image-footer.component */ 664 46438); 665 /* harmony import */ 666 667 668 var _pages_signing_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__( 669 /*! ./pages/signing/image-modal/image-modal.component */ 670 16843); 671 /* harmony import */ 672 673 674 var _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__( 675 /*! ./pages/invalid-link/invalid-link.component */ 676 84892); 677 /* harmony import */ 678 679 680 var _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__( 681 /*! ./pages/maintenance/maintenance.component */ 682 20479); 683 /* harmony import */ 684 685 686 var _pages_viewing_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__( 687 /*! ./pages/viewing/message-modal/message-modal.component */ 688 1641); 689 /* harmony import */ 690 691 692 var _pages_viewing_messages_messages_component__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__( 693 /*! ./pages/viewing/messages/messages.component */ 694 2360); 695 /* harmony import */ 696 697 698 var _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__( 699 /*! ./pages/msg-sent/msg-sent.component */ 700 88198); 701 /* harmony import */ 702 703 704 var _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__( 705 /*! ./pages/my-virtrolio/my-virtrolio.component */ 706 32093); 707 /* harmony import */ 708 709 710 var _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__( 711 /*! ./pages/page-not-found/page-not-found.component */ 712 78340); 713 /* harmony import */ 714 715 716 var _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__( 717 /*! ./pages/privacy-policy/privacy-policy.component */ 718 3654); 719 /* harmony import */ 720 721 722 var _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__( 723 /*! ./pages/rejecc/rejecc.component */ 724 79668); 725 /* harmony import */ 726 727 728 var _pages_viewing_responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__( 729 /*! ./pages/viewing/responses-list/responses-list.component */ 730 39161); 731 /* harmony import */ 732 733 734 var _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__( 735 /*! ./pages/settings/settings.component */ 736 65814); 737 /* harmony import */ 738 739 740 var _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__( 741 /*! ./pages/signing-auth-redirect/signing-auth-redirect.component */ 742 83964); 743 /* harmony import */ 744 745 746 var _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__( 747 /*! ./pages/signing/signing.component */ 748 63168); 749 /* harmony import */ 750 751 752 var _pages_viewing_single_message_single_message_component__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__( 753 /*! ./pages/viewing/single-message/single-message.component */ 754 60189); 755 /* harmony import */ 756 757 758 var _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__( 759 /*! ./pages/terms-of-service/terms-of-service.component */ 760 21912); 761 /* harmony import */ 762 763 764 var _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__( 765 /*! ./pages/viewing/viewing.component */ 766 68106); 767 /* harmony import */ 768 769 770 var ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__( 771 /*! ngx-bootstrap/alert */ 772 33947); 773 /* harmony import */ 774 775 776 var _core_login_resolver__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__( 777 /*! ./core/login-resolver */ 778 55249); 779 /* harmony import */ 780 781 782 var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__( 783 /*! ngx-bootstrap/modal */ 784 63301); 785 /* harmony import */ 786 787 788 var _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__( 789 /*! ./core/pending-changes.guard */ 790 88989); 791 /* harmony import */ 792 793 794 var _pages_signing_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__( 795 /*! ./pages/signing/error-alert/error-alert.component */ 796 27286); 797 /* harmony import */ 798 799 800 var ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__( 801 /*! ngx-bootstrap/tooltip */ 802 25575); 803 /* harmony import */ 804 805 806 var _angular_core__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__( 807 /*! @angular/core */ 808 37716); 809 /* harmony import */ 810 811 812 var _core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__( 813 /*! ./core/navbar/navbar.component */ 814 1239); 815 /* harmony import */ 816 817 818 var _angular_router__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__( 819 /*! @angular/router */ 820 39895); 821 /* harmony import */ 822 823 824 var _core_footer_footer_component__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__( 825 /*! ./core/footer/footer.component */ 826 91229); // Angular 827 // Firebase 828 // External Libraries 829 // App 830 // Pages 831 // Services 832 833 834 var _AppModule = function _AppModule() { 835 _classCallCheck(this, _AppModule); 836 }; 837 838 _AppModule.ɵfac = function AppModule_Factory(t) { 839 return new (t || _AppModule)(); 840 }; 841 842 _AppModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵdefineNgModule"]({ 843 type: _AppModule, 844 bootstrap: [_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent] 845 }); 846 _AppModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵdefineInjector"]({ 847 providers: [ngx_cookie_service__WEBPACK_IMPORTED_MODULE_38__.CookieService, _core_login_resolver__WEBPACK_IMPORTED_MODULE_30__.LoginResolver, _core_pending_changes_guard__WEBPACK_IMPORTED_MODULE_32__.PendingChangesGuard], 848 imports: [[ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__.AlertModule.forRoot(), _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__.AngularFireAnalyticsModule, _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__.AngularFireAuthModule, _angular_fire__WEBPACK_IMPORTED_MODULE_41__.AngularFireModule.initializeApp(_environments_environment__WEBPACK_IMPORTED_MODULE_0__.environment.firebase), _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__.AngularFirestoreModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__.AngularFireStorageModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__.BrowserAnimationsModule, _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__.BrowserModule, _angular_common__WEBPACK_IMPORTED_MODULE_46__.CommonModule, _core_core_module__WEBPACK_IMPORTED_MODULE_3__.CoreModule, _angular_forms__WEBPACK_IMPORTED_MODULE_47__.FormsModule, ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkdownModule.forRoot({ 849 // set various markdown options 850 markedOptions: { 851 provide: ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkedOptions, 852 useValue: { 853 // makes having 2 newlines for a line break unnecessary 854 breaks: true 855 } 856 } 857 }), ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__.ModalModule.forRoot(), _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__.SharedModule, ngx_toastr__WEBPACK_IMPORTED_MODULE_49__.ToastrModule.forRoot(), ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__.TooltipModule]] 858 }); 859 860 (function () { 861 (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵsetNgModuleScope"](_AppModule, {
862 declarations: [_pages_access_denied_beta_access_denied_beta_component__WEBPACK_IMPORTED_MODULE_6__.AccessDeniedBetaComponent, _pages_access_denied_access_denied_component__WEBPACK_IMPORTED_MODULE_7__.AccessDeniedComponent, _app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent, _pages_about_about_component__WEBPACK_IMPORTED_MODULE_5__.AboutComponent, _pages_contact_contact_component__WEBPACK_IMPORTED_MODULE_8__.ContactComponent, _pages_signing_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_33__.ErrorAlertComponent, _pages_faq_faq_component__WEBPACK_IMPORTED_MODULE_9__.FaqComponent, _pages_home_home_component__WEBPACK_IMPORTED_MODULE_10__.HomeComponent, _pages_viewing_messages_messages_component__WEBPACK_IMPORTED_MODULE_16__.MessagesComponent, _pages_msg_sent_msg_sent_component__WEBPACK_IMPORTED_MODULE_17__.MsgSentComponent, _pages_my_virtrolio_my_virtrolio_component__WEBPACK_IMPORTED_MODULE_18__.MyVirtrolioComponent, _pages_viewing_messages_image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_11__.ImageFooterComponent, _pages_signing_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_12__.ImageModalComponent, _pages_invalid_link_invalid_link_component__WEBPACK_IMPORTED_MODULE_13__.InvalidLinkComponent, _pages_viewing_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_15__.MessageModalComponent, _pages_maintenance_maintenance_component__WEBPACK_IMPORTED_MODULE_14__.MaintenanceComponent, _pages_page_not_found_page_not_found_component__WEBPACK_IMPORTED_MODULE_19__.PageNotFoundComponent, _pages_privacy_policy_privacy_policy_component__WEBPACK_IMPORTED_MODULE_20__.PrivacyPolicyComponent, _pages_rejecc_rejecc_component__WEBPACK_IMPORTED_MODULE_21__.RejeccComponent, _pages_viewing_responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_22__.ResponsesListComponent, _pages_settings_settings_component__WEBPACK_IMPORTED_MODULE_23__.SettingsComponent, _pages_signing_auth_redirect_signing_auth_redirect_component__WEBPACK_IMPORTED_MODULE_24__.SigningAuthRedirectComponent, _pages_signing_signing_component__WEBPACK_IMPORTED_MODULE_25__.SigningComponent, _pages_viewing_single_message_single_message_component__WEBPACK_IMPORTED_MODULE_26__.SingleMessageComponent, _pages_terms_of_service_terms_of_service_component__WEBPACK_IMPORTED_MODULE_27__.TermsOfServiceComponent, _pages_viewing_viewing_component__WEBPACK_IMPORTED_MODULE_28__.ViewingComponent], 863 imports: [ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_29__.AlertModule, _angular_fire_analytics__WEBPACK_IMPORTED_MODULE_39__.AngularFireAnalyticsModule, _angular_fire_auth__WEBPACK_IMPORTED_MODULE_40__.AngularFireAuthModule, _angular_fire__WEBPACK_IMPORTED_MODULE_41__.AngularFireModule, _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_42__.AngularFirestoreModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_43__.AngularFireStorageModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_1__.AppRoutingModule, _angular_platform_browser_animations__WEBPACK_IMPORTED_MODULE_44__.BrowserAnimationsModule, _angular_platform_browser__WEBPACK_IMPORTED_MODULE_45__.BrowserModule, _angular_common__WEBPACK_IMPORTED_MODULE_46__.CommonModule, _core_core_module__WEBPACK_IMPORTED_MODULE_3__.CoreModule, _angular_forms__WEBPACK_IMPORTED_MODULE_47__.FormsModule, ngx_markdown__WEBPACK_IMPORTED_MODULE_48__.MarkdownModule, ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_31__.ModalModule, _shared_shared_module__WEBPACK_IMPORTED_MODULE_4__.SharedModule, ngx_toastr__WEBPACK_IMPORTED_MODULE_49__.ToastrModule, ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_34__.TooltipModule] 864 }); 865 })(); 866 867 _angular_core__WEBPACK_IMPORTED_MODULE_37__["ɵɵsetComponentScope"](_app_component__WEBPACK_IMPORTED_MODULE_2__.AppComponent, [_core_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_35__.NavbarComponent, _angular_router__WEBPACK_IMPORTED_MODULE_50__.RouterOutlet, _angular_common__WEBPACK_IMPORTED_MODULE_46__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_50__.RouterLinkWithHref, _core_footer_footer_component__WEBPACK_IMPORTED_MODULE_36__.FooterComponent], []); 868 /***/ 869 870 }, 871 872 /***/ 873 87341: 874 /*!**************************************!*\ 875 !*** ./src/app/core/auth.service.ts ***! 876 \**************************************/ 877 878 /***/ 879 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 880 "use strict"; 881 882 __webpack_require__.r(__webpack_exports__); 883 /* harmony export */ 884 885 886 __webpack_require__.d(__webpack_exports__, { 887 /* harmony export */ 888 "AuthService": function AuthService() { 889 return ( 890 /* binding */ 891 _AuthService 892 ); 893 } 894 /* harmony export */ 895 896 }); 897 /* harmony import */ 898 899 900 var tslib__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 901 /*! tslib */ 902 64762); 903 /* harmony import */ 904 905 906 var rxjs_operators__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 907 /*! rxjs/operators */ 908 15257); 909 /* harmony import */ 910 911 912 var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 913 /*! ./common.service */ 914 80150); 915 /* harmony import */ 916 917 918 var firebase_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 919 /*! firebase/app */ 920 42329); 921 /* harmony import */ 922 923 924 var firebase_auth__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 925 /*! firebase/auth */ 926 71952); 927 /* harmony import */ 928 929 930 var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 931 /*! @angular/core */ 932 37716); 933 /* harmony import */ 934 935 936 var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 937 /*! @angular/fire/auth */ 938 49743); 939 /* harmony import */ 940 941 942 var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 943 /*! @angular/fire/firestore */ 944 56717); 945 /* harmony import */ 946 947 948 var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 949 /*! @angular/router */ 950 39895); 951 /* harmony import */ 952 953 954 var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 955 /*! @angular/common */ 956 38583); 957 /* harmony import */ 958 959 960 var ngx_device_detector__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 961 /*! ngx-device-detector */ 962 1135); 963 964 var auth = firebase_app__WEBPACK_IMPORTED_MODULE_1__["default"].auth; 965 966 var _AuthService = /*#__PURE__*/function () { 967 function _AuthService(afa, afs, router, location, deviceDetectorService) { 968 var _this = this; 969 970 _classCallCheck(this, _AuthService); 971 972 this.afa = afa; 973 this.afs = afs; 974 this.router = router; 975 this.location = location; 976 this.deviceDetectorService = deviceDetectorService; 977 this.afa.user.subscribe(function (user) { 978 return _this.user = user; 979 }); 980 } 981 /** 982 * Generates a random string of characters of length AppAuthService.keyLength using the characters in 983 * AppAuthService.keyOptions. 984 */ 985 986 987 _createClass(_AuthService, [{ 988 key: "getUserData", 989 value: 990 /** 991 * @param uid - Optional - The user ID of the user's data to retrieve. Defaults to the current user. 992 * @returns The Firestore document containing the user's data. 993 */ 994 function getUserData() { 995 var uid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.uid(); 996 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee() { 997 var userRef; 998 return regeneratorRuntime.wrap(function _callee$(_context) { 999 while (1) { 1000 switch (_context.prev = _context.next) { 1001 case 0: 1002 userRef = this.afs.collection('users').doc(uid); 1003 _context.next = 3; 1004 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise()["catch"](function (error) { 1005 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 1006 }); 1007 1008 case 3: 1009 return _context.abrupt("return", _context.sent); 1010 1011 case 4: 1012 case "end": 1013 return _context.stop(); 1014 } 1015 } 1016 }, _callee, this); 1017 })); 1018 } 1019 /**
1020 * Displays an error using an alert, then logs the user out, and then redirects them to the access-denied page. 1021 * @param error - The error to be displayed 1022 */ 1023 1024 }, { 1025 key: "errorLogout", 1026 value: function errorLogout(error) { 1027 var _this2 = this; 1028 1029 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 1030 1031 return this.afa.signOut().then(function () { 1032 return _this2.router.navigate(['/access-denied']); 1033 })["catch"](function (soError) { 1034 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(soError); 1035 }); 1036 } 1037 /** 1038 * @returns The current User object. 1039 */ 1040 1041 }, { 1042 key: "getUser", 1043 value: function getUser() { 1044 this.throwErrorIfLoggedOut('access your user data'); 1045 return this.user; 1046 } 1047 /** 1048 * Logs the user into the website using Firebase Authentication and the specified provider. 1049 * User data creation is handled ONLY for desktop devices. 1050 * Any page calling login **must** call AuthService.redirectLoginUserCreation() in ngOnInit() of the page that it 1051 * redirects to, which is the routeTo param. Otherwise, mobile users will not be able to create a user. Upon login, 1052 * the user will be redirected to a new page as defined in routeTo. 1053 * @param routeTo - The routerLink that the user will be redirected to on a successful login. 1054 * @param queryParams - Optional - Any query params to be passed during navigation after successful navigation. 1055 * @returns A promise evaluating to true if the redirect is successful (only returned on desktop devices). 1056 * @throws Error - If the login fails 1057 */ 1058 1059 }, { 1060 key: "login", 1061 value: function login(routeTo, queryParams) { 1062 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee2() { 1063 var _this3 = this; 1064 1065 var googleAuthProvider, redirectPath; 1066 return regeneratorRuntime.wrap(function _callee2$(_context2) { 1067 while (1) { 1068 switch (_context2.prev = _context2.next) { 1069 case 0: 1070 if (!(typeof routeTo === 'undefined' || !routeTo)) { 1071 _context2.next = 2; 1072 break; 1073 } 1074 1075 throw new Error('Route was not provided'); 1076 1077 case 2: 1078 // Prepare sign-in provider(s) 1079 googleAuthProvider = new auth.GoogleAuthProvider(); // Check device type 1080 1081 if (!this.deviceDetectorService.isDesktop()) { 1082 _context2.next = 7; 1083 break; 1084 } 1085 1086 return _context2.abrupt("return", this.afa.signInWithPopup(new auth.GoogleAuthProvider()).then(function (userCredentials) { 1087 if (userCredentials.user) { 1088 // If user is not null 1089 return _this3.createUser(userCredentials.user).then(function () { 1090 return _this3.router.navigate([routeTo], { 1091 queryParams: queryParams 1092 }); 1093 }); 1094 } else { 1095 return _this3.errorLogout('Null User Credentials on login: ' + userCredentials); 1096 } 1097 })["catch"](function (error) { 1098 _this3.errorLogout(error); 1099 })); 1100 1101 case 7: 1102 // Device is phone/tablet, so use sign-in with redirect 1103 redirectPath = _AuthService.parseQueryParams(routeTo, queryParams); 1104 this.location.go(redirectPath); // Sign-in with Redirect is necessary to support popup browsers which do not have support for multiple tabs) 1105 1106 return _context2.abrupt("return", this.afa.signInWithRedirect(googleAuthProvider)["catch"](function (error) { 1107 _this3.errorLogout(error); 1108 })); 1109 1110 case 10: 1111 case "end": 1112 return _context2.stop(); 1113 } 1114 } 1115 }, _callee2, this); 1116 })); 1117 } 1118 /** 1119 * Logs the user out of the website using Firebase Authentication. 1120 * Upon successful logout, the user will be redirected to the home page. 1121 * @returns A promise evaluating to true if the redirect is successful. 1122 * @throws Error - If the logout fails 1123 */ 1124 1125 }, { 1126 key: "logout", 1127 value: function logout() { 1128 var _this4 = this; 1129 1130 return this.afa.signOut().then(function () { 1131 return _this4.router.navigate(['/']); 1132 })["catch"](function (error) { 1133 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 1134 1135 return _this4.router.navigate(['/']); 1136 }); 1137 } 1138 /** 1139 * Creates a new VirtrolioUser document in the 'users' collection of the database only if the document for the 1140 * currently logged in user doesn't exist. 1141 * @param user: The user object returned by the Firebase Authentication login process. 1142 * @throws ReferenceError - If the Firestore documents for the user or list of beta tester
1142s is missing 1143 * @throws Error - If a write to Firestore fails 1144 */ 1145 1146 }, { 1147 key: "createUser", 1148 value: function createUser(user) { 1149 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee3() { 1150 var userRef, userDoc, userData; 1151 return regeneratorRuntime.wrap(function _callee3$(_context3) { 1152 while (1) { 1153 switch (_context3.prev = _context3.next) { 1154 case 0: 1155 // Not using this.getUserData() because userRef is required 1156 userRef = this.afs.collection('users').doc(user.uid); 1157 _context3.next = 3; 1158 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise()["catch"](function (error) { 1159 throw new Error('User Creation Error:' + error); 1160 }); 1161 1162 case 3: 1163 userDoc = _context3.sent; 1164 1165 if (userDoc) { 1166 _context3.next = 10; 1167 break; 1168 } 1169 1170 // User doesn't exist in database 1171 userData = { 1172 displayName: user.displayName, 1173 key: _AuthService.generateKey(), 1174 profilePic: user.photoURL 1175 }; 1176 _context3.next = 8; 1177 return userRef.set(userData)["catch"](function (error) { 1178 throw new Error('User Creation Error:' + error); 1179 }); 1180 1181 case 8: 1182 _context3.next = 19; 1183 break; 1184 1185 case 10: 1186 if ('key' in userDoc) { 1187 _context3.next = 13; 1188 break; 1189 } 1190 1191 _context3.next = 13; 1192 return userRef.update({ 1193 key: _AuthService.generateKey() 1194 })["catch"](function (error) { 1195 throw new Error('User Creation Error:' + error); 1196 }); 1197 1198 case 13: 1199 if ('displayName' in userDoc) { 1200 _context3.next = 16; 1201 break; 1202 } 1203 1204 _context3.next = 16; 1205 return userRef.update({ 1206 displayName: user.displayName 1207 })["catch"](function (error) { 1208 throw new Error('User Creation Error:' + error); 1209 }); 1210 1211 case 16: 1212 if ('profilePic' in userDoc) { 1213 _context3.next = 19; 1214 break; 1215 } 1216 1217 _context3.next = 19; 1218 return userRef.update({ 1219 profilePic: user.photoURL 1220 })["catch"](function (error) { 1221 throw new Error('User Creation Error:' + error); 1222 }); 1223 1224 case 19: 1225 case "end": 1226 return _context3.stop(); 1227 } 1228 } 1229 }, _callee3, this); 1230 })); 1231 } 1232 /** 1233 * Handles the user creation if the user was signed in using signInWithRedirect() (called on mobile devices) instead 1234 * of signInWithPopup(). Should be called on any page that could potentially be a page that the user is redirected to 1235 * after calling AuthService.login(). User creation for devices using signInWithPopup() (desktops) is handled in 1236 * AuthService.login(). 1237 */ 1238 1239 }, { 1240 key: "redirectLoginUserCreation", 1241 value: function redirectLoginUserCreation() { 1242 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee4() { 1243 var _this5 = this; 1244 1245 var userCredentials; 1246 return regeneratorRuntime.wrap(function _callee4$(_context4) { 1247 while (1) { 1248 switch (_context4.prev = _context4.next) { 1249 case 0: 1250 _context4.next = 2; 1251 return this.afa.getRedirectResult(); 1252 1253 case 2: 1254 userCredentials = _context4.sent; 1255 1256 if (!userCredentials.user) { 1257 _context4.next = 6; 1258 break; 1259 } 1260 1261 _context4.next = 6; 1262 return this.createUser(userCredentials.user)["catch"](function (error) { 1263 return _this5.errorLogout(error); 1264 }); 1265 1266 case 6: 1267 case "end": 1268 return _context4.stop(); 1269 } 1270 } 1271 }, _callee4, this); 1272 })); 1273 } 1274 /** 1275 * Should not be used on pages/guards that are not protected by the LoginResolver. 1276 * If async functionality is required, use asyncIsLoggedIn() instead. 1277 * @returns True if the user is logged in. 1278 */ 1279 1280 }, { 1281 key: "isLoggedIn", 1282 value: function isLoggedIn() { 1283 return this.user != null; 1284 } 1285 /** 1286 * Identical to isLoggedIn(), except using a promise. Allows the caller to utilize .then() or await. 1287 * If the usage of .then() or await by the caller is not required, isLoggedIn() should be used instead. 1288 * @returns a Promise evaluating to True if the user is logged in. 1289 */ 1290 1291 }, { 1292 key: "asyncIsLoggedIn", 1293 value: function asyncIsLoggedIn() { 1294 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee5() { 1295 var user; 1296 return regeneratorRuntime.wrap(function _callee5$(_context5) { 1297 while (1) { 1298 switch (_context5.prev = _context5.next) { 1299 case 0: 1300 _context5.next = 2; 1301 return this.afa.user.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise(); 1302 1303 case 2: 1304 user = _context5.sent; 1305 return _context5.abrupt("return", !!user); 1306 1307 case 4: 1308 case "end": 1309 return _context5.stop(); 1310 } 1311 } 1312 }, _callee5, this); 1313 })); 1314 } 1315 /** 1316 * Throws a ReferenceError if the user is logged out instead of returning false (that's isLoggedIn()). 1317 * Does nothing if the user is logged in. 1318 * The Error is designed in such a way that the error message can be displayed to the user using a Modal or an Alert. 1319 * @param attemptedOperation - The operation that is not permitted if the user is logged out, such as 'send a 1320 * message'. Should be in present tense and be in user-friendly language. 1321 * @throws ReferenceError - If the user is not logged in 1322 */ 1323 1324 }, { 1325 key: "asyncThrowErrorIfLoggedOut", 1326 value: function asyncThrowErrorIfLoggedOut(attemptedOperation) { 1327 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee6() { 1328 return regeneratorRuntime.wrap(function _callee6$(_context6) { 1329 while (1) { 1330 switch (_context6.prev = _context6.next) { 1331 case 0: 1332 _context6.next = 2; 1333 return this.asyncIsLoggedIn(); 1334 1335 case 2: 1336 if (_context6.sent) { 1337 _context6.next = 4; 1338 break; 1339 } 1340 1341 throw new ReferenceError('Cannot ' + attemptedOperation + ' because you are not logged in.'); 1342 1343 case 4: 1344 case "end": 1345 return _context6.stop(); 1346 } 1347 } 1348 }, _callee6, this); 1349 })); 1350 } 1351 /** 1352 * Throws a ReferenceError if the user is logged out instead of returning false (that's isLoggedIn()). 1353 * Does nothing if the user is logged in. 1354 * The Error is designed in such a way that the error message can be displayed to the user using a Modal or an Alert. 1355 * @param attemptedOperation - The operation that is not permitted if the user is logged out, such as 'send a 1356 * message'. Should be in present tense and be in user-friendly language. 1357 * @throws ReferenceError - If the user is not logged in 1358 */ 1359 1360 }, { 1361 key: "throwErrorIfLoggedOut", 1362 value: function throwErrorIfLoggedOut(attemptedOperation) { 1363 if (!this.isLoggedIn()) { 1364 throw new ReferenceError('Cannot ' + attemptedOperation + ' because you are not logged in.'); 1365 } 1366 } 1367 /** 1368 * @param uid - The uid to get the profile picture of. Defaults to the current user if not provided. 1369 * @returns The URL to the user's profile picture. 1370 * @throws ReferenceError - If the user is not logged in or doesn't exist 1371 */ 1372 1373 }, { 1374 key: "profilePictureLink", 1375 value: function profilePictureLink() { 1376 var uid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.uid(); 1377 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee7() { 1378 var userDoc; 1379 return regeneratorRuntime.wrap(function _callee7$(_context7) { 1380 while (1) { 1381 switch (_context7.prev = _context7.next) { 1382 case 0: 1383 _context7.next = 2; 1384 return this.asyncThrowErrorIfLoggedOut('get your profile picture'); 1385 1386 case 2: 1387 if (!(uid === this.uid())) { 1388 _context7.next = 6; 1389 break; 1390 } 1391 1392 return _context7.abrupt("return", this.user.photoURL); 1393 1394 case 6: 1395 _context7.next = 8; 1396 return this.getUserData(uid); 1397 1398 case 8: 1399 userDoc = _context7.sent; 1400 1401 if (!userDoc) { 1402 _context7.next = 13; 1403 break; 1404 } 1405 1406 return _context7.abrupt("return", userDoc.profilePic); 1407 1408 case 13: 1409 throw new ReferenceError("User document doesn't exist"); 1410 1411 case 14: 1412 case "end": 1413 return _context7.stop(); 1414 } 1415 } 1416 }, _callee7, this); 1417 })); 1418 } 1419 /** 1420 * Same as profilePictureLink, except not async to avoid the navbar trying to load the picture before the async call 1421 * completes. This method should <u>**NOT**</u> be called by anything except the navbar. Use profilePictureLink() 1422 * instead. 1423 * @returns The URL to the user's profile picture. 1424 * @throws ReferenceError - If the user is not logged in 1425 */ 1426 1427 }, { 1428 key: "notAsyncProfilePictureLink", 1429 value: function notAsyncProfilePictureLink() { 1430 return this.user.photoURL; 1431 } 1432 /** 1433 * @param uid - The uid to get the display name of. Defaults to the current user if not provided. 1434 * @returns The Display Name of the user as defined in the account that they use to sign in. 1435 * @throws ReferenceError - If the user is not logged in or doesn't exist 1436 */ 1437 1438 }, { 1439 key: "displayName", 1440 value: function displayName() { 1441 var uid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.uid(); 1442 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee8() { 1443 var userDoc; 1444 return regeneratorRuntime.wrap(function _callee8$(_context8) { 1445 while (1) { 1446 switch (_context8.prev = _context8.next) { 1447 case 0: 1448 _context8.next = 2; 1449 return this.asyncThrowErrorIfLoggedOut('get your name'); 1450 1451 case 2: 1452 if (!(uid === this.uid())) { 1453 _context8.next = 6; 1454 break; 1455 } 1456 1457 return _context8.abrupt("return", this.user.displayName); 1458 1459 case 6: 1460 _context8.next = 8; 1461 return this.getUserData(uid); 1462 1463 case 8: 1464 userDoc = _context8.sent; 1465 1466 if (!userDoc) { 1467 _context8.next = 13; 1468 break; 1469 } 1470 1471 return _context8.abrupt("return", userDoc.displayName); 1472 1473 case 13: 1474 throw new ReferenceError("User document doesn't exist"); 1475 1476 case 14: 1477 case "end": 1478 return _context8.stop(); 1479 } 1480 } 1481 }, _callee8, this); 1482 })); 1483 } 1484 /** 1485 * @returns The user's Firebase Authentication User ID. 1486 * @throws ReferenceError - If the user is not logged in 1487 */ 1488 1489 }, { 1490 key: "uid", 1491 value: function uid() { 1492 this.throwErrorIfLoggedOut('get your user ID'); 1493 return this.user.uid; 1494 } 1495 /** 1496 * Checks if the provided user exists in the Users collection in the database. 1497 * This method should only be called if the user has logged in at least once before. 1498 * @param uid - The UID of the user to check 1499 * @throws Error - If the argument is blank, null or undefined. 1500 */ 1501 1502 }, { 1503 key: "userExists", 1504 value: function userExists(uid) { 1505 return (0, tslib__WEBPACK_IMPORTED_MODULE_3__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee9() { 1506 var userRef; 1507 return regeneratorRuntime.wrap(function _callee9$(_context9) { 1508 while (1) { 1509 switch (_context9.prev = _context9.next) { 1510 case 0: 1511 if (!(typeof uid === 'undefined' || !uid)) { 1512 _context9.next = 2; 1513 break; 1514 } 1515 1516 throw new Error('Argument UID was not provided'); 1517 1518 case 2: 1519 userRef = this.afs.collection('users').doc(uid); 1520 return _context9.abrupt("return", userRef.snapshotChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.take)(1)).toPromise().then(function (userDoc) { 1521 return userDoc.payload.exists; 1522 })["catch"](function (error) { 1523 return alert(error); 1524 })); 1525 1526 case 4: 1527 case "end": 1528 return _context9.stop(); 1529 } 1530 } 1531 }, _callee9, this); 1532 })); 1533 } 1534 }], [{ 1535 key: "generateKey", 1536 value: function generateKey() { 1537 var key = ''; 1538 1539 for (var i = 0; i < _AuthService.KEY_LENGTH; i++) { 1540 key += _AuthService.KEY_OPTIONS.charAt(Math.floor(Math.random() *
1540 _AuthService.KEY_OPTIONS.length)); 1541 } 1542 1543 return key; 1544 } 1545 /** 1546 * Combines the desired routerLink and queryParams into one string, adding all necessary ?, = and &. 1547 * Used to create a path param for this.location.go(). 1548 * @param path - the desired routerLink 1549 * @param queryParams - all query params to be added onto the routerLink 1550 */ 1551 1552 }, { 1553 key: "parseQueryParams", 1554 value: function parseQueryParams(path, queryParams) { 1555 var redirectPath = path; 1556 1557 if (queryParams) { 1558 redirectPath += '?'; 1559 1560 for (var param in queryParams) { 1561 if (queryParams.hasOwnProperty(param)) { 1562 redirectPath += param + '=' + queryParams[param] + '&'; 1563 } 1564 } // Remove the extra ampersand at the end 1565 1566 1567 return redirectPath.slice(0, -1); 1568 } else { 1569 return path; 1570 } 1571 } 1572 }]); 1573 1574 return _AuthService; 1575 }(); 1576 1577 _AuthService.KEY_LENGTH = 7; 1578 _AuthService.KEY_OPTIONS = 'qwertyuipasdfghjkzxcvbnmQWERTYUPASDFGHJKLZXCVBNM123456789'; 1579 1580 _AuthService.ɵfac = function AuthService_Factory(t) { 1581 return new (t || _AuthService)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_fire_auth__WEBPACK_IMPORTED_MODULE_6__.AngularFireAuth), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_7__.AngularFirestore), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](_angular_common__WEBPACK_IMPORTED_MODULE_9__.Location), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵinject"](ngx_device_detector__WEBPACK_IMPORTED_MODULE_10__.DeviceDetectorService)); 1582 }; 1583 1584 _AuthService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineInjectable"]({ 1585 token: _AuthService, 1586 factory: _AuthService.ɵfac, 1587 providedIn: 'root' 1588 }); 1589 /***/ 1590 }, 1591 1592 /***/ 1593 80150: 1594 /*!****************************************!*\ 1595 !*** ./src/app/core/common.service.ts ***! 1596 \****************************************/ 1597 1598 /***/ 1599 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1600 "use strict"; 1601 1602 __webpack_require__.r(__webpack_exports__); 1603 /* harmony export */ 1604 1605 1606 __webpack_require__.d(__webpack_exports__, { 1607 /* harmony export */ 1608 "CommonService": function CommonService() { 1609 return ( 1610 /* binding */ 1611 _CommonService 1612 ); 1613 } 1614 /* harmony export */ 1615 1616 }); 1617 /* harmony import */ 1618 1619 1620 var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 1621 /*! tslib */ 1622 64762); 1623 /* harmony import */ 1624 1625 1626 var yaml__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 1627 /*! yaml */ 1628 53782); 1629 /* harmony import */ 1630 1631 1632 var yaml__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(yaml__WEBPACK_IMPORTED_MODULE_0__); 1633 /* harmony import */ 1634 1635 1636 var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 1637 /*! @angular/core */ 1638 37716); 1639 /* harmony import */ 1640 1641 1642 var _angular_common_http__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 1643 /*! @angular/common/http */ 1644 91841); 1645 1646 var _CommonService = /*#__PURE__*/function () { 1647 function _CommonService(http) { 1648 _classCallCheck(this, _CommonService); 1649 1650 this.http = http; 1651 } 1652 /** 1653 * Displays an error to the user using an alert and a human-readable prefix. 1654 * @param error - The error to display to the user. 1655 */ 1656 1657 1658 _createClass(_CommonService, [{ 1659 key: "parseYAMLFromFile", 1660 value: function parseYAMLFromFile(path) { 1661 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee10() { 1662 var yamlText; 1663 return regeneratorRuntime.wrap(function _callee10$(_context10) { 1664 while (1) { 1665 switch (_context10.prev = _context10.next) { 1666 case 0: 1667 _context10.next = 2; 1668 return this.http.get(path, { 1669 observe: 'body', 1670 responseType: 'text' 1671 }).toPromise(); 1672 1673 case 2: 1674 yamlText = _context10.sent; 1675 return _context10.abrupt("return", yaml__WEBPACK_IMPORTED_MODULE_0___default().parse(yamlText)); 1676 1677 case 4: 1678 case "end": 1679 return _context10.stop(); 1680 } 1681 } 1682 }, _callee10, this); 1683 })); 1684 } 1685 }], [{ 1686 key: "displayError", 1687 value: function displayError(error) { 1688 alert("An error occurred. Here are the details that you can report to our team through the 'Contact Us' page:\n" + error); 1689 } 1690 }]); 1691 1692 return _CommonService; 1693 }(); 1694 1695 _CommonService.CURRENT_YEAR = new Date().getFullYear(); 1696 1697 _CommonService.ɵfac = function CommonService_Factory(t) { 1698 return new (t || _CommonService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_common_http__WEBPACK_IMPORTED_MODULE_3__.HttpClient)); 1699 }; 1700 1701 _CommonService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ 1702 token: _CommonService, 1703 factory: _CommonService.ɵfac, 1704 providedIn: 'root' 1705 }); 1706 /***/ 1707 }, 1708 1709 /***/ 1710 40294: 1711 /*!*************************************!*\ 1712 !*** ./src/app/core/core.module.ts ***! 1713 \*************************************/ 1714 1715 /***/ 1716 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1717 "use strict"; 1718 1719 __webpack_require__.r(__webpack_exports__); 1720 /* harmony export */ 1721 1722 1723 __webpack_require__.d(__webpack_exports__, { 1724 /* harmony export */
1725 "CoreModule": function CoreModule() { 1726 return ( 1727 /* binding */ 1728 _CoreModule 1729 ); 1730 } 1731 /* harmony export */ 1732 1733 }); 1734 /* harmony import */ 1735 1736 1737 var _navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 1738 /*! ./navbar/navbar.component */ 1739 1239); 1740 /* harmony import */ 1741 1742 1743 var _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 1744 /*! ./footer/footer.component */ 1745 91229); 1746 /* harmony import */ 1747 1748 1749 var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 1750 /*! @angular/router */ 1751 39895); 1752 /* harmony import */ 1753 1754 1755 var _app_routing_module__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 1756 /*! ../app-routing.module */ 1757 90158); 1758 /* harmony import */ 1759 1760 1761 var _angular_common__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 1762 /*! @angular/common */ 1763 38583); 1764 /* harmony import */ 1765 1766 1767 var _angular_fire__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 1768 /*! @angular/fire */ 1769 50057); 1770 /* harmony import */ 1771 1772 1773 var _environments_environment_prod__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 1774 /*! ../../environments/environment.prod */ 1775 89019); 1776 /* harmony import */ 1777 1778 1779 var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 1780 /*! @angular/fire/storage */ 1781 68274); 1782 /* harmony import */ 1783 1784 1785 var _angular_common_http__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 1786 /*! @angular/common/http */ 1787 91841); 1788 /* harmony import */ 1789 1790 1791 var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 1792 /*! @angular/core */ 1793 37716); 1794 1795 var _CoreModule = function _CoreModule() { 1796 _classCallCheck(this, _CoreModule); 1797 }; 1798 1799 _CoreModule.ɵfac = function CoreModule_Factory(t) { 1800 return new (t || _CoreModule)(); 1801 }; 1802 1803 _CoreModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineNgModule"]({ 1804 type: _CoreModule 1805 }); 1806 _CoreModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjector"]({ 1807 providers: [], 1808 imports: [[_angular_fire__WEBPACK_IMPORTED_MODULE_5__.AngularFireModule.initializeApp(_environments_environment_prod__WEBPACK_IMPORTED_MODULE_3__.environment.firebase), _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__.AngularFireStorageModule, _angular_router__WEBPACK_IMPORTED_MODULE_7__.RouterModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_2__.AppRoutingModule, _angular_common__WEBPACK_IMPORTED_MODULE_8__.CommonModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HttpClientModule]] 1809 }); 1810 1811 (function () { 1812 (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsetNgModuleScope"](_CoreModule, { 1813 declarations: [_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__.NavbarComponent, _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__.FooterComponent], 1814 imports: [_angular_fire__WEBPACK_IMPORTED_MODULE_5__.AngularFireModule, _angular_fire_storage__WEBPACK_IMPORTED_MODULE_6__.AngularFireStorageModule, _angular_router__WEBPACK_IMPORTED_MODULE_7__.RouterModule, _app_routing_module__WEBPACK_IMPORTED_MODULE_2__.AppRoutingModule, _angular_common__WEBPACK_IMPORTED_MODULE_8__.CommonModule, _angular_common_http__WEBPACK_IMPORTED_MODULE_9__.HttpClientModule], 1815 exports: [_navbar_navbar_component__WEBPACK_IMPORTED_MODULE_0__.NavbarComponent, _footer_footer_component__WEBPACK_IMPORTED_MODULE_1__.FooterComponent] 1816 }); 1817 })(); 1818 /***/ 1819 1820 }, 1821 1822 /***/ 1823 87181: 1824 /*!**************************************!*\ 1825 !*** ./src/app/core/font.service.ts ***! 1826 \**************************************/ 1827 1828 /***/ 1829 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1830 "use strict"; 1831 1832 __webpack_require__.r(__webpack_exports__); 1833 /* harmony export */ 1834 1835 1836 __webpack_require__.d(__webpack_exports__, { 1837 /* harmony export */ 1838 "FontService": function FontService() { 1839 return ( 1840 /* binding */ 1841 _FontService 1842 ); 1843 } 1844 /* harmony export */ 1845 1846 }); 1847 /* harmony import */ 1848 1849
1850 var _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 1851 /*! ../shared/interfaces/fonts */ 1852 74743); 1853 /* harmony import */ 1854 1855 1856 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 1857 /*! @angular/core */ 1858 37716); 1859 1860 var _FontService = function _FontService() { 1861 _classCallCheck(this, _FontService); 1862 }; // Note how you don't have to override the default values if you don't want to 1863 1864 1865 _FontService.Arial = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Arial', 'sans-serif'); 1866 _FontService.ComicSansMS = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Comic Sans MS', 'sans-serif'); 1867 _FontService.CourierNew = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Courier New', 'monospace'); 1868 _FontService.DancingScript = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Dancing Script', 'cursive'); 1869 _FontService.Montserrat = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Montserrat', 'sans-serif'); 1870 _FontService.Roboto = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Roboto', 'sans-serif'); 1871 _FontService.Merriweather = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Merriweather', 'serif'); 1872 _FontService.Lobster = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Lobster', 'sans-serif'); 1873 _FontService.IndieFlower = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Indie Flower', 'sans-serif'); 1874 _FontService.PatrickHand = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Patrick Hand', 'sans-serif'); 1875 _FontService.PermanentMarker = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Permanent Marker', 'sans-serif'); 1876 _FontService.Sacramento = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Sacramento', 'cursive'); 1877 _FontService.SpecialElite = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Special Elite', 'sans-serif'); 1878 _FontService.TimesNewRoman = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Times New Roman', 'serif'); 1879 _FontService.PoiretOne = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Poiret One', 'sans-serif'); 1880 _FontService.PressStart = new _shared_interfaces_fonts__WEBPACK_IMPORTED_MODULE_0__.Font('Press Start', 'sans-serif'); 1881 _FontService.FONTS = { 1882 Arial: _FontService.Arial, 1883 'Comic Sans MS': _FontService.ComicSansMS, 1884 'Courier New': _FontService.CourierNew, 1885 'Dancing Script': _FontService.DancingScript, 1886 'Indie Flower': _FontService.IndieFlower, 1887 Lobster: _FontService.Lobster, 1888 Merriweather: _FontService.Merriweather, 1889 Montserrat: _FontService.Montserrat, 1890 'Patrick Hand': _FontService.PatrickHand, 1891 'Permanent Marker': _FontService.PermanentMarker, 1892 'Poiret One': _FontService.PoiretOne, 1893 'Press Start': _FontService.PressStart, 1894 Roboto: _FontService.Roboto, 1895 Sacramento: _FontService.Sacramento, 1896 'Special Elite': _FontService.SpecialElite, 1897 'Times New Roman': _FontService.TimesNewRoman 1898 }; 1899 1900 _FontService.ɵfac = function FontService_Factory(t) { 1901 return new (t || _FontService)(); 1902 }; 1903 1904 _FontService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjectable"]({ 1905 token: _FontService, 1906 factory: _FontService.ɵfac, 1907 providedIn: 'root' 1908 }); 1909 /***/ 1910 }, 1911 1912 /***/ 1913 91229: 1914 /*!*************************************************!*\ 1915 !*** ./src/app/core/footer/footer.component.ts ***! 1916 \*************************************************/ 1917 1918 /***/ 1919 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 1920 "use strict"; 1921 1922 __webpack_require__.r(__webpack_exports__); 1923 /* harmony export */ 1924 1925 1926 __webpack_require__.d(__webpack_exports__, { 1927 /* harmony export */ 1928 "FooterComponent": function FooterComponent() { 1929 return ( 1930 /* binding */ 1931 _FooterComponent 1932 ); 1933 } 1934 /* harmony export */ 1935 1936 }); 1937 /* harmony import */ 1938 1939 1940 var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 1941 /*! ../common.service */ 1942 80150); 1943 /* harmony import */ 1944 1945 1946 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 1947 /*! @angular/core */ 1948 37716); 1949 1950 var _FooterComponent = /*#__PURE__*/function () { 1951 function _FooterComponent() { 1952 _classCallCheck(this, _FooterComponent); 1953 1954 this.currentYear = _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR; 1955 } 1956 1957 _createClass(_FooterComponent, [{ 1958 key: "ngOnInit", 1959 value: function ngOnInit() {} 1960 }]); 1961 1962 return _FooterComponent; 1963 }(); 1964 1965 _FooterComponent.ɵfac = function FooterComponent_Factory(t) { 1966 return new (t || _FooterComponent)(); 1967 }; 1968 1969 _FooterComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ 1970 type: _FooterComponent, 1971 selectors: [["app-footer"]], 1972 decls: 15, 1973 vars: 1,
1974 consts: [["id", "footer", 1, "vertical-center", "align-items-center"], ["href", "https://www.facebook.com/virtrolio/", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/facebook.svg", "alt", "Our Facebook", 1, "social-icon"], ["href", "https://www.instagram.com/virtrolio/", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/instagram.svg", "alt", "Our Instagram", 1, "social-icon"], ["href", "mailto:[email protected]", "target", "_blank", 1, "m-4"], ["src", "../../../assets/images/icons/mail.svg", "alt", "Our Email", 1, "social-icon"], ["id", "legal"], ["href", "/terms-of-service"], ["href", "/privacy-policy"]], 1975 template: function FooterComponent_Template(rf, ctx) { 1976 if (rf & 1) { 1977 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "footer", 0); 1978 1979 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div"); 1980 1981 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 1); 1982 1983 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "img", 2); 1984 1985 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 1986 1987 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "a", 3); 1988 1989 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "img", 4); 1990 1991 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 1992 1993 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "a", 5); 1994 1995 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](7, "img", 6); 1996 1997 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 1998 1999 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 2000 2001 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "div", 7); 2002 2003 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "a", 8); 2004 2005 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, "Terms of Service"); 2006 2007 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 2008 2009 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " | "); 2010 2011 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "a", 9); 2012 2013 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, "Privacy Policy"); 2014 2015 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 2016 2017 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](14); 2018 2019 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 2020 2021 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 2022 } 2023 2024 if (rf & 2) { 2025 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](14); 2026 2027 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" | \xA9 Virtrolio 2020-", ctx.currentYear, " "); 2028 } 2029 }, 2030 styles: ["footer[_ngcontent-%COMP%] {\n left: 0;\n bottom: 0;\n margin-bottom: 0;\n width: 100%;\n background-color: var(--darkest-accent);\n color: white;\n position: relative;\n height: var(--footer-height);\n display: flex;\n flex-direction: column;\n z-index: 1000;\n}\n\nfooter[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] {\n margin: 0.3em 0;\n}\n\n#legal[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 0.8em;\n}\n\na[_ngcontent-%COMP%] {\n color: white;\n}\n\n.social-icon[_ngcontent-%COMP%] {\n height: 2em;\n width: 2em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsT0FBTztFQUNQLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsV0FBVztFQUNYLHVDQUF1QztFQUN2QyxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFVBQVU7QUFDWiIsImZpbGUiOiJmb290ZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImZvb3RlciB7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRhcmtlc3QtYWNjZW50KTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogdmFyKC0tZm9vdGVyLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbmZvb3RlciA+ICoge1xuICBtYXJnaW46IDAuM2VtIDA7XG59XG5cbiNsZWdhbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjhlbTtcbn1cblxuYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnNvY2lhbC1pY29uIHtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG59XG4iXX0= */"] 2031 }); 2032 /***/ 2033 }, 2034 2035 /***/ 2036 55249: 2037 /*!****************************************!*\ 2038 !*** ./src/app/core/login-resolver.ts ***! 2039 \****************************************/ 2040 2041 /***/ 2042 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2043 "use strict"; 2044 2045 __webpack_require__.r(__webpack_exports__); 2046 /* harmony export */ 2047 2048 2049 __webpack_require__.d(__webpack_exports__, { 2050 /* harmony export */ 2051 "LoginResolver": function LoginResolver() { 2052 return ( 2053 /* binding */ 2054 _LoginResolver 2055 ); 2056 } 2057 /* harmony export */ 2058 2059 }); 2060 /* harmony import */ 2061 2062 2063 var rxjs_operators__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 2064 /*! rxjs/operators */ 2065 15257); 2066 /* harmony import */ 2067 2068 2069 var firebase_auth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 2070 /*! firebase/auth */ 2071 71952); 2072 /* harmony import */ 2073 2074 2075 var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 2076 /*! @angular/core */ 2077 37716); 2078 /* harmony import */ 2079 2080 2081 var _angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 2082 /*! @angular/fire/auth */ 2083 49743); 2084 2085 var _LoginResolver = /*#__PURE__*/function () { 2086 function _LoginResolver(angularFireAuth) { 2087 _classCallCheck(this, _LoginResolver); 2088 2089 this.angularFireAuth = angularFireAuth; 2090 } // noinspection JSUnusedLocalSymbols 2091 2092 2093 _createClass(_LoginResolver, [{ 2094 key: "resolve", 2095 value: function resolve(route, state) { 2096 return this.angularFireAuth.user.pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_1__.take)(1)); 2097 } 2098 }]); 2099 2100 return _LoginResolver; 2101 }(); 2102 2103 _LoginResolver.ɵfac = function LoginResolver_Factory(t) { 2104 return new (t || _LoginResolver)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_fire_auth__WEBPACK_IMPORTED_MODULE_3__.AngularFireAuth)); 2105 }; 2106 2107 _LoginResolver.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ 2108 token: _LoginResolver, 2109 factory: _LoginResolver.ɵfac 2110 }); 2111 /***/ 2112 }, 2113 2114 /***/ 2115 84468: 2116 /*!****************************************!*\ 2117 !*** ./src/app/core/msg-io.service.ts ***! 2118 \****************************************/ 2119 2120 /***/ 2121 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2122 "use strict"; 2123 2124 __webpack_require__.r(__webpack_exports__); 2125 /* harmony export */ 2126 2127 2128 __webpack_require__.d(__webpack_exports__, { 2129 /* harmony export */ 2130 "MsgIoService": function MsgIoService() { 2131 return ( 2132 /* binding */ 2133 _MsgIoService 2134 ); 2135 } 2136 /* harmony export */ 2137 2138 }); 2139 /* harmony import */ 2140 2141 2142 var tslib__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( 2143 /*! tslib */ 2144 64762); 2145 /* harmony import */ 2146 2147 2148 var _angular_core__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 2149 /*! @angular/core */ 2150 37716); 2151 /* harmony import */ 2152 2153 2154 var rxjs_operators__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 2155 /*! rxjs/operators */ 2156 88002); 2157 /* harmony import */ 2158 2159 2160 var rxjs_operators__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__( 2161 /*! rxjs/operators */ 2162 15257); 2163 /* harmony import */ 2164 2165 2166 var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 2167 /*! ./common.service */ 2168 80150); 2169 /* harmony import */ 2170 2171 2172 var _font_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 2173 /*! ./font.service */ 2174 87181); 2175 /* harmony import */ 2176 2177 2178 var firebase_app__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 2179 /*! firebase/app */ 2180 42329); 2181 /* harmony import */ 2182 2183 2184 var firebase_firestore__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 2185 /*! firebase/firestore */ 2186 72491); 2187 /* harmony import */ 2188 2189
2190 var _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 2191 /*! ../shared/interfaces/messages */ 2192 38031); 2193 /* harmony import */ 2194 2195 2196 var _storage_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 2197 /*! ./storage.service */ 2198 66498); 2199 /* harmony import */ 2200 2201 2202 var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__( 2203 /*! @angular/fire/firestore */ 2204 56717); 2205 /* harmony import */ 2206 2207 2208 var _auth_service__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 2209 /*! ./auth.service */ 2210 87341); 2211 /* harmony import */ 2212 2213 2214 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__( 2215 /*! @angular/platform-browser */ 2216 39075); 2217 /* harmony import */ 2218 2219 2220 var _sharing_link_service__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 2221 /*! ./sharing-link.service */ 2222 84157); 2223 /* harmony import */ 2224 2225 2226 var _signing_service__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 2227 /*! ./signing.service */ 2228 89214); 2229 2230 var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_2__["default"].firestore; 2231 var Timestamp = firestore.Timestamp; 2232 2233 var _MsgIoService = /*#__PURE__*/function () { 2234 function _MsgIoService(afs, authService, sanitizer, sharingLinkService, signingService, storageService) { 2235 _classCallCheck(this, _MsgIoService); 2236 2237 this.afs = afs; 2238 this.authService = authService; 2239 this.sanitizer = sanitizer; 2240 this.sharingLinkService = sharingLinkService; 2241 this.signingService = signingService; 2242 this.storageService = storageService; 2243 this.messagesCollection = afs.collection('messages'); 2244 } 2245 /** 2246 * Helper method for sendMessage(). Checks the contents of the provided message to verify that there are no errors, 2247 * and that all required fields were provided. Throws an error if any field is incorrect or not provided. 2248 * @param message - The message to be checked. 2249 * @throws Error - If any field is blank, null, undefined or otherwise invalid. 2250 * @throws RangeError - If the contents of the message exceed the value of the maxMessageLength constant defined 2251 * in MsgIoService. 2252 */ 2253 2254 2255 _createClass(_MsgIoService, [{ 2256 key: "verifyMessage", 2257 value: function verifyMessage(message) { 2258 var sanitizedContents = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_9__.SecurityContext.HTML, message.contents); 2259 2260 if (typeof message.to === 'undefined' || !message.to) { 2261 // This condition (used several times below) checks for undefined, null or empty strings 2262 throw new Error('Recipient UID was not provided'); 2263 } else if (typeof message.contents === 'undefined' || !message.contents) { 2264 throw new Error('Message contents were not provided'); 2265 } else if (!/\S+/.test(message.contents)) { 2266 // Ensure messages does not solely consist of whitespace 2267 throw new Error('Message contents cannot solely consist of whitespace/blanks'); 2268 } else if (typeof message.backColor === 'undefined' || !message.backColor) { 2269 throw new Error('Background color was not provided'); 2270 } else if (typeof message.fontColor === 'undefined' || !message.fontColor) { 2271 throw new Error('Font color was not provided'); 2272 } else if (typeof message.fontFamily === 'undefined' || !message.fontFamily) { 2273 throw new Error('Font family was not provided'); 2274 } else if (sanitizedContents.length > _MsgIoService.MAX_MSG_LENGTH) { 2275 throw new RangeError('Message is too long. The max length is ' + _MsgIoService.MAX_MSG_LENGTH + ' characters, ' + 'and the provided message is ' + sanitizedContents.length + ' characters long.\n' + 'Remember that some character such as line breaks, emojis and other languages have a length longer than one per character.'); 2276 } else if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(message.fontColor)) { 2277 // Match for hex code such as: #FFFFFF 2278 throw new Error("Provided font color is not a valid hex code. Did you forget to include '#'?" + ' Provided color code: ' + message.fontColor); 2279 } else if (!/^#(?:[0-9a-fA-F]{3}){1,2}$/.test(message.backColor)) { 2280 // Match for hex code such as: #FFFFFF 2281 throw new Error("Provided background color is not a valid hex code. Did you forget to include '#'?" + ' Provided color code: ' + message.backColor); 2282 } else if (!(message.fontFamily in _font_service__WEBPACK_IMPORTED_MODULE_1__.FontService.FONTS)) { 2283 throw new Error("Provided font family is not supported or doesn't exist: " + message.fontFamily); 2284 } // Return not needed as an error will be thrown if something is wrong 2285 2286 } 2287 /** 2288 * @returns A blank VirtrolioMessageTemplate, which should be modified the returned template to fill in the user data 2289 * and then passed into MsgIoService.sendMessage(). 2290 */ 2291 2292 }, { 2293 key: "createBlankMessage", 2294 value: function createBlankMessage() {
2295 return new _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_4__.VirtrolioMessageTemplate(); 2296 } 2297 /** 2298 * Collects ALL messages from the Firestore messages database that were sent to a particular user. 2299 * Pay careful attention to the fields that are returned in a VirtrolioMessage by reading 2300 * shared/interfaces/messages.ts. A VirtrolioMessage is NOT identical to a VirtrolioMessageTemplate. 2301 * @returns An Observable that will contain an array of all messages sent to uid, including the message IDs. 2302 * @throws Error - If the argument is blank, null or undefined. 2303 */ 2304 2305 }, { 2306 key: "getMessages", 2307 value: function getMessages() { 2308 var _this6 = this; 2309 2310 this.authService.throwErrorIfLoggedOut('get your messages'); 2311 return this.afs.collection('messages', function (ref) { 2312 return ref.where('to', '==', _this6.authService.uid()).orderBy('timestamp', 'desc'); 2313 }).snapshotChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.map)(function (actions) { 2314 return actions.map(function (a) { 2315 var data = a.payload.doc.data(); 2316 var id = a.payload.doc.id; 2317 return Object.assign({ 2318 id: id 2319 }, data); 2320 }); 2321 })); 2322 } 2323 /** 2324 * Collects a SINGLE message from the Firestore messages database based on a message ID. 2325 * Pay careful attention to the fields that are returned in a VirtrolioMessage by reading 2326 * shared/interfaces/messages.ts. A VirtrolioMessage is NOT identical to a VirtrolioMessageTemplate. 2327 * @param msgID - The ID of the message to be received. 2328 */ 2329 2330 }, { 2331 key: "getMessage", 2332 value: function getMessage(msgID) { 2333 this.authService.throwErrorIfLoggedOut('fetch a message'); 2334 var msgRef = this.afs.collection('messages').doc(msgID); 2335 return msgRef.snapshotChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_10__.map)(function (document) { 2336 var data = document.payload.data(); 2337 var id = document.payload.id; 2338 return Object.assign({ 2339 id: id 2340 }, data); 2341 })); 2342 } 2343 /** 2344 * Marks the specified message as read by changing the isRead property of the message. 2345 * To avoid unnecessary writes, the caller of this method should check the isRead property prior to calling 2346 * this method. If that property is already true, this method should not be called. 2347 * The check should be done using the local copy of the message object that is used to display that message. 2348 * DO NOT get a new copy of the message - that would increase reads. 2349 * Assumes the message exists. 2350 * @param id - The ID of the message to mark as read. 2351 */ 2352 2353 }, { 2354 key: "markAsRead", 2355 value: function markAsRead(id) { 2356 return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee11() { 2357 return regeneratorRuntime.wrap(function _callee11$(_context11) { 2358 while (1) { 2359 switch (_context11.prev = _context11.next) { 2360 case 0: 2361 _context11.next = 2; 2362 return this.afs.collection('messages').doc(id).update({ 2363 isRead: true 2364 })["catch"](function (error) { 2365 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 2366 }); 2367 2368 case 2: 2369 case "end": 2370 return _context11.stop(); 2371 } 2372 } 2373 }, _callee11, this); 2374 })); 2375 } 2376 /** 2377 * Checks to see if the current user has already signed another user's virtrolio. 2378 * Assumes the UIDs were already checked to be valid. 2379 * @param toUID - The recipient of the message. 2380 * @returns true - If the current user has already signed the virtrolio of toUID. 2381 */ 2382 2383 }, { 2384 key: "checkForMessage", 2385 value: function checkForMessage(toUID) { 2386 return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee12() { 2387 var msgRef, msgDoc; 2388 return regeneratorRuntime.wrap(function _callee12$(_context12) { 2389 while (1) { 2390 switch (_context12.prev = _context12.next) { 2391 case 0: 2392 _context12.next = 2; 2393 return this.afs.collection('messages').doc(this.authService.uid() + '-' + toUID + '-' + _MsgIoService.CURRENT_VERSION); 2394 2395 case 2: 2396 msgRef = _context12.sent; 2397 _context12.next = 5; 2398 return msgRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_12__.take)(1)).toPromise(); 2399 2400 case 5: 2401 msgDoc = _context12.sent; 2402 return _context12.abrupt("return", !!msgDoc); 2403 2404 case 7: 2405 case "end": 2406 return _context12.stop(); 2407 } 2408 } 2409 }, _callee12, this); 2410 })); 2411 } 2412 /** 2413 * Used to send a Virtrolio message (defined by VirtrolioMessageTemplate) by adding it to the Firestore database. 2414 * @param messageTemplate - The contents and settings of the message. This should be a VirtrolioMessageTemplate that 2415 * was created by MsgIoService.createBlankMessage and then modified to fill in the user data. You should **NOT** try 2416 * to pass in a VirtrolioMessageTemplate that you create yourself. 2417 * @param key - The key of the recipient of the message. This should be extracted from the URL provided by the sender. 2418 * @throws RangeError - Thrown by helper method this.verifyMessage() 2419 * @throws Error - Thrown by helper method this.verifyMessage() 2420 * @throws TypeError - If the key is incorrect 2421 * @throws ReferenceError - If this method is called when logged out 2422 */ 2423 2424 }, { 2425 key: "sendMessage", 2426 value: function sendMessage(messageTemplate, key) { 2427 return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee13() { 2428 var keyIsCorrect, messageId, images, message, msgRef; 2429 return regeneratorRuntime.wrap(function _callee13$(_context13) { 2430 while (1) { 2431 switch (_context13.prev = _context13.next) { 2432 case 0:
2433 // Check message object contents for validity 2434 this.verifyMessage(messageTemplate); // Verify user is logged in 2435 2436 _context13.next = 3; 2437 return this.authService.asyncThrowErrorIfLoggedOut('send a message'); 2438 2439 case 3: 2440 _context13.next = 5; 2441 return this.checkForMessage(messageTemplate.to); 2442 2443 case 5: 2444 if (!_context13.sent) { 2445 _context13.next = 7; 2446 break; 2447 } 2448 2449 throw new Error("You have already signed this person's virtrolio. If you want to sign it again," + " you'll have to ask them to delete your original message first."); 2450 2451 case 7: 2452 _context13.next = 9; 2453 return this.sharingLinkService.checkKey(messageTemplate.to, key); 2454 2455 case 9: 2456 keyIsCorrect = _context13.sent; 2457 2458 if (!keyIsCorrect) { 2459 _context13.next = 36; 2460 break; 2461 } 2462 2463 // Remove XSS content from message contents 2464 messageTemplate.contents = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_9__.SecurityContext.HTML, messageTemplate.contents); // Generate target message id 2465 2466 messageId = this.authService.uid() + '-' + messageTemplate.to + '-' + _MsgIoService.CURRENT_VERSION; // Upload images 2467 2468 _context13.next = 15; 2469 return this.storageService.uploadImages(messageId, this.signingService.images); 2470 2471 case 15: 2472 images = _context13.sent; 2473 _context13.t0 = Object; 2474 _context13.t1 = Object.assign({}, messageTemplate); 2475 _context13.t2 = this.authService.uid(); 2476 _context13.t3 = Timestamp.now(); 2477 _context13.t4 = images; 2478 _context13.t5 = _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR; 2479 _context13.next = 24; 2480 return this.authService.displayName(); 2481 2482 case 24: 2483 _context13.t6 = _context13.sent; 2484 _context13.next = 27; 2485 return this.authService.profilePictureLink(); 2486 2487 case 27: 2488 _context13.t7 = _context13.sent; 2489 _context13.t8 = key; 2490 _context13.t9 = { 2491 from: _context13.t2, 2492 timestamp: _context13.t3, 2493 images: _context13.t4, 2494 isRead: false, 2495 year: _context13.t5, 2496 fromName: _context13.t6, 2497 fromPic: _context13.t7, 2498 key: _context13.t8 2499 }; 2500 message = _context13.t0.assign.call(_context13.t0, _context13.t1, _context13.t9); 2501 // Send the message 2502 msgRef = this.messagesCollection.doc(messageId); 2503 _context13.next = 34; 2504 return msgRef.set(message)["catch"](function (error) { 2505 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 2506 }); 2507 2508 case 34: 2509 _context13.next = 37; 2510 break; 2511 2512 case 36: 2513 throw new TypeError('Incorrect key'); 2514 2515 case 37: 2516 case "end": 2517 return _context13.stop(); 2518 } 2519 } 2520 }, _callee13, this); 2521 })); 2522 } 2523 /** 2524 * Deletes a message PERMANENTLY. The caller of this method is responsible for alerting the user that the deletion is 2525 * irreversible. 2526 * It is highly suggested that the caller display a confirmation dialog to confirm the deletion before calling this 2527 * method, as there is no way to reverse this operation. Not even if you say 'please'. 2528 * @param mID - The message/document ID of the message to be deleted. 2529 */ 2530 2531 }, { 2532 key: "deleteMessage", 2533 value: function deleteMessage(mID) { 2534 return (0, tslib__WEBPACK_IMPORTED_MODULE_11__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee14() { 2535 return regeneratorRuntime.wrap(function _callee14$(_context14) { 2536 while (1) { 2537 switch (_context14.prev = _context14.next) { 2538 case 0: 2539 _context14.next = 2; 2540 return this.storageService.deleteFiles("".concat(_storage_service__WEBPACK_IMPORTED_MODULE_5__.StorageService.MESSAGE_IMG_BASE_PATH, "/").concat(mID)); 2541 2542 case 2: 2543 _context14.next = 4; 2544 return this.afs.collection('messages').doc(mID)["delete"](); 2545 2546 case 4: 2547 case "end": 2548 return _context14.stop(); 2549 } 2550 } 2551 }, _callee14, this); 2552 })); 2553 } 2554 }]); 2555 2556 return _MsgIoService; 2557 }(); 2558 2559 _MsgIoService.CURRENT_VERSION = '2021.1'; 2560 _MsgIoService.MAX_MSG_LENGTH = 15000; 2561 2562 _MsgIoService.ɵfac = function MsgIoService_Factory(t) { 2563 return new (t || _MsgIoService)(_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_13__.AngularFirestore), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_6__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_14__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_sharing_link_service__WEBPACK_IMPORTED_MODULE_7__.SharingLinkService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_signing_service__WEBPACK_IMPORTED_MODULE_8__.SigningService), _angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵinject"](_storage_service__WEBPACK_IMPORTED_MODULE_5__.StorageService)); 2564 }; 2565 2566 _MsgIoService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_9__["ɵɵdefineInjectable"]({ 2567 token: _MsgIoService, 2568 factory: _MsgIoService.ɵfac, 2569 providedIn: 'root' 2570 }); 2571 /***/ 2572 }, 2573 2574 /***/ 2575 1239: 2576 /*!*************************************************!*\ 2577 !*** ./src/app/core/navbar/navbar.component.ts ***! 2578 \*************************************************/ 2579 2580 /***/ 2581 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 2582 "use strict"; 2583 2584 __webpack_require__.r(__webpack_exports__); 2585 /* harmony export */ 2586 2587 2588 __webpack_require__.d(__webpack_exports__, { 2589 /* harmony export */ 2590 "NavbarComponent": function NavbarComponent() { 2591 return ( 2592 /* binding */
2593 _NavbarComponent 2594 ); 2595 } 2596 /* harmony export */ 2597 2598 }); 2599 /* harmony import */ 2600 2601 2602 var _changelog_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 2603 /*! ./changelog.json */ 2604 80925); 2605 /* harmony import */ 2606 2607 2608 var _app_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 2609 /*! ../../app.component */ 2610 55041); 2611 /* harmony import */ 2612 2613 2614 var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 2615 /*! @angular/router */ 2616 39895); 2617 /* harmony import */ 2618 2619 2620 var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 2621 /*! @angular/core */ 2622 37716); 2623 /* harmony import */ 2624 2625 2626 var _auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 2627 /*! ../auth.service */ 2628 87341); 2629 /* harmony import */ 2630 2631 2632 var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 2633 /*! @angular/common */ 2634 38583); 2635 2636 function NavbarComponent_li_26_Template(rf, ctx) { 2637 if (rf & 1) { 2638 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "li", 37); 2639 } 2640 } 2641 2642 function NavbarComponent_div_36_Template(rf, ctx) { 2643 if (rf & 1) { 2644 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 38); 2645 2646 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "img", 39); 2647 2648 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2649 } 2650 2651 if (rf & 2) { 2652 var ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 2653 2654 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2655 2656 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", ctx_r1.authService.notAsyncProfilePictureLink(), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]); 2657 } 2658 } 2659 2660 function NavbarComponent_ng_container_60_div_1_span_4_Template(rf, ctx) { 2661 if (rf & 1) { 2662 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "span"); 2663 2664 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](1, "br"); 2665 2666 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "small"); 2667 2668 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "em"); 2669 2670 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4, "You can send one new message to each of your friends with this update! "); 2671 2672 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2673 2674 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5, "\uD83D\uDC8C"); 2675 2676 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2677 2678 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2679 } 2680 } 2681 2682 function NavbarComponent_ng_container_60_div_1_ng_container_6_li_1_Template(rf, ctx) { 2683 if (rf & 1) { 2684 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "li"); 2685 2686 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "span"); 2687 2688 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2); 2689 2690 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2691 2692 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "\xA0"); 2693 2694 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "u"); 2695 2696 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5); 2697 2698 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2699 2700 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](6); 2701 2702 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2703 } 2704 2705 if (rf & 2) { 2706 var item_r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit; 2707 2708 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2709 2710 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("class", item_r7.typeCSS); 2711 2712 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2713 2714 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"]("[", item_r7.type, "]"); 2715 2716 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3); 2717 2718 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](item_r7.location); 2719 2720 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2721 2722 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](": ", item_r7.content, " "); 2723 } 2724 } 2725 2726 function NavbarComponent_ng_container_60_div_1_ng_container_6_Template(rf, ctx) { 2727 if (rf & 1) { 2728 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0); 2729 2730 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, NavbarC
2730omponent_ng_container_60_div_1_ng_container_6_li_1_Template, 7, 4, "li", 40); 2731 2732 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"](); 2733 } 2734 2735 if (rf & 2) { 2736 var item_r7 = ctx.$implicit; 2737 2738 var ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](3); 2739 2740 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2741 2742 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", item_r7.betaFlag === false || ctx_r6.beta === true); 2743 } 2744 } 2745 2746 function NavbarComponent_ng_container_60_div_1_Template(rf, ctx) { 2747 if (rf & 1) { 2748 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div"); 2749 2750 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "p"); 2751 2752 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "strong"); 2753 2754 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3); 2755 2756 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2757 2758 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](4, NavbarComponent_ng_container_60_div_1_span_4_Template, 6, 0, "span", 40); 2759 2760 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2761 2762 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "ul"); 2763 2764 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](6, NavbarComponent_ng_container_60_div_1_ng_container_6_Template, 2, 1, "ng-container", 34); 2765 2766 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2767 2768 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2769 } 2770 2771 if (rf & 2) { 2772 var version_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"]().$implicit; 2773 2774 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3); 2775 2776 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"]("v", version_r3.versionNumber, " | ", version_r3.releaseDate, ""); 2777 2778 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2779 2780 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", version_r3.newMessageAvailable); 2781 2782 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2); 2783 2784 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", version_r3.items); 2785 } 2786 } 2787 2788 function NavbarComponent_ng_container_60_Template(rf, ctx) { 2789 if (rf & 1) { 2790 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerStart"](0); 2791 2792 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, NavbarComponent_ng_container_60_div_1_Template, 7, 4, "div", 40); 2793 2794 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementContainerEnd"](); 2795 } 2796 2797 if (rf & 2) { 2798 var version_r3 = ctx.$implicit; 2799 2800 var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 2801 2802 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 2803 2804 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", version_r3.betaUpdate === false || ctx_r2.beta === true); 2805 } 2806 } 2807 2808 var _c0 = function _c0() { 2809 return { 2810 exact: true 2811 }; 2812 }; 2813 2814 var _NavbarComponent = /*#__PURE__*/function () { 2815 function _NavbarComponent(authService, router) { 2816 _classCallCheck(this, _NavbarComponent); 2817 2818 this.authService = authService; 2819 this.router = router; 2820 this.changelog = _changelog_json__WEBPACK_IMPORTED_MODULE_0__; 2821 this.beta = _app_component__WEBPACK_IMPORTED_MODULE_1__.AppComponent.BETA; 2822 router.events.subscribe(function (event) { 2823 if (event instanceof _angular_router__WEBPACK_IMPORTED_MODULE_4__.NavigationStart) { 2824 $('#changelog').modal('hide'); 2825 } 2826 }); 2827 } 2828 2829 _createClass(_NavbarComponent, [{ 2830 key: "ngOnInit", 2831 value: function ngOnInit() { 2832 /* Make hamburger menu collapse on item click */ 2833 $('.navbar-nav>li>a').on('click', function () { 2834 $('.navbar-collapse').collapse('hide'); 2835 }); 2836 } 2837 }, { 2838 key: "ngOnDestroy", 2839 value: function ngOnDestroy() { 2840 $('#changelog').modal('hide'); 2841 } 2842 }]); 2843
2844 return _NavbarComponent; 2845 }(); 2846 2847 _NavbarComponent.ɵfac = function NavbarComponent_Factory(t) { 2848 return new (t || _NavbarComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router)); 2849 }; 2850 2851 _NavbarComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ 2852 type: _NavbarComponent, 2853 selectors: [["app-navbar"]], 2854 decls: 64, 2855 vars: 8, 2856 consts: [[1, "navbar", "navbar-expand-md", "navbar-dark", "bg-light"], ["id", "navbar_title", "routerLink", "", 1, "navbar-brand"], ["alt", "Virtrolio Logo", "height", "30", "src", "../../../assets/images/logo_inverted-circle.png", "width", "30", 1, "d-inline-block", "align-top"], ["aria-controls", "navbarNav", "aria-expanded", "false", "aria-label", "Toggle navigation", "data-target", "#navbarNav", "data-toggle", "collapse", "type", "button", 1, "navbar-toggler"], [1, "navbar-toggler-icon"], ["id", "navbarNav", 1, "collapse", "navbar-collapse"], [1, "navbar-nav", "ml-2"], [1, "nav-item"], ["routerLink", "", "routerLinkActive", "navbar-nav-active", 1, "nav-link", 3, "routerLinkActiveOptions"], ["routerLink", "my-virtrolio", "routerLinkActive", "navbar-nav-active", 1, "nav-link", 3, "hidden"], ["routerLink", "about", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["routerLink", "faq", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["routerLink", "contact", "routerLinkActive", "navbar-nav-active", 1, "nav-link"], ["role", "button", "data-toggle", "modal", "data-target", "#changelog", 1, "nav-link"], ["class", "dropdown-divider d-block d-sm-block d-md-none", 4, "ngIf"], [1, "nav-item", "d-block", "d-sm-block", "d-md-none"], ["routerLink", "settings", 1, "nav-link", 3, "hidden"], ["href", "#", 1, "nav-link", 3, "hidden", "click"], [1, "float-right", "d-none", "d-md-block", "d-lg-block", "d-xl-block"], [1, "dropdown", "dropleft"], ["aria-expanded", "false", "aria-haspopup", "true", "data-toggle", "dropdown", "href", "#", "id", "dropdownMenuLink", "role", "button"], ["class", "float-right profile-pic-container", 4, "ngIf"], ["aria-labelledby", "dropdownMenuButton", 1, "dropdown-menu"], ["routerLink", "settings", 1, "dropdown-item"], ["href", "#", "id", "logout-text", 1, "dropdown-item", 3, "click"], ["id", "changelog", "tabindex", "-1", "role", "dialog", "aria-labelledby", "changelog-label", "aria-hidden", "true", 1, "modal", "fade"], [1, "modal-dialog", "modal-dialog-centered", "modal-lg"], [1, "modal-content"], [1, "modal-header"], ["id", "changelog-label", 1, "modal-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close"], ["aria-hidden", "true"], ["id", "changelog-body", 1, "modal-body"], ["id", "changelog-note"], [4, "ngFor", "ngForOf"], [1, "modal-footer"], ["type", "button", "data-dismiss", "modal", 1, "btn", "btn-secondary"], [1, "dropdown-divider", "d-block", "d-sm-block", "d-md-none"], [1, "float-right", "profile-pic-container"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [4, "ngIf"]], 2857 template: function NavbarComponent_Template(rf, ctx) { 2858 if (rf & 1) { 2859 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "nav", 0); 2860 2861 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "a", 1); 2862 2863 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](2, "img", 2); 2864 2865 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, " Virtrolio "); 2866 2867 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2868 2869 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "button", 3); 2870 2871 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "span", 4); 2872 2873 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2874 2875 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5); 2876 2877 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "ul", 6); 2878 2879 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "li", 7); 2880 2881 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "a", 8); 2882 2883 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](10, "Home"); 2884 2885 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2886 2887 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2888 2889 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](11, "li", 7); 2890 2891 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "a", 9); 2892 2893 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13, "My virtrolio"); 2894 2895 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2896 2897 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2898 2899 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "li", 7); 2900 2901 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "a", 10); 2902 2903 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "About Us"); 2904 2905 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2906 2907 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2908 2909 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "li", 7); 2910 2911 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](18, "a", 11); 2912 2913 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](19, "FAQ"); 2914 2915 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2916 2917 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2918 2919 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "li", 7); 2920 2921 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](21, "a", 12); 2922 2923 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](22, "Contact Us"); 2924 2925 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2926 2927 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2928 2929 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](23, "li", 7); 2930 2931 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "a", 13); 2932 2933 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25, "What's New?"); 2934 2935 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2936 2937 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2938 2939 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](26, NavbarC
2939omponent_li_26_Template, 1, 0, "li", 14); 2940 2941 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "li", 15); 2942 2943 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](28, "a", 16); 2944 2945 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](29, "Settings"); 2946 2947 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2948 2949 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2950 2951 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](30, "li", 15); 2952 2953 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](31, "a", 17); 2954 2955 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function NavbarComponent_Template_a_click_31_listener() { 2956 return ctx.authService.logout(); 2957 }); 2958 2959 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](32, "Logout"); 2960 2961 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2962 2963 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2964 2965 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2966 2967 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2968 2969 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "div", 18); 2970 2971 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](34, "div", 19); 2972 2973 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](35, "a", 20); 2974 2975 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](36, NavbarComponent_div_36_Template, 2, 1, "div", 21); 2976 2977 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2978 2979 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](37, "div", 22); 2980 2981 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](38, "a", 23); 2982 2983 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](39, "Settings"); 2984 2985 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2986 2987 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](40, "a", 24); 2988 2989 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function NavbarComponent_Template_a_click_40_listener() { 2990 return ctx.authService.logout(); 2991 }); 2992 2993 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](41, "Logout"); 2994 2995 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2996 2997 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 2998 2999 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3000 3001 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3002 3003 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3004 3005 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](42, "div", 25); 3006 3007 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](43, "div", 26); 3008 3009 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](44, "div", 27); 3010 3011 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](45, "div", 28); 3012 3013 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](46, "h5", 29); 3014 3015 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](47, "Changelog"); 3016 3017 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3018 3019 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](48, "button", 30); 3020 3021 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](49, "span", 31); 3022 3023 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](50, "\xD7"); 3024 3025 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3026 3027 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3028 3029 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3030 3031 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](51, "div", 32); 3032 3033 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](52, "p"); 3034 3035 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](53, " New features, fixes, and updates will be posted here whenever we update the website! "); 3036 3037 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3038 3039 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](54, "p", 33); 3040 3041 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](55, "small"); 3042 3043 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](56, "Note: Whenever we release an update to the 'signing' page, we may, at our discretion, allow you to send "); 3044 3045 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](57, "em"); 3046 3047 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](58, "another"); 3048 3049 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3050 3051 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](59, " message to each of your friends' virtrolios as if it were a new year! This ensures that you will be able to enjoy any new features that we develop. Keep an eye out for versions with a \uD83D\uDC8C emoji next to them to see if you're allowed to send an extra message!"); 3052 3053 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3054 3055 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3056 3057 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](60, NavbarC
3057omponent_ng_container_60_Template, 2, 1, "ng-container", 34); 3058 3059 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3060 3061 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](61, "div", 35); 3062 3063 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](62, "button", 36); 3064 3065 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](63, " Close "); 3066 3067 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3068 3069 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3070 3071 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3072 3073 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3074 3075 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 3076 } 3077 3078 if (rf & 2) { 3079 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](9); 3080 3081 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("routerLinkActiveOptions", _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpureFunction0"](7, _c0)); 3082 3083 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3); 3084 3085 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn()); 3086 3087 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](14); 3088 3089 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.authService.isLoggedIn()); 3090 3091 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2); 3092 3093 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn()); 3094 3095 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3); 3096 3097 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("hidden", !ctx.authService.isLoggedIn()); 3098 3099 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5); 3100 3101 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.authService.isLoggedIn()); 3102 3103 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](24); 3104 3105 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.changelog); 3106 } 3107 }, 3108 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkActive, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf], 3109 styles: [".navbar[_ngcontent-%COMP%] {\r\n background: var(--accent);\r\n background: linear-gradient(\r\n 90deg,\r\n var(--navbar-left) 0%,\r\n var(--navbar-right) 100%\r\n );\r\n position: fixed;\r\n top: 0;\r\n width: 100%;\r\n z-index: 1;\r\n height: var(--navbar-height);\r\n padding: 0;\r\n}\r\n\r\n#navbar_title[_ngcontent-%COMP%] {\r\n font-family: Montserrat, sans-serif;\r\n font-weight: 400;\r\n color: white;\r\n margin-left: 1em;\r\n}\r\n\r\n#logout-text[_ngcontent-%COMP%] {\r\n color: red;\r\n}\r\n\r\n.navbar-nav-active[_ngcontent-%COMP%] {\r\n color: #ffffff !important;\r\n -webkit-text-decoration: underline #ffffffbf !important;\r\n text-decoration: underline #ffffffbf !important;\r\n text-underline-offset: 0.2em;\r\n}\r\n\r\n.navbar-nav[_ngcontent-%COMP%] li[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\r\n color: #fefefe;\r\n opacity: 0.75;\r\n}\r\n\r\n.navbar-nav[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:hover a[_ngcontent-%COMP%]:hover {\r\n color: #ffffff;\r\n opacity: 1;\r\n}\r\n\r\n.profile-pic[_ngcontent-%COMP%] {\r\n width: 100%;\r\n}\r\n\r\n.profile-pic[_ngcontent-%COMP%]:hover {\r\n opacity: 0.75;\r\n}\r\n\r\n.profile-pic-container[_ngcontent-%COMP%] {\r\n margin-right: 1em;\r\n}\r\n\r\n.navbar-collapse[_ngcontent-%COMP%] {\r\n background: rgba(255, 255, 255, 0);\r\n padding: 0 1em;\r\n}\r\n\r\n.navbar-toggler[_ngcontent-%COMP%] {\r\n margin-right: 1em;\r\n border-color: rgba(255, 255, 255, 0.2);\r\n}\r\n\r\n.navbar-toggler-icon[_ngcontent-%COMP%] {\r\n \r\n background-image: url('hamburger-icon-custom-white.svg');\r\n}\r\n\r\n\r\n\r\n@media (max-width: 767px) {\r\n .navbar-collapse[_ngcontent-%COMP%] {\r\n background: var(--accent);\r\n background: linear-gradient(\r\n 90deg,\r\n rgba(250, 128, 114, 1) 0%,\r\n rgba(251, 91, 91, 1) 100%\r\n );\r\n box-shadow: 0 0.5em 1em -1em black;\r\n border-radius: 0 0 1em 1em;\r\n font-weight: bold;\r\n padding-bottom: 1em;\r\n }\r\n}\r\n\r\n\r\n\r\n#changelog-body[_ngcontent-%COMP%] {\r\n max-height: 25em;\r\n overflow: auto;\r\n}\r\n\r\n#changelog-note[_ngcontent-%COMP%] {\r\n line-height: 1em;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n.changelog-new[_ngcontent-%COMP%] {\r\n color: #41af14;\r\n font-weight: bold;\r\n}\r\n\r\n\r\n\r\n.changelog-upd[_ngcontent-%COMP%] {\r\n color: dodgerblue;\r\n font-weight: bold;\r\n}\r\n\r\n\r\n\r\n.changelog-fix[_ngcontent-%COMP%] {\r\n color: red;\r\n font-weight: bold;\r\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UseUJBQXlCO0VBQ3pCOzs7O0dBSUM7RUFDRCxlQUFlO0VBQ2YsTUFBTTtFQUNOLFdBQVc7RUFDWCxVQUFVO0VBQ1YsNEJBQTRCO0VBQzVCLFVBQVU7QUFDWjs7QUFFQTtFQUNFLG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6Qix1REFBK0M7VUFBL0MsK0NBQStDO0VBQy9DLDRCQUE0QjtBQUM5Qjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsVUFBVTtBQUNaOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0Usa0NBQWtDO0VBQ2xDLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsc0NBQXNDO0FBQ3hDOztBQUVBO0VBQ0UsK0VBQStFO0VBQy9FLHdEQUE2RTtBQUMvRTs7QUFFQSwyQ0FBMkM7O0FBQzNDO0VBQ0U7SUFDRSx5QkFBeUI7SUFDekI7Ozs7S0FJQztJQUNELGtDQUFrQztJQUNsQywwQkFBMEI7SUFDMUIsaUJBQWlCO0lBQ2pCLG1CQUFtQjtFQUNyQjtBQUNGOztBQUVBLGNBQWM7O0FBQ2Q7RUFDRSxnQkFBZ0I7RUFDaEIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQSw2RkFBNkY7O0FBQzdGLCtCQUErQjs7QUFDL0I7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBLCtCQUErQjs7QUFDL0I7RUFDRSxpQkFBaUI7RUFDakIsaUJBQWlCO0FBQ25COztBQUVBLCtCQUErQjs7QUFDL0I7RUFDRSxVQUFVO0VBQ1YsaUJBQWlCO0FBQ25CIiwiZmlsZSI6Im5hdmJhci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdmJhciB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXHJcbiAgICA5MGRlZyxcclxuICAgIHZhcigtLW5hdmJhci1sZWZ0KSAwJSxcclxuICAgIHZhcigtLW5hdmJhci1yaWdodCkgMTAwJVxyXG4gICk7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxO1xyXG4gIGhlaWdodDogdmFyKC0tbmF2YmFyLWhlaWdodCk7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuI25hdmJhcl90aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDt
3109cclxuICBjb2xvcjogd2hpdGU7XHJcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcclxufVxyXG5cclxuI2xvZ291dC10ZXh0IHtcclxuICBjb2xvcjogcmVkO1xyXG59XHJcblxyXG4ubmF2YmFyLW5hdi1hY3RpdmUge1xyXG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgI2ZmZmZmZmJmICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJlbTtcclxufVxyXG5cclxuLm5hdmJhci1uYXYgbGkgYSB7XHJcbiAgY29sb3I6ICNmZWZlZmU7XHJcbiAgb3BhY2l0eTogMC43NTtcclxufVxyXG5cclxuLm5hdmJhci1uYXYgbGk6aG92ZXIgYTpob3ZlciB7XHJcbiAgY29sb3I6ICNmZmZmZmY7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLnByb2ZpbGUtcGljIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByb2ZpbGUtcGljOmhvdmVyIHtcclxuICBvcGFjaXR5OiAwLjc1O1xyXG59XHJcblxyXG4ucHJvZmlsZS1waWMtY29udGFpbmVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxufVxyXG5cclxuLm5hdmJhci1jb2xsYXBzZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcclxuICBwYWRkaW5nOiAwIDFlbTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyIHtcclxuICBtYXJnaW4tcmlnaHQ6IDFlbTtcclxuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyLWljb24ge1xyXG4gIC8qIFJlcGxhY2UgdGhlIGhhbWJ1cmdlciBpY29uIGltYWdlIHdpdGggYSBjdXN0b20gU1ZHIHRoYXQgaGFzIGN1c3RvbSBjb2xvdXJzICovXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvaGFtYnVyZ2VyLWljb24tY3VzdG9tLXdoaXRlLnN2Zyk7XHJcbn1cclxuXHJcbi8qIEFsdGVybmF0ZSBmb3JtYXR0aW5nIGZvciBtb2JpbGUgbmF2YmFyICovXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gIC5uYXZiYXItY29sbGFwc2Uge1xyXG4gICAgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgOTBkZWcsXHJcbiAgICAgIHJnYmEoMjUwLCAxMjgsIDExNCwgMSkgMCUsXHJcbiAgICAgIHJnYmEoMjUxLCA5MSwgOTEsIDEpIDEwMCVcclxuICAgICk7XHJcbiAgICBib3gtc2hhZG93OiAwIDAuNWVtIDFlbSAtMWVtIGJsYWNrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDFlbSAxZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XHJcbiAgfVxyXG59XHJcblxyXG4vKiBDaGFuZ2Vsb2cgKi9cclxuI2NoYW5nZWxvZy1ib2R5IHtcclxuICBtYXgtaGVpZ2h0OiAyNWVtO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4jY2hhbmdlbG9nLW5vdGUge1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbn1cclxuXHJcbi8qIFRoZXNlIGZvcm1hdCB0aGUgY2hhbmdlbG9nIGl0ZW1zIGFuZCBhcmUgdXNlZCBjb25kaXRpb25hbGx5LCBzbyBzdXBwcmVzc2lvbiBpcyBuZWNlc3NhcnkgKi9cclxuLypub2luc3BlY3Rpb24gQ3NzVW51c2VkU3ltYm9sKi9cclxuLmNoYW5nZWxvZy1uZXcge1xyXG4gIGNvbG9yOiAjNDFhZjE0O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4vKm5vaW5zcGVjdGlvbiBDc3NVbnVzZWRTeW1ib2wqL1xyXG4uY2hhbmdlbG9nLXVwZCB7XHJcbiAgY29sb3I6IGRvZGdlcmJsdWU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qbm9pbnNwZWN0aW9uIENzc1VudXNlZFN5bWJvbCovXHJcbi5jaGFuZ2Vsb2ctZml4IHtcclxuICBjb2xvcjogcmVkO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbiJdfQ== */"] 3110 }); 3111 /***/ 3112 }, 3113 3114 /***/ 3115 88989: 3116 /*!***********************************************!*\ 3117 !*** ./src/app/core/pending-changes.guard.ts ***! 3118 \***********************************************/ 3119 3120 /***/ 3121 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3122 "use strict"; 3123 3124 __webpack_require__.r(__webpack_exports__); 3125 /* harmony export */ 3126 3127 3128 __webpack_require__.d(__webpack_exports__, { 3129 /* harmony export */ 3130 "PendingChangesGuard": function PendingChangesGuard() { 3131 return ( 3132 /* binding */ 3133 _PendingChangesGuard 3134 ); 3135 } 3136 /* harmony export */ 3137 3138 }); 3139 /* harmony import */ 3140 3141 3142 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 3143 /*! @angular/core */ 3144 37716); 3145 3146 var _PendingChangesGuard = /*#__PURE__*/function () { 3147 function _PendingChangesGuard() { 3148 _classCallCheck(this, _PendingChangesGuard); 3149 } 3150 3151 _createClass(_PendingChangesGuard, [{ 3152 key: "canDeactivate", 3153 value: 3154 /** 3155 * Returns a warning if a user attempts to navigate away and canDeactivate() is false 3156 * Note that the warning message specified will only show when navigating within the angular app. 3157 * When navigating outside the app, the browser will show a generic confirm dialogue. 3158 * @param component - the component that will get deactivated 3159 */ 3160 function canDeactivate(component) { 3161 return component.canDeactivate() ? true : confirm('WARNING: Your message has not been sent yet. Press Cancel to go back to complete and send your message, or OK to discard your message.'); 3162 } 3163 }]); 3164 3165 return _PendingChangesGuard; 3166 }(); 3167 3168 _PendingChangesGuard.ɵfac = function PendingChangesGuard_Factory(t) { 3169 return new (t || _PendingChangesGuard)(); 3170 }; 3171 3172 _PendingChangesGuard.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineInjectable"]({ 3173 token: _PendingChangesGuard, 3174 factory: _PendingChangesGuard.ɵfac 3175 }); 3176 /***/ 3177 }, 3178 3179 /***/ 3180 84157: 3181 /*!**********************************************!*\ 3182 !*** ./src/app/core/sharing-link.service.ts ***! 3183 \**********************************************/ 3184 3185 /***/ 3186 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3187 "use strict"; 3188 3189 __webpack_require__.r(__webpack_exports__); 3190 /* harmony export */ 3191 3192 3193 __webpack_require__.d(__webpack_exports__, { 3194 /* harmony export */ 3195 "SharingLinkService": function SharingLinkService() { 3196 return ( 3197 /* binding */ 3198 _SharingLinkService 3199 ); 3200 } 3201 /* harmony export */ 3202 3203 }); 3204 /* harmony import */ 3205 3206 3207 var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 3208 /*! tslib */ 3209 64762); 3210 /* harmony import */ 3211 3212 3213 var rxjs_operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 3214 /*! rxjs/operators */ 3215 15257); 3216 /* harmony import */ 3217 3218 3219 var _auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 3220 /*! ./auth.service */ 3221 87341); 3222 /* harmony import */ 3223 3224 3225 var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 3226 /*! @angular/core */ 3227 37716); 3228 /* harmony import */ 3229 3230 3231 var _angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 3232 /*! @angular/fire/firestore */ 3233 56717); 3234 3235 var _SharingLinkService = /*#__PURE__*/function () { 3236 function _SharingLinkService(authService, afs) { 3237 _classCallCheck(this, _SharingLinkService); 3238 3239 this.authService = authService; 3240 this.afs = afs; 3241 } 3242 /** 3243 * Generates the shareable signing link for the current user. The signing link has two query parameters that are used 3244 * by Angular routerLink. The first is 'uid', which is the current user's Firebase Authentication User ID. 3245 * The second is 'key', which is generated by AppAuthService.changeKey(). 3246 * @returns The sharable signing link for the current user, usable by FriendLinkComponent. 3247 * @throws ReferenceError - If the user is not logged in 3248 */ 3249 3250 3251 _createClass(_SharingLinkService, [{ 3252 key: "getLink", 3253 value: function getLink() { 3254 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee15() { 3255 var link, user, userRef, userDoc, key; 3256 return regeneratorRuntime.wrap(function _callee15$(_context15) { 3257 while (1) { 3258 switch (_context15.prev = _context15.next) { 3259 case 0: 3260 _context15.next = 2; 3261 return this.authService.asyncThrowErrorIfLoggedOut('get your sharing link'); 3262 3263 case 2: 3264 link = 'https://virtrolio.web.app/signing?uid='; 3265 user = this.authService.uid(); 3266 link += user + '&key='; 3267 userRef = this.afs.collection('users').doc(user); 3268 _context15.next = 8; 3269 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise(); 3270 3271 case 8: 3272 userDoc = _context15.sent; 3273 3274 if (userDoc) { 3275 _context15.next = 15; 3276 break; 3277 } 3278 3279 _context15.next = 12; 3280 return this.authService.createUser(this.authService.getUser()); 3281 3282 case 12: 3283 _context15.next = 14; 3284 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise(); 3285 3286 case 14: 3287 userDoc = _context15.sent; 3288 3289 case 15: 3290 key = userDoc.key; 3291 3292 if (!(typeof key === 'undefined' || !key)) { 3293 _context15.next = 22; 3294 break; 3295 } 3296 3297 _context15.next = 19; 3298 return this.changeKey(); 3299 3300 case 19: 3301 _context15.next = 21; 3302 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise(); 3303 3304 case 21: 3305 key = _context15.sent.key; 3306 3307 case 22: 3308 link += key; 3309 return _context15.abrupt("return", link); 3310 3311 case 24: 3312 case "end": 3313 return _context15.stop(); 3314 } 3315 } 3316 }, _callee15, this); 3317 })); 3318 } 3319 /** 3320 * Verifies if the provided key matches the key for the provided user in the database. 3321 * Used to verify a correct link before allowing a user to sign someone else's Virtrolio. 3322 * @param uid - The user ID of the user to check the key against. Usually the **recipient** of the message. 3323 * @param key - The key provided by the sender to verify. Should be obtained from the provided 'key' query parameter 3324 * in the URL. 3325 * @returns - A promise evaluating to true if the key is correct, false if the key is incorrect. 3326 * @throws Error - If either argument is blank, null or undefined. 3327 * @throws ReferenceError - if the UID does not exist or the user is logged out. 3328 */ 3329 3330 }, { 3331 key: "checkKey", 3332 value: function checkKey(uid, key) { 3333 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee17() { 3334 var _this7 = this; 3335 3336 return regeneratorRuntime.wrap(function _callee17$(_context17) { 3337 while (1) { 3338 switch (_context17.prev = _context17.next) { 3339 case 0: 3340 if (!(typeof uid === 'undefined' || !uid)) { 3341 _context17.next = 4; 3342 break; 3343 } 3344 3345 throw new Error('Argument UID was not provided'); 3346 3347 case 4: 3348 if (!(typeof key === 'undefined' || !key)) { 3349 _context17.next = 6; 3350 break; 3351 } 3352 3353 throw new Error('Argument Key was not provided'); 3354 3355 case 6: 3356 _context17.next = 8; 3357 return this.authService.asyncThrowErrorIfLoggedOut('verify the key that you provided'); 3358 3359 case 8: 3360 return _context17.abrupt("return", this.authService.userExists(uid).then(function (userExists) { 3361 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(_this7, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee16() { 3362 var userRef, userDoc; 3363 return regeneratorRuntime.wrap(function _callee16$(_context16) { 3364 while (1) { 3365 switch (_context16.prev = _context16.next) { 3366 case 0: 3367 if (!userExists) { 3368 _context16.next = 8; 3369 break; 3370 } 3371 3372 userRef = this.afs.collection('users').doc(uid); 3373 _context16.next = 4; 3374 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise(); 3375 3376 case 4: 3377 userDoc = _context16.sent; 3378 return _context16.abrupt("return", key === userDoc.key); 3379 3380 case 8: 3381 throw new ReferenceError("User does not exist in the 'users' database"); 3382 3383 case 9: 3384 case "end": 3385 return _context16.stop(); 3386 } 3387 } 3388 }, _callee16, this); 3389 })); 3390 })); 3391 3392 case 9: 3393 case "end": 3394 return _context17.stop(); 3395 } 3396 } 3397 }, _callee17, this); 3398 })); 3399 } 3400 /** 3401 * Replaces the current user's key with a new and randomly generated key. 3402 * No parameters are expected because only the key of the currently logged in user can be changed. 3403 * Assumes that the user is logged in (components using this method should be protected using AuthGuard) 3404 * @throws ReferenceError - If the user is not logged in 3405 */ 3406 3407 }, { 3408 key: "changeKey", 3409 value: function changeKey() { 3410 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee18() { 3411 var user, userRef, userDoc, oldKey, newKey; 3412 return regeneratorRuntime.wrap(function _callee18$(_context18) { 3413 while (1) { 3414 switch (_context18.prev = _context18.next) { 3415 case 0: 3416 _context18.next = 2; 3417 return this.authService.asyncThrowErrorIfLoggedOut('change your key'); 3418 3419 case 2: 3420 user = this.authService.uid(); 3421 userRef = this.afs.collection('users').doc(user); 3422 _context18.next = 6; 3423 return userRef.valueChanges().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_2__.take)(1)).toPromise(); 3424 3425 case 6: 3426 userDoc = _context18.sent; 3427 3428 if ('key' in userDoc) { 3429 _context18.next = 11; 3430 break; 3431 } 3432 3433 return _context18.abrupt("return", userRef.update({ 3434 key: _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey() 3435 })); 3436 3437 case 11: 3438 // If the key does exist, need to make sure the new key is unique 3439 oldKey = userDoc.key; 3440 newKey = _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey(); 3441 3442 while (oldKey === newKey) { 3443 newKey = _auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService.generateKey(); 3444 } 3445 3446 return _context18.abrupt("return", userRef.update({ 3447 key: newKey 3448 })); 3449 3450 case 15: 3451 case "end": 3452 return _context18.stop(); 3453 } 3454 } 3455 }, _callee18, this); 3456 })); 3457 } 3458 }]); 3459 3460 return _SharingLinkService; 3461 }(); 3462 3463 _SharingLinkService.ɵfac = function SharingLinkService_Factory(t) { 3464 return new (t || _SharingLinkService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_auth_service__WEBPACK_IMPO
3464RTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_fire_firestore__WEBPACK_IMPORTED_MODULE_4__.AngularFirestore)); 3465 }; 3466 3467 _SharingLinkService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ 3468 token: _SharingLinkService, 3469 factory: _SharingLinkService.ɵfac, 3470 providedIn: 'root' 3471 }); 3472 /***/ 3473 }, 3474 3475 /***/ 3476 49001: 3477 /*!***************************************!*\ 3478 !*** ./src/app/core/signing.guard.ts ***! 3479 \***************************************/ 3480 3481 /***/ 3482 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3483 "use strict"; 3484 3485 __webpack_require__.r(__webpack_exports__); 3486 /* harmony export */ 3487 3488 3489 __webpack_require__.d(__webpack_exports__, { 3490 /* harmony export */ 3491 "SigningGuard": function SigningGuard() { 3492 return ( 3493 /* binding */ 3494 _SigningGuard 3495 ); 3496 } 3497 /* harmony export */ 3498 3499 }); 3500 /* harmony import */ 3501 3502 3503 var _common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 3504 /*! ./common.service */ 3505 80150); 3506 /* harmony import */ 3507 3508 3509 var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 3510 /*! @angular/core */ 3511 37716); 3512 /* harmony import */ 3513 3514 3515 var _auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 3516 /*! ./auth.service */ 3517 87341); 3518 /* harmony import */ 3519 3520 3521 var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 3522 /*! @angular/router */ 3523 39895); 3524 /* harmony import */ 3525 3526 3527 var _msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 3528 /*! ./msg-io.service */ 3529 84468); 3530 /* harmony import */ 3531 3532 3533 var _sharing_link_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 3534 /*! ./sharing-link.service */ 3535 84157); 3536 /** 3537 * AuthGuard on all /signing pages. Redirects to /signing-auth-redirect if not signed in, redirect to /invalid-link 3538 * if invalid uid or key. 3539 * 3540 * @param uid - extracted from url manually using RegEx 3541 * @param key - extracted from url manually using RegEx 3542 * 3543 */ 3544 3545 3546 var _SigningGuard = /*#__PURE__*/function () { 3547 function _SigningGuard(authService, route, router, msgIOService, sharingLinkService) { 3548 _classCallCheck(this, _SigningGuard); 3549 3550 this.authService = authService; 3551 this.route = route; 3552 this.router = router; 3553 this.msgIOService = msgIOService; 3554 this.sharingLinkService = sharingLinkService; 3555 this.maintenance = false; 3556 } // noinspection JSUnusedLocalSymbols 3557 3558 3559 _createClass(_SigningGuard, [{ 3560 key: "canActivate", 3561 value: function canActivate(next, state) { 3562 var _this8 = this; 3563 3564 if (this.maintenance) { 3565 this.router.navigate(['/maintenance'])["catch"](function (e) { 3566 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); 3567 }); 3568 return false; 3569 } else { 3570 // Regex Extraction of 'uid' and 'key' params 3571 try { 3572 var linkStr = window.location.href; 3573 _SigningGuard.uid = linkStr.match(/uid=([^&]*)/)[1]; 3574 _SigningGuard.key = linkStr.match(/key=([^&]*)/)[1]; 3575 } catch (error) { 3576 // Displaying alert is not necessary since an error is only thrown when one of the query params is 3577 // missing/invalid = invalid link 3578 this.router.navigate(['/invalid-link'])["catch"](function (error) { 3579 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 3580 }); 3581 } // User must be signed in 3582 3583 3584 return this.authService.asyncIsLoggedIn().then(function (isLoggedIn) { 3585 if (!isLoggedIn) { 3586 _this8.router.navigate(['/signing-auth-redirect'], { 3587 queryParams: { 3588 uid: _SigningGuard.uid, 3589 key: _SigningGuard.key 3590 } 3591 })["catch"](function (e) { 3592 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); 3593 }); 3594 3595 return false;
3596 } else { 3597 // Sender must not have previously signed the recipient's virtrolio 3598 return _this8.sharingLinkService.checkKey(_SigningGuard.uid, _SigningGuard.key).then(function (validKey) { 3599 if (validKey === false) { 3600 _this8.router.navigate(['/invalid-link'])["catch"](function (error) { 3601 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 3602 }); 3603 3604 return false; 3605 } 3606 3607 _this8.msgIOService.checkForMessage(_SigningGuard.uid).then(function (signed) { 3608 if (signed) { 3609 _this8.router.navigate(['/rejecc'])["catch"](function (error) { 3610 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 3611 }); 3612 3613 return false; 3614 } else { 3615 return true; 3616 } 3617 })["catch"](function (error) { 3618 // Only possibilities for a Firebase error getting thrown: 3619 // 1. Not logged in 3620 // 2. Requested message was NOT sent by current user (impossible based on logic of checkMessage() 3621 // unless someone modifies the source code) 3622 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 3623 3624 _this8.router.navigate(['/signing-auth-redirect'], { 3625 queryParams: { 3626 uid: _SigningGuard.uid, 3627 key: _SigningGuard.key 3628 } 3629 })["catch"](function (navError) { 3630 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(navError); 3631 }); 3632 }); 3633 3634 return true; 3635 })["catch"](function (error) { 3636 _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 3637 3638 _this8.router.navigate(['/invalid-link'])["catch"](function (e) { 3639 return _common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); 3640 }); 3641 3642 return false; 3643 }); 3644 } 3645 }); 3646 } 3647 } 3648 }]); 3649 3650 return _SigningGuard; 3651 }(); 3652 3653 _SigningGuard.uid = 'invalid'; 3654 _SigningGuard.key = 'invalid'; 3655 3656 _SigningGuard.ɵfac = function SigningGuard_Factory(t) { 3657 return new (t || _SigningGuard)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_5__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_5__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵinject"](_sharing_link_service__WEBPACK_IMPORTED_MODULE_3__.SharingLinkService)); 3658 }; 3659 3660 _SigningGuard.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineInjectable"]({ 3661 token: _SigningGuard, 3662 factory: _SigningGuard.ɵfac, 3663 providedIn: 'root' 3664 }); 3665 /***/ 3666 }, 3667 3668 /***/ 3669 89214: 3670 /*!*****************************************!*\ 3671 !*** ./src/app/core/signing.service.ts ***! 3672 \*****************************************/ 3673 3674 /***/ 3675 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3676 "use strict"; 3677 3678 __webpack_require__.r(__webpack_exports__); 3679 /* harmony export */ 3680 3681 3682 __webpack_require__.d(__webpack_exports__, { 3683 /* harmony export */ 3684 "SigningService": function SigningService() { 3685 return ( 3686 /* binding */ 3687 _SigningService 3688 ); 3689 } 3690 /* harmony export */ 3691 3692 }); 3693 /* harmony import */ 3694 3695 3696 var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 3697 /*! @angular/core */ 3698 37716); 3699 /* harmony import */ 3700 3701 3702 var _msg_io_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 3703 /*! ./msg-io.service */ 3704 84468); 3705 /* harmony import */ 3706 3707 3708 var _font_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 3709 /*! ./font.service */ 3710 87181); 3711 /* harmony import */ 3712 3713 3714 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 3715 /*! @angular/platform-browser */ 3716 39075); 3717 3718 var _SigningService = /*#__PURE__*/function () { 3719 function _SigningService(sanitizer) { 3720 _classCallCheck(this, _SigningService); 3721 3722 this.sanitizer = sanitizer; 3723 this.fontDict = _font_service__WEBPACK_IMPORTED_MODULE_1__.FontService.FONTS;
3724 this.maxCharCount = _msg_io_service__WEBPACK_IMPORTED_MODULE_0__.MsgIoService.MAX_MSG_LENGTH; 3725 } 3726 /** 3727 * Sets all class variables to their default values 3728 */ 3729 3730 3731 _createClass(_SigningService, [{ 3732 key: "resetDefaultValues", 3733 value: function resetDefaultValues() { 3734 this.signingBoxText = ''; 3735 this.sanitizedText = ''; 3736 this.backgroundColor = '#ffffff'; 3737 this.textColor = '#000000'; 3738 this.canSend = false; 3739 this.charCount = 0; 3740 this.charCountColor = '#bbbbbb'; 3741 this.currentFont = 'Arial'; 3742 this.currentFontFamily = 'Arial, sans-serif'; 3743 this.currentFontDisplay = 'Arial'; 3744 this.images = []; 3745 this.imageURLs = []; 3746 } 3747 /** 3748 * @param font - Font selected from dropdown menu 3749 */ 3750 3751 }, { 3752 key: "selectFont", 3753 value: function selectFont(font) { 3754 this.currentFont = font; 3755 this.currentFontFamily = font + ',' + this.fontDict[font].backupFont; 3756 this.currentFontDisplay = this.fontDict[font].fontFamily; 3757 } 3758 /** 3759 * Adds markdown formatting characters around selected text within textbox. 3760 * @param textbox - textbox in which user types. 3761 * @param formatChars - formatting character(s) to be placed around the selected text 3762 * @param endChars - Optional - The ending character, if different from the starting character 3763 */ 3764 3765 }, { 3766 key: "addFormatting", 3767 value: function addFormatting(textbox, formatChars, endChars) { 3768 var start = textbox.selectionStart; 3769 var end = textbox.selectionEnd; 3770 var text = textbox.value; 3771 var scrollPos = textbox.scrollTop; // If the end character was not provided, we assume it will be the same as the start character 3772 3773 if (typeof endChars === 'undefined' || !endChars) { 3774 endChars = formatChars; 3775 } 3776 3777 textbox.value = this.signingBoxText = text.slice(0, start) + formatChars + text.slice(start, end) + endChars + text.slice(end); // timeout so that it sets the selection range AFTER the textbox is modified 3778 3779 setTimeout(function () { 3780 textbox.focus(); 3781 textbox.scrollTop = scrollPos; // special case for underline or if no text was highlighted 3782 // underline should always be on the outside (since it's html instead of markdown) 3783 3784 if (formatChars === '<u>' || start === end) { 3785 textbox.setSelectionRange(start + formatChars.length, end + formatChars.length); 3786 } // otherwise keep the text highlighted 3787 else { 3788 textbox.setSelectionRange(start, end + formatChars.length + endChars.length); 3789 } 3790 }, 0); 3791 } 3792 /** 3793 * Update character count value and text colour 3794 * @param textbox - textbox in which user types. 3795 */ 3796 3797 }, { 3798 key: "updateCount", 3799 value: function updateCount(textbox) { 3800 this.sanitizedText = this.sanitizer.sanitize(_angular_core__WEBPACK_IMPORTED_MODULE_2__.SecurityContext.HTML, this.signingBoxText); 3801 this.charCount = this.sanitizedText.length; 3802 this.charCountColor = this.charCount > this.maxCharCount ? '#EE1111' : '#b0b0b0'; 3803 this.canSend = 0 < this.charCount && this.charCount <= this.maxCharCount; 3804 } 3805 }]); 3806 3807 return _SigningService; 3808 }(); 3809 3810 _SigningService.ɵfac = function SigningService_Factory(t) { 3811 return new (t || _SigningService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.DomSanitizer)); 3812 }; 3813 3814 _SigningService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ 3815 token: _SigningService, 3816 factory: _SigningService.ɵfac, 3817 providedIn: 'root' 3818 }); 3819 /***/ 3820 }, 3821 3822 /***/ 3823 66498: 3824 /*!*****************************************!*\ 3825 !*** ./src/app/core/storage.service.ts ***! 3826 \*****************************************/ 3827 3828 /***/ 3829 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3830 "use strict"; 3831 3832 __webpack_require__.r(__webpack_exports__); 3833 /* harmony export */ 3834 3835 3836 __webpack_require__.d(__webpack_exports__, { 3837 /* harmony export */ 3838 "StorageService": function StorageService() { 3839 return ( 3840 /* binding */ 3841 _StorageService 3842 ); 3843 } 3844 /* harmony export */ 3845 3846 }); 3847 /* harmony import */ 3848 3849 3850 var tslib__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 3851 /*! tslib */ 3852 64762); 3853 /* harmony import */ 3854 3855 3856 var uuid__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 3857 /*! uuid */ 3858 61319); 3859 /* harmony import */ 3860 3861 3862 var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 3863 /*! @angular/core */ 3864 37716); 3865 /* harmony import */ 3866 3867 3868 var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 3869 /*! @angular/fire/storage */ 3870 68274); 3871 3872 var _StorageService = /*#__PURE__*/function () { 3873 function _StorageService(storageService) { 3874 _classCallCheck(this, _StorageService); 3875 3876 this.storageService = storageService; 3877 } 3878 3879 _createClass(_StorageService, [{ 3880 key: "uploadImages", 3881 value: function uploadImages(messageId, images) { 3882 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee20() { 3883 var _this9 = this; 3884 3885 return regeneratorRuntime.wrap(function _callee20$(_context20) { 3886 while (1) { 3887 switch (_context20.prev = _context20.next) { 3888 case 0: 3889 if (!(images.length === 0)) { 3890 _context20.next = 2; 3891 break; 3892 } 3893 3894 return _context20.abrupt("return", []); 3895 3896 case 2: 3897 return _context20.abrupt("return", Promise.all(images.map(function (imageFile) { 3898 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(_this9, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee19() { 3899 var extension, targetPath, targetStorageRef, uploadTask; 3900 return regeneratorRuntime.wrap(function _callee19$(_context19) { 3901 while (1) { 3902 switch (_context19.prev = _context19.next) { 3903 case 0: 3904 extension = _StorageService.getFileExtension(imageFile); 3905 targetPath = _StorageService.generatePath(messageId, extension); 3906 targetStorageRef = this.storageService.ref(targetPath); 3907 uploadTask = targetStorageRef.put(imageFile); // Wait for the upload to complete 3908 3909 _context19.next = 6; 3910 return uploadTask.snapshotChanges().toPromise(); 3911 3912 case 6: 3913 return _context19.abrupt("return", targetPath); 3914 3915 case 7: 3916 case "end": 3917 return _context19.stop(); 3918 } 3919 } 3920 }, _callee19, this); 3921 })); 3922 }))); 3923 3924 case 3: 3925 case "end": 3926 return _context20.stop(); 3927 } 3928 } 3929 }, _callee20); 3930 })); 3931 } 3932 /** 3933 * Delete all files in the folder provided. 3934 * 3935 * @param folderPath - The folder to delete. 3936 */ 3937 3938 }, { 3939 key: "deleteFiles", 3940 value: function deleteFiles(folderPath) { 3941 return (0, tslib__WEBPACK_IMPORTED_MODULE_1__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee21() { 3942 return regeneratorRuntime.wrap(function _callee21$(_context21) { 3943 while (1) { 3944 switch (_context21.prev = _context21.next) { 3945 case 0: 3946 this.storageService.ref(folderPath).listAll().toPromise().then(function (res) {
3947 return res.items.forEach(function (file) { 3948 return file["delete"](); 3949 }); 3950 }); 3951 3952 case 1: 3953 case "end": 3954 return _context21.stop(); 3955 } 3956 } 3957 }, _callee21, this); 3958 })); 3959 } 3960 }], [{ 3961 key: "getFileExtension", 3962 value: function getFileExtension(file) { 3963 return file.name.split('.').pop(); 3964 } 3965 }, { 3966 key: "generatePath", 3967 value: function generatePath(messageId, extension) { 3968 return "".concat(_StorageService.MESSAGE_IMG_BASE_PATH, "/").concat(messageId, "/").concat((0, uuid__WEBPACK_IMPORTED_MODULE_0__["default"])(), ".").concat(extension); 3969 } 3970 }]); 3971 3972 return _StorageService; 3973 }(); 3974 3975 _StorageService.MESSAGE_IMG_BASE_PATH = 'messages'; 3976 3977 _StorageService.ɵfac = function StorageService_Factory(t) { 3978 return new (t || _StorageService)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵinject"](_angular_fire_storage__WEBPACK_IMPORTED_MODULE_3__.AngularFireStorage)); 3979 }; 3980 3981 _StorageService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineInjectable"]({ 3982 token: _StorageService, 3983 factory: _StorageService.ɵfac, 3984 providedIn: 'root' 3985 }); 3986 /***/ 3987 }, 3988 3989 /***/ 3990 91225: 3991 /*!*****************************************!*\ 3992 !*** ./src/app/core/viewing.service.ts ***! 3993 \*****************************************/ 3994 3995 /***/ 3996 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 3997 "use strict"; 3998 3999 __webpack_require__.r(__webpack_exports__); 4000 /* harmony export */ 4001 4002 4003 __webpack_require__.d(__webpack_exports__, { 4004 /* harmony export */ 4005 "ViewingService": function ViewingService() { 4006 return ( 4007 /* binding */ 4008 _ViewingService 4009 ); 4010 } 4011 /* harmony export */ 4012 4013 }); 4014 /* harmony import */ 4015 4016 4017 var _font_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 4018 /*! ./font.service */ 4019 87181); 4020 /* harmony import */ 4021 4022 4023 var _common_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 4024 /*! ./common.service */ 4025 80150); 4026 /* harmony import */ 4027 4028 4029 var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 4030 /*! @angular/core */ 4031 37716); 4032 /* harmony import */ 4033 4034 4035 var _msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 4036 /*! ./msg-io.service */ 4037 84468); 4038 /* harmony import */ 4039 4040 4041 var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 4042 /*! @angular/router */ 4043 39895); 4044 /* harmony import */ 4045 4046 4047 var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 4048 /*! @angular/common */ 4049 38583); 4050 /* harmony import */ 4051 4052 4053 var ngx_toastr__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 4054 /*! ngx-toastr */ 4055 49344); 4056 4057 var _ViewingService = /*#__PURE__*/function () { 4058 /** 4059 * Retrieve message data from database 4060 */ 4061 function _ViewingService(msgIo, route, router, vps, toastr) { 4062 _classCallCheck(this, _ViewingService); 4063 4064 this.msgIo = msgIo; 4065 this.route = route; 4066 this.router = router; 4067 this.vps = vps; 4068 this.toastr = toastr; 4069 this.isCarouselView = false; 4070 this.fonts = _font_service__WEBPACK_IMPORTED_MODULE_0__.FontService.FONTS; 4071 } 4072 4073 _createClass(_ViewingService, [{ 4074 key: "getMessageById", 4075 value: function getMessageById(id) { 4076 var _this10 = this; 4077 4078 this.msgIo.getMessage(id).subscribe(function (message) { 4079 _this10.singleMessage = message; 4080 }); 4081 } 4082 }, { 4083 key: "decodeHtml", 4084 value: function decodeHtml(html) { 4085 var txt = document.createElement('textarea'); 4086 txt.innerHTML = html; 4087 return txt.value; 4088 } 4089 /** 4090 * Format the timestamp depending on how much time as elapsed 4091 * @param nowMillis time in milliseconds upon ngOnInit() 4092 * @param millis message Timestamp in milliseconds 4093 * @param date message Timestamp as a date 4094 */ 4095 4096 }, { 4097 key: "timeSince", 4098 value: function timeSince(nowMillis, millis, date) { 4099 var secondsPast = (nowMillis - millis) / 1000; 4100 4101 if (secondsPast < 1) { 4102 return 'Just now'; 4103 } 4104 4105 if (secondsPast < 60) { 4106 return Math.round(secondsPast).toString() + 's ago'; 4107 } 4108 4109 if (secondsPast < 3600) { 4110 return Math.round(secondsPast / 60).toString() + 'm ago'; 4111 } 4112 4113 if (secondsPast < 86400) { 4114 return Math.round(secondsPast / 3600).toString() + 'h ago'; 4115 } 4116 4117 if (secondsPast <= 172800) { 4118 return '1 day ago'; 4119 } 4120 4121 if (secondsPast <= 604800) { 4122 return Math.round(secondsPast / 86400).toString() + ' days ago'; 4123 } 4124 4125 if (secondsPast > 604800) { 4126 // Return the full date if the Timestamp is past a week ago 4127 return date; 4128 } 4129 } 4130 /** 4131 * Format the timestamp depending on how much time as elapsed 4132 * @param date message Timestamp as a date 4133 */ 4134 4135 }, { 4136 key: "getDateSent", 4137 value: function getDateSent(date) { 4138 return date; 4139 } 4140 /** 4141 * When you click 'x' on a message, messageToDelete will be assigned the value of that message's id 4142 * @param mID message id 4143 */ 4144 4145 }, { 4146 key: "setMessageToDelete", 4147 value: function setMessageToDelete(mID) { 4148 this.messageToDelete = mID; 4149 } 4150 /** 4151 * Wrapper around deleteMessage() 4152 */ 4153 4154 }, { 4155 key: "deleteMessage", 4156 value: function deleteMessage() { 4157 var _this11 = this; 4158 4159 this.msgIo.deleteMessage(this.messageToDelete).then(function () { 4160 _this11.toastr.success('Message deleted successfully', 'Poof!', { 4161 positionClass: 'toast-bottom-full-width' 4162 }); 4163 })["catch"](function (e) { 4164 _common_service__WEBPACK_IMPORTED_MODULE_1__.CommonService.displayError(e); 4165 }); 4166 } 4167 /** 4168 * Append messageId query params to the url 4169 * @param id messageId 4170 */ 4171 4172 }, { 4173 key: "bookmarkMessage", 4174 value: function bookmarkMessage(id) {} 4175 }]); 4176 4177 return _ViewingService; 4178 }(); 4179 4180 _ViewingService.ɵfac = function ViewingService_Factory(t) { 4181 return new (t || _ViewingService)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](_angular_common__WEBPACK_IMPORTED_MODULE_5__.Vie
4181wportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵinject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_6__.ToastrService)); 4182 }; 4183 4184 _ViewingService.ɵprov = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineInjectable"]({ 4185 token: _ViewingService, 4186 factory: _ViewingService.ɵfac, 4187 providedIn: 'root' 4188 }); 4189 /***/ 4190 }, 4191 4192 /***/ 4193 73794: 4194 /*!************************************************!*\ 4195 !*** ./src/app/pages/about/about.component.ts ***! 4196 \************************************************/ 4197 4198 /***/ 4199 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4200 "use strict"; 4201 4202 __webpack_require__.r(__webpack_exports__); 4203 /* harmony export */ 4204 4205 4206 __webpack_require__.d(__webpack_exports__, { 4207 /* harmony export */ 4208 "AboutComponent": function AboutComponent() { 4209 return ( 4210 /* binding */ 4211 _AboutComponent 4212 ); 4213 } 4214 /* harmony export */ 4215 4216 }); 4217 /* harmony import */ 4218 4219 4220 var _contributors_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 4221 /*! ./contributors.json */ 4222 53679); 4223 /* harmony import */ 4224 4225 4226 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 4227 /*! @angular/core */ 4228 37716); 4229 /* harmony import */ 4230 4231 4232 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 4233 /*! @angular/platform-browser */ 4234 39075); 4235 /* harmony import */ 4236 4237 4238 var _angular_router__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 4239 /*! @angular/router */ 4240 39895); 4241 /* harmony import */ 4242 4243 4244 var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 4245 /*! @angular/common */ 4246 38583); 4247 4248 function AboutComponent_div_39_div_14_Template(rf, ctx) { 4249 if (rf & 1) { 4250 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div"); 4251 4252 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " GitHub: "); 4253 4254 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24); 4255 4256 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3); 4257 4258 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4259 4260 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4261 } 4262 4263 if (rf & 2) { 4264 var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit; 4265 4266 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 4267 4268 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://github.com/", contributor_r1.social.github, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4269 4270 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4271 4272 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.social.github); 4273 } 4274 } 4275 4276 function AboutComponent_div_39_div_15_a_2_Template(rf, ctx) { 4277 if (rf & 1) { 4278 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "a", 24); 4279 4280 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1); 4281 4282 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4283 } 4284 4285 if (rf & 2) { 4286 var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](2).$implicit; 4287 4288 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://www.instagram.com/", contributor_r1.social.instagram, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4289 4290 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4291 4292 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("@", contributor_r1.social.instagram, ""); 4293 } 4294 } 4295 4296 function AboutComponent_div_39_div_15_Template(rf, ctx) { 4297 if (rf & 1) { 4298 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div"); 4299 4300 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " Instagram: "); 4301 4302 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](2, AboutComponent_div_39_div_15_a_2_Template, 2, 2, "a", 27); 4303 4304 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4305 } 4306 4307 if (rf & 2) { 4308 var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit; 4309 4310 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 4311 4312 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.instagram); 4313 } 4314 } 4315 4316 function AboutComponent_div_39_div_16_Template(rf, ctx) { 4317 if (rf & 1) { 4318 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div"); 4319 4320 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " LinkedIn: "); 4321 4322 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24); 4323 4324 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3); 4325 4326 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4327 4328 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4329 } 4330 4331 if (rf & 2) { 4332 var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit; 4333 4334 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 4335 4336 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", contributor_r1.social.linkedIn, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4337 4338 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4339 4340 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.name); 4341 } 4342 } 4343 4344 function AboutComponent_div_39_div_17_Template(rf, ctx) { 4345 if (rf & 1) { 4346 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div"); 4347 4348 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](1, " Website: "); 4349 4350 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "a", 24); 4351 4352 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3); 4353 4354 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4355 4356 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4357 } 4358 4359 if (rf & 2) { 4360 var contributor_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().$implicit; 4361 4362 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 4363 4364 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("href", "https://", contributor_r1.social.website, "", _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4365 4366 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4367 4368 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](contributor_r1.social.website); 4369 } 4370 } 4371 4372 function AboutComponent_div_39_Template(rf, ctx) { 4373 if (rf & 1) { 4374 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div"); 4375 4376 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 18); 4377 4378 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "div", 19); 4379 4380 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "img", 20); 4381 4382 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](4, "img", 21); 4383 4384 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4385 4386 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](5, "div", 22); 4387 4388 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "p", 23); 4389 4390 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "p", 5); 4391 4392 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](8, "a", 24); 4393 4394 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](9); 4395 4396 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4397 4398 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4399 4400 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4401 4402 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](10, "div", 25); 4403 4404 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "p"); 4405 4406 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "strong"); 4407 4408 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13); 4409 4410 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4411 4412 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4413 4414 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](14, AboutComponent_div_39_div_14_Template, 4, 2, "div", 26); 4415 4416 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](15, AboutComponent_div_39_div_15_Template, 3, 1, "div", 26); 4417 4418 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](16, AboutComponent_div_39_div_16_Template, 4, 2, "div", 26); 4419 4420 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](17, AboutComponent_div_39_div_17_Template, 4, 2, "div", 26); 4421 4422 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4423 4424 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4425 4426 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](18, "hr"); 4427 4428 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4429 } 4430 4431 if (rf & 2) { 4432 var contributor_r1 = ctx.$implicit; 4433 4434 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](3); 4435 4436 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("alt", "Picture of ", contributor_r1.name, ""); 4437 4438 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("src", contributor_r1.images.regular, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4439 4440 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4441 4442 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("alt", "Silly picture of ", contributor_r1.name, ""); 4443 4444 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("src", contributor_r1.images.silly, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4445 4446 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 4447 4448 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("innerHTML", contributor_r1.blurb, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeHtml"]); 4449 4450 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 4451 4452 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate"]("href", contributor_r1.sharingLink, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeUrl"]); 4453 4454 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4455 4456 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("Click here to sign ", contributor_r1.name, "'s virtrolio."); 4457 4458 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](4); 4459 4460 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"]("Contact ", contributor_r1.name, ""); 4461 4462 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4463 4464 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.github); 4465 4466 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4467 4468 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.instagram); 4469 4470 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4471 4472 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.linkedIn); 4473 4474 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 4475 4476 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngIf", contributor_r1.social.website); 4477 } 4478 } 4479 /** 4480 * About component, with a short blurb at the top and a row for each contributor. 4481 */ 4482 4483 4484 var _AboutComponent = /*#__PURE__*/function () { 4485 function _AboutComponent(title) { 4486 _classCallCheck(this, _AboutComponent); 4487 4488 this.title = title; 4489 this.contributors = _contributors_json__WEBPACK_IMPORTED_MODULE_0__; 4490 } 4491 4492 _createClass(_AboutComponent, [{ 4493 key: "ngOnInit", 4494 value: function ngOnInit() { 4495 this.title.setTitle('About Us | Virtrolio'); 4496 } 4497 }]); 4498 4499 return _AboutComponent; 4500 }(); 4501 4502 _AboutComponent.ɵfac = function AboutComponent_Factory(t) { 4503 return new (t || _AboutComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title)); 4504 }; 4505 4506 _AboutComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ 4507 type: _AboutComponent, 4508 selectors: [["app-about"]], 4509 decls: 40, 4510 vars: 1, 4511 consts: [[1, "pt-5", "container"], [1, "about-us-section"], [1, "row"], [1, "col-12", "col-lg-8"], [1, "mb-3", "header-text"], [1, "about-us-body"], ["routerLink", "/contact"], ["href", "https://bit.ly/virtrolioYouT00b", "target", "_blank"], ["href", "/signing?uid=6sXs48Uwj3ZSPX7JUPsuvdosfRm1&key=VirtrolioTeam"], [1, "col-4", "d-none", "d-lg-block"], [1, "vertical-center", "about-us-img-container"], ["alt", "About us illustration", "src", "../../../assets/images/about.svg", 1, "about-us-img"], [1, "row", "mt-3", "mt-lg-5"], [1, "vertical-center", "about-us-img-container", "p-5"], ["alt", "About us illustration", "src", "../../../assets/images/charity.svg", 1, "about-us-img"], ["href", "https://www.who.int/emergencie
4511s/diseases/novel-coronavirus-2019/donate", "target", "_blank"], [1, "col-12"], [4, "ngFor", "ngForOf"], [1, "row", "d-flex", "my-2"], [1, "col-md-2", "order-md-2", "image-container", "vertical-center"], [1, "img-fluid", "regular-picture", 3, "alt", "src"], [1, "img-fluid", "silly-picture", 3, "alt", "src"], [1, "col-md-7", "order-md-3", "mt-3", "mt-md-0", "vertical-center"], [1, "text-justify", "about-us-body", 3, "innerHTML"], ["target", "_blank", 3, "href"], [1, "col-md-3", "order-md-1"], [4, "ngIf"], ["target", "_blank", 3, "href", 4, "ngIf"]], 4512 template: function AboutComponent_Template(rf, ctx) { 4513 if (rf & 1) { 4514 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0); 4515 4516 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 1); 4517 4518 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "div", 2); 4519 4520 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "div", 3); 4521 4522 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](4, "h1", 4); 4523 4524 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](5, "About us"); 4525 4526 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4527 4528 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "p", 5); 4529 4530 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, " We\u2019re a group of undergraduate university students who remember exactly what it was like back in high school (at The Woodlands Secondary School, to be exact, woot woot), and we especially remember what those last few months of senior year meant to many of us. With the COVID-19 pandemic leading to lockdowns and social distancing, we wanted to create an alternative way for graduating students (and others!) to be able to send each other messages in a medium that they can cherish with them as they continue on in their journeys. "); 4531 4532 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](8, "br"); 4533 4534 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](9, "br"); 4535 4536 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, " Want to get in touch with us? Visit the "); 4537 4538 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "a", 6); 4539 4540 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](12, "Contact Us"); 4541 4542 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4543 4544 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](13, " page or check out our "); 4545 4546 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "a", 7); 4547 4548 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "YouTube channel"); 4549 4550 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4551 4552 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](16, ". You can also sign the team's virtrolio by "); 4553 4554 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](17, "a", 8); 4555 4556 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](18, " clicking here"); 4557 4558 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4559 4560 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](19, ". "); 4561 4562 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4563 4564 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4565 4566 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](20, "div", 9); 4567 4568 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](21, "div", 10); 4569 4570 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](22, "img", 11); 4571 4572 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4573 4574 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4575 4576 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4577 4578 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](23, "div", 12); 4579 4580 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](24, "div", 9); 4581 4582 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](25, "div", 13); 4583 4584 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](26, "img", 14); 4585 4586 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4587 4588 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4589 4590 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](27, "div", 3); 4591 4592 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](28, "h3", 4); 4593 4594 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](29, "Charity"); 4595 4596 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4597 4598 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](30, "p", 5); 4599 4600 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](31, " COVID-19 has affected people around the world and it has created problems far more pressing than an absence of yearbook signing. With this in mind, Virtrolio has decided to donate 5 cents for each of the first 2000 Virtrolio accounts created between June 15th, 2021 and June 29th, 2021 to the "); 4601 4602 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](32, "a", 15); 4603 4604 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](33, "COVID-19 Solidarity Response Fund"); 4605 4606 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4607 4608 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](34, ". We personally guarantee that we will pay the full amount for the first 2000 accounts created in this period and if funds are available, we will try to match this amount for the next 1000 accounts. Thank y
4608ou for your support. "); 4609 4610 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4611 4612 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4613 4614 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4615 4616 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](35, "div", 12); 4617 4618 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](36, "div", 16); 4619 4620 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](37, "h3", 4); 4621 4622 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](38, "Meet the Team!"); 4623 4624 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4625 4626 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](39, AboutComponent_div_39_Template, 19, 12, "div", 17); 4627 4628 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4629 4630 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4631 4632 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4633 4634 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 4635 } 4636 4637 if (rf & 2) { 4638 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](39); 4639 4640 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.contributors); 4641 } 4642 }, 4643 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_3__.RouterLinkWithHref, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf], 4644 styles: ["#title[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 5em;\n}\n\n#title-blurb[_ngcontent-%COMP%] {\n border-left: 3px solid var(--accent);\n padding-left: 2em;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #title-blurb[_ngcontent-%COMP%] {\n border-left: none;\n padding-left: 0;\n }\n}\n\n#meet-the-team-title[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.jumbotron[_ngcontent-%COMP%] {\n padding-top: 2em;\n padding-bottom: 0;\n}\n\n.regular-picture[_ngcontent-%COMP%]:hover {\n opacity: 0;\n}\n\n.regular-picture[_ngcontent-%COMP%] {\n z-index: 0;\n width: 100%;\n}\n\n.silly-picture[_ngcontent-%COMP%] {\n position: absolute;\n z-index: -1;\n width: 100%;\n}\n\n.image-container[_ngcontent-%COMP%] {\n padding: 0;\n overflow: hidden;\n}\n\n.image-container[_ngcontent-%COMP%], .image-container[_ngcontent-%COMP%] > img[_ngcontent-%COMP%] {\n overflow: hidden !important;\n}\n\nul[_ngcontent-%COMP%] {\n word-break: break-word;\n}\n\n#special[_ngcontent-%COMP%] {\n flex-direction: row !important;\n}\n\n.about-us-img[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.about-us-img-container[_ngcontent-%COMP%] {\n height: 100%;\n}\n\n.about-us-body[_ngcontent-%COMP%] {\n font-family: 'Roboto', sans-serif;\n font-size: 1em;\n text-align: justify;\n}\n\n.contact-list[_ngcontent-%COMP%] {\n list-style-type: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFib3V0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUJBQXFCOztBQUVyQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLGlCQUFpQjtBQUNuQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxpQkFBaUI7SUFDakIsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLFVBQVU7QUFDWjs7QUFFQTtFQUNFLFVBQVU7
4644RUFDVixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFVBQVU7RUFDVixnQkFBZ0I7QUFDbEI7O0FBRUE7O0VBRUUsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsaUNBQWlDO0VBQ2pDLGNBQWM7RUFDZCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxxQkFBcUI7QUFDdkIiLCJmaWxlIjoiYWJvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHx8IFRpdGxlIGNvbnRlbnQgKi9cblxuI3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDVlbTtcbn1cblxuI3RpdGxlLWJsdXJiIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICN0aXRsZS1ibHVyYiB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbiNtZWV0LXRoZS10ZWFtLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6IDJlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5yZWd1bGFyLXBpY3R1cmU6aG92ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ucmVndWxhci1waWN0dXJlIHtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zaWxseS1waWN0dXJlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbWFnZS1jb250YWluZXIge1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2UtY29udGFpbmVyLFxuLmltYWdlLWNvbnRhaW5lciA+IGltZyB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxudWwge1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4jc3BlY2lhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcbn1cblxuLmFib3V0LXVzLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWJvdXQtdXMtaW1nLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmFib3V0LXVzLWJvZHkge1xuICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4uY29udGFjdC1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuIl19 */"] 4645 }); 4646 /***/ 4647 }, 4648 4649 /***/ 4650 40970: 4651 /*!**************************************************************************!*\ 4652 !*** ./src/app/pages/access-denied-beta/access-denied-beta.component.ts ***! 4653 \**************************************************************************/ 4654 4655 /***/ 4656 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4657 "use strict"; 4658 4659 __webpack_require__.r(__webpack_exports__); 4660 /* harmony export */ 4661 4662 4663 __webpack_require__.d(__webpack_exports__, { 4664 /* harmony export */ 4665 "AccessDeniedBetaComponent": function AccessDeniedBetaComponent() { 4666 return ( 4667 /* binding */ 4668 _AccessDeniedBetaComponent 4669 ); 4670 } 4671 /* harmony export */ 4672 4673 }); 4674 /* harmony import */ 4675 4676 4677 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 4678 /*! @angular/core */ 4679 37716); 4680 /* harmony import */ 4681 4682 4683 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 4684 /*! @angular/platform-browser */ 4685 39075); 4686 /* harmony import */ 4687 4688 4689 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 4690 /*! @angular/router */ 4691 39895); 4692 4693 var _AccessDeniedBetaComponent = /*#__PURE__*/function () { 4694 function _AccessDeniedBetaComponent(title) { 4695 _classCallCheck(this, _AccessDeniedBetaComponent); 4696 4697 this.title = title; 4698 } 4699 4700 _createClass(_AccessDeniedBetaComponent, [{ 4701 key: "ngOnInit", 4702 value: function ngOnInit() { 4703 this.title.setTitle('Beta Website Access Denied | Virtrolio'); 4704 } 4705 }]); 4706 4707 return _AccessDeniedBetaComponent; 4708 }(); 4709 4710 _AccessDeniedBetaComponent.ɵfac = function AccessDeniedBetaComponent_Factory(t) { 4711 return new (t || _AccessDeniedBetaComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 4712 }; 4713 4714 _AccessDeniedBetaComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 4715 type: _AccessDeniedBetaComponent, 4716 selectors: [["app-access-denied-beta"]], 4717 decls: 25,
4718 vars: 0, 4719 consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "mx-3", "col-md-7", "justify-content-center"], [1, "display-body-text"], ["href", "https://virtrolio.web.app"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["alt", "Padlock graphic", "id", "graphic", "src", "../../../assets/images/AccessDenied.svg"], [1, "row", "justify-content-center", "mt-5", "mb-3"], ["role", "button", "href", "https://virtrolio.web.app", 1, "btn", "btn-lg", "btn-primary", "mt-3", "mx-3"], ["routerLink", "", 1, "btn", "btn-lg", "btn-secondary", "mt-3"]], 4720 template: function AccessDeniedBetaComponent_Template(rf, ctx) { 4721 if (rf & 1) { 4722 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 4723 4724 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 4725 4726 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2); 4727 4728 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Access Denied - Not a Beta Tester"); 4729 4730 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4731 4732 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4733 4734 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3); 4735 4736 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4); 4737 4738 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " Oops! You tried to login to the beta website, but you aren't a beta tester! "); 4739 4740 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4741 4742 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p", 4); 4743 4744 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](8, "strong"); 4745 4746 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, "If you are not a beta tester, please "); 4747 4748 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 5); 4749 4750 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " click here"); 4751 4752 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4753 4754 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " to use the public website."); 4755 4756 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4757 4758 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4759 4760 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "p", 4); 4761 4762 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, " If you "); 4763 4764 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "strong"); 4765 4766 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "are"); 4767 4768 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4769 4770 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, " a beta tester and are seeing this message, please follow the instructions in the #instructions channel in the Beta Tester Discord to gain access. Message a Software Developer if you continue to experience problems. "); 4771 4772 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4773 4774 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4775 4776 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](18, "div", 6); 4777 4778 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](19, "img", 7); 4779 4780 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4781 4782 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](20, "div", 8); 4783 4784 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "a", 9); 4785 4786 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, "Go to the Public Website"); 4787 4788 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4789 4790 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "button", 10); 4791 4792 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, " Back to Beta Website "); 4793 4794 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4795 4796 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4797 4798 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4799 } 4800 }, 4801 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 4802 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n font-size: 2.5em;
4802\n text-align: center;\n}\n\n.subtitle-text[_ngcontent-%COMP%] {\n font-size: large;\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 5em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 2em;\n }\n\n #subtitle-text[_ngcontent-%COMP%] {\n font-size: 1em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY2Vzcy1kZW5pZWQtYmV0YS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJhY2Nlc3MtZGVuaWVkLWJldGEuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"] 4803 }); 4804 /***/ 4805 }, 4806 4807 /***/ 4808 91452: 4809 /*!****************************************************************!*\ 4810 !*** ./src/app/pages/access-denied/access-denied.component.ts ***! 4811 \****************************************************************/ 4812 4813 /***/ 4814 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4815 "use strict"; 4816 4817 __webpack_require__.r(__webpack_exports__); 4818 /* harmony export */ 4819 4820 4821 __webpack_require__.d(__webpack_exports__, { 4822 /* harmony export */ 4823 "AccessDeniedComponent": function AccessDeniedComponent() { 4824 return ( 4825 /* binding */ 4826 _AccessDeniedComponent 4827 ); 4828 } 4829 /* harmony export */ 4830 4831 }); 4832 /* harmony import */ 4833 4834 4835 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 4836 /*! @angular/core */ 4837 37716); 4838 /* harmony import */ 4839 4840 4841 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 4842 /*! @angular/platform-browser */ 4843 39075); 4844 /* harmony import */ 4845 4846 4847 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 4848 /*! @angular/router */ 4849 39895); 4850 4851 var _AccessDeniedComponent = /*#__PURE__*/function () { 4852 function _AccessDeniedComponent(title) { 4853 _classCallCheck(this, _AccessDeniedComponent); 4854 4855 this.title = title; 4856 } 4857 4858 _createClass(_AccessDeniedComponent, [{ 4859 key: "ngOnInit", 4860 value: function ngOnInit() { 4861 this.title.setTitle('Access Denied | Virtrolio'); 4862 } 4863 }]); 4864 4865 return _AccessDeniedComponent; 4866 }(); 4867 4868 _AccessDeniedComponent.ɵfac = function AccessDeniedComponent_Factory(t) { 4869 return new (t || _AccessDeniedComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 4870 }; 4871 4872 _AccessDeniedComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 4873 type: _AccessDeniedComponent, 4874 selectors: [["app-access-denied"]], 4875 decls: 17, 4876 vars: 0, 4877 consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "mx-3", "col-md-7"], [1, "display-body-text"], ["routerLink", "/"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["alt", "Padlock graphic", "id", "graphic", "src", "../../../assets/images/AccessDenied.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], 4878 template: function AccessDeniedComponent_Template(rf, ctx) { 4879 if (rf & 1) { 4880 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 4881 4882 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 4883 4884 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2); 4885 4886 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Access Denied"); 4887 4888 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4889 4890 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4891 4892 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3); 4893 4894 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4); 4895 4896 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You may be trying to access a page you need to be logged in for! Please go to our "); 4897 4898 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "a", 5); 4899 4900 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "home page"); 4901 4902 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4903 4904 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, " and sign in from there. "); 4905 4906 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4907 4908 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "p", 4); 4909 4910 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " If you are signed in and you are still seeing this message, then you may be trying to access a web page that you shouldn't be allowed to visit whenever you want. Sorry! "); 4911 4912 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4913 4914 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4915 4916 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 6); 4917 4918 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 7); 4919 4920 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4921 4922 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 8); 4923 4924 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 9); 4925 4926 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home"); 4927 4928 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4929 4930 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4931 4932 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 4933 } 4934 }, 4935 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 4936 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n font-size: 2.5em;
4936\n text-align: center;\n}\n\n.subtitle-text[_ngcontent-%COMP%] {\n font-size: large;\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 5em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 2em;\n }\n\n #subtitle-text[_ngcontent-%COMP%] {\n font-size: 1em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjY2Vzcy1kZW5pZWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBLFdBQVc7O0FBQ1g7RUFDRTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCO0FBQ0YiLCJmaWxlIjoiYWNjZXNzLWRlbmllZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gICNzdWJ0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"] 4937 }); 4938 /***/ 4939 }, 4940 4941 /***/ 4942 45996: 4943 /*!****************************************************!*\ 4944 !*** ./src/app/pages/contact/contact.component.ts ***! 4945 \****************************************************/ 4946 4947 /***/ 4948 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 4949 "use strict"; 4950 4951 __webpack_require__.r(__webpack_exports__); 4952 /* harmony export */ 4953 4954 4955 __webpack_require__.d(__webpack_exports__, { 4956 /* harmony export */ 4957 "ContactComponent": function ContactComponent() { 4958 return ( 4959 /* binding */ 4960 _ContactComponent 4961 ); 4962 } 4963 /* harmony export */ 4964 4965 }); 4966 /* harmony import */ 4967 4968 4969 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 4970 /*! @angular/core */ 4971 37716); 4972 /* harmony import */ 4973 4974 4975 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 4976 /*! @angular/platform-browser */ 4977 39075); 4978 4979 var _ContactComponent = /*#__PURE__*/function () { 4980 function _ContactComponent(title) { 4981 _classCallCheck(this, _ContactComponent); 4982 4983 this.title = title; 4984 } 4985 4986 _createClass(_ContactComponent, [{ 4987 key: "ngOnInit", 4988 value: function ngOnInit() { 4989 this.title.setTitle('Contact Us | Virtrolio'); 4990 } 4991 }]); 4992 4993 return _ContactComponent; 4994 }(); 4995 4996 _ContactComponent.ɵfac = function ContactComponent_Factory(t) { 4997 return new (t || _ContactComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 4998 }; 4999 5000 _ContactComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 5001 type: _ContactComponent, 5002 selectors: [["app-contact"]], 5003 decls: 37, 5004 vars: 0, 5005 consts: [[1, "pt-5", "container"], [1, "mb-3", "header-text"], [1, "row", "body-text"], [1, "col-12", "col-lg-6"], ["href", "https://github.com/virtrolio/virtrolio-site/issues/new", "target", "_blank"], ["href", "mailto:[email protected]", "target", "_blank"], ["href", "https://www.facebook.com/virtrolio/", "target", "_blank"], ["href", "https://www.instagram.com/virtrolio/", "target", "_blank"], ["href", "https://github.com/virtrolio/virtrolio-site", "target", "_blank"], [1, "col-lg-6", "order-2", "py-5", "py-lg-0"], ["id", "graphic-container justify-content-center"], ["alt", "pink cloud graphic", "id", "graphic", "src", "../../../assets/images/ContactUs.svg"]], 5006 template: function ContactComponent_Template(rf, ctx) { 5007 if (rf & 1) { 5008 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 5009 5010 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1); 5011 5012 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Contact Us"); 5013 5014 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5015 5016 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](3, "br"); 5017 5018 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 2); 5019 5020 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "div", 3); 5021 5022 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "p"); 5023 5024 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "strong"); 5025 5026 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "Got a question, comment, suggestion or concern?"); 5027 5028 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5029 5030 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](9, "br"); 5031 5032 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 4); 5033 5034 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, "Open an issue on our GitHub"); 5035 5036 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5037 5038 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " or email us at "); 5039 5040 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "a", 5); 5041 5042 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, "[email protected]"); 5043 5044 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5045 5046 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, ". "); 5047 5048 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5049 5050 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "p"); 5051 5052 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](17, "strong"); 5053 5054 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](18, "Looking for our social media?"); 5055 5056 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5057 5058 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](19, "br"); 5059 5060 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](20, " You're welcome to visit and contact us through our "); 5061 5062 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "a", 6); 5063 5064 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, " Facebook"); 5065 5066 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5067 5068 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](23, " and "); 5069 5070 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](24, "a", 7); 5071 5072 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](25, "Instagram"); 5073 5074 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5075 5076 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](26, " pages. "); 5077 5078 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5079 5080 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](27, "p"); 5081 5082 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](28, "strong"); 5083 5084 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](29, "Want to contribute to our project?"); 5085 5086 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5087 5088 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](30, "br"); 5089 5090 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](31, "a", 8); 5091 5092 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](32, "Open a pull request"); 5093 5094 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5095 5096 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](33, " on our repository. "); 5097 5098 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5099 5100 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5101 5102 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](34, "div", 9); 5103 5104 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](35, "div", 10); 5105 5106 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](36, "img", 11); 5107 5108 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5109 5110 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5111 5112 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5113 5114 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 5115 } 5116 }, 5117 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 12em;\n margin-left: auto;\n margin-right: auto;\n width: 100%;\n}\n\n#graphic-container[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n#title[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 4em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRhY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCIiwiZmlsZSI6ImNvbnRhY3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2dyYXBoaWMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiN0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG59XG4iXX0= */"] 5118 }); 5119 /***/ 5120 }, 5121 5122 /***/ 5123 16459: 5124 /*!********************************************!*\ 5125 !*** ./src/app/pages/faq/faq.component.ts ***! 5126 \********************************************/ 5127 5128 /***/ 5129 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5130 "use strict"; 5131 5132 __webpack_require__.r(__webpack_exports__); 5133 /* harmony export */ 5134 5135 5136 __webpack_require__.d(__webpack_exports__, { 5137 /* harmony export */ 5138 "FaqComponent": function FaqComponent() { 5139 return ( 5140 /* binding */ 5141 _FaqComponent 5142 ); 5143 } 5144 /* harmony export */ 5145 5146 }); 5147 /* harmony import */ 5148 5149 5150 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 5151 /*! @angular/core */ 5152 37716); 5153 /* harmony import */ 5154 5155 5156 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 5157 /*! @angular/platform-browser */ 5158 39075); 5159 /* harmony import */ 5160 5161 5162 var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 5163 /*! ../../core/common.service */ 5164 80150); 5165 /* harmony import */ 5166 5167 5168 var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 5169 /*! @angular/common */ 5170 38583); 5171 /* harmony import */ 5172 5173 5174 var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 5175 /*! @angular/router */ 5176 39895); 5177 5178 function FaqComponent_div_4_div_3_Template(rf, ctx) { 5179 if (rf & 1) { 5180 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 8); 5181 5182 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 9); 5183 5184 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "h2", 10); 5185 5186 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](3, "button", 11); 5187 5188 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4); 5189 5190 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5191 5192 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5193 5194 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5195 5196 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](5, "div", 12); 5197 5198 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](6, "div", 13); 5199 5200 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5201 5202 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5203 } 5204 5205 if (rf & 2) { 5206 var question_r4 = ctx.$implicit; 5207 var q_r5 = ctx.index; 5208 5209 var s_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"]().index; 5210 5211 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 5212 5213 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate2"]("id", "question", s_r2, "-", q_r5, ""); 5214 5215 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 5216 5217 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("aria-controls", "answer" + s_r2 + "-" + q_r5)("data-target", "#answer" + s_r2 + "-" + q_r5); 5218 5219 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 5220 5221 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", question_r4.question, " "); 5222 5223 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 5224 5225 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate2"]("id", "answer", s_r2, "-", q_r5, ""); 5226 5227 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵattribute"]("data-parent", "#section-header" + s_r2); 5228 5229 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 5230 5231 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("innerHTML", question_r4.answer, _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsanitizeHtml"]); 5232 } 5233 } 5234 5235 function FaqComponent_div_4_Template(rf, ctx) { 5236 if (rf & 1) { 5237 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 5); 5238 5239 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "h2", 6); 5240 5241 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2); 5242 5243 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5244 5245 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](3, FaqComponent_div_4_div_3_Template, 7, 9, "div", 7); 5246 5247 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5248 } 5249 5250 if (rf & 2) { 5251 var section_r1 = ctx.$implicit; 5252 var s_r2 = ctx.index; 5253 5254 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵpropertyInterpolate1"]("id", "section-header", s_r2, ""); 5255 5256 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 5257 5258 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](section_r1.sectionTitle); 5259 5260 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 5261 5262 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", section_r1.questions); 5263 } 5264 } 5265 5266 var _FaqComponent = /*#__PURE__*/function () { 5267 function _FaqComponent(title, commonService) { 5268 var _this12 = this; 5269 5270 _classCallCheck(this, _FaqComponent); 5271 5272 this.title = title; 5273 this.commonService = commonService; 5274 this.commonService.parseYAMLFromFile('./assets/data/faq.content.yml').then(function (data) { 5275 return _this12.faqContent = data; 5276 }); 5277 } 5278 5279 _createClass(_FaqComponent, [{ 5280 key: "ngOnInit", 5281 value: function ngOnInit() { 5282 this.title.setTitle('Frequently Asked Questions | Virtrolio'); 5283 } 5284 }]); 5285 5286 return _FaqComponent; 5287 }(); 5288 5289 _FaqComponent.ɵfac = function FaqComponent_Factory(t) { 5290 return new (t || _FaqComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService)); 5291 }; 5292 5293 _FaqComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ 5294 type: _FaqComponent, 5295 selectors: [["app-faq"]], 5296 decls: 12, 5297 vars: 1, 5298 consts: [[1, "pt-5", "container"], [1, "mb-3", "header-text"], ["class", "accordion mb-5", 3, "id", 4, "ngFor", "ngForOf"], [1, "justify-content-center", "vertical-center", "py-4"], ["routerLink", "/contact"], [1, "accordion", "mb-5", 3, "id"], [1, "subheader-text"], ["class", "card", 4, "ngFor", "ngForOf"], [1, "card"], [1, "card-header", 3, "id"], [1, "mb-0"], ["aria-expanded
5298", "false", "data-toggle", "collapse", "type", "button", 1, "btn", "btn-link"], ["aria-labelledby", "question", 1, "collapse", 3, "id"], [1, "card-body", "card-align", 3, "innerHTML"]], 5299 template: function FaqComponent_Template(rf, ctx) { 5300 if (rf & 1) { 5301 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0); 5302 5303 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "h1", 1); 5304 5305 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](2, "Frequently Asked Questions"); 5306 5307 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5308 5309 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](3, "br"); 5310 5311 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](4, FaqComponent_div_4_Template, 4, 3, "div", 2); 5312 5313 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](5, "hr"); 5314 5315 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "div", 3); 5316 5317 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](7, "p"); 5318 5319 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](8, " Didn't find what you were looking for? Send us your question with the "); 5320 5321 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "a", 4); 5322 5323 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](10, "Contact Us"); 5324 5325 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5326 5327 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](11, " page! "); 5328 5329 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5330 5331 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5332 5333 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 5334 } 5335 5336 if (rf & 2) { 5337 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](4); 5338 5339 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.faqContent); 5340 } 5341 }, 5342 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_3__.NgForOf, _angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLinkWithHref], 5343 styles: [".card-align[_ngcontent-%COMP%] {\n padding: 1.25rem 2rem;\n}\n\n#title[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 4em;\n margin-top: 2em;\n}\n\n#bottom-text[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.btn-link[_ngcontent-%COMP%] {\n text-align: left;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhcS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxlQUFlO0FBQ2pCOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6ImZhcS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNhcmQtYWxpZ24ge1xuICBwYWRkaW5nOiAxLjI1cmVtIDJyZW07XG59XG5cbiN0aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0ZW07XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuI2JvdHRvbS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnRuLWxpbmsge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIl19 */"] 5344 }); 5345 /***/ 5346 }, 5347 5348 /***/ 5349 25245: 5350 /*!**********************************************!*\ 5351 !*** ./src/app/pages/home/home.component.ts ***! 5352 \**********************************************/ 5353 5354 /***/ 5355 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 5356 "use strict"; 5357 5358 __webpack_require__.r(__webpack_exports__); 5359 /* harmony export */ 5360 5361 5362 __webpack_require__.d(__webpack_exports__, { 5363 /* harmony export */ 5364 "HomeComponent": function HomeComponent() { 5365 return ( 5366 /* binding */ 5367 _HomeComponent 5368 ); 5369 } 5370 /* harmony export */ 5371 5372 }); 5373 /* harmony import */ 5374 5375 5376 var aos__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 5377 /*! aos */ 5378 68096); 5379 /* harmony import */ 5380 5381 5382 var aos__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(aos__WEBPACK_IMPORTED_MODULE_0__); 5383 /* harmony import */ 5384 5385 5386 var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 5387 /*! @angular/core */ 5388 37716); 5389 /* harmony import */ 5390 5391 5392 var _core_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 5393 /*! ../../core/auth.service */ 5394 87341); 5395 /* harmony import */ 5396 5397 5398 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 5399 /*! @angular/platform-browser */ 5400 39075); 5401 /* harmony import */ 5402 5403 5404 var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 5405 /*! @angular/common */ 5406 38583); 5407 /* harmony import */ 5408 5409 5410 var ngx_markdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 5411 /*! ngx-markdown */ 5412 76715); 5413 /* harmony import */ 5414 5415 5416 var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 5417 /*! @angular/router */ 5418 39895); 5419 5420 function HomeComponent_div_1_Template(rf, ctx) { 5421 if (rf & 1) { 5422 var _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); 5423 5424 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 45); 5425 5426 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](1, "img", 46); 5427 5428 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "div", 47); 5429 5430 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "h1", 48); 5431 5432 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4, " Stay connected. "); 5433 5434 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5435 5436 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "h1", 49); 5437 5438 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](6, " Even when you're apart. "); 5439 5440 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5441 5442 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "img", 50); 5443 5444 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_1_Template_img_click_7_listener() { 5445 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r10); 5446 5447 var ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); 5448 5449 return ctx_r9.onClickChevron(); 5450 }); 5451 5452 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5453 5454 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5455 5456 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5457 } 5458 } 5459 5460 function HomeComponent_ng_template_2_Template(rf, ctx) { 5461 if (rf & 1) { 5462 var _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); 5463 5464 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 45); 5465 5466 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "div", 47); 5467 5468 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "h1", 51); 5469 5470 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, " Stay connected. "); 5471 5472 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5473 5474 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "h1", 52); 5475 5476 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, "Even when you're apart."); 5477 5478 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5479 5480 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "img", 53); 5481 5482 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_ng_template_2_Template_img_click_6_listener() { 5483 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r12); 5484 5485 var ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); 5486 5487 return ctx_r11.onClickChevron(); 5488 }); 5489 5490 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5491 5492 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5493 5494 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5495 } 5496 } 5497 5498 function HomeComponent_div_16_Template(rf, ctx) { 5499 if (rf & 1) { 5500 var _r14 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); 5501 5502 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div"); 5503 5504 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "p", 54); 5505 5506 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " Sign in below to create your own virtrolio! "); 5507 5508 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5509 5510 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 55); 5511 5512 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 56); 5513 5514 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_16_Template_button_click_4_listener() { 5515 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r14); 5516 5517 var ctx_r13 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); 5518 5519 return ctx_r13.authService.login("/my-virtrolio"); 5520 }); 5521 5522 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](5, "img", 57); 5523 5524 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "span"); 5525 5526 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](7, "Sign in with Google"); 5527 5528 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5529 5530 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5531 5532 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5533 5534 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "div", 58); 5535 5536 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](9, "p", 59); 5537 5538 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](10, " By signing up for/signing into our service, you are agreeing to our "); 5539 5540 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](11, "a", 60); 5541 5542 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](12, "Terms of Service."); 5543 5544 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5545 5546 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5547 5548 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](13, "p", 61); 5549 5550 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](14, " At this time, we do not support signing in using providers other than Google. "); 5551 5552 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5553 5554 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5555 5556 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5557 } 5558 } 5559 5560 function HomeComponent_ng_template_17_Template(rf, ctx) { 5561 if (rf & 1) { 5562 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 62); 5563 5564 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "p", 63); 5565 5566 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, " You're already signed in! Click the button to go to your virtrolio. "); 5567 5568 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5569 5570 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5571 5572 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 64); 5573 5574 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 65); 5575 5576 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Go to my virtrolio "); 5577 5578 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5579 5580 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5581 } 5582 } 5583 5584 function HomeComponent_div_98_Template(rf, ctx) { 5585 if (rf & 1) { 5586 var _r16 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵgetCurrentView"](); 5587 5588 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div"); 5589 5590 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "div", 62); 5591 5592 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](2, "h3", 66); 5593 5594 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](3, " Ready to get signing? "); 5595 5596 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5597 5598 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "p", 63); 5599 5600 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, "Sign in and get your virtrolio!"); 5601 5602 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5603 5604 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5605 5606 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 55); 5607 5608 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "button", 56); 5609 5610 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("click", function HomeComponent_div_98_Template_button_click_7_listener() { 5611 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵrestoreView"](_r16); 5612 5613 var ctx_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵnextContext"](); 5614 5615 return ctx_r15.authService.login("/my-virtrolio"); 5616 }); 5617 5618 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](8, "img", 57); 5619 5620 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](9, "span"); 5621 5622 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](10, "Sign in with Google"); 5623 5624 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5625 5626 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5627 5628 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5629 5630 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5631 } 5632 } 5633 5634 function HomeComponent_ng_template_99_Template(rf, ctx) { 5635 if (rf & 1) { 5636 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 62); 5637 5638 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](1, "h3", 67); 5639 5640 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](2, "You're all set!"); 5641 5642 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5643 5644 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5645 5646 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](3, "div", 64); 5647 5648 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](4, "button", 68); 5649 5650 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](5, " Go to my virtrolio "); 5651 5652 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5653 5654 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5655 } 5656 } 5657 5658 var _HomeComponent = /*#__PURE__*/function () { 5659 function _HomeComponent(authService, title) { 5660 _classCallCheck(this, _HomeComponent); 5661 5662 this.authService = authService; 5663 this.title = title; // Initialize Animate on Scroll library 5664 // In constructor instead of ngOnInit to avoid the page breaking when routerLinking to home 5665 5666 aos__WEBPACK_IMPORTED_MODULE_0__.init();
5667 this.getScreenSize(); 5668 } 5669 /** 5670 * "Subscribes" to the window resize event to update current value of viewport height 5671 */ 5672 5673 5674 _createClass(_HomeComponent, [{ 5675 key: "getScreenSize", 5676 value: function getScreenSize() { 5677 this.screenHeight = window.innerHeight; 5678 } 5679 }, { 5680 key: "ngOnInit", 5681 value: function ngOnInit() { 5682 this.title.setTitle("Virtrolio - Stay connected. Even when you're apart."); 5683 } 5684 /** 5685 * Scroll within page without linking to fragments 5686 */ 5687 5688 }, { 5689 key: "onClickChevron", 5690 value: function onClickChevron() { 5691 document.getElementById('info').scrollIntoView({ 5692 behavior: 'smooth' 5693 }); 5694 } 5695 }]); 5696 5697 return _HomeComponent; 5698 }(); 5699 5700 _HomeComponent.ɵfac = function HomeComponent_Factory(t) { 5701 return new (t || _HomeComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.Title)); 5702 }; 5703 5704 _HomeComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵdefineComponent"]({ 5705 type: _HomeComponent, 5706 selectors: [["app-home"]], 5707 hostBindings: function HomeComponent_HostBindings(rf, ctx) { 5708 if (rf & 1) { 5709 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵlistener"]("resize", function HomeComponent_resize_HostBindingHandler($event) { 5710 return ctx.getScreenSize($event); 5711 }, false, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵresolveWindow"]); 5712 } 5713 }, 5714 decls: 101, 5715 vars: 6, 5716 consts: [[1, "container-fluid", "full-width", "home-background"], ["class", "container-fluid full-width vertical-center home-img-background", 4, "ngIf", "ngIfElse"], ["mobileLandscape", ""], ["id", "info"], [1, "pt-5", "vertical-center", "body-container"], [1, "d-flex", "justify-content-center"], ["data-aos", "zoom-in", "data-aos-duration", "1000", "data-aos-once", "true", 1, "col-12", "col-sm-12", "col-md-12", "col-lg-8", "col-xl-8"], [1, "mb-3", "px-5", "home-text", "header-text"], [1, "lead", "px-5", "home-text", "body-text"], ["id", "login-virtrolio-button", 1, "px-5"], [4, "ngIf", "ngIfElse"], ["MyVirtrolio", ""], ["id", "viewing-demo", 1, "full-width", "demo-section"], ["data-aos", "fade-left", "data-aos-duration", "2000", "data-aos-once", "true", 1, "full-width", "demo-image", "d-none", "d-md-block", "viewing-demo-image"], [1, "vertical-center", "mx-5", "px-5", "viewing-demo-text-container"], [1, "demo-title"], [1, "full-width", "demo-image", "d-block", "d-md-none", "viewing-demo-image"], [1, "py-4", "center-children", "vertical-center", "body-container"], [1, ""], [1, "col-12", "col-sm-12", "col-md-12", "col-lg-8", "col-xl-8"], [1, "row"], [1, "order-md-1", "col-12", "col-sm-12", "col-md-12", "col-lg-6", "col-xl-8", "px-5"], [1, "card", "mr-4", "mb-5", "rounded", "border-0"], [1, "body-header-text"], [1, "lead", "body-text"], ["href", "/privacy-policy"], [1, "lead", "home-text", "body-text"], [1, "card", "mr-4", "rounded", "border-0"], [2, "color", "#d1155a"], [2, "font-family", "'Indie Flower', sans-serif"], [1, "order-md-2", "col-lg-6", "col-xl-4", "mt-4", "d-none", "d-lg-block"], [1, "vertical-center", "card-container"], ["data-aos", "flip-left", "data-aos-duration", "2000", "data-aos-once", "true", 1, "card", "shadow"], [1, "card-header"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", "src", "../../../assets/images/logo_reg.png", 1, "profile-pic"], [1, "card-header-text"], ["emoji", "", 1, "card-body", "card-message"], ["id", "signing-demo", 1, "full-width", "demo-section"], ["data-aos", "fade-right", "data-aos-duration", "2000", "data-aos-once", "true", 1, "full-width", "demo-image", "d-none", "d-md-block", "signing-demo-image"], [1, "vertical-center", "mx-5", "px-5", "signing-demo-text-container"], [1, "full-width", "demo-image", "d-block", "d-md-none", "signing-demo-image"], [1, "py-1", "vertical-center", "body-container"], ["id", "login-virtrolio-button-bottom", 1, "px-5"], ["MyVirtrolioBottom", ""], [1, "container-fluid", "full-width", "vertical-center", "home-img-background"], ["alt", "Virtrolio Logo", "id", "bg-logo-img", "data-aos", "zoom-in-up", "data-aos-duration", "1500", "src", "../../../assets/images/logo_inverted-no-back.png", 1, "d-none", "d-xl-block"], [1, "title-container"], ["data-aos", "zoom-in", "data-aos-duration", "500", "data-aos-once", "true", "id", "title-header"], ["data-aos", "zoom-in", "data-aos-duration", "1000", "data-aos-once", "true", "id", "title-subtitle"], ["alt", "down", "height", "48", "id", "chevron", "src", "../../../assets/images/icons/chevron-down.svg", "width", "48", 3, "click"], ["data-aos", "zoom-in", "data-aos-duration", "500", "data-aos-once", "true", "id", "title-header-mobile-landscape"], ["id", "title-subtitle-mobile-landscape"], ["alt", "down", "height", "48", "id", "chevron-mobile-landscape", "src", "../../../assets/images/icons/chevron-down.svg", "width", "48", 3, "click"], ["id", "bolded-body-text", 1, "lead"], [1, "row", "d-flex", "justify-content-center", "mt-4"], ["type", "button", 1, "btn", "btn-outline-dark", "google-sign-in-btn", 3, "click"], ["alt", "Google Logo", "height", "23", "src", "../../../assets/images/icons/google.svg", "width", "23"], ["id", "disclaimer-text"], [1, "lead", "pt-4"], ["href", "/terms-of-service"], [1, "lead"], [1, "justify-content-center", "text-center", "pt-1"], [1, "lead", "pb-1"], [1, "d-flex", "justify-content-center", "pt-1"], ["id", "my-virtrolio", "routerLink", "/my-v
5716irtrolio", "type", "button", 1, "btn-lg", "btn-primary"], [1, "mb-1", "px-5", "home-text", "ready-text"], [1, "mb-1", "px-5", "home-text", "ready-text", "pb-4"], ["id", "my-virtrolio-bottom", "routerLink", "/my-virtrolio", "type", "button", 1, "btn-lg", "btn-primary"]], 5717 template: function HomeComponent_Template(rf, ctx) { 5718 if (rf & 1) { 5719 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](0, "div", 0); 5720 5721 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](1, HomeComponent_div_1_Template, 8, 0, "div", 1); 5722 5723 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](2, HomeComponent_ng_template_2_Template, 7, 0, "ng-template", null, 2, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]); 5724 5725 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5726 5727 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](4, "a", 3); 5728 5729 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](5, "div", 4); 5730 5731 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](6, "div", 5); 5732 5733 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](7, "div", 6); 5734 5735 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](8, "h2", 7); 5736 5737 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](9, "What is a virtrolio?"); 5738 5739 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5740 5741 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](10, "p", 8); 5742 5743 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](11, " A "); 5744 5745 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](12, "em"); 5746 5747 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](13, "virtrolio"); 5748 5749 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5750 5751 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](14, " is a virtual folio\u2014an online version of those last few pages in your yearbook that you use to write personal and long-lasting messages to your friends. In other words, you can create your own virtrolio, share it with friends, and have them write customized messages for you to keep. Whenever you want, you can view your virtrolio and all the messages you have received from your friends! "); 5752 5753 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5754 5755 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](15, "div", 9); 5756 5757 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](16, HomeComponent_div_16_Template, 15, 0, "div", 10); 5758 5759 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](17, HomeComponent_ng_template_17_Template, 6, 0, "ng-template", null, 11, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]); 5760 5761 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5762 5763 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5764 5765 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5766 5767 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5768 5769 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](19, "div", 12); 5770 5771 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](20, "div", 13); 5772 5773 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](21, "div", 14); 5774 5775 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](22, "h2", 15); 5776 5777 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](23, "A virtual take on"); 5778 5779 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5780 5781 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](24, "h2", 15); 5782 5783 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](25, "yearbook signing"); 5784 5785 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5786 5787 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5788 5789 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5790 5791 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](26, "div", 16); 5792 5793 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](27, "div", 14); 5794 5795 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](28, "h2", 15); 5796 5797 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](29, "A virtual take\xA0on"); 5798 5799 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5800 5801 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](30, "h2", 15); 5802 5803 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](31, "yearbook signing"); 5804 5805 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5806 5807 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5808 5809 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5810 5811 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5812 5813 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](32, "div", 17); 5814 5815 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](33, "div", 18); 5816 5817 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](34, "div", 19); 5818 5819 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](35, "div", 20); 5820 5821 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](36, "div", 21); 5822 5823 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](37, "div", 22); 5824 5825 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](38, "h3", 23); 5826 5827 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](39, "Why use Virtrolio?"); 5828 5829 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5830 5831 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](40, "p", 24); 5832 5833 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](41, " Using Virtrolio offers you an authentic yearbook signing experience, and that means "); 5834 5835 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](42, "em"); 5836 5837 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](43, "privacy"); 5838 5839 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5840 5841 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](44, ". You can only view virtrolio messages sent directly to you (see our "); 5842 5843 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](45, "a", 25); 5844 5845 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](4
58456, "Privacy Policy"); 5846 5847 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5848 5849 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](47, " for more details). "); 5850 5851 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5852 5853 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5854 5855 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](48, "div", 22); 5856 5857 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](49, "h3", 23); 5858 5859 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](50, "How can I make a virtrolio?"); 5860 5861 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5862 5863 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](51, "p", 26); 5864 5865 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](52, " It's easy to create a virtrolio! Sign in with your Google account and a custom virtrolio link will be generated for you. Share this link with your friends so they can sign your virtrolio. "); 5866 5867 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5868 5869 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5870 5871 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](53, "div", 27); 5872 5873 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](54, "h3", 23); 5874 5875 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](55, " What does signing a virtrolio look like? "); 5876 5877 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5878 5879 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](56, "p", 26); 5880 5881 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](57, " We offer you an array of message customization tools, including "); 5882 5883 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](58, "span", 28); 5884 5885 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](59, "colour pickers"); 5886 5887 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5888 5889 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](60, ", "); 5890 5891 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](61, "span", 29); 5892 5893 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](62, "b"); 5894 5895 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](63, "fonts"); 5896 5897 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5898 5899 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5900 5901 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](64, ", emojis \uD83D\uDE0D, and a markdown editor\u2014all so that you can truly express yourself. "); 5902 5903 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5904 5905 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5906 5907 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5908 5909 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](65, "div", 30); 5910 5911 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](66, "div", 31); 5912 5913 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](67, "div", 32); 5914 5915 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](68, "div", 33); 5916 5917 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](69, "span", 34); 5918 5919 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelement"](70, "img", 35); 5920 5921 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5922 5923 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](71, "span", 36); 5924 5925 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](72, "Mike H."); 5926 5927 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5928 5929 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5930 5931 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](73, "markdown", 37); 5932 5933 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](74, "University across the country, huh? I don't know
5933what I'm going to do without you next year. I'll call you whenever I can. Until I see you again! :heart: "); 5934 5935 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5936 5937 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5938 5939 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5940 5941 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5942 5943 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5944 5945 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5946 5947 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5948 5949 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5950 5951 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](75, "div", 38); 5952 5953 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](76, "div", 39); 5954 5955 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](77, "div", 40); 5956 5957 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](78, "h2", 15); 5958 5959 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](79, "Give your messages"); 5960 5961 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5962 5963 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](80, "h2", 15); 5964 5965 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](81, "your "); 5966 5967 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](82, "i"); 5968 5969 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](83, "signature"); 5970 5971 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5972 5973 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](84, " touch"); 5974 5975 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5976 5977 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5978 5979 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5980 5981 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](85, "div", 41); 5982 5983 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](86, "div", 40); 5984 5985 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](87, "h2", 15); 5986 5987 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](88, "Give your messages"); 5988 5989 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 5990 5991 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](89, "h2", 15); 5992 5993 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](90, "your "); 5994 5995 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](91, "i"); 5996 5997 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](92, "signature"); 5998 5999 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6000 6001 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtext"](93, " touch"); 6002 6003 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6004 6005 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6006 6007 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6008 6009 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6010 6011 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](94, "div", 42); 6012 6013 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](95, "div", 5); 6014 6015 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](96, "div", 6); 6016 6017 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementStart"](97, "div", 43); 6018 6019 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](98, HomeComponent_div_98_Template, 11, 0, "div", 10); 6020 6021 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplate"](99, HomeComponent_ng_template_99_Template, 6, 0, "ng-template", null, 44, _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵtemplateRefExtractor"]); 6022 6023 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6024 6025 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6026 6027 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6028 6029 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵelementEnd"](); 6030 } 6031 6032 if (rf & 2) { 6033 var _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](3); 6034 6035 var _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](18); 6036 6037 var _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵreference"](100); 6038 6039 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](1); 6040 6041 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", ctx.screenHeight > 420)("ngIfElse", _r1); 6042 6043 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](15); 6044 6045 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !ctx.authService.isLoggedIn())("ngIfElse", _r4); 6046 6047 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵadvance"](82); 6048 6049 _angular_core__WEBPACK_IMPORTED_MODULE_2__["ɵɵproperty"]("ngIf", !ctx.authService.isLoggedIn())("ngIfElse", _r7); 6050 } 6051 }, 6052 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, ngx_markdown__WEBPACK_IMPORTED_MODULE_5__.MarkdownComponent, _angular_router__WEBPACK_IMPORTED_MODULE_6__.RouterLink], 6053 styles: [".home-background[_ngcontent-%COMP%] {\n background: linear-gradient(\n 90deg,\n var(--navbar-left) 0%,\n var(--navbar-right) 100%\n );\n height: calc(100vh - var(--navbar-height));\n overflow: hidden;\n}\n\n\n\n#bg-logo-img[_ngcontent-%COMP%] {\n position: absolute;\n opacity: 0.25;\n right: 0;\n height: 50em;\n width: 50em;
6053\n}\n\n.title-container[_ngcontent-%COMP%] {\n font-family: 'Roboto', sans-serif;\n position: relative;\n padding-left: 10vw;\n}\n\n#title-header[_ngcontent-%COMP%] {\n font-size: 6em;\n color: white;\n}\n\n#title-subtitle[_ngcontent-%COMP%] {\n font-size: 2em;\n font-weight: 400;\n color: white;\n margin-top: 1em;\n}\n\n#title-header-mobile-landscape[_ngcontent-%COMP%] {\n font-size: 4em;\n color: white;\n}\n\n#title-subtitle-mobile-landscape[_ngcontent-%COMP%] {\n font-size: 1em;\n font-weight: 400;\n color: white;\n margin-top: 0.5em;\n}\n\n#chevron[_ngcontent-%COMP%] {\n margin-top: 2em;\n cursor: pointer;\n}\n\n#chevron-mobile-landscape[_ngcontent-%COMP%] {\n margin-top: 0;\n cursor: pointer;\n}\n\n.home-img-background[_ngcontent-%COMP%] {\n background: url('bg-curve.svg') no-repeat center bottom;\n background-size: 100%;\n height: calc(100vh - var(--navbar-height));\n overflow: hidden;\n position: absolute;\n left: 0;\n right: 0;\n}\n\n.demo-section[_ngcontent-%COMP%] {\n height: 70vh;\n overflow: hidden;\n}\n\n.demo-image[_ngcontent-%COMP%] {\n overflow: hidden;\n position: relative;\n height: 100%;\n left: 0;\n right: 0;\n}\n\n.card-container[_ngcontent-%COMP%] {\n height: 100%;\n}\n\n#card-text[_ngcontent-%COMP%] {\n background: var(--accent);\n font-family: Roboto, sans-serif;\n color: white;\n}\n\n#viewing-demo[_ngcontent-%COMP%] {\n background: linear-gradient(\n 90deg,\n var(--navbar-left) 0%,\n var(--navbar-right) 100%\n );\n}\n\n#signing-demo[_ngcontent-%COMP%] {\n background: linear-gradient(129deg, #86d5d3, #a4e681, #edc556, #fa8072);\n background-size: 800% 800%;\n animation: SectionGradientAnimation 10s ease infinite;\n}\n\n.viewing-demo-image[_ngcontent-%COMP%] {\n background: url('viewing-demo.svg') no-repeat center;\n background-size: cover;\n}\n\n.signing-demo-image[_ngcontent-%COMP%] {\n background: url('signing-demo.svg') no-repeat center;\n background-size: cover;\n}\n\n.viewing-demo-text-container[_ngcontent-%COMP%] {\n font-family: 'Roboto', sans-serif;\n position: absolute;\n left: 0;\n text-align: left;\n height: 100%;\n}\n\n.signing-demo-text-container[_ngcontent-%COMP%] {\n font-family: 'Roboto', sans-serif;\n position: absolute;\n right: 0;\n text-align: right;\n height: 100%;\n}\n\n.demo-title[_ngcontent-%COMP%] {\n font-size: 3em;\n font-weight: 400;\n color: white;\n text-shadow: 0.1em 0.1em 0.2em rgba(0, 0, 0, 0.5);\n white-space: normal;\n}\n\n\n\n.body-container[_ngcontent-%COMP%] {\n margin: 5em 0;\n}\n\n#bolded-body-text[_ngcontent-%COMP%] {\n font-weight: 600;\n text-align: center;\n}\n\n#disclaimer-text[_ngcontent-%COMP%] > p[_ngcontent-%COMP%] {\n font-size: 1em;\n text-align: center;\n}\n\n.header-text[_ngcontent-%COMP%] {\n font-size: 3em;\n font-weight: bold;\n}\n\n.ready-text[_ngcontent-%COMP%] {\n font-size: 2em;\n font-weight: bold;\n text-align: center;\n}\n\n.body-header-text[_ngcontent-%COMP%] {\n font-size: 1.2em;\n}\n\n.body-text[_ngcontent-%COMP%] {\n font-family: 'Roboto', sans-serif;\n font-size: 1em;\n}\n\n#login-virtrolio-button[_ngcontent-%COMP%] {\n padding: 3em 0 3em 0;\n}\n\n.card-header-text[_ngcontent-%COMP%] {\n font-weight: bold;\n margin-top: 0.2em;\n}\n\n.card-header[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n\n.card-message[_ngcontent-%COMP%] {\n background: var(--accent);\n padding: 3em;\n color: white;\n font-size: 1em;\n font-weight: bold;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0);\n height: 2em;\n width: 2em;\n border-radius: 100%;\n display: flex;\n}\n\n@media only screen and (max-width: 768px) {\n #title-header[_ngcontent-%COMP%] {\n font-size: 10vw;\n color: white;\n }\n\n #title-subtitle[_ngcontent-%COMP%] {\n font-size: 4vw;\n font-weight: 400;\n color: white;\n margin-top: 1em;\n line-height: 0;\n }\n\n .header-text[_ngcontent-%COMP%] {\n font-size: 2em;\n font-weight: bold;\n }\n\n .body-text[_ngcontent-%COMP%] {\n font-family: 'Roboto', sans-serif;\n font-size: 1em;\n }\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: #efefef;\n opacity: 0.1;\n border-radius: 1em;\n}\n\n\n\n#btn-info[_ngcontent-%COMP%] {\n border-radius: 6em;\n background-color: var(--accent);\n color: #ffffff;\n}\n\n#btn-info[_ngcontent-%COMP%]:hover {\n background-color: var(--dark-accent);\n}\n\n\n\n#info[_ngcontent-%COMP%]::before {\n content: '';\n display: block;\n height: 50px;\n margin: -50px 0 0 0;\n}\n\n\n\n@keyframes SectionGradientAnimation {\n 0% {\n background-position: 0 0;\n }\n 50% {\n background-position: 93% 100%;\n }\n 100% {\n background-position: 0 0;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQkFBMkI7O0FBRTNCO0VBQ0U7Ozs7R0FJQztFQUNELDBDQUEwQztFQUMxQyxnQkFBZ0I7QUFDbEI7O0FBRUEsdUVBQXVFOztBQUN2RTtFQUNFLGtCQUFrQjtFQUNsQixhQUFhO0VBQ2IsUUFBUTtFQUNSLFlBQVk7RUFDWixXQUFXO0FBQ2I7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxZQUFZO0FBQ2Q7O0F
6053BRUE7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsY0FBYztFQUNkLFlBQVk7QUFDZDs7QUFFQTtFQUNFLGNBQWM7RUFDZCxnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGVBQWU7RUFDZixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGVBQWU7QUFDakI7O0FBRUE7RUFDRSx1REFBOEU7RUFDOUUscUJBQXFCO0VBQ3JCLDBDQUEwQztFQUMxQyxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLE9BQU87RUFDUCxRQUFRO0FBQ1Y7O0FBRUE7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osT0FBTztFQUNQLFFBQVE7QUFDVjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QiwrQkFBK0I7RUFDL0IsWUFBWTtBQUNkOztBQUVBO0VBQ0U7Ozs7R0FJQztBQUNIOztBQUVBO0VBQ0UsdUVBQXVFO0VBQ3ZFLDBCQUEwQjtFQUcxQixxREFBcUQ7QUFDdkQ7O0FBRUE7RUFDRSxvREFBMkU7RUFDM0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0Usb0RBQTJFO0VBQzNFLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLGlDQUFpQztFQUNqQyxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLGdCQUFnQjtFQUNoQixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixpQkFBaUI7RUFDakIsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaURBQWlEO0VBQ2pELG1CQUFtQjtBQUNyQjs7QUFFQSxxQkFBcUI7O0FBRXJCO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGNBQWM7RUFDZCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxpQ0FBaUM7RUFDakMsY0FBYztBQUNoQjs7QUFFQTtFQUNFLG9CQUFvQjtBQUN0Qjs7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7QUFDbkI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixZQUFZO0VBQ1osY0FBYztFQUNkLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxXQUFXO0VBQ1gsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUE7RUFDRTtJQUNFLGVBQWU7SUFDZixZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixlQUFlO0lBQ2YsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7SUFDZCxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSxpQ0FBaUM7SUFDakMsY0FBYztFQUNoQjtBQUNGOztBQUVBLGtCQUFrQjs7QUFFbEI7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxVQUFVO0FBQ1o7O0FBRUE7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjs7QUFFQSxxQkFBcUI7O0FBRXJCO0VBQ0Usa0JBQWtCO0VBQ2xCLCtCQUErQjtFQUMvQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0Usb0NBQW9DO0FBQ3RDOztBQUVBLGdDQUFnQzs7QUFDaEM7RUFDRSxXQUFXO0VBQ1gsY0FBYztFQUNkLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7O0FBRUEsa0JBQWtCOztBQTBCbEI7RUFDRTtJQUNFLHdCQUF3QjtFQUMxQjtFQUNBO0lBQ0UsNkJBQTZCO0VBQy9CO0VBQ0E7SUFDRSx3QkFBd0I7RUFDMUI7QUFDRiIsImZpbGUiOiJob21lLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB8fCBGdWxsIFNjcmVlbiBMYW5kaW5nICovXG5cbi5ob21lLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgOTBkZWcsXG4gICAgdmFyKC0tbmF2YmFyLWxlZnQpIDAlLFxuICAgIHZhcigtLW5hdmJhci1yaWdodCkgMTAwJVxuICApO1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1uYXZiYXItaGVpZ2h0KSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIExhcmdlIGxvZ28gaW4gdGhlIGJhY2tncm91bmQgZm9yIHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2UgdG8gZmVhdHVyZSAqL1xuI2JnLWxvZ28taW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjI1O1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA1MGVtO1xuICB3aWR0aDogNTBlbTtcbn1cblxuLnRpdGxlLWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEwdnc7XG59XG5cbiN0aXRsZS1oZWFkZXIge1xuICBmb250LXNpemU6IDZlbTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4jdGl0bGUtc3VidGl0bGUge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbiN0aXRsZS1oZWFkZXItbW9iaWxlLWxhbmRzY2FwZSB7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbiN0aXRsZS1zdWJ0aXRsZS1tb2JpbGUtbGFuZHNjYXBlIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5cbiNjaGV2cm9uIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNjaGV2cm9uLW1vYmlsZS1sYW5kc2NhcGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5ob21lLWltZy1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLWN1cnZlLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5hdmJhci1oZWlnaHQpKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLmRlbW8tc2VjdGlvbiB7XG4gIGhlaWdodDogNzB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRlbW8taW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jYXJkLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2NhcmQtdGV4dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuI3ZpZXdpbmctZGVtbyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICA5MGRlZyxcbiAgICB2YXIoLS1uYXZiYXItbGVmdCkgMCUsXG4gICAgdmFyKC0tbmF2YmFyLXJpZ2h0KSAxMDAlXG4gICk7XG59XG5cbiNzaWduaW5nLWRlbW8ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTI5ZGVnLCAjODZkNWQzLCAjYTRlNjgxLCAjZWRjNTU2LCAjZmE4MDcyKTtcbiAgYmFja2dyb3VuZC1zaXplOiA4MDAlIDgwMCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBTZWN0aW9uR3JhZGllbnRBbmltYXRpb24gMTBzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBTZWN0aW9uR3JhZGllbnRBbmltYXRpb24gMTBzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIDEwcyBlYXNlIGluZmluaXRlO1xufVxuXG4udmlld2luZy1kZW1vLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3ZpZXdpbmctZGVtby5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uc2lnbmluZy1kZW1vLWltYWdlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9hc3NldHMvaW1hZ2VzL3NpZ25pbmctZGVtby5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4udmlld2luZy1kZW1vLXRleHQtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnNpZ25pbmctZGVtby10ZXh0LWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmRlbW8tdGl0bGUge1xuICBmb250LXNpemU6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDt
6053cbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogMC4xZW0gMC4xZW0gMC4yZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKiB8fCBCb2R5LVNwZWNpZmljICovXG5cbi5ib2R5LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogNWVtIDA7XG59XG5cbiNib2xkZWQtYm9keS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jZGlzY2xhaW1lci10ZXh0ID4gcCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnJlYWR5LXRleHQge1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJvZHktaGVhZGVyLXRleHQge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4uYm9keS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuI2xvZ2luLXZpcnRyb2xpby1idXR0b24ge1xuICBwYWRkaW5nOiAzZW0gMCAzZW0gMDtcbn1cblxuLmNhcmQtaGVhZGVyLXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXRvcDogMC4yZW07XG59XG5cbi5jYXJkLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG59XG5cbi5jYXJkLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpO1xuICBwYWRkaW5nOiAzZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJvZmlsZS1waWMtY29udGFpbmVyLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgaGVpZ2h0OiAyZW07XG4gIHdpZHRoOiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgI3RpdGxlLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxMHZ3O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICN0aXRsZS1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICB9XG5cbiAgLmhlYWRlci10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5ib2R5LXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuXG4vKiB8fCBTY3JvbGxiYXJzICovXG5cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBvcGFjaXR5OiAwO1xufVxuXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG5cbi8qIHx8IE1pc2NlbGxhbmVvdXMgKi9cblxuI2J0bi1pbmZvIHtcbiAgYm9yZGVyLXJhZGl1czogNmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuI2J0bi1pbmZvOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1hY2NlbnQpO1xufVxuXG4vKiBmcmFnbWVudCBwYWRkaW5nIGZvciBoZWFkZXIgKi9cbiNpbmZvOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiAtNTBweCAwIDAgMDtcbn1cblxuLyogfHwgQW5pbWF0aW9ucyAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkzJSAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgU2VjdGlvbkdyYWRpZW50QW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkzJSAxMDAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIFNlY3Rpb25HcmFkaWVudEFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MyUgMTAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cbn1cbiJdfQ== */"] 6054 }); 6055 /***/ 6056 }, 6057 6058 /***/ 6059 84892: 6060 /*!**************************************************************!*\ 6061 !*** ./src/app/pages/invalid-link/invalid-link.component.ts ***! 6062 \**************************************************************/ 6063 6064 /***/ 6065 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 6066 "use strict"; 6067 6068 __webpack_require__.r(__webpack_exports__); 6069 /* harmony export */ 6070 6071 6072 __webpack_require__.d(__webpack_exports__, { 6073 /* harmony export */ 6074 "InvalidLinkComponent": function InvalidLinkComponent() { 6075 return ( 6076 /* binding */ 6077 _InvalidLinkComponent 6078 ); 6079 } 6080 /* harmony export */ 6081 6082 }); 6083 /* harmony import */ 6084 6085 6086 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 6087 /*! @angular/core */ 6088 37716); 6089 /* harmony import */ 6090 6091 6092 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 6093 /*! @angular/platform-browser */ 6094 39075); 6095 /* harmony import */ 6096 6097 6098 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 6099 /*! @angular/router */ 6100 39895); 6101 6102 var _InvalidLinkComponent = /*#__PURE__*/function () { 6103 function _InvalidLinkComponent(title) { 6104 _classCallCheck(this, _InvalidLinkComponent); 6105 6106 this.title = title; 6107 } 6108 6109 _createClass(_InvalidLinkComponent, [{ 6110 key: "ngOnInit", 6111 value: function ngOnInit() { 6112 this.title.setTitle("Invalid Sharing Link | Virtrolio - Stay connected. Even when you're apart."); 6113 } 6114 }]); 6115 6116 return _InvalidLinkComponent; 6117 }(); 6118 6119 _InvalidLinkComponent.ɵfac = function InvalidLinkComponent_Factory(t) { 6120 return new (t || _InvalidLinkComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 6121 }; 6122 6123 _InvalidLinkComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 6124 type: _InvalidLinkComponent, 6125 selectors: [["app-invalid-link"]], 6126 decls: 17, 6127 vars: 0, 6128 consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["alt", "Invalid link image", "id", "graphic", "src", "../../../assets/images/InvalidLink.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], 6129 template: function InvalidLinkComponent_Template(rf, ctx) { 6130 if (rf & 1) { 6131 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 6132 6133 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 6134 6135 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2); 6136 6137 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "This sharing link is invali
6137d!"); 6138 6139 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6140 6141 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6142 6143 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3); 6144 6145 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4); 6146 6147 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You are trying to access a sharing link that never existed or doesn't work anymore."); 6148 6149 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "br"); 6150 6151 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "If you're trying to sign your friend's virtrolio, make sure to ask for their "); 6152 6153 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "em"); 6154 6155 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "newest"); 6156 6157 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6158 6159 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, " sharing link. "); 6160 6161 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6162 6163 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6164 6165 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 1); 6166 6167 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 5); 6168 6169 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6170 6171 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 6); 6172 6173 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 7); 6174 6175 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home"); 6176 6177 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6178 6179 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6180 6181 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6182 } 6183 }, 6184 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 6185 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n font-size: 2.5em;\n text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n font-size: large;\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 5em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 2em;\n }\n\n #subtitle-text[_ngcontent-%COMP%] {\n font-size: 1em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImludmFsaWQtbGluay5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJpbnZhbGlkLWxpbmsuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"] 6186 }); 6187 /***/ 6188 }, 6189 6190 /***/ 6191 20479: 6192 /*!************************************************************!*\ 6193 !*** ./src/app/pages/maintenance/maintenance.component.ts ***! 6194 \************************************************************/ 6195 6196 /***/ 6197 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 6198 "use strict"; 6199 6200 __webpack_require__.r(__webpack_exports__); 6201 /* harmony export */ 6202 6203 6204 __webpack_require__.d(__webpack_exports__, { 6205 /* harmony export */ 6206 "MaintenanceComponent": function MaintenanceComponent() { 6207 return ( 6208 /* binding */ 6209 _MaintenanceComponent 6210 ); 6211 } 6212 /* harmony export */ 6213 6214 }); 6215 /* harmony import */ 6216 6217 6218 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 6219 /*! @angular/core */ 6220 37716); 6221 /* harmony import */ 6222 6223 6224 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 6225 /*! @angular/platform-browser */ 6226 39075); 6227 /* harmony import */ 6228 6229 6230 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 6231 /*! @angular/router */ 6232 39895); 6233 6234 var _MaintenanceComponent = /*#__PURE__*/function () { 6235 function _MaintenanceComponent(title) { 6236 _classCallCheck(this, _MaintenanceComponent); 6237 6238 this.title = title; 6239 } 6240 6241 _createClass(_MaintenanceComponent, [{ 6242 key: "ngOnInit", 6243 value: function ngOnInit() { 6244 this.title.setTitle('Under Maintenance - Try again later! | Virtrolio'); 6245 } 6246 }]); 6247 6248 return _MaintenanceComponent; 6249 }(); 6250 6251 _MaintenanceComponent.ɵfac = function MaintenanceComponent_Factory(t) { 6252 return new (t || _MaintenanceComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 6253 }; 6254 6255 _MaintenanceComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 6256 type: _MaintenanceComponent, 6257 selectors: [["app-maintenance"]], 6258 decls: 18, 6259 vars: 0, 6260 consts: [[1, "container", "vertical-center", "montserrat", "align-items-center"], [1, "row", "justify-content-center", "col-md-6", "m-2"], [1, "display-text"], ["id", "maintenance-subheading", 1, "display-body-text"], ["routerLink", "/my-v
6260irtrolio"], [1, "display-body-text"], [1, "row", "justify-content-center", "mx-3", "mt-3"], ["src", "../../../assets/images/Maintenance.svg", "alt", "Under construction image", "id", "graphic"], [1, "row", "justify-content-center", "m-2"], ["routerLink", "/my-virtrolio", 1, "btn-lg", "btn-primary", "mt-5", "mb-2", "mx-3"], ["routerLink", "/", 1, "btn-lg", "btn-primary", "mt-5", "mb-2", "mx-3"]], 6261 template: function MaintenanceComponent_Template(rf, ctx) { 6262 if (rf & 1) { 6263 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 6264 6265 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 6266 6267 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2); 6268 6269 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "Our website is currently under maintenance."); 6270 6271 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6272 6273 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "p", 3); 6274 6275 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, " While you can view "); 6276 6277 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "a", 4); 6278 6279 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](7, "your virtrolio"); 6280 6281 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6282 6283 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " (and the rest of the website) as usual, sending messages will be unavailable for the time being. "); 6284 6285 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6286 6287 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "p", 5); 6288 6289 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "We apologize for the inconvenience."); 6290 6291 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6292 6293 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6294 6295 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "div", 6); 6296 6297 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](12, "img", 7); 6298 6299 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6300 6301 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "div", 8); 6302 6303 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "button", 9); 6304 6305 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, " My virtrolio "); 6306 6307 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6308 6309 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "button", 10); 6310 6311 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, " Back to Home "); 6312 6313 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6314 6315 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6316 6317 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6318 } 6319 }, 6320 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 6321 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 10em;\n}\n\nh2[_ngcontent-%COMP%], h5[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 5em;\n }\n\n #maintenance-heading[_ngcontent-%COMP%] {\n font-size: 1.4em;\n }\n\n #maintenance-subheading[_ngcontent-%COMP%] {\n font-size: 1em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW50ZW5hbmNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7O0VBRUUsa0JBQWtCO0FBQ3BCOztBQUVBLFdBQVc7O0FBQ1g7RUFDRTtJQUNFLFdBQVc7RUFDYjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJtYWludGVuYW5jZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbmgyLFxuaDUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjbWFpbnRlbmFuY2UtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgfVxuXG4gICNtYWludGVuYW5jZS1zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"] 6322 }); 6323 /***/ 6324 }, 6325 6326 /***/ 6327 88198: 6328 /*!******************************************************!*\ 6329 !*** ./src/app/pages/msg-sent/msg-sent.component.ts ***! 6330 \******************************************************/ 6331 6332 /***/ 6333 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 6334 "use strict"; 6335 6336 __webpack_require__.r(__webpack_exports__); 6337 /* harmony export */ 6338 6339 6340 __webpack_require__.d(__webpack_exports__, { 6341 /* harmony export */ 6342 "MsgSentComponent": function MsgSentComponent() { 6343 return ( 6344 /* binding */ 6345 _MsgSentComponent 6346 ); 6347 } 6348 /* harmony export */ 6349 6350 }); 6351 /* harmony import */ 6352 6353 6354 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 6355 /*! @angular/core */ 6356 37716); 6357 /* harmony import */ 6358 6359 6360 var _angular_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 6361 /*! @angular/router */ 6362 39895); 6363 /* harmony import */ 6364 6365 6366 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 6367 /*! @angular/platform-browser */ 6368 39075); 6369 6370 var _MsgSentComponent = /*#__PURE__*/function () { 6371 function _MsgSentComponent(route, title) { 6372 _classCallCheck(this, _MsgSentComponent); 6373 6374 this.route = route; 6375 this.title = title; 6376 this.name = 'Your friend'; 6377 } 6378 6379 _createClass(_MsgSentComponent, [{ 6380 key: "ngOnInit", 6381 value: function ngOnInit() { 6382 var _this13 = this; 6383 6384 this.route.queryParams.subscribe(function (params) { 6385 _this13.name = params.name; 6386 6387 _this13.title.setTitle('Message sent to ' + params.name + "! | Virtrolio - Stay connected. Even when you're apart."); 6388 }); 6389 } 6390 }]); 6391 6392 return _MsgSentComponent; 6393 }(); 6394 6395 _MsgSentComponent.ɵfac = function MsgSentComponent_Factory(t) { 6396 return new (t || _MsgSentComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_1__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_2__.Title)); 6397 }; 6398 6399 _MsgSentComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 6400 type: _MsgSentComponent, 6401 selectors: [["app-msg-sent"]], 6402 decls: 11, 6403 vars: 1, 6404 consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "mx-3", "mt-3", "justify-content-center"], [1, "display-text"], [1, "row", "mx-2", "my-5", "justify-content-center"], ["alt", "Paper plane graphic", "id", "graphic", "src", "../../../assets/images/MessageSent-Light.svg"], ["id", "buttons", 1, "row", "justify-content-center", "mb-3"], ["routerLink", "/my-v
6404irtrolio", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"], ["routerLink", "", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"]], 6405 template: function MsgSentComponent_Template(rf, ctx) { 6406 if (rf & 1) { 6407 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 6408 6409 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 6410 6411 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2); 6412 6413 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3); 6414 6415 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6416 6417 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6418 6419 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3); 6420 6421 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](5, "img", 4); 6422 6423 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6424 6425 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "div", 5); 6426 6427 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "button", 6); 6428 6429 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " My virtrolio "); 6430 6431 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6432 6433 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "button", 7); 6434 6435 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, " Home Page "); 6436 6437 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6438 6439 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6440 6441 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 6442 } 6443 6444 if (rf & 2) { 6445 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3); 6446 6447 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate1"](" ", ctx.name ? ctx.name : "Your friend", " will receive your message soon! "); 6448 } 6449 }, 6450 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_1__.RouterLink], 6451 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 15em;\n}\n\n#buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n margin: 2em 1em 0;\n font-size: 1.1em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n font-size: 2em;\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 10em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 1.5em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1zZy1zZW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtBQUNwQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxZQUFZO0VBQ2Q7O0VBRUE7SUFDRSxnQkFBZ0I7RUFDbEI7QUFDRiIsImZpbGUiOiJtc2ctc2VudC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2dyYXBoaWMge1xuICBoZWlnaHQ6IDE1ZW07XG59XG5cbiNidXR0b25zID4gYnV0dG9uIHtcbiAgbWFyZ2luOiAyZW0gMWVtIDA7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDEwZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgfVxufVxuIl19 */"] 6452 }); 6453 /***/ 6454 }, 6455 6456 /***/ 6457 32093: 6458 /*!**************************************************************!*\ 6459 !*** ./src/app/pages/my-virtrolio/my-virtrolio.component.ts ***! 6460 \**************************************************************/ 6461 6462 /***/ 6463 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 6464 "use strict"; 6465 6466 __webpack_require__.r(__webpack_exports__); 6467 /* harmony export */ 6468 6469 6470 __webpack_require__.d(__webpack_exports__, { 6471 /* harmony export */ 6472 "MyVirtrolioComponent": function MyVirtrolioComponent() { 6473 return ( 6474 /* binding */ 6475 _MyVirtrolioComponent 6476 ); 6477 } 6478 /* harmony export */ 6479 6480 }); 6481 /* harmony import */ 6482 6483 6484 var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 6485 /*! ../../core/common.service */ 6486 80150); 6487 /* harmony import */ 6488 6489 6490 var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 6491 /*! @angular/core */ 6492 37716); 6493 /* harmony import */ 6494 6495 6496 var _core_auth_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 6497 /*! ../../core/auth.service */ 6498 87341); 6499 /* harmony import */ 6500 6501 6502 var _core_sharing_link_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 6503 /*! ../../core/sharing-link.service */ 6504 84157); 6505 /* harmony import */ 6506 6507 6508 var _angular_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 6509 /*! @angular/router */ 6510 39895); 6511 /* harmony import */ 6512 6513 6514 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 6515 /*! @angular/platform-browser */ 6516 39075); 6517 /* harmony import */ 6518 6519 6520 var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 6521 /*! @angular/common */ 6522 38583); 6523 /* harmony import */ 6524 6525 6526 var _angular_forms__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 6527 /*! @angular/forms */ 6528 3679); 6529 6530 function MyVirtrolioComponent_div_52_Template(rf, ctx) { 6531 if (rf & 1) { 6532 var _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 6533 6534 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 47); 6535 6536 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "label", 48); 6537 6538 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](2, "Share"); 6539 6540 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6541 6542 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "button", 49); 6543 6544 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_div_52_Template_button_click_3_listener() { 6545 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r7); 6546 6547 var ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 6548 6549 return ctx_r6.shareLink(); 6550 }); 6551 6552 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](4, " Share your link "); 6553 6554 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6555 6556 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6557 } 6558 } 6559 6560 function MyVirtrolioComponent_ng_template_53_Template(rf, ctx) { 6561 if (rf & 1) { 6562 var _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 6563 6564 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 50); 6565 6566 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div"); 6567 6568 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "h6"); 6569 6570 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](3, "Use the buttons below to share your link!"); 6571 6572 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6573 6574 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6575 6576 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "button", 51); 6577 6578 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_4_listener() { 6579 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9); 6580 6581 var ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 6582 6583 return ctx_r8.postOnSocial("facebook"); 6584 }); 6585 6586 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 52); 6587 6588 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "span", 53); 6589 6590 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](7, "Facebook"); 6591 6592 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6593 6594 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6595 6596 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "button", 54); 6597 6598 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_8_listener() { 6599 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9); 6600 6601 var ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 6602 6603 return ctx_r10.postOnSocial("twitter"); 6604 }); 6605 6606 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](9, "img", 55); 6607 6608 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "span"); 6609 6610 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11, "Twitter"); 6611 6612 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6613 6614 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6615 6616 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "button", 56); 6617 6618 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_ng_template_53_Template_button_click_12_listener() { 6619 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r9); 6620 6621 var ctx_r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 6622 6623 return ctx_r11.postOnSocial("email"); 6624 }); 6625 6626 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](13, "img", 57); 6627 6628 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "span", 53); 6629 6630 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](15, "Email"); 6631 6632 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6633 6634 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6635 6636 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](16, "hr"); 6637 6638 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6639 } 6640 } 6641 6642 function MyVirtrolioComponent_div_61_Template(rf, ctx) { 6643 if (rf & 1) { 6644 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 58); 6645 6646 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](1, " Are you sure? Generating a new link will invalidate any other links that you have generated! Click generate again to confirm. "); 6647 6648 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6649 } 6650 } 6651 /** 6652 * 'My virtrolio.' Displays your virtrolio as a 'book' on screen and allows you to generate a sharing link. 6653 */ 6654 6655 6656 var _MyVirtrolioComponent = /*#__PURE__*/function () { 6657 function _MyVirtrolioComponent(authService, sharingLinkService, router, title) { 6658 _classCallCheck(this, _MyVirtrolioComponent); 6659 6660 this.authService = authService; 6661 this.sharingLinkService = sharingLinkService; 6662 this.router = router; 6663 this.title = title; 6664 this.currentYear = _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR; 6665 /** Default values */ 6666 6667 this.link = 'Getting your link...'; 6668 this.linkReady = false;
6669 this.showWarningText = false; 6670 this.copyButtonText = 'Copy'; 6671 } 6672 6673 _createClass(_MyVirtrolioComponent, [{ 6674 key: "ngOnInit", 6675 value: function ngOnInit() { 6676 var _this14 = this; 6677 6678 this.authService.displayName().then(function (displayName) { 6679 _this14.displayName = displayName; 6680 6681 _this14.title.setTitle(displayName + "'s Virtrolio | Virtrolio"); 6682 }); 6683 this.authService.redirectLoginUserCreation()["catch"](function (error) { 6684 return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 6685 }); 6686 this.navigator = window.navigator; 6687 } 6688 }, { 6689 key: "ngOnDestroy", 6690 value: function ngOnDestroy() { 6691 $('#link-gen').modal('hide'); 6692 $('#send-message').modal('hide'); 6693 } 6694 /** 6695 * Check if user can share using a native sharing mechanism (i.e. if they are on mobile) 6696 * @returns - True if the user has a native sharing mechanism available 6697 */ 6698 6699 }, { 6700 key: "canShare", 6701 value: function canShare() { 6702 return this.navigator && this.navigator.share; 6703 } 6704 /** 6705 * Selects an inputElement's field and copies its contents to the clipboard, updating the button to confirm the copy 6706 * @param inputElement - the element to read from 6707 */ 6708 6709 }, { 6710 key: "copyLink", 6711 value: function copyLink(inputElement) { 6712 inputElement.select(); 6713 inputElement.setSelectionRange(0, 10000); 6714 document.execCommand('copy'); 6715 this.copyButtonText = 'Copied!'; 6716 } 6717 /** 6718 * Fetches the user's sharing link, alerts an error on invalid link 6719 */ 6720 6721 }, { 6722 key: "setLink", 6723 value: function setLink() { 6724 var _this15 = this; 6725 6726 this.copyButtonText = 'Copy'; 6727 this.sharingLinkService.getLink().then(function (link) { 6728 _this15.link = link; 6729 _this15.linkReady = true; 6730 }); 6731 } 6732 /** 6733 * Attempts to navigate by router to a sharing link based on what is inputted in the 'send a message' input field 6734 * (query params extracted with regEx if possible) 6735 */ 6736 6737 }, { 6738 key: "navigateToLink", 6739 value: function navigateToLink() { 6740 if (this.visitLink) { 6741 try { 6742 // noinspection JSIgnoredPromiseFromCall 6743 this.visitLinkUID = this.visitLink.match(/uid=([^&]*)/)[1]; 6744 this.visitLinkKEY = this.visitLink.match(/key=([^&]*)/)[1]; 6745 window.location.href = '/signing?uid=' + this.visitLinkUID + '&key=' + this.visitLinkKEY; 6746 } catch (e) { 6747 this.router.navigate(['/invalid-link'])["catch"](function (e) { 6748 return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); 6749 }); 6750 } 6751 } 6752 } 6753 /** 6754 * Share 'sharing link' using device native sharing mechanism. Should only be available on the front end to the user 6755 * if they have a native sharing mechanism. 6756 */ 6757 6758 }, { 6759 key: "shareLink", 6760 value: function shareLink() { 6761 if (this.canShare()) { 6762 this.navigator.share({ 6763 title: this.displayName + "'s virtrolio for " + _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.CURRENT_YEAR + '!', 6764 text: 'Sign my virtual yearbook!', 6765 url: this.link 6766 })["catch"](function (error) { 6767 return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: ' + error); 6768 }); 6769 } else { 6770 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: Native Share not supported on this browser: ' + navigator.userAgent); 6771 } 6772 } 6773 /** 6774 * Share the user's sharing link on the appropriate platform 6775 * @param platform - platform on which to post the sharing link 6776 */ 6777 6778 }, { 6779 key: "postOnSocial", 6780 value: function postOnSocial(platform) { 6781 var urlFriendlyLink = 'https%3A//virtrolio.web.app/signing?uid=' + this.authService.uid() + '%26key=' + this.link.match(/key=([^&]*)/)[1]; 6782 var bodyText = 'Sign%20my%20virtual%20yearbook!'; 6783 6784 if (platform === 'facebook') { 6785 window.open('https://www.facebook.com/sharer/sharer.php?u=' + urlFriendlyLink, '_blank'); 6786 } else if (platform === 'twitter') { 6787 window.open('https://twitter.com/intent/tweet?url=' + urlFriendlyLink + '&text=' + bodyText, '_blank'); 6788 } else if (platform === 'email') { 6789 window.open('mailto:?subject=' + 'Virtrolio%20-%20Online%20Yearbook%20Signing!' + '&body=' + bodyText
6789+ '%0D%0A' + urlFriendlyLink, '_blank'); 6790 } else { 6791 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Sharing Error: Unsupported social media platform: ' + platform); 6792 } 6793 } 6794 /** 6795 * Toggles between displaying warning text and updating the sharing link in the text box. 6796 */ 6797 6798 }, { 6799 key: "warnAndGenerate", 6800 value: function warnAndGenerate() { 6801 var _this16 = this; 6802 6803 if (this.showWarningText) { 6804 this.link = 'Generating new link...'; 6805 this.linkReady = false; 6806 this.copyButtonText = 'Copy'; 6807 this.sharingLinkService.changeKey().then(function () { 6808 return _this16.setLink(); 6809 })["catch"](function (error) { 6810 return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 6811 }); 6812 this.setLink(); 6813 } 6814 6815 this.showWarningText = !this.showWarningText; 6816 } 6817 }]); 6818 6819 return _MyVirtrolioComponent; 6820 }(); 6821 6822 _MyVirtrolioComponent.ɵfac = function MyVirtrolioComponent_Factory(t) { 6823 return new (t || _MyVirtrolioComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_1__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_sharing_link_service__WEBPACK_IMPORTED_MODULE_2__.SharingLinkService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_4__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title)); 6824 }; 6825 6826 _MyVirtrolioComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ 6827 type: _MyVirtrolioComponent, 6828 selectors: [["app-my-virtrolio"]], 6829 decls: 94, 6830 vars: 11, 6831 consts: [[1, "container", "montserrat", "vertical-center"], [1, "row", "justify-content-center"], [1, "vertical-center", "mx-5", "my-3", "my-lg-0"], ["id", "virtrolio-outer-div", "routerLink", "/viewing", 1, "bg-primary", "rounded"], ["id", "virtrolio-title", 1, "bg-light", "p-3", "mt-4", "m-4", "rounded", "vertical-center"], [1, "mt-5"], ["id", "users-virtrolio"], [1, "col-lg-3", "col-md-4", "col-sm-5", "px-2", "vertical-center"], ["id", "buttons"], [1, "row"], ["data-target", "#link-gen", "data-toggle", "modal", "type", "button", 1, "btn-lg", "btn-primary", 3, "click"], ["routerLink", "/viewing", "type", "button", 1, "btn-lg", "btn-primary"], ["data-target", "#send-message", "data-toggle", "modal", "type", "button", 1, "btn-lg", "btn-primary"], ["routerLink", "/settings", "type", "button", 1, "btn-lg", "btn-primary"], [1, "col-lg-1"], ["aria-hidden", "true", "aria-labelledby", "link-gen-title", "id", "link-gen", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "link-gen-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body", "sharing-link-body"], ["for", "sharing-link-field"], [1, "align-items-center", "my-3"], [1, "input-group", "mb-3"], ["id", "sharing-link-field", "readonly", "", "type", "text", 1, "form-control", 3, "disabled", "value", "click"], ["sharingLink", ""], [1, "input-group-append"], ["id", "button-copy", "type", "button", 1, "btn", "btn-primary", "align-middle", 3, "disabled", "click"], ["id", "sharing-link-buttons", 1, "row", "justify-content-center"], ["class", "col-sm-5 px-0 vertical-center my-2 mx-sm-1", 4, "ngIf", "ngIfElse"], ["desktopSharing", ""], [1, "col-sm-5", "px-0"], ["for", "button-new-link"], ["id", "button-new-link", "type", "button", 1, "btn", "btn-secondary", "w-100", "my-2", "mx-sm-1", 3, "click"], ["id", "warning-div", 4, "ngIf"], ["id", "generate-link-desc", 1, "mt-3"], ["aria-hidden", "true", "aria-labelledby", "send-message-modal-title", "id", "send-message", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["id", "send-message-modal-title", 1, "modal-title"], [1, "input-group"], ["for", "input-sharing-field", "id", "input-sharing-label", 2, "display", "none"], ["id", "input-sharing-field", "type", "text", "placeholder", "Input your friend's link here", "aria-label", "sign-friend", 1, "form-control", 3, "ngModel", "click", "ngModelChange"], ["inputSharing", ""], ["aria-label", "Close", "data-dismiss", "modal", "id", "button-go", "type", "button", 1, "btn", "btn-primary", "align-middle", "button-modal", 3, "click"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], [1, "col-sm-5", "px-0", "vertical-center", "my-2", "mx-sm-1"], ["for", "button-share-mobile"], ["id", "button-share-mobile", "type", "button", 1, "btn", "btn-success", "w-100", 3, "click"], ["id", "sharing-buttons", 1, "row", "w-100"], ["role", "button", "id", "facebook-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/facebook.svg", "alt", "Share with Facebook", 1, "mr-2"], [1, "mr-1"], ["role", "button", "id", "twitter-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/twitter.svg", "alt", "Share with Twitter", 1, "mr-2"], ["role", "button", "id", "email-button", 1, "btn", "btn-secondary", "col-sm-3", "mx-sm-3", "my-2", 3, "click"], ["src", "../../../assets/images/icons/mail.svg", "alt", "Share with Email", 1, "mr-2"], ["id", "warning-div"]], 6832 template: function MyVirtrolioComponent_Template(rf, ctx) { 6833 if (rf & 1) { 6834 var _r12 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 6835 6836 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0); 6837 6838 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 1); 6839 6840 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "div", 2); 6841 6842 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 3); 6843 6844 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 4); 6845 6846 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](5, "h1"); 6847 6848 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](6); 6849 6850 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6851 6852 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6853 6854 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "div", 5); 6855 6856 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "h2", 6); 6857 6858 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](9); 6859 6860 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](10, "br"); 6861 6862 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11, " virtrolio "); 6863 6864 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6865 6866 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6867 6868 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6869 6870 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6871 6872 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 7); 6873 6874 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "div", 8); 6875 6876 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](14, "div", 9); 6877 6878 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "button", 10); 6879 6880 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_15_listener() { 6881 ctx.setLink(); 6882 return ctx.showWarningText = false;
6883 }); 6884 6885 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, " Sharing Link "); 6886 6887 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6888 6889 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6890 6891 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](17, "div", 9); 6892 6893 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](18, "button", 11); 6894 6895 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](19, " View Messages "); 6896 6897 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6898 6899 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6900 6901 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](20, "div", 9); 6902 6903 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](21, "button", 12); 6904 6905 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](22, " Send a Message "); 6906 6907 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6908 6909 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6910 6911 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](23, "div", 9); 6912 6913 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](24, "button", 13); 6914 6915 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](25, " Settings "); 6916 6917 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6918 6919 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6920 6921 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6922 6923 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6924 6925 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](26, "div", 14); 6926 6927 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6928 6929 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6930 6931 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](27, "div", 15); 6932 6933 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](28, "div", 16); 6934 6935 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](29, "div", 17); 6936 6937 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](30, "div", 18); 6938 6939 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](31, "h5", 19); 6940 6941 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](32, " Ahoy, your sharing link has been prepared! "); 6942 6943 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6944 6945 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](33, "button", 20); 6946 6947 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](34, "span", 21); 6948 6949 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](35, "\xD7"); 6950 6951 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6952 6953 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6954 6955 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6956 6957 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](36, "div", 22); 6958 6959 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](37, "p"); 6960 6961 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](38, " This is "); 6962 6963 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](39, "b"); 6964 6965 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](40, "your"); 6966 6967 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6968 6969 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](41, " sharing link; only share it with people you trust. "); 6970 6971 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6972 6973 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](42, "label", 23); 6974 6975 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](43, "Your Link:"); 6976 6977 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6978 6979 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](44, "div", 24); 6980 6981 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](45, "div", 25); 6982 6983 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](46, "input", 26, 27); 6984 6985 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_input_click_46_listener() { 6986 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12); 6987 6988 var _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](47); 6989 6990 return ctx.copyLink(_r0); 6991 }); 6992 6993 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 6994 6995 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](48, "div", 28); 6996 6997 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](49, "button", 29); 6998 6999 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_49_listener() { 7000 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12); 7001 7002 var _r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](47); 7003 7004 return ctx.copyLink(_r0); 7005 }); 7006 7007 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](50); 7008 7009 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7010 7011 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7012 7013 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7014 7015 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7016 7017 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](51, "div", 30); 7018 7019 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](52, MyVirtrolioComponent_div_52_Template, 5, 0, "div", 31); 7020 7021 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](53, MyVirtrolioComponent_ng_template_53_Template, 17, 0, "ng-template", null, 32, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplateRefExtractor"]); 7022 7023 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](55, "div", 33); 7024 7025 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](56, "label", 34); 7026 7027 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](57, "Click to generate a new link"); 7028 7029 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7030 7031 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](58, "button", 35); 7032 7033 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_58_listener() { 7034 return ctx.warnAndGenerate(); 7035 }); 7036 7037 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](59, " Generate new link "); 7038 7039 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7040 7041 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7042 7043 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7044 7045 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](60, "div", 9); 7046 7047 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](61, MyVirtrolioComponent_div_61_Template, 2, 0, "div", 36); 7048 7049 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](62, "div", 37); 7050 7051 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](63, "h6"); 7052 7053 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](64, "Why would I want to generate a new link?"); 7054 7055 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7056 7057 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](65, "p"); 7058 7059 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](66, " If you want people to stop being able to use your old one! Comes in handy if people are signing your virtrolio whom you don't approve of. "); 7060 7061 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7062 7063 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7064 7065 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7066 7067 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7068 7069 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7070 7071 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7072 7073 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7074 7075 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](67, "div", 38); 7076 7077 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](68, "div", 16); 7078 7079 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](69, "div", 17); 7080 7081 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](70, "div", 18); 7082 7083 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](71, "h5", 39); 7084 7085 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](72, " Signing a friend's virtrolio "); 7086 7087 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7088 7089 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](73, "button", 20); 7090 7091 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](74, "span", 21); 7092 7093 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](75, "\xD7"); 7094 7095 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7096 7097 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7098 7099 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7100 7101 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](76, "div", 22); 7102 7103 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](77, "p"); 7104 7105 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](78, " To sign a friend's virtrolio, they need to give you their 'sharing link'! You can paste your friend's sharing link below or directly into your browser search bar. To access "); 7106 7107 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](79, "em"); 7108 7109 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](80, "your"); 7110 7111 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7112 7113 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](81, " sharing link, click the 'Sharing Link' button on this page! "); 7114 7115 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7116 7117 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](82, "div", 24); 7118 7119 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](83, "div", 40); 7120 7121 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](84, "label", 41); 7122 7123 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](85, "Visit friend link"); 7124 7125 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7126 7127 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](86, "input", 42, 43); 7128 7129 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_input_click_86_listener() { 7130 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r12); 7131 7132 var _r5 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](87); 7133 7134 return ctx.copyLink(_r5); 7135 })("ngModelChange", function MyVirtrolioComponent_Template_input_ngModelChange_86_listener($event) { 7136 return ctx.visitLink = $event; 7137 }); 7138 7139 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7140 7141 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](88, "div", 28); 7142 7143 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](89, "button", 44); 7144 7145 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function MyVirtrolioComponent_Template_button_click_89_listener() { 7146 return ctx.navigateToLink(); 7147 }); 7148 7149 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](90, " Go "); 7150 7151 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7152 7153 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7154 7155 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7156 7157 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7158 7159 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7160 7161 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](91, "div", 45); 7162 7163 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](92, "button", 46); 7164 7165 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](93, " Close "); 7166 7167 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7168 7169 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7170 7171 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7172 7173 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7174 7175 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 7176 } 7177 7178 if (rf & 2) { 7179 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵreference"](54); 7180 7181 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); 7182 7183 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate2"]("", ctx.currentYear - 1, "-", ctx.currentYear, ""); 7184 7185 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3); 7186 7187 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx.displayName, "'s "); 7188 7189 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](37); 7190 7191 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("value", ctx.link); 7192 7193 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("disabled", !ctx.linkReady); 7194 7195 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](3); 7196 7197 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("disabled", !ctx.linkReady); 7198 7199 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 7200 7201 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx.copyButtonText, " "); 7202 7203 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2); 7204 7205 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.canShare())("ngIfElse", _r2); 7206 7207 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](9); 7208 7209 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.showWarningText); 7210 7211 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](25); 7212 7213 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngModel", ctx.visitLink); 7214 } 7215 }, 7216 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_4__.RouterLink, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_7__.NgModel], 7217 styles: ["#virtrolio-outer-div[_ngcontent-%COMP%] {\n \n height: 64vh;\n width: 45vh;\n box-shadow: 5px 10px var(--light-grey);\n cursor: pointer;\n}\n\n.bg-primary[_ngcontent-%COMP%]:hover {\n background-color: var(--dark-accent) !important;\n}\n\n.btn-primary[_ngcontent-%COMP%]:disabled {\n background-color: var(--light-grey);\n}\n\n#virtrolio-title[_ngcontent-%COMP%] {\n \n height: 17vh;\n text-align: center;\n}\n\n#virtrolio-title[_ngcontent-%COMP%] > h1[_ngcontent-%COMP%] {\n font-size: 180%;\n}
7217\n\n#users-virtrolio[_ngcontent-%COMP%] {\n \n text-align: center;\n color: white;\n line-height: 1.5;\n font-size: 140%;\n}\n\n\n\n#buttons[_ngcontent-%COMP%] > *.row[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] {\n \n height: 4em;\n width: 100%;\n margin: 1.2em;\n overflow: auto;\n box-shadow: var(--signing-shadow);\n}\n\n\n\n.sharing-link-body[_ngcontent-%COMP%] {\n text-align: center;\n padding: 0.8em;\n}\n\n.sharing-link-body[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] {\n \n margin: 0.4em;\n}\n\n.sharing-link-body[_ngcontent-%COMP%] > input[_ngcontent-%COMP%] {\n \n width: 60%;\n height: 2em;\n padding: 0.2em;\n overflow-x: auto;\n}\n\n.sharing-link-body[_ngcontent-%COMP%] > label[_ngcontent-%COMP%], #sharing-link-buttons[_ngcontent-%COMP%] > label[_ngcontent-%COMP%], #sharing-link-buttons[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > label[_ngcontent-%COMP%] {\n display: none;\n}\n\n#sharing-link-buttons[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] {\n display: inline-block;\n}\n\n#sharing-link-field[_ngcontent-%COMP%] {\n background: white;\n}\n\n#facebook-button[_ngcontent-%COMP%] {\n background-color: #3b5998;\n}\n\n#twitter-button[_ngcontent-%COMP%] {\n background-color: #1da1f2;\n}\n\n#email-button[_ngcontent-%COMP%] {\n background-color: #b23122;\n}\n\n#sharing-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n border: 0;\n font-size: 0.8em;\n}\n\n#sharing-buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] > img[_ngcontent-%COMP%] {\n height: 80%;\n}\n\n.button-modal[_ngcontent-%COMP%] {\n width: 4.5em;\n padding: 0.4em;\n}\n\n#button-new-link[_ngcontent-%COMP%] {\n height: 2.4em;\n width: 10em;\n padding: 0.2em;\n margin: auto;\n}\n\n#warning-div[_ngcontent-%COMP%] {\n color: #f05555;\n text-align: center;\n padding: 0.4em;\n}\n\n#generate-link-desc[_ngcontent-%COMP%] {\n text-align: left;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15LXZpcnRyb2xpby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQjs7QUFFMUI7RUFDRSw4Q0FBOEM7RUFDOUMsWUFBWTtFQUNaLFdBQVc7RUFDWCxzQ0FBc0M7RUFDdEMsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtDQUErQztBQUNqRDs7QUFFQTtFQUNFLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtDQUErQztFQUMvQyxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBLG9CQUFvQjs7QUFFcEI7RUFDRSx1REFBdUQ7RUFDdkQsV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQSx1Q0FBdUM7O0FBRXZDO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSwrQ0FBK0M7RUFDL0MsYUFBYTtBQUNmOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLFVBQVU7RUFDVixXQUFXO0VBQ1gsY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTs7O0VBR0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0UsU0FBUztFQUNULGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFdBQVc7QUFDYjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFdBQVc7RUFDWCxjQUFjO0VBQ2QsWUFBWTtBQUNkOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6Im15LXZpcnRyb2xpby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogfHwgVmlydHJvbGlvIGNvdmVyIHx8ICovXG5cbiN2aXJ0cm9saW8tb3V0ZXItZGl2IHtcbiAgLyogRGl2IGVuY2xvc2luZyB2aXJ0cm9saW8gKG91dHNpZGUgPGE+IHRhZykgKi9cbiAgaGVpZ2h0OiA2NHZoO1xuICB3aWR0aDogNDV2aDtcbiAgYm94LXNoYWRvdzogNXB4IDEwcHggdmFyKC0tbGlnaHQtZ3JleSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJnLXByaW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrLWFjY2VudCkgIWltcG9ydGFudDtcbn1cblxuLmJ0bi1wcmltYXJ5OmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbiN2aXJ0cm9saW8tdGl0bGUge1xuICAvKiBUaXRsZSBvZiB0aGUgdmlydHJvbGlvICovXG4gIGhlaWdodDogMTd2aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jdmlydHJvbGlvLXRpdGxlID4gaDEge1xuICBmb250LXNpemU6IDE4MCU7XG59XG5cbiN1c2Vycy12aXJ0cm9saW8ge1xuICAvKiBcIlVzZXIncyB2aXJ0cm9saW9cIiB0ZXh0IG9uIHZpcnRyb2xpbyBjb3ZlciAqL1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAxNDAlO1xufVxuXG4vKiB8fCBTaWRlIEJ1dHRvbnMgKi9cblxuI2J1dHRvbnMgPiAqLnJvdyA+ICoge1xuICAvKiBFYWNoIGluZGl2aWR1YWwgYnV0dG9uIHdpbGwgaGF2ZSB0aGVzZSBwcm9wZXJ0aWVzOiAqL1xuICBoZWlnaHQ6IDRlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMS4yZW07XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbi8qIHwgU2hhcmluZyAmIFNlbmQgYSBtZXNzYWdlIGJ1dHRvbnMgKi9cblxuLnNoYXJpbmctbGluay1ib2R5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwLjhlbTtcbn1cblxuLnNoYXJpbmctbGluay1ib2R5ID4gKiB7XG4gIC8qIEVhY2ggaXRlbSBpbnNpZGUgYSBzaGFyaW5nLWxpbmsgbW9kYWwgYm9keSAqL1xuICBtYXJnaW46IDAuNGVtO1xufVxuXG4uc2hhcmluZy1saW5rLWJvZHkgPiBpbnB1dCB7XG4gIC8qIEZyaWVuZCBsaW5rIHRleHQgZmllbGQgKi9cbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uc2hhcmluZy1saW5rLWJvZHkgPiBsYWJlbCxcbiNzaGFyaW5nLWxpbmstYnV0dG9ucyA+IGxhYmVsLFxuI3NoYXJpbmctbGluay1idXR0b25zID4gZGl2ID4gbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jc2hhcmluZy1saW5rLWJ1dHRvbnMgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbiNzaGFyaW5nLWxpbmstZmllbGQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuI2ZhY2Vib29rLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7XG59XG5cbiN0d2l0dGVyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZGExZjI7XG59XG5cbiNlbWFpbC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIzMTIyO1xufVxuXG4jc2hhcmluZy1idXR0b25zID4gYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG4jc2hhcmluZy1idXR0b25zID4gYnV0dG9uID4gaW1nIHtcbiAgaGVpZ2h0OiA4MCU7XG59XG5cbi5idXR0b24tbW9kYWwge1xuICB3aWR0aDogNC41ZW07XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4jYnV0dG9uLW5ldy1saW5rIHtcbiAgaGVpZ2h0OiAyLjRlbTtcbiAgd2lkdGg6IDEwZW07XG4gIHBhZGRpbmc6IDAuMmVtO1xuICBtYXJnaW46IGF1dG87XG59XG5cbiN3YXJuaW5nLWRpdiB7XG4gIGNvbG9yOiAjZjA1NTU1O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNGVtO1xufVxuXG4jZ2VuZXJhdGUtbGluay1kZXNjIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbiJdfQ== */"] 7218 }); 7219 /***/ 7220 }, 7221 7222 /***/ 7223 78340: 7224 /*!******************************************************************!*\ 7225 !*** ./src/app/pages/page-not-found/page-not-found.component.ts ***! 7226 \******************************************************************/ 7227 7228 /***/ 7229 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 7230 "use strict"; 7231 7232 __webpack_require__.r(__webpack_exports__); 7233 /* harmony export */ 7234 7235 7236 __webpack_require__.d(__webpack_exports__, { 7237 /* harmony export */ 7238 "PageNotFoundComponent": function PageNotFoundComponent() { 7239 return ( 7240 /* binding */ 7241 _PageNotFoundComponent 7242 ); 7243 } 7244 /* harmony export */ 7245 7246 }); 7247 /* harmony import */ 7248 7249 7250 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 7251 /*! @angular/core */ 7252 37716); 7253 /* harmony import */ 7254 7255 7256 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 7257 /*! @angular/platform-browser */ 7258 39075); 7259 /* harmony import */ 7260 7261 7262 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 7263 /*! @angular/router */ 7264 39895); 7265 7266 var _PageNotFoundComponent = /*#__PURE__*/function () { 7267 function _PageNotFoundComponent(title) { 7268 _classCallCheck(this, _PageNotFoundComponent); 7269 7270 this.title = title; 7271 } 7272 7273 _createClass(_PageNotFoundComponent, [{ 7274 key: "ngOnInit", 7275 value: function ngOnInit() { 7276 this.title.setTitle('Page Not Found | Virtrolio'); 7277 } 7278 }]); 7279 7280 return _PageNotFoundComponent; 7281 }(); 7282 7283 _PageNotFoundComponent.ɵfac = function PageNotFoundComponent_Factory(t) { 7284 return new (t || _PageNotFoundComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 7285 }; 7286 7287 _PageNotFoundComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 7288 type: _PageNotFoundComponent, 7289 selectors: [["app-page-not-found"]], 7290 decls: 17, 7291 vars: 0, 7292 consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "col-md-2"], [1, "col-md-8"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["href", "mailto:[email protected]"], ["alt", "Page Not Found graphic", "id", "pnf-graphic", "src", "../../../assets/images/PageNotFound.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], 7293 template: function PageNotFoundComponent_Template(rf, ctx) { 7294 if (rf & 1) { 7295 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 7296 7297 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 7298 7299 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](2, "div", 2); 7300 7301 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 3); 7302 7303 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "h1", 4); 7304 7305 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](5, "The page you are looking for doesn't exist"); 7306 7307 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7308 7309 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7310 7311 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](6, "div", 2); 7312 7313 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7314 7315 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "div", 5); 7316 7317 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](8, "p", 6); 7318 7319 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](9, " Should it? You can contact us at "); 7320 7321 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](10, "a", 7); 7322 7323 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](11, "[email protected]"); 7324 7325 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7326 7327 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7328 7329 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7330 7331 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "div", 1); 7332 7333 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](13, "img", 8); 7334 7335 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7336 7337 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](14, "div", 9); 7338 7339 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "button", 10); 7340 7341 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, "Back to Home"); 7342 7343 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7344 7345 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7346 7347 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7348 } 7349 }, 7350 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 7351 styles: ["#pnf-graphic[_ngcontent-%COMP%] {\n height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n font-size: 2.5em;
7351\n text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n font-size: large;\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 5em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 2em;\n }\n\n #subtitle-text[_ngcontent-%COMP%] {\n font-size: 1em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0FBQ2Q7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQSxXQUFXOztBQUNYO0VBQ0U7SUFDRSxXQUFXO0VBQ2I7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0UsY0FBYztFQUNoQjtBQUNGIiwiZmlsZSI6InBhZ2Utbm90LWZvdW5kLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcG5mLWdyYXBoaWMge1xuICBoZWlnaHQ6IDEwZW07XG59XG5cbiN0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogbGFyZ2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNncmFwaGljIHtcbiAgICBoZWlnaHQ6IDVlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxuXG4gICNzdWJ0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxufVxuIl19 */"] 7352 }); 7353 /***/ 7354 }, 7355 7356 /***/ 7357 3654: 7358 /*!******************************************************************!*\ 7359 !*** ./src/app/pages/privacy-policy/privacy-policy.component.ts ***! 7360 \******************************************************************/ 7361 7362 /***/ 7363 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 7364 "use strict"; 7365 7366 __webpack_require__.r(__webpack_exports__); 7367 /* harmony export */ 7368 7369 7370 __webpack_require__.d(__webpack_exports__, { 7371 /* harmony export */ 7372 "PrivacyPolicyComponent": function PrivacyPolicyComponent() { 7373 return ( 7374 /* binding */ 7375 _PrivacyPolicyComponent 7376 ); 7377 } 7378 /* harmony export */ 7379 7380 }); 7381 /* harmony import */ 7382 7383 7384 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 7385 /*! @angular/core */ 7386 37716); 7387 /* harmony import */ 7388 7389 7390 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 7391 /*! @angular/platform-browser */ 7392 39075); 7393 7394 var _PrivacyPolicyComponent = /*#__PURE__*/function () { 7395 function _PrivacyPolicyComponent(title) { 7396 _classCallCheck(this, _PrivacyPolicyComponent); 7397 7398 this.title = title; 7399 } 7400 7401 _createClass(_PrivacyPolicyComponent, [{ 7402 key: "ngOnInit", 7403 value: function ngOnInit() { 7404 this.title.setTitle('Privacy Policy | Virtrolio'); 7405 } 7406 }]); 7407 7408 return _PrivacyPolicyComponent; 7409 }(); 7410 7411 _PrivacyPolicyComponent.ɵfac = function PrivacyPolicyComponent_Factory(t) { 7412 return new (t || _PrivacyPolicyComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 7413 }; 7414 7415 _PrivacyPolicyComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 7416 type: _PrivacyPolicyComponent, 7417 selectors: [["app-privacy-policy"]], 7418 decls: 98, 7419 vars: 0, 7420 consts: [[1, "container"], [1, "text-center", "mt-3", "mb-3"], ["role", "alert", 1, "alert", "alert-primary"], ["href", "https://virtrolio.web.app", "target", "_blank"], ["href", "http://www.allaboutcookies.org", "target", "_blank"], ["href", "../terms-of-service"], ["href", "https://www.google.com/intl/en/policies/privacy", "target", "_blank"], ["href", "https://policies.google.com/technologies/partner-sites", "target", "_blank"], ["href", "https://cloud.google.com/terms/", "target", "_blank"], ["href", "https://tools.google.com/dlpage/gaoptout", "target", "_blank"], ["href", "mailto:[email protected]", "target", "_blank"]], 7421 template: function PrivacyPolicyComponent_Template(rf, ctx) { 7422 if (rf & 1) { 7423 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 7424 7425 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1); 7426 7427 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Privacy Policy"); 7428 7429 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7430 7431 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 2); 7432 7433 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, " Last updated: June 16, 2021 "); 7434 7435 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7436 7437 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "h3"); 7438 7439 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, "SUMMARY"); 7440 7441 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7442 7443 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p"); 7444 7445 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " We take your privacy very seriously and commit to being transparent about how we use the data we collect. This data broadly falls under \"Personal\" and \"Device\" information. First and foremost, we do not and will never sell or share any of your data with third-party advertisers. We only collect personal information essential for making online yearbook signings possible, including your name, email, profile picture, and of course, the messages you ask us to deliver. Similarly, we only collect device information needed to make the website work smoothly and securely. Sending and receiving messages works like normal yearbook signing. Once you send something, it becomes the property of the receiver. However, you are always responsible for the contents of the messages you send. This summary is for convenience only and does not supersede the full policy; please read the terms below carefully. "); 7446 7447 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7448 7449 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "h3"); 7450 7451 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "OVERVIEW"); 7452 7453 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7454 7455 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "p"); 7456 7457 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " This Privacy Policy describes how your personal information is collected, used, and shared when you visit "); 7458 7459 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "a", 3); 7460 7461 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, "https://virtrolio.web.app"); 7462 7463 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7464 7465 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](15, " (the \u201CSite\u201D). "); 7466 7467 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7468 7469 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](16, "h3"); 7470 7471 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](17, "DEVICE INFORMATION WE COLLECT"); 7472 7473 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7474 7475 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](18, "p"); 7476 7477 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](19, "We collect Device Information using the following technologies:"); 7478 7479 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7480 7481 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](20, "ul"); 7482 7483 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "li"); 7484 7485 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, " \u201CCookies\u201D are data files that are placed on your device or computer and often include an anonymous unique identifier. For more information about cookies, and how to disable cookies, visit "); 7486 7487 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "a", 4); 7488 7489 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, "http://www.allaboutcookies.org"); 7490 7491 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7492 7493 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](25, ". "); 7494 7495 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7496 7497 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](26, "li"); 7498 7499 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](27, " \u201CLog files\u201D track actions occurring on the Site, and collect data including your IP address, browser type, Internet service provider, referring/exit pages, and date/time stamps. "); 7500 7501 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7502 7503 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](28, "li"); 7504 7505 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](29, " \u201CWeb beacons,\u201D \u201Ctags,\u201D and \u201Cpixels\u201D are electronic files used to record information about how you browse the Site. "); 7506 7507 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7508 7509 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](30, "li"); 7510 7511 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](31, " Google Analytics also collects device information through us; see SHARING YOUR PERSONAL INFORMATION for more details. "); 7512 7513 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7514 7515 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7516 7517 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](32, "h3"); 7518 7519 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](33, "PERSONAL INFORMATION WE COLLECT"); 7520 7521 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7522 7523 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](34, "p"); 7524 7525 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](35, " \u201CPersonal Information\u201D refers to any of the information identified in this section. When you sign up or sign in with us we collect certain information from you, including your name, email address, and profile picture. "); 7526 7527 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7528 7529 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](36, "h5"); 7530 7531 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](37, "HOW DO WE USE YOUR PERSONAL INFORMATION?"); 7532 7533 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7534 7535 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](38, "p"); 7536 7537 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](39, " We use your Personal Information in order to keep track of what email addresses have an account with us, what email addresses have signed others\u2019 virtrolios, and what name and profile picture to display when someone reads your message, among other applications. "); 7538 7539 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7540 7541 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](40, "p"); 7542 7543 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](41, " We use the Device Information that we collect to help us screen for potential risk and fraud (in particular, your IP address), and more generally to improve and optimize our Site (for example, by generating analytics about how our
7543customers browse and interact with the Site, and to assess the effectiveness of our marketing and advertising campaigns). "); 7544 7545 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7546 7547 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](42, "h5"); 7548 7549 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](43, "SHARING YOUR PERSONAL INFORMATION"); 7550 7551 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7552 7553 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](44, "p"); 7554 7555 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](45, " We share your Personal Information with third parties to help us use the information as described above. For example, we use Google Firebase to host our service and store your data, including messages which you author or receive. We also use Google Analytics to help us understand how our customers use the Site. Additionally, we make use of third-party sign-in providers such as Google in order to authenticate users who use our service. This means that we provide Google with certain parts of your data, which may be stored on servers outside your country. We only collect personal data that is essential to the core functionality of our Site. In addition, some anonymous data is used by us and relevant third-parties for analytical purposes. Your acceptance of our "); 7556 7557 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](46, "a", 5); 7558 7559 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](47, "Terms of Service"); 7560 7561 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7562 7563 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](48, " and other relevant policies gives Virtrolio the right to share user and website data, in the manner described, to enable these services. "); 7564 7565 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7566 7567 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](49, "p"); 7568 7569 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](50, " Visit the following links for more information on how Google uses your information: "); 7570 7571 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7572 7573 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](51, "ul"); 7574 7575 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](52, "li"); 7576 7577 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](53, "a", 6); 7578 7579 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](54, " https://www.google.com/intl/en/policies/privacy"); 7580 7581 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7582 7583 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7584 7585 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](55, "li"); 7586 7587 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](56, "a", 7); 7588 7589 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](57, " https://policies.google.com/technologies/partner-sites"); 7590 7591 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7592 7593 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7594 7595 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](58, "li"); 7596 7597 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](59, "a", 8); 7598 7599 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](60, " https://cloud.google.com/terms/"); 7600 7601 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7602 7603 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7604 7605 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7606 7607 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](61, "p"); 7608 7609 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](62, " You can also opt-out of Google Analytics here: "); 7610 7611 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](63, "a", 9); 7612 7613 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](64, "https://tools.google.com/dlpage/gaoptout"); 7614 7615 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7616 7617 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](65, ". "); 7618 7619 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7620 7621 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](66, "p"); 7622 7623 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](67, " Finally, we may also share your Personal Information to comply with applicable laws and regulations, to respond to a subpoena, search warrant or other lawful request for information we receive, or to otherwise protect our rights. "); 7624 7625 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7626 7627 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](68, "h3"); 7628 7629 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](69, "DO NOT TRACK"); 7630 7631 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7632 7633 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](70, "p"); 7634 7635 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](71, " We do not alter our Site\u2019s data collection and use practices when we see a Do Not Track signal from your browser. "); 7636 7637 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7638 7639 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](72, "h3"); 7640 7641 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](73, "DATA OWNERSHIP & RETENTION"); 7642 7643 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7644 7645 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](74, "p"); 7646 7647 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](75, " Our data ownership policies are designed to emulate real-life yearbook signings. By using our Service, you agree to your message text, message attributes and any attached images (collectively referred to hereafter as your \u201Cmessages\u201D or a \u201Cmessage\u201D) being governed by the following policy. "); 7648 7649 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7650 7651 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](76, "p"); 7652 7653 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](77, " Once you (the \u201Csender\u201D) send a message, you will no longer be able to modify your message, delete it, or save it, so please do so beforehand. By sending a message through our service to a person (the \u201Creceiver\u201D), you agree to transfer ownership of the data in your message to that person. If you, the sender, delete your Virtrolio account, your message data will remain on our servers under the ownership of the receiver unless deleted directly by us or by the receiver. Your content will not be publicly displayed or otherwise distributed by us but may be viewed by administrators and developers in order to provide and develop a better service. "); 7654 7655 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7656 7657 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](78, "p"); 7658 7659 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](79, " By receiving a message, you gain control over certain, but not all, aspects of that message. The receiver is the only user with the ability to delete a message (that they have received), and if a receiver chooses to delete their Virtrolio account and all their data, all messages they have received from other users will also be deleted. Modification of received messages is neither offered nor allowed by our platform. "); 7660 7661 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7662 7663 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](80, "p"); 7664 7665 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](81, " If you, the sender, create, upload, or otherwise disseminate content through Virtrolio that is deemed not to comply with our Terms or relevant policies and laws, the onus for the act remains on you regardless of the transfer of data ownership. The contents of a message are still associated with your account even after it has been sent to a receiver, and any investigation, inquiry, and consequences will be directed towards you, the sender. Receivers have the ability and right to flag or report a message they have received. "); 7666 7667 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7668 7669 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](82, "h3"); 7670 7671 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](83, "YOUR RIGHTS"); 7672 7673 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7674 7675 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](84, "p"); 7676 7677 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](85, " If you are a European resident, you have the right to access personal information we hold about you and to ask that your personal information be corrected, updated, or deleted. Please contact us at the address below for more information. "); 7678 7679 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7680 7681 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](86, "h3"); 7682 7683 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](87, "CHANGES"); 7684 7685 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7686 7687 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](88, "p"); 7688 7689 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](89, " We may update this privacy policy from time to time in order to reflect, for example, changes to our practices or for other operational, legal or regulatory reasons. "); 7690 7691 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7692 7693 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](90, "h3"); 7694 7695 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](91, "CONTACT US"); 7696 7697 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7698 7699 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](92, "p"); 7700 7701 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](93, " For more information about our privacy practices, or if you have questions, comments, or complaints, please contact us by e-mail at "); 7702 7703 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](94, "a", 10); 7704 7705 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](95, "[email protected]"); 7706 7707 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7708 7709 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](96, " or visit our Contact Us page for alternative options. "); 7710 7711 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7712 7713 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](97, "br"); 7714 7715 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7716 } 7717 }, 7718 styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwcml2YWN5LXBvbGljeS5jb21wb25lbnQuY3NzIn0= */"] 7719 }); 7720 /***/ 7721 }, 7722 7723 /***/ 7724 79668: 7725 /*!**************************************************!*\ 7726 !*** ./src/app/pages/rejecc/rejecc.component.ts ***! 7727 \**************************************************/ 7728 7729 /***/ 7730 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 7731 "use strict"; 7732 7733 __webpack_require__.r(__webpack_exports__); 7734 /* harmony export */ 7735 7736 7737 __webpack_require__.d(__webpack_exports__, { 7738 /* harmony export */
7739 "RejeccComponent": function RejeccComponent() { 7740 return ( 7741 /* binding */ 7742 _RejeccComponent 7743 ); 7744 } 7745 /* harmony export */ 7746 7747 }); 7748 /* harmony import */ 7749 7750 7751 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 7752 /*! @angular/core */ 7753 37716); 7754 /* harmony import */ 7755 7756 7757 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 7758 /*! @angular/platform-browser */ 7759 39075); 7760 /* harmony import */ 7761 7762 7763 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 7764 /*! @angular/router */ 7765 39895); 7766 7767 var _RejeccComponent = /*#__PURE__*/function () { 7768 function _RejeccComponent(title) { 7769 _classCallCheck(this, _RejeccComponent); 7770 7771 this.title = title; 7772 } 7773 7774 _createClass(_RejeccComponent, [{ 7775 key: "ngOnInit", 7776 value: function ngOnInit() { 7777 this.title.setTitle('You seem familiar... | Virtrolio'); 7778 } 7779 }]); 7780 7781 return _RejeccComponent; 7782 }(); 7783 7784 _RejeccComponent.ɵfac = function RejeccComponent_Factory(t) { 7785 return new (t || _RejeccComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 7786 }; 7787 7788 _RejeccComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 7789 type: _RejeccComponent, 7790 selectors: [["app-rejecc"]], 7791 decls: 14, 7792 vars: 0, 7793 consts: [[1, "container", "vertical-center", "montserrat"], [1, "row", "justify-content-center", "mx-3", "mt-3"], [1, "display-text"], [1, "row", "justify-content-center", "mx-3"], [1, "display-body-text"], ["alt", "Message already sent image", "id", "graphic", "src", "../../../assets/images/Rejecc.svg"], [1, "row", "justify-content-center", "my-3"], ["routerLink", "", 1, "btn-lg", "btn-primary", "mt-5"]], 7794 template: function RejeccComponent_Template(rf, ctx) { 7795 if (rf & 1) { 7796 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 7797 7798 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div", 1); 7799 7800 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "h1", 2); 7801 7802 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](3, "You seem familiar..."); 7803 7804 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7805 7806 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7807 7808 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](4, "div", 3); 7809 7810 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "p", 4); 7811 7812 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, " You've already signed this virtrolio with this account!"); 7813 7814 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "br"); 7815 7816 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, "Ask your friend to delete your previous message if you want to send another one. "); 7817 7818 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7819 7820 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7821 7822 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "div", 1); 7823 7824 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](10, "img", 5); 7825 7826 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7827 7828 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "div", 6); 7829 7830 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](12, "button", 7); 7831 7832 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](13, "Back to Home"); 7833 7834 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7835 7836 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7837 7838 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 7839 } 7840 }, 7841 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 7842 styles: ["#graphic[_ngcontent-%COMP%] {\n height: 10em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n font-size: 2.5em;
7842\n text-align: center;\n}\n\n#subtitle-text[_ngcontent-%COMP%] {\n font-size: large;\n text-align: center;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #graphic[_ngcontent-%COMP%] {\n height: 5em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 2em;\n }\n\n #subtitle-text[_ngcontent-%COMP%] {\n font-size: 1em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlamVjYy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGNBQWM7RUFDaEI7QUFDRiIsImZpbGUiOiJyZWplY2MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNncmFwaGljIHtcbiAgaGVpZ2h0OiAxMGVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3N1YnRpdGxlLXRleHQge1xuICBmb250LXNpemU6IGxhcmdlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjZ3JhcGhpYyB7XG4gICAgaGVpZ2h0OiA1ZW07XG4gIH1cblxuICAjdGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gIH1cblxuICAjc3VidGl0bGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cbiJdfQ== */"] 7843 }); 7844 /***/ 7845 }, 7846 7847 /***/ 7848 65814: 7849 /*!******************************************************!*\ 7850 !*** ./src/app/pages/settings/settings.component.ts ***! 7851 \******************************************************/ 7852 7853 /***/ 7854 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 7855 "use strict"; 7856 7857 __webpack_require__.r(__webpack_exports__); 7858 /* harmony export */ 7859 7860 7861 __webpack_require__.d(__webpack_exports__, { 7862 /* harmony export */ 7863 "SettingsComponent": function SettingsComponent() { 7864 return ( 7865 /* binding */ 7866 _SettingsComponent 7867 ); 7868 } 7869 /* harmony export */ 7870 7871 }); 7872 /* harmony import */ 7873 7874 7875 var tslib__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 7876 /*! tslib */ 7877 64762); 7878 /* harmony import */ 7879 7880 7881 var rxjs_operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 7882 /*! rxjs/operators */ 7883 15257); 7884 /* harmony import */ 7885 7886 7887 var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 7888 /*! @angular/core */ 7889 37716); 7890 /* harmony import */ 7891 7892 7893 var _core_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 7894 /*! ../../core/auth.service */ 7895 87341); 7896 /* harmony import */ 7897 7898 7899 var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 7900 /*! ../../core/msg-io.service */ 7901 84468); 7902 /* harmony import */ 7903 7904 7905 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 7906 /*! @angular/platform-browser */ 7907 39075); 7908 /* harmony import */ 7909 7910 7911 var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 7912 /*! @angular/router */ 7913 39895); 7914 7915 var _SettingsComponent = /*#__PURE__*/function () { 7916 function _SettingsComponent(authService, msgIoService, sanitizer, title) { 7917 _classCallCheck(this, _SettingsComponent); 7918 7919 this.authService = authService; 7920 this.msgIoService = msgIoService; 7921 this.sanitizer = sanitizer; 7922 this.title = title; 7923 } 7924 7925 _createClass(_SettingsComponent, [{ 7926 key: "ngOnInit", 7927 value: function ngOnInit() { 7928 this.title.setTitle('Settings | Virtrolio'); 7929 } 7930 }, { 7931 key: "ngOnDestroy", 7932 value: function ngOnDestroy() { 7933 $('#download').modal('hide'); 7934 $('#download-error').modal('hide'); 7935 $('#delete-error').modal('hide'); 7936 } 7937 /** 7938 * Converts the user's data and messages into JSONs and changes the href of their respective buttons to permit 7939 * downloading of the data. 7940 */ 7941 7942 }, { 7943 key: "generateDownloads", 7944 value: function generateDownloads() { 7945 return (0, tslib__WEBPACK_IMPORTED_MODULE_2__.__awaiter)(this, void 0, void 0, /*#__PURE__*/regeneratorRuntime.mark(function _callee22() { 7946 var downloadModal, exportErrorModal, messages, userData, messagesJSON, userJSON; 7947 return regeneratorRuntime.wrap(function _callee22$(_context22) { 7948 while (1) { 7949 switch (_context22.prev = _context22.next) { 7950 case 0: 7951 downloadModal = $('#download'); 7952 exportErrorModal = $('#download-error'); 7953 _context22.prev = 2; 7954 _context22.next = 5; 7955 return this.msgIoService.getMessages().pipe((0, rxjs_operators__WEBPACK_IMPORTED_MODULE_3__.take)(1)).toPromise(); 7956 7957 case 5: 7958 messages = _context22.sent; 7959 _context22.next = 8; 7960 return this.authService.getUserData(); 7961 7962 case 8: 7963 userData = _context22.sent; 7964 7965 // Convert encoded text to normal text 7966 if (messages) {
7967 messages.forEach(function (message) { 7968 message.contents = _SettingsComponent.decodeHtml(message.contents); 7969 }); 7970 } else { 7971 messages = [{ 7972 error: 'No messages found' 7973 }]; 7974 } // Convert data to JSON 7975 7976 7977 messagesJSON = JSON.stringify(messages, null, 2); 7978 userJSON = JSON.stringify(userData, null, 2); // Set download buttons 7979 7980 this.downloadMessagesData = this.sanitizer.bypassSecurityTrustUrl('data:text/json;charset=UTF-8,' + encodeURIComponent(messagesJSON)); 7981 this.downloadUserData = this.sanitizer.bypassSecurityTrustUrl('data:text/json;charset=UTF-8,' + encodeURIComponent(userJSON)); 7982 downloadModal.modal('show'); 7983 _context22.next = 22; 7984 break; 7985 7986 case 17: 7987 _context22.prev = 17; 7988 _context22.t0 = _context22["catch"](2); 7989 this.exportErrorText = _context22.t0; 7990 exportErrorModal.modal('show'); 7991 return _context22.abrupt("return"); 7992 7993 case 22: 7994 case "end": 7995 return _context22.stop(); 7996 } 7997 } 7998 }, _callee22, this, [[2, 17]]); 7999 })); 8000 } 8001 }], [{ 8002 key: "decodeHtml", 8003 value: function decodeHtml(html) { 8004 var txt = document.createElement('textarea'); 8005 txt.innerHTML = html; 8006 return txt.value; 8007 } 8008 }]); 8009 8010 return _SettingsComponent; 8011 }(); 8012 8013 _SettingsComponent.ɵfac = function SettingsComponent_Factory(t) { 8014 return new (t || _SettingsComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_1__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.DomSanitizer), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_5__.Title)); 8015 }; 8016 8017 _SettingsComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ 8018 type: _SettingsComponent, 8019 selectors: [["app-settings"]], 8020 decls: 132, 8021 vars: 6, 8022 consts: [[1, "container", "py-5", "mb-5", "montserrat"], [1, "row", "d-flex", "justify-content-center"], [1, "col-sm-12", "col-md-8"], [1, "card", "shadow", "border", "p-3"], [1, "card-body"], [1, "mb-2"], ["type", "button", 1, "btn", "btn-info", 3, "click"], ["href", "/privacy-policy"], ["href", "mailto:[email protected]", "target", "_blank"], ["data-target", "#delete-error", "data-toggle", "modal", "type", "button", 1, "btn", "btn-danger"], ["aria-hidden", "true", "aria-labelledby", "download-label", "id", "download", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], [1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "download-label", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body"], [1, "modal-footer"], ["download", "user.json", "title", "Download User Data", 1, "btn", "btn-info", 3, "href"], ["download", "messages.json", "title", "Download Messages", 1, "btn", "btn-info", 3, "href"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], ["aria-hidden", "true", "aria-labelledby", "download-error-label", "id", "download-error", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["id", "download-error-label", 1, "modal-title"], ["data-dismiss", "modal", "routerLink", "/contact"], ["href", "mailto:[email protected]", "target", "_blank", "type", "button", 1, "btn", "btn-primary"], ["data-dismiss", "modal", "data-target", "#delete-error-modal", "data-toggle", "modal", "type", "button", 1, "btn", "btn-secondary"], ["aria-hidden", "true", "aria-labelledby", "delete-error-label", "id", "delete-error", "role", "dialog", "tabindex", "-2", 1, "modal", "fade"], ["id", "delete-error-label", 1, "modal-title"], ["target", "_blank", "type", "button", 1, "btn", "btn-danger", 3, "href"]], 8023 template: function SettingsComponent_Template(rf, ctx) { 8024 if (rf & 1) { 8025 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0); 8026 8027 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](1, "div", 1); 8028 8029 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2); 8030 8031 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 3); 8032 8033 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 4); 8034 8035 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "h2", 5); 8036 8037 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6, "Settings"); 8038 8039 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8040 8041 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](7, "hr"); 8042 8043 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "h2"); 8044 8045 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](9, "Download your Data"); 8046 8047 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8048 8049 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](10, "p"); 8050 8051 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](11, " Clicking the button below will allow you to download all data associated with you that is stored on Virtrolio. This data includes your user data and messages that you have received. Note that this does not include messages written "); 8052 8053 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "b"); 8054 8055 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](13, "by"); 8056 8057 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8058 8059 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](14, " you, as those messages are owned by the message recipient. "); 8060 8061 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8062 8063 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](15, "p"); 8064 8065 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](16, " The data will be provided in one of several file formats including .zip, .json, .csv, .txt or .xlsx. You may need additional software to open some of these file types. "); 8066 8067 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](17, "u"); 8068 8069 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](18, "Virtrolio will not make any re
8069commendations on what software to use."); 8070 8071 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8072 8073 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8074 8075 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "p"); 8076 8077 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](20, "b"); 8078 8079 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](21, "Clicking the button below will generate your data. Please ensure you want to proceed before clicking the button."); 8080 8081 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8082 8083 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8084 8085 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](22, "button", 6); 8086 8087 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function SettingsComponent_Template_button_click_22_listener() { 8088 return ctx.generateDownloads(); 8089 }); 8090 8091 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](23, " Request Data "); 8092 8093 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8094 8095 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](24, "hr"); 8096 8097 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](25, "h2"); 8098 8099 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](26, "Delete Your Virtrolio Account"); 8100 8101 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8102 8103 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](27, "h6"); 8104 8105 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](28, "b"); 8106 8107 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](29, "READ CAREFULLY:"); 8108 8109 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8110 8111 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8112 8113 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](30, "p"); 8114 8115 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](31, " The button below will request the deletion of your account on Virtrolio, the data associated with your account, and any messages that you have received. It will NOT delete messages sent by you since those messages are owned by the message recipient, as per our "); 8116 8117 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](32, "a", 7); 8118 8119 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](33, "Privacy Policy"); 8120 8121 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8122 8123 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](34, ". If you would like these to be deleted, please ask the message recipient to delete it. "); 8124 8125 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8126 8127 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](35, "p"); 8128 8129 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](36, " If you have any questions, please email us directly at "); 8130 8131 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](37, "a", 8); 8132 8133 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](38, "[email protected]"); 8134 8135 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8136 8137 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](39, ". "); 8138 8139 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8140 8141 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](40, "button", 9); 8142 8143 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](41, " Delete Account "); 8144 8145 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8146 8147 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8148 8149 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8150 8151 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8152 8153 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8154 8155 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8156 8157 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](42, "div", 10); 8158 8159 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](43, "div", 11); 8160 8161 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](44, "div", 12); 8162 8163 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](45, "div", 13); 8164 8165 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](46, "h5", 14); 8166 8167 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](47, "Data Export"); 8168 8169 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8170 8171 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](48, "button", 15); 8172 8173 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](49, "span", 16); 8174 8175 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](50, "\xD7"); 8176 8177 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8178 8179 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8180 8181 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8182 8183 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](51, "div", 17); 8184 8185 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](52, "p"); 8186 8187 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](53, " Your data has been prepared. Please use the buttons below to download your data. "); 8188 8189 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8190 8191 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](54, "p"); 8192 8193 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](55, "b"); 8194 8195 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](56); 8196 8197 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8198 8199 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8200 8201 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8202 8203 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](57, "div", 18); 8204 8205 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](58, "a", 19); 8206 8207 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](59, " Download User Data"); 8208 8209 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8210 8211 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](60, "a", 20); 8212 8213 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](61, " Download Messages"); 8214 8215 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8216 8217 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](62, "button", 21); 8218 8219 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](63, " Close "); 8220 8221 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8222 8223 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8224 8225 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8226 8227 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8228 8229 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8230 8231 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](64, "div", 22); 8232 8233 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](65, "div", 11); 8234 8235 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](66, "div", 12); 8236 8237 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](67, "div", 13); 8238 8239 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](68, "h5", 23); 8240 8241 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](69, "Data Export Error"); 8242 8243 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8244 8245 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](70, "button", 15); 8246 8247 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](71, "span", 16); 8248 8249 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](72, "\xD7"); 8250 8251 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8252 8253 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8254 8255 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8256 8257 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](73, "div", 17); 8258 8259 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](74, "p"); 8260 8261 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](75, "Oops! It looks like something went wrong during the data export."); 8262 8263 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8264 8265 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](76, "p"); 8266 8267 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](77, " Here are the details of the error that you can pass along to our team through the "); 8268 8269 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](78, "a", 24); 8270 8271 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](79, "Contact Us"); 8272 8273 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8274 8275 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](80, " page if required: "); 8276 8277 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8278 8279 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](81, "p"); 8280 8281 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](82, "b"); 8282 8283 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](83); 8284 8285 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8286 8287 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8288 8289 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](84, "p"); 8290 8291 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](85, "em"); 8292 8293 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](86, "Please close this window and try again."); 8294 8295 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8296 8297 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8298 8299 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](87, "p"); 8300 8301 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](88, " Also, make sure that your internet connection is working properly, and that there aren't any firewalls on your computer that c
8301ould be blocking the download. "); 8302 8303 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8304 8305 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](89, "p"); 8306 8307 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](90, " If the error persists, please click the button below to send an email to the support team, or email us directly at "); 8308 8309 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](91, "a", 8); 8310 8311 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](92, "[email protected]"); 8312 8313 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8314 8315 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](93, ". "); 8316 8317 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8318 8319 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8320 8321 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](94, "div", 18); 8322 8323 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](95, "a", 25); 8324 8325 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](96, "Email Us"); 8326 8327 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8328 8329 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](97, "button", 26); 8330 8331 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](98, " Close "); 8332 8333 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8334 8335 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8336 8337 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8338 8339 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8340 8341 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8342 8343 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](99, "div", 27); 8344 8345 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](100, "div", 11); 8346 8347 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](101, "div", 12); 8348 8349 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](102, "div", 13); 8350 8351 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](103, "h5", 28); 8352 8353 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](104, "Account Deletion"); 8354 8355 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8356 8357 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](105, "button", 15); 8358 8359 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](106, "span", 16); 8360 8361 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](107, "\xD7"); 8362 8363 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8364 8365 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8366 8367 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8368 8369 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](108, "div", 17); 8370 8371 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](109, "p"); 8372 8373 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](110, "u"); 8374 8375 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](111, "All requests for account deletion "); 8376 8377 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](112, "em"); 8378 8379 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](113, "must"); 8380 8381 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8382 8383 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](114, " be sent via email."); 8384 8385 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8386 8387 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8388 8389 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](115, "p"); 8390 8391 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](116, " If you want to download your data before deleting your account, please use the Request Data function that is also on this page. You will need to close this modal to see it. "); 8392 8393 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8394 8395 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](117, "p"); 8396 8397 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](118, "b"); 8398 8399 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](119, "By clicking the 'Request Account Deletion' button below, I understand that my data will be removed PERMANENTLY. I also understand that I will NOT be able to re
8399cover, download or otherwise access my data after it is deleted."); 8400 8401 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8402 8403 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8404 8405 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](120, "p"); 8406 8407 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](121, " If you are sure that you want to proceed, click the 'Request Account Deletion' button below to send us an email. "); 8408 8409 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8410 8411 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](122, "p"); 8412 8413 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](123, " If you have any questions, please email us directly at "); 8414 8415 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](124, "a", 8); 8416 8417 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](125, "[email protected]"); 8418 8419 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8420 8421 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](126, ". "); 8422 8423 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8424 8425 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8426 8427 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](127, "div", 18); 8428 8429 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](128, "a", 29); 8430 8431 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](129, "Request Account Deletion"); 8432 8433 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8434 8435 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](130, "button", 21); 8436 8437 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](131, " Close "); 8438 8439 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8440 8441 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8442 8443 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8444 8445 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8446 8447 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8448 } 8449 8450 if (rf & 2) { 8451 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](56); 8452 8453 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](ctx.exportErrorText); 8454 8455 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); 8456 8457 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("href", ctx.downloadUserData, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]); 8458 8459 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); 8460 8461 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("href", ctx.downloadMessagesData, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]); 8462 8463 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](23); 8464 8465 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate"](ctx.exportErrorText); 8466 8467 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](45); 8468 8469 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate2"]("href", "mailto:[email protected]?subject=Account Deletion%20-%20", ctx.authService.uid(), "\n &body=UID:%20", ctx.authService.uid(), "%0AReason for request:", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]); 8470 } 8471 }, 8472 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_6__.RouterLinkWithHref], 8473 styles: [".container[_ngcontent-%COMP%] {\n line-height: 1.6;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxnQkFBZ0I7QUFDbEIiLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250YWluZXIge1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuIl19 */"] 8474 }); 8475 /***/ 8476 }, 8477 8478 /***/ 8479 83964: 8480 /*!********************************************************************************!*\ 8481 !*** ./src/app/pages/signing-auth-redirect/signing-auth-redirect.component.ts ***! 8482 \********************************************************************************/ 8483 8484 /***/ 8485 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8486 "use strict"; 8487 8488 __webpack_require__.r(__webpack_exports__); 8489 /* harmony export */ 8490 8491 8492 __webpack_require__.d(__webpack_exports__, { 8493 /* harmony export */ 8494 "SigningAuthRedirectComponent": function SigningAuthRedirectComponent() { 8495 return ( 8496 /* binding */ 8497 _SigningAuthRedirectComponent 8498 ); 8499 } 8500 /* harmony export */ 8501 8502 }); 8503 /* harmony import */ 8504 8505 8506 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 8507 /*! @angular/core */ 8508 37716); 8509 /* harmony import */ 8510 8511 8512 var src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 8513 /*! src/app/core/auth.service */ 8514 87341); 8515 /* harmony import */ 8516 8517 8518 var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 8519 /*! @angular/router */ 8520 39895); 8521 /* harmony import */ 8522 8523 8524 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 8525 /*! @angular/platform-browser */ 8526 39075); 8527 8528 var _SigningAuthRedirectComponent = /*#__PURE__*/function () { 8529 function _SigningAuthRedirectComponent(authService, route, title) { 8530 _classCallCheck(this, _SigningAuthRedirectComponent); 8531 8532 this.authService = authService; 8533 this.route = route; 8534 this.title = title; 8535 } 8536 8537 _createClass(_SigningAuthRedirectComponent, [{ 8538 key: "goToSigning", 8539 value: function goToSigning() { 8540 // noinspection JSIgnoredPromiseFromCall 8541 this.authService.login('/signing', { 8542 uid: this.uid, 8543 key: this.key 8544 }); 8545 } 8546 }, { 8547 key: "ngOnInit", 8548 value: function ngOnInit() { 8549 var _this17 = this; 8550 8551 this.title.setTitle('Please Sign In. | Virtrolio'); 8552 this.route.queryParams.subscribe(function (params) { 8553 _this17.uid = params.uid; 8554 _this17.key = params.key; 8555 }); 8556 } 8557 }]); 8558 8559 return _SigningAuthRedirectComponent; 8560 }(); 8561 8562 _SigningAuthRedirectComponent.ɵfac = function SigningAuthRedirectComponent_Factory(t) { 8563 return new (t || _SigningAuthRedirectComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_0__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_2__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.Title)); 8564 }; 8565 8566 _SigningAuthRedirectComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ 8567 type: _SigningAuthRedirectComponent, 8568 selectors: [["app-friend-link"]], 8569 decls: 25,
8570 vars: 0, 8571 consts: [[1, "container", "vertical-center", "montserrat"], ["id", "title", 1, "row", "py-3", "mx-3", "justify-content-center"], [1, "display-text"], [1, "row", "mx-2", "mt-3", "mb-3", "justify-content-center"], ["alt", "Mail sent image", "id", "pen-graphic", "src", "../../../assets/images/FriendLink-Light.svg"], ["id", "buttons", 1, "row", "justify-content-center", "mb-3"], ["type", "button", 1, "btn", "btn-outline-dark", "google-sign-in-btn", "col-sm-4", "col-md-3", 3, "click"], ["alt", "Google Logo", "height", "23", "src", "../../../assets/images/icons/google.svg", "width", "23"], ["routerLink", "/", "type", "button", 1, "col-sm-4", "col-md-3", "btn", "btn-primary"], ["id", "redirect-disclaimer-text", 1, "text-center"], [1, "display-body-text"], ["href", "/terms-of-service"]], 8572 template: function SigningAuthRedirectComponent_Template(rf, ctx) { 8573 if (rf & 1) { 8574 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 0); 8575 8576 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "div", 1); 8577 8578 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "h1", 2); 8579 8580 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3, " We see you\u2019re trying to sign your friend\u2019s virtrolio."); 8581 8582 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](4, "br"); 8583 8584 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](5, "We need you to sign "); 8585 8586 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](6, "em"); 8587 8588 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](7, "in"); 8589 8590 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8591 8592 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](8, " first. "); 8593 8594 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8595 8596 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8597 8598 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](9, "div", 3); 8599 8600 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](10, "img", 4); 8601 8602 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8603 8604 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](11, "div", 5); 8605 8606 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](12, "button", 6); 8607 8608 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("click", function SigningAuthRedirectComponent_Template_button_click_12_listener() { 8609 return ctx.goToSigning(); 8610 }); 8611 8612 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelement"](13, "img", 7); 8613 8614 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](14, "span"); 8615 8616 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](15, "Sign in with Google"); 8617 8618 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8619 8620 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8621 8622 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](16, "button", 8); 8623 8624 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](17, " Home Page "); 8625 8626 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8627 8628 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8629 8630 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](18, "div", 9); 8631 8632 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](19, "p", 10); 8633 8634 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](20, " By signing up for/signing into our service, you are agreeing to our "); 8635 8636 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](21, "a", 11); 8637 8638 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](22, "Terms of Service."); 8639 8640 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8641 8642 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8643 8644 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](23, "p", 10); 8645 8646 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](24, " At this time, we do not support signing in using providers other than Google. "); 8647 8648 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8649 8650 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8651 8652 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8653 } 8654 }, 8655 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_2__.RouterLink], 8656 styles: ["#pen-graphic[_ngcontent-%COMP%] {\n height: 15em;\n}\n\n#buttons[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n \n margin: 2em 1em 0;\n font-size: 1.1em;\n}\n\n#title-text[_ngcontent-%COMP%] {\n \n text-align: center;\n font-size: 2em;\n}\n\n\n\n@media only screen and (max-width: 768px) {\n #pen-graphic[_ngcontent-%COMP%] {\n height: 10em;\n }\n\n #title-text[_ngcontent-%COMP%] {\n font-size: 1.5em;\n }\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZ25pbmctYXV0aC1yZWRpcmVjdC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsWUFBWTtBQUNkOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtFQUNqQixnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSw0REFBNEQ7RUFDNUQsa0JBQWtCO0VBQ2xCLGNBQWM7QUFDaEI7O0FBRUEsV0FBVzs7QUFDWDtFQUNFO0lBQ0UsWUFBWTtFQUNkOztFQUVBO0lBQ0UsZ0JBQWdCO0VBQ2xCO0FBQ0YiLCJmaWxlIjoic2lnbmluZy1hdXRoLXJlZGlyZWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjcGVuLWdyYXBoaWMge1xuICBoZWlnaHQ6IDE1ZW07XG59XG5cbiNidXR0b25zID4gYnV0dG9uIHtcbiAgLyogRm9yIGVhY2ggYnV0dG9uICovXG4gIG1hcmdpbjogMmVtIDFlbSAwO1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuXG4jdGl0bGUtdGV4dCB7XG4gIC8qIFdlIHNlZSB5b3XigJlyZSB0cnlpbmcgdG8gc2lnbiB5b3VyIGZyaWVuZOKAmXMgdmlydHJvbGlvLi4uICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjcGVuLWdyYXBoaWMge1xuICAgIGhlaWdodDogMTBlbTtcbiAgfVxuXG4gICN0aXRsZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG59XG4iXX0= */"] 8657 }); 8658 /***/ 8659 }, 8660 8661 /***/ 8662 27286: 8663 /*!********************************************************************!*\ 8664 !*** ./src/app/pages/signing/error-alert/error-alert.component.ts ***! 8665 \********************************************************************/ 8666 8667 /***/ 8668 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8669 "use strict"; 8670 8671 __webpack_require__.r(__webpack_exports__); 8672 /* harmony export */ 8673 8674 8675 __webpack_require__.d(__webpack_exports__, { 8676 /* harmony export */ 8677 "ErrorAlertComponent": function ErrorAlertComponent() { 8678 return ( 8679 /* binding */ 8680 _ErrorAlertComponent 8681 ); 8682 } 8683 /* harmony export */ 8684 8685 }); 8686 /* harmony import */ 8687 8688 8689 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 8690 /*! @angular/core */ 8691 37716); 8692 /* harmony import */ 8693 8694 8695 var _angular_common__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 8696 /*! @angular/common */ 8697 38583); 8698 /* harmony import */ 8699 8700 8701 var ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 8702 /*! ngx-bootstrap/alert */ 8703 33947); 8704 8705 function ErrorAlertComponent_div_0_Template(rf, ctx) { 8706 if (rf & 1) { 8707 var _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵgetCurrentView"](); 8708 8709 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](0, "div", 1); 8710 8711 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](1, "alert", 2); 8712 8713 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵlistener"]("onClosed", function ErrorAlertComponent_div_0_Template_alert_onClosed_1_listener() { 8714 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵrestoreView"](_r3); 8715 8716 var alert_r1 = restoredCtx.$implicit; 8717 8718 var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); 8719 8720 return ctx_r2.onClosed(alert_r1); 8721 }); 8722 8723 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementStart"](2, "strong"); 8724 8725 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](3); 8726 8727 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8728 8729 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtext"](4); 8730 8731 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8732 8733 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵelementEnd"](); 8734 } 8735 8736 if (rf & 2) { 8737 var alert_r1 = ctx.$implicit; 8738 8739 var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵnextContext"](); 8740 8741 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 8742 8743 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("type", alert_r1.type)("dismissOnTimeout", alert_r1.timeout)("dismissible", ctx_r0.dismissible); 8744 8745 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](2); 8746 8747 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate"](alert_r1.head); 8748 8749 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵadvance"](1); 8750 8751 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtextInterpolate1"](" ", alert_r1.msg, ""); 8752 } 8753 } 8754 8755 var _ErrorAlertComponent = /*#__PURE__*/function () { 8756 function _ErrorAlertComponent() { 8757 _classCallCheck(this, _ErrorAlertComponent); 8758 8759 this.dismissible = true; 8760 this.alerts = []; 8761 } 8762 8763 _createClass(_ErrorAlertComponent, [{ 8764 key: "addImageCountLimit", 8765 value: function addImageCountLimit() { 8766 this.alerts.push({ 8767 type: 'danger', 8768 head: 'Hold On!', 8769 msg: 'You can only add up to 3 images', 8770 timeout: 10000 8771 }); 8772 } 8773 }, { 8774 key: "addImageSizeLimit", 8775 value: function addImageSizeLimit(fileName) { 8776 this.alerts.push({ 8777 type: 'danger', 8778 head: 'Woah there,', 8779 msg: "".concat(fileName, " is larger than 8 MB in size"), 8780 timeout: 10000 8781 }); 8782 } 8783 }, { 8784 key: "addUnsupportedFileType", 8785 value: function addUnsupportedFileType(fileName) { 8786 this.alerts.push({ 8787 type: 'danger', 8788 head: 'Wait, ', 8789 msg: "".concat(fileName, " is not a supported file type. Please only select .png, .jpg, .jpeg, .tif, .tiff, .bmp, .gif, .jfif, .pjp files"), 8790 timeout: 10000 8791 }); 8792 } 8793 }, { 8794 key: "onClosed", 8795 value: function onClosed(dismissedAlert) { 8796 this.alerts = this.alerts.filter(function (alert) { 8797 return alert !== dismissedAlert; 8798 }); 8799 } 8800 }]); 8801 8802 return _ErrorAlertComponent; 8803 }(); 8804 8805 _ErrorAlertComponent.ɵfac = function ErrorAlertComponent_Factory(t) { 8806 return new (t || _ErrorAlertComponent)(); 8807 }; 8808 8809 _ErrorAlertComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineComponent"]({ 8810 type: _ErrorAlertComponent, 8811 selectors: [["app-error-alert"]], 8812 decls: 1, 8813 vars: 1, 8814 consts: [["class", "m-2", 4, "ngFor", "ngForOf"], [1, "m-2"], [3, "type", "dismissOnTimeout", "dismissible", "onClosed"]], 8815 template: function ErrorAlertComponent_Template(rf, ctx) { 8816 if (rf & 1) { 8817 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵtemplate"](0, ErrorAlertComponent_div_0_Template, 5, 5, "div", 0); 8818 } 8819 8820 if (rf & 2) { 8821 _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵproperty"]("ngForOf", ctx.alerts); 8822 } 8823 }, 8824 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_2__.NgForOf, ngx_bootstrap_alert__WEBPACK_IMPORTED_MODULE_0__.AlertComponent], 8825 styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJlcnJvci1hbGVydC5jb21wb25lbnQuY3NzIn0= */"] 8826 }); 8827 /***/ 8828 }, 8829 8830 /***/ 8831 16843: 8832 /*!********************************************************************!*\ 8833 !*** ./src/app/pages/signing/image-modal/image-modal.component.ts ***! 8834 \********************************************************************/ 8835 8836 /***/ 8837 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 8838 "use strict"; 8839 8840 __webpack_require__.r(__webpack_exports__); 8841 /* harmony export */ 8842 8843 8844 __webpack_require__.d(__webpack_exports__, { 8845 /* harmony export */ 8846 "ImageModalComponent": function ImageModalComponent() { 8847 return ( 8848 /* binding */ 8849 _ImageModalComponent 8850 ); 8851 } 8852 /* harmony export */ 8853 8854 }); 8855 /* harmony import */ 8856 8857 8858 var _error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 8859 /*! ../error-alert/error-alert.component */ 8860 27286); 8861 /* harmony import */ 8862 8863 8864 var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 8865 /*! @angular/core */ 8866 37716); 8867 /* harmony import */ 8868 8869 8870 var _core_signing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 8871 /*! ../../../core/signing.service */ 8872 89214); 8873 /* harmony import */ 8874 8875 8876 var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 8877 /*! ngx-bootstrap/modal */ 8878 63301); 8879 /* harmony import */ 8880 8881 8882 var _angular_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 8883 /*! @angular/common */ 8884 38583); 8885 /* harmony import */ 8886 8887 8888 var ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 8889 /*! ngx-bootstrap/tooltip */ 8890 25575); 8891 8892 var _c0 = ["imageModal"]; 8893 var _c1 = ["imgUploadInput"]; 8894 8895 function ImageModalComponent_h5_15_Template(rf, ctx) { 8896 if (rf & 1) { 8897 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "h5"); 8898 8899 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](1, " No images selected "); 8900 8901 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 8902 } 8903 } 8904 8905 function ImageModalComponent_img_16_Template(rf, ctx) { 8906 if (rf & 1) { 8907 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "img", 24); 8908 } 8909 } 8910 8911 function ImageModalComponent_img_17_Template(rf, ctx) { 8912 if (rf & 1) { 8913 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "img", 25); 8914 } 8915 8916 if (rf & 2) { 8917 var url_r5 = ctx.$implicit; 8918 8919 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("src", url_r5, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]); 8920 } 8921 } 8922 8923 var _c2 = function _c2() { 8924 return { 8925 ignoreBackdropClick: true, 8926 backdrop: "static" 8927 }; 8928 }; 8929 8930 var _ImageModalComponent = /*#__PURE__*/function () { 8931 function _ImageModalComponent(signingService) { 8932 _classCallCheck(this, _ImageModalComponent); 8933 8934 this.signingService = signingService; 8935 } 8936 8937 _createClass(_ImageModalComponent, [{ 8938 key: "ngOnInit", 8939 value: function ngOnInit() {} 8940 }, { 8941 key: "showImageModal", 8942 value: function showImageModal() { 8943 this.imageModal.show(); 8944 } 8945 }, { 8946 key: "hideImageModal", 8947 value: function hideImageModal() { 8948 this.imageModal.hide(); 8949 } 8950 }, { 8951 key: "onClearImages", 8952 value: function onClearImages() { 8953 this.signingService.images = []; 8954 this.signingService.imageURLs = []; 8955 this.imgUploadInput.nativeElement.value = ''; 8956 } 8957 }, { 8958 key: "onSelectFiles", 8959 value: function onSelectFiles(e) { 8960 var _this18 = this; 8961 8962 var eventTarget = e.target; 8963 var files = Array.from(eventTarget.files); 8964 8965 if (files.length + this.signingService.imageURLs.length > 3) { 8966 this.ErrorAlertComponent.addImageCountLimit(); 8967 return; 8968 } 8969 8970 if (files)
8970 { 8971 var _iterator = _createForOfIteratorHelper(files), 8972 _step; 8973 8974 try { 8975 for (_iterator.s(); !(_step = _iterator.n()).done;) { 8976 var item = _step.value; 8977 8978 // Error handling for files over 8MiB 8979 if (item.size > _ImageModalComponent.MAX_FILE_SIZE) { 8980 this.ErrorAlertComponent.addImageSizeLimit(item.name); 8981 return; 8982 } // Error handling for unsupported file types 8983 8984 8985 if (_ImageModalComponent.ACCEPTED_FILE_TYPES.indexOf(item.type) === -1) { 8986 this.ErrorAlertComponent.addUnsupportedFileType(item.name); 8987 return; 8988 } 8989 8990 var reader = new FileReader(); 8991 reader.readAsDataURL(item); 8992 8993 reader.onload = function (event) { 8994 var stringURL = event.target.result.toString(); 8995 8996 _this18.signingService.imageURLs.push(stringURL); 8997 }; 8998 8999 this.signingService.images.push(item); 9000 } 9001 } catch (err) { 9002 _iterator.e(err); 9003 } finally { 9004 _iterator.f(); 9005 } 9006 } 9007 } 9008 }]); 9009 9010 return _ImageModalComponent; 9011 }(); 9012 9013 _ImageModalComponent.MAX_FILE_SIZE = 8 * 1024 * 1024; // 8 MiB in bytes 9014 9015 _ImageModalComponent.ACCEPTED_FILE_TYPES = ['image/png', 'image/jpg', 'image/jpeg', 'image/tif', 'image/tiff', 'image/bmp', 'image/gif', 'image/jfif', 'image/pjp']; 9016 9017 _ImageModalComponent.ɵfac = function ImageModalComponent_Factory(t) { 9018 return new (t || _ImageModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_signing_service__WEBPACK_IMPORTED_MODULE_1__.SigningService)); 9019 }; 9020 9021 _ImageModalComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ 9022 type: _ImageModalComponent, 9023 selectors: [["app-image-modal"]], 9024 viewQuery: function ImageModalComponent_Query(rf, ctx) { 9025 if (rf & 1) { 9026 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__.ErrorAlertComponent, 5); 9027 9028 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c0, 5); 9029 9030 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵviewQuery"](_c1, 5); 9031 } 9032 9033 if (rf & 2) { 9034 var _t; 9035 9036 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.ErrorAlertComponent = _t.first); 9037 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.imageModal = _t.first); 9038 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵloadQuery"]()) && (ctx.imgUploadInput = _t.first); 9039 } 9040 }, 9041 decls: 32, 9042 vars: 7, 9043 consts: [["bsModal", "", "tabindex", "-1", "role", "dialog", "aria-labelledby", "dialog-child-name", 1, "modal", "fade", 3, "config"], ["imageModal", "bs-modal"], ["role", "dialog", 1, "modal-dialog", "modal-dialog-centered", "modal-lg"], [1, "modal-content"], [1, "modal-header"], [1, "embed-photo-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close", 3, "click"], ["aria-hidden", "true"], ["id", "embed-photo-div", 1, "modal-body", "align-items-center", "p-3"], [1, "row"], [1, "col-md-12", "my-6", "px-lg-5", "px-3", "text-center"], [1, "col-md-12", "text-center"], [4, "ngIf"], ["src", "../../../../assets/images/girl-photos-folder.svg", "alt", "girl with photos folder graphic", "id", "no-images-graphic", 4, "ngIf"], ["class", "col-4 uploaded-image", "alt", "selected image", 3, "src", 4, "ngFor", "ngForOf"], [1, "col-md-12", "my-6", "px-lg-5", "px-3", "text-center", "image-buttons"], ["placement", "bottom", "triggers", "pointerenter:pointerout hover focus", 1, "btn", "btn-primary", "mx-2", 3, "disabled", "tooltip", "click"], ["type", "file", "accept", "image/bmp, image/gif, image/jfif, image/pjp, image/png, image/jpg, image/jpeg, image/tif, image/tiff", "id", "img-upload-input", "multiple", "", 1, "file-upload", "d-none", 3, "change"], ["imgUploadInput", ""], ["type", "button", 1, "btn", "btn-secondary", "mx-2", 3, "click"], [1, "modal-footer"], [1, "row", "w-100"], [1, "col-12", "p-0"], ["type", "button", 1, "btn", "btn-primary", "h-100", "float-right", 3, "click"], ["src", "../../../../assets/images/girl-photos-folder.svg", "alt", "girl with photos folder graphic", "id", "no-images-graphic"], ["alt", "selected image", 1, "col-4", "uploaded-image", 3, "src"]], 9044 template: function ImageModalComponent_Template(rf, ctx) { 9045 if (rf & 1) { 9046 var _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵgetCurrentView"](); 9047 9048 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0, 1); 9049 9050 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2); 9051 9052 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "div", 3); 9053 9054 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "div", 4); 9055 9056 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "h5", 5); 9057 9058 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](6, "Attach up to three images!"); 9059 9060 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9061 9062 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](7, "button", 6); 9063 9064 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_7_listener() { 9065 return ctx.hideImageModal(); 9066 }); 9067 9068 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "span", 7); 9069 9070 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](9, "\xD7"); 9071 9072 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9073 9074 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9075 9076 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9077 9078 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](10, "app-error-alert"); 9079 9080 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](11, "div", 8); 9081 9082 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "div", 9); 9083 9084 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](13, "div", 10); 9085 9086 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](14, "div", 11); 9087 9088 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](15, ImageModalComponent_h5_15_Template, 2, 0, "h5", 12); 9089 9090 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](16, ImageModalComponent_img_16_Template, 1, 0, "img", 13); 9091 9092 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](17, ImageModalComponent_img_17_Template, 1, 1, "img", 14); 9093 9094 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9095 9096 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9097 9098 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9099 9100 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](18, "div", 9); 9101 9102 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "div", 15); 9103 9104 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](20, "span"); 9105 9106 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](21, "button", 16); 9107 9108 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_21_listener() { 9109 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵrestoreView"](_r6); 9110 9111 var _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵreference"](24); 9112 9113 return _r4.click(); 9114 }); 9115 9116 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](22, " Add Images "); 9117 9118 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9119 9120 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9121 9122 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](23, "input",
912217, 18); 9123 9124 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("change", function ImageModalComponent_Template_input_change_23_listener($event) { 9125 return ctx.onSelectFiles($event); 9126 }); 9127 9128 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9129 9130 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](25, "button", 19); 9131 9132 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_25_listener() { 9133 return ctx.onClearImages(); 9134 }); 9135 9136 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](26, " Clear Images "); 9137 9138 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9139 9140 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9141 9142 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9143 9144 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9145 9146 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](27, "div", 20); 9147 9148 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](28, "div", 21); 9149 9150 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](29, "div", 22); 9151 9152 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](30, "button", 23); 9153 9154 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function ImageModalComponent_Template_button_click_30_listener() { 9155 return ctx.hideImageModal(); 9156 }); 9157 9158 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](31, " Save "); 9159 9160 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9161 9162 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9163 9164 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9165 9166 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9167 9168 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9169 9170 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9171 9172 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 9173 } 9174 9175 if (rf & 2) { 9176 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("config", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction0"](6, _c2)); 9177 9178 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](15); 9179 9180 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", !ctx.signingService.imageURLs.length); 9181 9182 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); 9183 9184 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", !ctx.signingService.imageURLs.length); 9185 9186 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); 9187 9188 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngForOf", ctx.signingService.imageURLs); 9189 9190 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4); 9191 9192 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("disabled", ctx.signingService.imageURLs.length > 2)("tooltip", ctx.signingService.imageURLs.length > 2 ? "You cannot add more than 3 images." : ""); 9193 } 9194 }, 9195 directives: [ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_2__.ModalDirective, _error_alert_error_alert_component__WEBPACK_IMPORTED_MODULE_0__.ErrorAlertComponent, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_5__.NgForOf, ngx_bootstrap_tooltip__WEBPACK_IMPORTED_MODULE_3__.TooltipDirective], 9196 styles: ["#img-upload-input[_ngcontent-%COMP%] {\n height: 100%;\n width: 100%;\n}\n\n.image-buttons[_ngcontent-%COMP%] {\n margin: 1em 0;\n position: absolute;\n bottom: 0;\n}\n\n#no-images-graphic[_ngcontent-%COMP%] {\n max-width: 100%;\n}\n\n#embed-photo-div[_ngcontent-%COMP%] {\n height: 20em;\n}\n\n#no-images-graphic[_ngcontent-%COMP%], .uploaded-image[_ngcontent-%COMP%] {\n max-height: 13em;\n -o-object-fit: contain;\n object-fit: contain;\n}\n\n.btn-primary.disabled[_ngcontent-%COMP%], .btn-primary[_ngcontent-%COMP%]:disabled {\n background-color: var(--accent) !important;\n border-color: var(--accent) !important;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLW1vZGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxZQUFZO0VBQ1osV0FBVztBQUNiOztBQUVBO0VBQ0UsYUFBYTtFQUNiLGtCQUFrQjtFQUNsQixTQUFTO0FBQ1g7O0FBRUE7RUFDRSxlQUFlO0FBQ2pCOztBQUVBO0VBQ0UsWUFBWTtBQUNkOztBQUVBOztFQUVFLGdCQUFnQjtFQUNoQixzQkFBbUI7S0FBbkIsbUJBQW1CO0FBQ3JCOztBQUVBOztFQUVFLDBDQUEwQztFQUMxQyxzQ0FBc0M7QUFDeEMiLCJmaWxlIjoiaW1hZ2UtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiNpbWctdXBsb2FkLWlucHV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmltYWdlLWJ1dHRvbnMge1xuICBtYXJnaW46IDFlbSAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbn1cblxuI25vLWltYWdlcy1ncmFwaGljIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jZW1iZWQtcGhvdG8tZGl2IHtcbiAgaGVpZ2h0OiAyMGVtO1xufVxuXG4jbm8taW1hZ2VzLWdyYXBoaWMsXG4udXBsb2FkZWQtaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxM2VtO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYnRuLXByaW1hcnkuZGlzYWJsZWQsXG4uYnRuLXByaW1hcnk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KSAhaW1wb3J0YW50O1xufVxuIl19 */"] 9197 }); 9198 /***/ 9199 }, 9200 9201 /***/ 9202 63168: 9203 /*!****************************************************!*\ 9204 !*** ./src/app/pages/signing/signing.component.ts ***! 9205 \****************************************************/ 9206 9207 /***/ 9208 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 9209 "use strict"; 9210 9211 __webpack_require__.r(__webpack_exports__); 9212 /* harmony export */ 9213 9214 9215 __webpack_require__.d(__webpack_exports__, { 9216 /* harmony export */ 9217 "SigningComponent": function SigningComponent() { 9218 return ( 9219 /* binding */ 9220 _SigningComponent 9221 ); 9222 } 9223 /* harmony export */ 9224 9225 }); 9226 /* harmony import */ 9227 9228 9229 var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 9230 /*! ../../core/common.service */ 9231 80150); 9232 /* harmony import */ 9233 9234 9235 var _image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 9236 /*! ./image-modal/image-modal.component */ 9237 16843); 9238 /* harmony import */ 9239 9240 9241 var _angular_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 9242 /*! @angular/core */ 9243 37716); 9244 /* harmony import */ 9245 9246 9247 var _angular_router__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 9248 /*! @angular/router */ 9249 39895); 9250 /* harmony import */ 9251 9252 9253 var src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 9254 /*! src/app/core/auth.service */ 9255 87341); 9256 /* harmony import */ 9257 9258 9259 var _core_signing_service__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 9260 /*! ../../core/signing.service */ 9261 89214); 9262 /* harmony import */ 9263 9264 9265 var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 9266 /*! ../../core/msg-io.service */ 9267 84468); 9268 /* harmony import */ 9269 9270 9271 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 9272 /*! @angular/platform-browser */ 9273 39075); 9274 /* harmony import */ 9275 9276 9277 var ngx_device_detector__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 9278 /*! ngx-device-detector */ 9279 1135); 9280 /* harmony import */ 9281 9282 9283 var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 9284 /*! @angular/common */ 9285 38583); 9286 /* harmony import */ 9287 9288 9289 var _angular_forms__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 9290 /*! @angular/forms */ 9291 3679); 9292 /* harmony import */ 9293 9294 9295 var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( 9296 /*! ngx-markdown */ 9297 76715); 9298 9299 function SigningComponent_div_1_Template(rf, ctx) { 9300 if (rf & 1) { 9301 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 63); 9302 9303 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](1, "div", 64); 9304 9305 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9306 } 9307 } 9308 9309 function SigningComponent_div_2_Template(rf, ctx) { 9310 if (rf & 1) { 9311 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 3); 9312 9313 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](1, "div", 65); 9314 9315 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](2, " The Virtrolio signing experience is better on a desktop or laptop computer! "); 9316 9317 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "strong"); 9318 9319 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "u"); 9320 9321 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](5, "a", 66); 9322 9323 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](6, "Why?"); 9324 9325 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9326 9327 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9328 9329 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9330 9331 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9332 9333 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9334 } 9335 } 9336 9337 var _c0 = function _c0(a0) { 9338 return { 9339 color: a0 9340 }; 9341 }; 9342 9343 function SigningComponent_span_12_Template(rf, ctx) { 9344 if (rf & 1) { 9345 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span", 67); 9346 9347 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](1); 9348 9349 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9350 } 9351 9352 if (rf & 2) { 9353 var ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); 9354 9355 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](3, _c0, ctx_r3.signingService.charCountColor)); 9356 9357 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 9358 9359 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate2"](" ", ctx_r3.signingService.charCount, " / ", ctx_r3.signingService.maxCharCount, " "); 9360 } 9361 } 9362 9363 var _c1 = function _c1(a0) { 9364 return { 9365 "font-family": a0 9366 }; 9367 }; 9368 9369 function SigningComponent_span_21_Template(rf, ctx) { 9370 if (rf & 1) { 9371 var _r9 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); 9372 9373 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span"); 9374 9375 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](1, "a", 68); 9376 9377 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_span_21_Template_a_click_1_listener() { 9378 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r9); 9379 9380 var font_r7 = restoredCtx.$implicit; 9381 9382 var ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); 9383 9384 return ctx_r8.signingService.selectFont(font_r7.key); 9385 }); 9386 9387 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](2); 9388 9389 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9390 9391 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9392 } 9393 9394 if (rf & 2) { 9395 var font_r7 = ctx.$implicit; 9396 9397 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 9398 9399 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](2, _c1, font_r7.key)); 9400 9401 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 9402 9403 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](font_r7.key); 9404 } 9405 } 9406 9407 function SigningComponent_span_55_Template(rf, ctx) { 9408 if (rf & 1) { 9409 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "span", 69); 9410 9411 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](1); 9412 9413 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9414 } 9415 9416 if (rf & 2) { 9417 var ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵnextContext"](); 9418 9419 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 9420 9421 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](ctx_r5.checkImageList(true)); 9422 } 9423 } 9424 9425 var _c2 = function _c2(a0) { 9426 return { 9427 "background-color": a0 9428 }; 9429 }; 9430 9431 var _c3 = function _c3(a0, a1, a2) { 9432 return { 9433 "background-color": a0, 9434 color: a1, 9435 "font-family": a2 9436 }; 9437 }; 9438 /** 9439 * Controls user interaction with the signing box, updating the preview display and sending the message when they 9440 * click on the 'Send' button. 9441 */ 9442 9443 9444 var _SigningComponent = /*#__PURE__*/function () { 9445 function _SigningComponent(route, authService, signingService, msgIo, router, title, deviceDetector) { 9446 _classCallCheck(this, _SigningComponent); 9447 9448 this.route = route; 9449 this.authService = authService; 9450 this.signingService = signingService; 9451 this.msgIo = msgIo; 9452 this.router = router; 9453 this.title = title; 9454 this.deviceDetector = deviceDetector; 9455 this.name = 'your friend'; 9456 this.isSending = false;
9457 this.embedLink = ''; 9458 this.imageWidth = 50; 9459 this.copyButtonText = 'Copy'; 9460 } 9461 /** 9462 * Extract query parameters, maximum message length, fonts, and recipient username from appropriate services 9463 */ 9464 9465 9466 _createClass(_SigningComponent, [{ 9467 key: "ngOnInit", 9468 value: function ngOnInit() { 9469 var _this19 = this; 9470 9471 this.authService.redirectLoginUserCreation()["catch"](function (error) { 9472 return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 9473 }); 9474 this.route.queryParams.subscribe(function (params) { 9475 _this19.uid = params.uid; 9476 _this19.key = params.key; 9477 }); 9478 this.authService.displayName(this.uid).then(function (userName) { 9479 _this19.name = userName; 9480 9481 _this19.title.setTitle('Signing ' + userName + "'s Virtrolio | Virtrolio"); 9482 })["catch"](function (error) { 9483 return alert(error); 9484 }); 9485 this.signingService.resetDefaultValues(); 9486 $('[data-toggle="popover"]').popover(); 9487 $('.popover-dismiss').popover({ 9488 trigger: 'focus' 9489 }); 9490 } 9491 }, { 9492 key: "ngOnDestroy", 9493 value: function ngOnDestroy() { 9494 $('#submit-confirm').modal('hide'); 9495 $('#info').modal('hide'); 9496 $('#embed-help').modal('hide'); 9497 $('#embed-photo').modal('hide'); 9498 $('#signing-experience').modal('hide'); 9499 } 9500 /** 9501 * Returns whether or not the user can navigate (safely) away 9502 * Returning true will navigate instantly 9503 * Returning false will prompt the user to confirm the navigation 9504 */ 9505 9506 }, { 9507 key: "canDeactivate", 9508 value: function canDeactivate() { 9509 return !this.signingService.signingBoxText || !this.isSending; 9510 } 9511 /** 9512 * Resets image width slider value to 100 or 0 if the user tries to input a number that's too large 9513 */ 9514 9515 }, { 9516 key: "checkSliderValue", 9517 value: function checkSliderValue() { 9518 if (this.imageWidth > 100) { 9519 this.imageWidth = 100; 9520 } else if (this.imageWidth < 0) { 9521 this.imageWidth = 0; 9522 } 9523 } 9524 /** 9525 * Checks if the user has uploaded any images to the image modal 9526 */ 9527 9528 }, { 9529 key: "checkImageList", 9530 value: function checkImageList(numerical) { 9531 var urlList = this.signingService.imageURLs; 9532 9533 if (urlList === undefined) { 9534 // Check if image modal component has not been rendered yet 9535 return numerical ? 0 : false; 9536 } else if (urlList.length === 0) { 9537 return numerical ? 0 : false; 9538 } else if (urlList.length > 0) { 9539 return numerical ? urlList.length : true; 9540 } else { 9541 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('There was an error while checking your uploaded images'); 9542 } 9543 } 9544 /** 9545 * Creates a new blank message and fills in all the info before sending it 9546 * @param textbox - the textbox where the contents of the message are retrieved from (not the preview box) 9547 */ 9548 9549 }, { 9550 key: "sendMsg", 9551 value: function sendMsg(textbox) { 9552 var _this20 = this; 9553 9554 var newMsg = this.msgIo.createBlankMessage(); 9555 newMsg.backColor = this.signingService.backgroundColor; 9556 newMsg.fontColor = this.signingService.textColor; 9557 newMsg.fontFamily = this.signingService.currentFont; 9558 newMsg.contents = textbox.value; 9559 newMsg.to = this.uid; // remove navigation popup 9560 9561 this.isSending = true; 9562 this.msgIo.sendMessage(newMsg, this.key).then(function () { 9563 _this20.isSending = false;
9564 9565 _this20.router.navigate(['/msg-sent'], { 9566 queryParams: { 9567 name: _this20.name 9568 } 9569 })["catch"](function (e) { 9570 return _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); 9571 }); 9572 })["catch"](function (error) { 9573 _this20.isSending = false; 9574 9575 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(error); 9576 }); 9577 } 9578 /** 9579 * Selects an inputElement's field and copies its contents to the clipboard, updating the button to confirm the copy 9580 * @param inputElement - the element to read from 9581 */ 9582 9583 }, { 9584 key: "copyLink", 9585 value: function copyLink(inputElement) { 9586 inputElement.select(); 9587 inputElement.setSelectionRange(0, 10000); 9588 document.execCommand('copy'); 9589 this.copyButtonText = 'Copied!'; 9590 } 9591 }]); 9592 9593 return _SigningComponent; 9594 }(); 9595 9596 _SigningComponent.ɵfac = function SigningComponent_Factory(t) { 9597 return new (t || _SigningComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_6__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](src_app_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_core_signing_service__WEBPACK_IMPORTED_MODULE_3__.SigningService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__.MsgIoService), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_6__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_7__.Title), _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdirectiveInject"](ngx_device_detector__WEBPACK_IMPORTED_MODULE_8__.DeviceDetectorService)); 9598 }; 9599 9600 _SigningComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵdefineComponent"]({ 9601 type: _SigningComponent, 9602 selectors: [["app-signing"]], 9603 viewQuery: function SigningComponent_Query(rf, ctx) { 9604 if (rf & 1) { 9605 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵviewQuery"](_image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__.ImageModalComponent, 5); 9606 } 9607 9608 if (rf & 2) { 9609 var _t; 9610 9611 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵqueryRefresh"](_t = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵloadQuery"]()) && (ctx.imageModalComponent = _t.first); 9612 } 9613 }, 9614 hostBindings: function SigningComponent_HostBindings(rf, ctx) { 9615 if (rf & 1) { 9616 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("beforeunload", function SigningComponent_beforeunload_HostBindingHandler() { 9617 return ctx.canDeactivate(); 9618 }, false, _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵresolveWindow"]); 9619 } 9620 }, 9621 decls: 144, 9622 vars: 35, 9623 consts: [[1, "container", "py-4", "center-children", "vertical-center"], ["class", "d-flex justify-content-center", "id", "spinner-overlay-container", 4, "ngIf"], ["class", "row", 4, "ngIf"], [1, "row"], [1, "col-md-6", "order-md-1", "center-children"], [1, "row", "title-div", "vertical-center"], ["for", "signing-box"], ["autofocus", "", "id", "signing-box", "placeholder", "You must type something before you can hit send!", 1, "form-control", 3, "ngModel", "ngStyle", "keyup", "ngModelChange"], ["signingInputArea", ""], ["id", "char-count-display", 3, "ngStyle", 4, "ngIf"], [1, "col-md-12", "order-md-3"], ["id", "options", 1, "row", "justify-content-center"], [1, "dropdown"], ["aria-expanded", "false", "aria-haspopup", "true", "data-toggle", "dropdown", "id", "font-selector-dropdown", "type", "button", 1, "btn", "btn-secondary", "dropdown-toggle", 3, "ngStyle"], [1, "caret"], ["aria-labelledby", "font-selector-dropdown", 1, "dropdown-menu"], [4, "ngFor", "ngForOf"], ["id", "button-bold", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-italics", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-underline", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["id", "button-strikethrough", "type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", 3, "click"], ["type", "button", 1, "btn", "btn-secondary", "btn-format", "mr-2", "icon-wrapper"], ["id", "font-color-text"], ["for", "color-picker-font", "hidden", ""], ["id", "color-picker-font", "name", "fontColorPicker", "type", "color", 1, "mr-2", 3, "ngModel", "value", "ngModelChange"], [1, "dynamic-color-bar", 3, "ngStyle"], ["alt", "fill color selector", "id", "fill-color-icon", "src", "../../../assets/images/icons/SigningIcon_fill-color.svg"], ["for", "color-picker-background", "hidden", ""], ["id", "color-picker-background", "name", "background-color-picker", "type", "color", 1, "mr-2", 3, "ngModel", "value", "ngModelChange"], ["tabindex", "0", "role", "button", "data-toggle", "popover", "data-trigger", "focu
9623s", "title", "Emojis", "data-html", "true", "data-content", "If you're on a\n desktop or laptop, click inside your message and press Windows + Period on Windows or Command + Control +\n Space on a Mac to open your computer's Emoji Keyboard!<br><br>If you're on a phone you should already have an\n emoji keyboard built into your keyboard! <br><br> Note: not all emojis may be supported; check\n <a href='https://github.com/ikatyang/emoji-cheat-sheet/blob/master/README.md' target='_blank'>this list of\n supported emojis</a> to make sure! \u2764", 1, "btn", "btn-secondary", "btn-format", "mr-2", "icon-wrapper", "vertical-center"], ["id", "image-button-wrapper", 1, "position-relative"], ["type", "button", "id", "btn-photo", 1, "btn", "btn-format", "icon-wrapper", 3, "ngClass", "click"], ["alt", "image icon", "id", "image-icon", "src", "../../../assets/images/icons/SigningIcon_image.svg"], ["class", "d-flex align-items-center justify-content-center", "id", "image-notification-circle", 4, "ngIf"], ["type", "button", "id", "btn-info", "data-toggle", "modal", "data-target", "#info", 1, "btn", "btn-primary"], [1, "row", "mt-3", "justify-content-center"], ["data-target", "#submit-confirm", "data-toggle", "modal", "id", "send-button", "type", "button", 1, "btn", "btn-primary", "btn-send", 3, "disabled"], [1, "col-md-6", "order-md-2", "center-children"], [1, "row", "title-div", "mt-3", "mt-md-0", "vertical-center"], ["for", "preview-text"], ["emoji", "", "id", "preview-text", 3, "ngStyle", "data"], ["previewBoxArea", ""], ["aria-hidden", "true", "aria-labelledby", "submit-confirm-title", "id", "submit-confirm", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "submit-confirm-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], [1, "modal-body", 2, "text-align", "center"], ["href", "/terms-of-service", "target", "_blank"], ["href", "/privacy-policy", "target", "_blank"], [1, "row", "justify-content-center"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-primary", 3, "click"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], ["id", "info", "tabindex", "-1", "role", "dialog", "aria-labelledby", "info-title", "aria-hidden", "true", 1, "modal", "fade"], ["id", "info-title", 1, "modal-title"], ["type", "button", "data-dismiss", "modal", "aria-label", "Close", 1, "close"], [1, "modal-body"], ["href", "https://www.markdownguide.org/basic-syntax/", "target", "_blank"], ["id", "signing-experience", "tabindex", "-1", "role", "dialog", "aria-labelledby", "experience-title", "aria-hidden", "true", 1, "modal", "fade"], ["id", "experience-title", 1, "modal-title"], ["id", "spinner-overlay-container", 1, "d-flex", "justify-content-center"], ["role", "status", 1, "spinner-border"], ["id", "signing-experience-alert", 1, "col-12", "alert", "alert-primary"], ["data-toggle", "modal", "data-target", "#signing-experience"], ["id", "char-count-display", 3, "ngStyle"], [1, "dropdown-item", 3, "ngStyle", "click"], ["id", "image-notification-circle", 1, "d-flex", "align-items-center", "justify-content-center"]], 9624 template: function SigningComponent_Template(rf, ctx) { 9625 if (rf & 1) { 9626 var _r10 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵgetCurrentView"](); 9627 9628 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](0, "div", 0); 9629 9630 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](1, SigningComponent_div_1_Template, 2, 0, "div", 1); 9631 9632 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](2, SigningComponent_div_2_Template, 7, 0, "div", 2); 9633 9634 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](3, "div", 3); 9635 9636 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](4, "div", 4); 9637 9638 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](5, "div", 5); 9639 9640 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](6, "label", 6); 9641 9642 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](7, "b"); 9643 9644 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](8); 9645 9646 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9647 9648 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9649 9650 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9651 9652 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](9, "div", 3); 9653 9654 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](10, "textarea", 7, 8); 9655 9656 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("keyup", function SigningComponent_Template_textarea_keyup_10_listener() { 9657 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); 9658 9659 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); 9660 9661 return ctx.signingService.updateCount(_r2); 9662 })("ngModelChange", function SigningComponent_Template_textarea_ngModelChange_10_listener($event) { 9663 return ctx.signingService.signingBoxText = $event; 9664 }); 9665 9666 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9667 9668 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](12, SigningComponent_span_12_Template, 2, 5, "span", 9); 9669 9670 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9671 9672 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9673 9674 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](13, "div", 10); 9675 9676 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](14, "div", 11); 9677 9678 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](15, "div", 12); 9679 9680 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](16, "button", 13); 9681 9682 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](17, "span"); 9683 9684 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](18); 9685 9686 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9687 9688 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](19, "span", 14); 9689 9690 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9691 9692 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](20, "div", 15); 9693 9694 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](21, SigningComponent_span_21_Template, 3, 4, "span", 16); 9695 9696 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipe"](22, "keyvalue"); 9697 9698 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9699 9700 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9701 9702 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](23, "button", 17); 9703 9704 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_23_listener() { 9705 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); 9706 9707 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); 9708 9709 return ctx.signingService.addFormatting(_r2, "**"); 9710 }); 9711 9712 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](24, "b"); 9713 9714 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](25, "B"); 9715 9716 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9717 9718 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9719 9720 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](26, "button", 18); 9721 9722 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_26_listener() { 9723 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); 9724 9725 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); 9726 9727 return ctx.signingService.addFormatting(_r2, "*"); 9728 }); 9729 9730 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](27, "i"); 9731 9732 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](28, "I"); 9733 9734 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9735 9736 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9737 9738 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](29, "button", 19); 9739 9740 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_29_listener() { 9741 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); 9742 9743 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); 9744 9745 return ctx.signingService.addFormatting(_r2, "<u>", "</u>"); 9746 }); 9747 9748 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](30, "u"); 9749 9750 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](31, "U"); 9751 9752 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9753 9754 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9755 9756 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](32, "button", 20); 9757 9758 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_32_listener() { 9759 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); 9760 9761 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); 9762 9763 return ctx.signingService.addFormatting(_r2, "~~"); 9764 }); 9765 9766 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](33, "s"); 9767 9768 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](34, "S"); 9769 9770 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9771 9772 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9773 9774 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](35, "button", 21); 9775 9776 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](36, "span", 22); 9777 9778 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](37, "A"); 9779 9780 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9781 9782 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](38, "label", 23); 9783 9784 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](39, "Colour picker for font"); 9785 9786 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9787 9788 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](40, "input", 24); 9789 9790 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("ngModelChange", function SigningComponent_Template_input_ngModelChange_40_listener($event) { 9791 return ctx.signingService.textColor = $event; 9792 }); 9793 9794 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9795 9796 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](41, "span", 25); 9797 9798 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](42, "\xA0"); 9799 9800 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9801 9802 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9803 9804 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](43, "button", 21); 9805 9806 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](44, "img", 26); 9807 9808 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](45, "label", 27); 9809 9810 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](4
98106, "Colour picker for background"); 9811 9812 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9813 9814 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](47, "input", 28); 9815 9816 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("ngModelChange", function SigningComponent_Template_input_ngModelChange_47_listener($event) { 9817 return ctx.signingService.backgroundColor = $event; 9818 }); 9819 9820 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9821 9822 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](48, "span", 25); 9823 9824 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](49, "\xA0"); 9825 9826 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9827 9828 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9829 9830 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](50, "a", 29); 9831 9832 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](51, "\uD83D\uDE00 "); 9833 9834 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9835 9836 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](52, "div", 30); 9837 9838 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](53, "button", 31); 9839 9840 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_53_listener() { 9841 return ctx.imageModalComponent.showImageModal(); 9842 }); 9843 9844 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](54, "img", 32); 9845 9846 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9847 9848 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtemplate"](55, SigningComponent_span_55_Template, 2, 1, "span", 33); 9849 9850 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9851 9852 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](56, "button", 34); 9853 9854 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](57, " More Info! "); 9855 9856 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9857 9858 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9859 9860 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](58, "div", 35); 9861 9862 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](59, "button", 36); 9863 9864 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](60, " Send "); 9865 9866 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9867 9868 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9869 9870 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9871 9872 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](61, "div", 37); 9873 9874 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](62, "div", 38); 9875 9876 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](63, "label", 39); 9877 9878 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](64, "strong"); 9879 9880 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](65, "Preview"); 9881 9882 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9883 9884 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9885 9886 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9887 9888 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](66, "div", 3); 9889 9890 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](67, "markdown", 40, 41); 9891 9892 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9893 9894 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9895 9896 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9897 9898 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9899 9900 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](69, "div", 42); 9901 9902 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](70, "div", 43); 9903 9904 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](71, "div", 44); 9905 9906 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](72, "div", 45); 9907 9908 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](73, "h5", 46); 9909 9910 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](74, " Are you sure you want to send this? "); 9911 9912 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9913 9914 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](75, "button", 47); 9915 9916 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](76, "span", 48); 9917 9918 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](77, "\xD7"); 9919 9920 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9921 9922 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9923 9924 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9925 9926 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](78, "div", 49); 9927 9928 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](79, "p"); 9929 9930 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](80, " You can only submit one message to a friend\u2019s virtrolio per year, so be absolutely certain! "); 9931 9932 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9933 9934 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](81, "p"); 9935 9936 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](82, " By sending a message, you agree to our "); 9937 9938 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](83, "a", 50); 9939 9940 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](84, "Terms of Service"); 9941 9942 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9943 9944 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](85, " and our "); 9945 9946 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](86, "a", 51); 9947 9948 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](87, "Privacy Policy"); 9949 9950 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9951 9952 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](88, ". "); 9953 9954 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9955 9956 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](89, "div", 52); 9957 9958 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9959 9960 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](90, "div", 53); 9961 9962 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](91, "button", 54); 9963 9964 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵlistener"]("click", function SigningComponent_Template_button_click_91_listener() { 9965 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵrestoreView"](_r10); 9966 9967 var _r2 = _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵreference"](11); 9968 9969 return ctx.sendMsg(_r2); 9970 }); 9971 9972 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](92, " Send it! "); 9973 9974 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9975 9976 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](93, "button", 55); 9977 9978 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](94, " Close "); 9979 9980 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9981 9982 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9983 9984 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9985 9986 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9987 9988 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 9989 9990 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](95, "div", 56); 9991 9992 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](96, "div", 43); 9993 9994 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](97, "div", 44); 9995 9996 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](98, "div", 45); 9997 9998 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](99, "h4", 57); 9999 10000 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](100, "Craft your perfect message!"); 10001 10002 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10003 10004 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](101, "button", 58); 10005 10006 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](102, "span", 48); 10007 10008 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](103, "\xD7"); 10009 10010 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10011 10012 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10013 10014 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10015 10016 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](104, "div", 59); 10017 10018 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](105, "h5"); 10019 10020 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](106, "Additional Formatting Tools"); 10021 10022 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10023 10024 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](107, "p"); 10025 10026 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](108, " Virtrolio supports a modified version of "); 10027 10028 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](109, "em"); 10029 10030 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](110, "Markdown"); 10031 10032 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10033 10034 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](111, " to format text. While we support most of Markdown's features, we haven't added buttons for all of them, so there's still a lot to try out! Learn how to type in markdown "); 10035 10036 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](112, "a", 60); 10037 10038 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](113, "here"); 10039 10040 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10041 10042 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](114, ". "); 10043 10044 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10045 10046 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](115, "p"); 10047 10048 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](116, "em"); 10049 10050 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](117, "Note: Not all Markdown features will work with Virtrolio messages."); 10051 10052 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10053 10054 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10055 10056 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](118, "h5"); 10057 10058 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](119, "Something to Note"); 10059 10060 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10061 10062 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](120, "p"); 10063 10064 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](121); 10065 10066 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10067 10068 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10069 10070 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](122, "div", 53); 10071 10072 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](123, "button", 55); 10073 10074 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](124, " Close "); 10075 10076 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10077 10078 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10079 10080 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10081 10082 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10083 10084 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10085 10086 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](125, "div", 61); 10087 10088 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](126, "div", 43); 10089 10090 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](127, "div", 44); 10091 10092 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](128, "div", 45); 10093 10094 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](129, "h4", 62); 10095 10096 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](130, " Do I need a larger screen to use Virtrolio? "); 10097 10098 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10099 10100 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](131, "button", 47); 10101 10102 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](132, "span", 48); 10103 10104 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](133, "\xD7"); 10105 10106 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10107 10108 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10109 10110 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10111 10112 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](134, "div", 59); 10113 10114 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](135, "p"); 10115 10116 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](136, " For most purposes, no. We designed the rest of Virtrolio to be used on a mobile OR desktop/laptop device, but we suggest that you try "); 10117 10118 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](137, "em"); 10119 10120 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](138, "signing"); 10121 10122 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10123 10124 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](139, " messages on a desktop or laptop computer instead of a phone or tablet. This is because not only is it easier to write out a message when you have a larger screen, but some of the components (like the colour pickers) are not as good-looking or easy to use on mobile. "); 10125 10126 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10127 10128 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10129 10130 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](140, "div", 53); 10131 10132 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementStart"](141, "button", 55); 10133 10134 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtext"](142, " Close "); 10135 10136 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10137 10138 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10139 10140 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10141 10142 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10143 10144 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelementEnd"](); 10145 10146 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵelement"](143, "app-image-modal"); 10147 } 10148 10149 if (rf & 2) { 10150 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 10151 10152 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.isSending); 10153 10154 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 10155 10156 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.deviceDetector.isMobile()); 10157 10158 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](6); 10159 10160 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate1"]("Type your message to ", ctx.name, " below."); 10161 10162 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); 10163 10164 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.signingBoxText)("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](23, _c1, ctx.signingService.currentFontFamily)); 10165 10166 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); 10167 10168 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.signingS
10168ervice.charCount >= 2000); 10169 10170 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4); 10171 10172 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](25, _c1, ctx.signingService.currentFontFamily)); 10173 10174 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); 10175 10176 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate"](ctx.signingService.currentFontDisplay); 10177 10178 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](3); 10179 10180 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngForOf", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpipeBind1"](22, 21, ctx.signingService.fontDict)); 10181 10182 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](19); 10183 10184 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("value", ctx.signingService.textColor); 10185 10186 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.textColor); 10187 10188 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 10189 10190 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](27, _c2, ctx.signingService.textColor)); 10191 10192 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](6); 10193 10194 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("value", ctx.signingService.backgroundColor); 10195 10196 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngModel", ctx.signingService.backgroundColor); 10197 10198 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](1); 10199 10200 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction1"](29, _c2, ctx.signingService.backgroundColor)); 10201 10202 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](5); 10203 10204 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngClass", ctx.checkImageList() ? "btn-primary" : "btn-secondary"); 10205 10206 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](2); 10207 10208 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngIf", ctx.checkImageList()); 10209 10210 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](4); 10211 10212 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("disabled", !ctx.signingService.canSend); 10213 10214 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](8); 10215 10216 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpropertyInterpolate"]("data", ctx.signingService.signingBoxText); 10217 10218 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵpureFunction3"](31, _c3, ctx.signingService.backgroundColor, ctx.signingService.textColor, ctx.signingService.currentFontFamily)); 10219 10220 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵadvance"](54); 10221 10222 _angular_core__WEBPACK_IMPORTED_MODULE_5__["ɵɵtextInterpolate1"](" Some characters you type will count as more characters than you think. For example, an 'enter' (or a 'new line') counts as 5 characters. Don't worry, we've given you ", ctx.signingService.maxCharCount, " characters to work with! "); 10223 } 10224 }, 10225 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.DefaultValueAccessor, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.NgControlStatus, _angular_forms__WEBPACK_IMPORTED_MODULE_10__.NgModel, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgStyle, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgClass, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _image_modal_image_modal_component__WEBPACK_IMPORTED_MODULE_1__.ImageModalComponent], 10226 pipes: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.KeyValuePipe], 10227 styles: ["#signing-experience-alert[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n\n\n#signing-box[_ngcontent-%COMP%] {\n margin: 0.5em;\n padding: 1em;\n width: 40em;\n height: 20em;\n resize: none;\n color: #000000;\n font-size: 1em;\n border-width: 0.05em;\n border-radius: 0.25rem;\n box-shadow: var(--signing-shadow);\n}\n\n#char-count-display[_ngcontent-%COMP%] {\n z-index: 10;\n position: absolute;\n bottom: -1em;\n right: 2em;\n}\n\n.form-control[_ngcontent-%COMP%] {\n border-color: var(--light-grey);\n}\n\n.form-control[_ngcontent-%COMP%]:focus {\n border-color: var(--accent);\n}\n\nmarkdown[_ngcontent-%COMP%] {\n margin: 0.5em;\n padding: 1em;\n width: 40em;\n height: 20em;\n resize: none;\n font: 1em Arial;\n border: 0.05em solid var(--light-grey);\n overflow-y: auto;\n overflow-x: auto;\n word-wrap: break-word;\n border-radius: 0.25rem;\n box-shadow: var(--signing-shadow);\n line-height: 1.5;\n}\n\n\n\n#options[_ngcontent-%COMP%] > *[_ngcontent-%COMP%] {\n margin: 1.4em 0.5em 0.8em;\n box-shadow: var(--signing-shadow);\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%] {\n display: flex;\n display: -webkit-flex;\n justify-content: space-between;\n align-items: center;\n text-align: right;\n width: 12em;\n height: 2.5em;
10227\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:not(.caret) {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n#font-selector-dropdown[_ngcontent-%COMP%] .caret[_ngcontent-%COMP%] {\n margin: auto;\n}\n\n.btn-format[_ngcontent-%COMP%] {\n width: 2.5em;\n height: 2.5em;\n}\n\n.btn-send[_ngcontent-%COMP%] {\n width: 6em;\n height: 2.5em;\n}\n\n.btn-send[_ngcontent-%COMP%]:disabled {\n background-color: var(--light-grey);\n}\n\n.dropdown-item[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.dropdown-item[_ngcontent-%COMP%]:active {\n background-color: var(--accent);\n}\n\n.dropdown-menu[_ngcontent-%COMP%] {\n overflow-y: auto;\n height: 12em;\n z-index: 2000;\n}\n\n#fill-color-icon[_ngcontent-%COMP%] {\n width: 1.5em;\n margin: 0 auto 0.1em auto;\n}\n\n#image-icon[_ngcontent-%COMP%] {\n width: 1.7em;\n margin: 0 auto;\n}\n\n.icon-wrapper[_ngcontent-%COMP%] {\n padding: 0;\n cursor: pointer;\n}\n\n#color-picker-font[_ngcontent-%COMP%], #color-picker-background[_ngcontent-%COMP%] {\n opacity: 0;\n position: absolute;\n display: block;\n z-index: 1;\n width: 2.2em;\n height: 2.2em;\n margin: -1.55em 0.05em !important;\n cursor: pointer;\n}\n\n#font-color-text[_ngcontent-%COMP%] {\n margin-bottom: 0;\n font-size: large;\n}\n\n.dynamic-color-bar[_ngcontent-%COMP%] {\n display: block;\n height: 0.4em;\n margin: 0.1em 0.2em;\n border-radius: 0.4em;\n}\n\n#image-notification-circle[_ngcontent-%COMP%] {\n border-radius: 100%;\n height: 1.5em;\n width: 1.5em;\n position: absolute;\n right: -0.4375em;\n top: -0.375em;\n color: white;\n background-color: var(--light-grey);\n}\n\n#image-button-wrapper[_ngcontent-%COMP%] {\n border-radius: 0.25rem; \n}\n\n\n\n.title-div[_ngcontent-%COMP%] {\n height: 3em;\n margin: 0 0.5em 0 0.5em;\n text-align: center;\n font-size: 1.2em;\n}\n\n\n\n#btn-info[_ngcontent-%COMP%] {\n border-radius: 6em;\n color: #ffffff;\n box-shadow: var(--signing-shadow);\n}\n\n#send-button[_ngcontent-%COMP%] {\n width: 10em;\n height: 3em;\n font-weight: bolder;\n}\n\n#send-button[_ngcontent-%COMP%] {\n width: 10em;\n height: 3em;\n font-weight: bolder;\n}\n\n.btn-info[_ngcontent-%COMP%] {\n background-color: #0075ff !important;\n}\n\n#spinner-overlay-container[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: var(--loading-container-background);\n z-index: var(--loading-container-z-index);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpZ25pbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQSxnQ0FBZ0M7O0FBRWhDO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixjQUFjO0VBQ2QsY0FBYztFQUNkLG9CQUFvQjtFQUNwQixzQkFBc0I7RUFDdEIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osVUFBVTtBQUNaOztBQUVBO0VBQ0UsK0JBQStCO0FBQ2pDOztBQUVBO0VBQ0UsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixXQUFXO0VBQ1gsWUFBWTtFQUNaLFlBQVk7RUFDWixlQUFlO0VBQ2Ysc0NBQXNDO0VBQ3RDLGdCQUFnQjtFQUNoQixnQkFBZ0I7RUFDaEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixpQ0FBaUM7RUFDakMsZ0JBQWdCO0FBQ2xCOztBQUVBLHlCQUF5Qjs7QUFFekI7RUFDRSx5QkFBeUI7RUFDekIsaUNBQWlDO0FBQ25DOztBQUVBO0VBQ0UsYUFBYTtFQUNiLHFCQUFxQjtFQUNyQiw4QkFBOEI7RUFDOUIsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixXQUFXO0VBQ1gsYUFBYTtBQUNmOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtBQUN6Qjs7QUFFQTtFQUNFLFlBQVk7QUFDZDs7QUFFQTtFQUNFLFlBQVk7RUFDWixhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsYUFBYTtBQUNmOztBQUVBO0VBQ0UsbUNBQW1DO0FBQ3JDOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLCtCQUErQjtBQUNqQzs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osYUFBYTtBQUNmOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QjtBQUMzQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixjQUFjO0FBQ2hCOztBQUVBO0VBQ0UsVUFBVTtFQUNWLGVBQWU7QUFDakI7O0FBRUE7O0VBRUUsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsVUFBVTtFQUNWLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUNBQWlDO0VBQ2pDLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0VBQ2IsWUFBWTtFQUNaLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLHNCQUFzQixFQUFFLHFDQUFxQztBQUMvRDs7QUFFQSxrQkFBa0I7O0FBRWxCO0VBQ0UsV0FBVztFQUNYLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsZ0JBQWdCO0FBQ2xCOztBQUVBLHFCQUFxQjs7QUFFckI7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGlDQUFpQztBQUNuQzs7QUFFQTtFQUNFLFdBQVc7RUFDWCxXQUFXO0VBQ1gsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxvQ0FBb0M7QUFDdEM7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsTUFBTTtFQUNOLFNBQVM7RUFDVCxPQUFPO0VBQ1AsUUFBUTtFQUNSLCtDQUErQztFQUMvQyx5Q0FBeUM7QUFDM0MiLCJmaWxlIjoic2lnbmluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3NpZ25pbmctZXhwZXJpZW5jZS1hbGVydCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogfHwgU2lnbmluZyBib3gsIFByZXZpZXcgQm94ICovXG5cbiNzaWduaW5nLWJveCB7XG4gIG1hcmdpbjogMC41ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgd2lkdGg6IDQwZW07XG4gIGhlaWdodDogMjBlbTtcbiAgcmVzaXplOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlci13aWR0aDogMC4wNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbiNjaGFyLWNvdW50LWRpc3BsYXkge1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xZW07XG4gIHJpZ2h0OiAyZW07XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xufVxuXG4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG5tYXJrZG93biB7XG4gIG1hcmdpbjogMC41ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgd2lkdGg6IDQwZW07XG4gIGhlaWdodDogMjBlbTtcbiAgcmVzaXplOiBub25lO1xuICBmb250OiAxZW0gQXJpYWw7XG4gIGJvcmRlcjogMC4wNWVtIHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJveC1zaGFkb3c6IHZhcigtLXNpZ25pbmctc2hhZG93KTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogfHwgRm9ybWF0dGluZyBUb29scyAgKi9cblxuI29wdGlvbnMgPiAqIHtcbiAgbWFyZ2luOiAxLjRlbSAwLjVlbSAwLjhlbTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2lnbmluZy1zaGFkb3cpO1xufVxuXG4jZm9udC1zZWxlY3Rvci1kcm9wZG93biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDEyZW07XG4gIGhlaWdodDogMi41ZW07XG59XG5cbiNmb250LXNlbGVjdG9yLWRyb3Bkb3duI
10227HNwYW46bm90KC5jYXJldCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuI2ZvbnQtc2VsZWN0b3ItZHJvcGRvd24gLmNhcmV0IHtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uYnRuLWZvcm1hdCB7XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLmJ0bi1zZW5kIHtcbiAgd2lkdGg6IDZlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbn1cblxuLmJ0bi1zZW5kOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5kcm9wZG93bi1pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZHJvcGRvd24taXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogMTJlbTtcbiAgei1pbmRleDogMjAwMDtcbn1cblxuI2ZpbGwtY29sb3ItaWNvbiB7XG4gIHdpZHRoOiAxLjVlbTtcbiAgbWFyZ2luOiAwIGF1dG8gMC4xZW0gYXV0bztcbn1cblxuI2ltYWdlLWljb24ge1xuICB3aWR0aDogMS43ZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uaWNvbi13cmFwcGVyIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jY29sb3ItcGlja2VyLWZvbnQsXG4jY29sb3ItcGlja2VyLWJhY2tncm91bmQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMi4yZW07XG4gIGhlaWdodDogMi4yZW07XG4gIG1hcmdpbjogLTEuNTVlbSAwLjA1ZW0gIWltcG9ydGFudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4jZm9udC1jb2xvci10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiBsYXJnZTtcbn1cblxuLmR5bmFtaWMtY29sb3ItYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC40ZW07XG4gIG1hcmdpbjogMC4xZW0gMC4yZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuNGVtO1xufVxuXG4jaW1hZ2Utbm90aWZpY2F0aW9uLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTAuNDM3NWVtO1xuICB0b3A6IC0wLjM3NWVtO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xufVxuXG4jaW1hZ2UtYnV0dG9uLXdyYXBwZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtOyAvKiBiYXNlZCBvZmYgb2YgYm9vdHN0cmFwIGJ0biBjbGFzcyAqL1xufVxuXG4vKiB8fCBUeXBvZ3JhcGh5ICovXG5cbi50aXRsZS1kaXYge1xuICBoZWlnaHQ6IDNlbTtcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLyogfHwgTWlzY2VsbGFuZW91cyAqL1xuXG4jYnRuLWluZm8ge1xuICBib3JkZXItcmFkaXVzOiA2ZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiB2YXIoLS1zaWduaW5nLXNoYWRvdyk7XG59XG5cbiNzZW5kLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMGVtO1xuICBoZWlnaHQ6IDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuI3NlbmQtYnV0dG9uIHtcbiAgd2lkdGg6IDEwZW07XG4gIGhlaWdodDogM2VtO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4uYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NWZmICFpbXBvcnRhbnQ7XG59XG5cbiNzcGlubmVyLW92ZXJsYXktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWxvYWRpbmctY29udGFpbmVyLWJhY2tncm91bmQpO1xuICB6LWluZGV4OiB2YXIoLS1sb2FkaW5nLWNvbnRhaW5lci16LWluZGV4KTtcbn1cbiJdfQ== */"] 10228 }); 10229 /***/ 10230 }, 10231 10232 /***/ 10233 21912: 10234 /*!**********************************************************************!*\ 10235 !*** ./src/app/pages/terms-of-service/terms-of-service.component.ts ***! 10236 \**********************************************************************/ 10237 10238 /***/ 10239 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 10240 "use strict"; 10241 10242 __webpack_require__.r(__webpack_exports__); 10243 /* harmony export */ 10244 10245 10246 __webpack_require__.d(__webpack_exports__, { 10247 /* harmony export */ 10248 "TermsOfServiceComponent": function TermsOfServiceComponent() { 10249 return ( 10250 /* binding */ 10251 _TermsOfServiceComponent 10252 ); 10253 } 10254 /* harmony export */ 10255 10256 }); 10257 /* harmony import */ 10258 10259 10260 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 10261 /*! @angular/core */ 10262 37716); 10263 /* harmony import */ 10264 10265 10266 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 10267 /*! @angular/platform-browser */ 10268 39075); 10269 10270 var _TermsOfServiceComponent = /*#__PURE__*/function () { 10271 function _TermsOfServiceComponent(title) { 10272 _classCallCheck(this, _TermsOfServiceComponent); 10273 10274 this.title = title; 10275 } 10276 10277 _createClass(_TermsOfServiceComponent, [{ 10278 key: "ngOnInit", 10279 value: function ngOnInit() { 10280 this.title.setTitle('Terms of Service | Virtrolio'); 10281 } 10282 }]); 10283 10284 return _TermsOfServiceComponent; 10285 }(); 10286 10287 _TermsOfServiceComponent.ɵfac = function TermsOfServiceComponent_Factory(t) { 10288 return new (t || _TermsOfServiceComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_1__.Title)); 10289 }; 10290 10291 _TermsOfServiceComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 10292 type: _TermsOfServiceComponent, 10293 selectors: [["app-terms-of-service"]], 10294 decls: 137, 10295 vars: 0, 10296 consts: [[1, "container"], [1, "text-center", "mt-3", "mb-3"], ["role", "alert", 1, "alert", "alert-primary"], ["href", "https://firebase.google.com/terms/", "target", "_blank"], ["href", "../privacy-policy"], ["href", "mailto:[email protected]", "target", "_blank"]], 10297 template: function TermsOfServiceComponent_Template(rf, ctx) { 10298 if (rf & 1) { 10299 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 10300 10301 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "h1", 1); 10302 10303 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2, "Terms of Service"); 10304 10305 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10306 10307 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 2); 10308 10309 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](4, " Last updated: June 16, 2021 "); 10310 10311 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10312 10313 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](5, "h3"); 10314 10315 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](6, "SUMMARY"); 10316 10317 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10318 10319 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](7, "p"); 10320 10321 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](8, " In short, you agree to abide by our code of conduct for safe, respectful, and common-sense behaviour. You understand that we will do everything in our power to address reported violations of the code or these Terms, including account termination at our discretion, but that the ultimate responsibility for a message's contents, including links to third-party sites, lies with the user who sent it. You agree not to reproduce or alter any of our intellectual property for unlicensed use, and where necessary, you agree to obtain parental consent to use our site. This summary is for convenience only; please read the terms below carefully. "); 10322 10323 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10324 10325 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](9, "h3"); 10326 10327 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](10, "OVERVIEW"); 10328 10329 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10330 10331 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](11, "p"); 10332 10333 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](12, " This website is operated by Virtrolio. Throughout the site, the terms \u201Cwe\u201D, \u201Cus\u201D and \u201Cour\u201D refer to Virtrolio. Virtrolio offers this website, including all information, tools and services available from this site to you, the user, conditioned upon your acceptance of all terms, conditions, policies and notices stated here. "); 10334 10335 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10336 10337 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](13, "p"); 10338 10339 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](14, " By visiting our site, you engage in our \u201CService\u201D and agree to be bound by the following terms and conditions (\u201CTerms of Service\u201D, \u201CTerms\u201D), including those additional terms and conditions and policies referenced herein and/
10339or available by hyperlink. These Terms of Service apply to all users of the site, including without limitation users who are browsers and/or contributors of content. "); 10340 10341 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10342 10343 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](15, "p"); 10344 10345 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](16, " Please read these Terms of Service carefully before accessing or using our website. By accessing or using any part of the site, you agree to be bound by these Terms of Service and any other policies listed here. If you do not agree to all the terms and conditions of this agreement, then you may not access the website or use any services. If these Terms of Service are considered an offer, acceptance is expressly limited to these Terms of Service. "); 10346 10347 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10348 10349 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](17, "p"); 10350 10351 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](18, " Virtrolio is a message sharing and viewing service that allows users to recreate in-person yearbook signings. In order to digitally emulate the essence of this act, certain data policies and terms have been enacted accordingly. "); 10352 10353 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10354 10355 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](19, "p"); 10356 10357 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](20, " Any new features or tools which are added to the current website shall also be subject to the Terms of Service. You can review the most current version of the Terms of Service at any time on this page. We reserve the right to update, change, or replace any part of these Terms of Service by posting updates and/or changes to our website. It is your responsibility to check this page periodically for changes. Your continued use of or access to the website following the posting of any changes constitutes acceptance of those changes. "); 10358 10359 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10360 10361 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](21, "h3"); 10362 10363 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](22, "SECTION 1 - GENERAL CONDITIONS"); 10364 10365 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10366 10367 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](23, "p"); 10368 10369 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](24, " We reserve the right to refuse service to anyone for any reason at any time. "); 10370 10371 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10372 10373 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](25, "p"); 10374 10375 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](26, " You understand that your content (not including credit card information), may be transferred unencrypted and involve (a) transmissions over various networks; and (b) changes to conform and adapt to technical requirements of connecting networks or devices. Credit card information is always encrypted during transfer over networks. "); 10376 10377 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10378 10379 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](27, "p"); 10380 10381 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](28, " You agree not to reproduce, duplicate, copy, sell, resell or exploit any portion of the Service, use of the Service, or access to the Service or any contact on the website through which the service is provided, without express written permission by us. "); 10382 10383 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10384 10385 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](29, "p"); 10386 10387 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](30, " The headings used in this agreement are included for c
10387onvenience only and will not limit or otherwise affect these Terms. "); 10388 10389 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10390 10391 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](31, "h3"); 10392 10393 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](32, "SECTION 2 - TERMINATION OF SERVICE"); 10394 10395 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10396 10397 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](33, "p"); 10398 10399 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](34, " A breach or violation of the conditions listed in these Terms or other relevant policies will result in a termination of your Services, including but not limited to: deletion of your account and all associated data (see more on our data policies in our Privacy Policy) and banning of your email address to prevent further account access or creation therein. "); 10400 10401 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10402 10403 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](35, "p"); 10404 10405 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](36, " We may, at our own discretion, give you advance notice of account termination. Your account will not be reconsidered for reacceptance into our Service, except under specific circumstances to be established through individual written communication and at our sole discretion. "); 10406 10407 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10408 10409 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](37, "p"); 10410 10411 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](38, " The obligations and liabilities of the parties incurred prior to the termination date shall survive the termination of this agreement for all purposes. "); 10412 10413 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10414 10415 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](39, "p"); 10416 10417 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](40, " These Terms of Service are effective unless and until terminated by either you or us. You may terminate these Terms of Service at any time by notifying us that you no longer wish to use our Services, or when you cease using our site. "); 10418 10419 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10420 10421 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](41, "p"); 10422 10423 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](42, " If in our sole judgment you fail, or we suspect that you have failed, to comply with any term or provision of these Terms of Service, we also may terminate this agreement at any time without notice and accordingly may deny you access to our Services (or any part thereof). "); 10424 10425 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10426 10427 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](43, "h3"); 10428 10429 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](44, "SECTION 3 - MODIFICATIONS TO THE SERVICE"); 10430 10431 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10432 10433 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](45, "p"); 10434 10435 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](46, " We reserve the right at any time to modify or discontinue the Service (or any part or content thereof) without notice at any time. "); 10436 10437 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10438 10439 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](47, "p"); 10440 10441 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](48, " Occasionally there may be information on our site or in the Service that contains typographical errors, inaccuracies or omissions. We reserve the right to correct any errors, inaccuracies or omissions, and to change or update information if any information in the Service is inaccurate at any time without prior notice. "); 10442 10443 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10444 10445 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](49, "p"); 10446 10447 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](50, " We undertake no obligation to update, amend, or clarify information in the Service except as required by law. No specified update or refresh date applied in the Service should be taken to indicate that all information in the Service or on any related website has been modified or updated. "); 10448 10449 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10450 10451 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](51, "p"); 10452 10453 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](52, " You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time. In such a case, you will receive notification by email. However, notification for short periods of interruption to the service may only consist of a banner or page displayed on our website without an accompanying email. If service termination is deemed permanent or exceptional by cir
10453cumstance, appropriate measures will be put in place for you, the user, to be able to retrieve your data, though we make no promise as to the amount of time which this may take. "); 10454 10455 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10456 10457 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](53, "h3"); 10458 10459 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](54, "SECTION 4 - THIRD-PARTY LINKS AND SERVICES"); 10460 10461 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10462 10463 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](55, "p"); 10464 10465 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](56, " The developers of Virtrolio have made use of third-party softwares and services in order to be able to provide our service to you. As such, by using our service you also agree to any relevant terms, policies, and practices which extend from those third-party services, including, but not limited to, those associated with "); 10466 10467 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](57, "a", 3); 10468 10469 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](58, "Google Firebase"); 10470 10471 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10472 10473 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](59, " and its collection of anonymous data; and with third-party sign-in providers such as Google and their authentication services. We will enforce these Terms in accordance with any relevant third-party policies. "); 10474 10475 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10476 10477 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](60, "p"); 10478 10479 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](61, " Furthermore, certain content available on our Service may include third-party material. Third-party links on this site may direct you to third-party websites that are not affiliated with us. We are not responsible for examining or evaluating the content or accuracy and we do not warrant and will not have any liability or responsibility for any third-party materials or websites, or for any other views, endorsements, materials, products, or services of third-parties. "); 10480 10481 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10482 10483 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](62, "p"); 10484 10485 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](63, " While we support the embedding of images via third-party links within messages as well as the uploading and storage of images, we currently cannot guarantee that such images will display as intended, nor that the image will not be removed or otherwise made unavailable by the hosting provider. For the purposes of embedding images via third-party links, responsibility for selecting a third-party service and ensuring that an image displays as intended falls on the user; no recommendation or endorsement of any such service is made by Virtrolio. In addition, the user remains responsible for the contents of the image, and for obtaining the necessary rights or explicit permissions required to use the image regardless of whether it is directly uploaded to Virtrolio or to a third party. "); 10486 10487 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10488 10489 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](64, "p"); 10490 10491 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](65, " We are not liable for any harm or damages related to the purchase or use of goods, services, resources, content, or any other transactions made with any third-party websites. Please carefully review the third-party's policies and practices and make sure you understand them before you engage in any transaction. Complaints, claims, concerns, or questions regarding third-party products should be directed to the third-party. "); 10492 10493 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10494 10495 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](66, "h3"); 10496 10497 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](67, "SECTION 5 - CODE OF CONDUCT"); 10498 10499 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10500 10501 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](68, "p"); 10502 10503 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](69, " In addition to other prohibitions as set forth in the Terms of Service, you are prohibited from using the site or its content: (a) for any unlawful purpose; (b) to solicit others to perform or participate in any unlawful acts; (c) to violate any international, federal, provincial or state regulations, rules, laws, or local ordinances; (d) to infringe upon or violate our intellectual property rights or the intellectual property rights of others; (e) to harass, abuse, insult, harm, defame, slander, disparage, intimidate, or discriminate based on gender, sexual orientation, religion, ethnicity, race, age, national origin, or disability; (f) to submit false or misleading information; (g) to upload or transmit viruses or any other type of malicious code that will or may be used in any way that will affect the functionality or operation of the Service or of any related website, other websites, or the Internet; (h) to collect or track the personal information of others; (i) to spam, phish, farm, pretext, spider, crawl, or scrape; (j) for any obscene or immoral purpose; or (k) to interfere with or circumvent the security features of the Service or any related website, other websites, or the Internet. We reserve the right to terminate your use of the Service or any related website for violating any of the prohibited uses. "); 10504 10505 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10506 10507 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](70, "p"); 10508 10509 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](71, " We may monitor, edit, and/or remove users (see SECTION 2) that we determine in our sole discretion as acting in a manner that is unlawful, offensive, threatening, libelous, defamatory, pornographic, obscene, or otherwise objectionable or violates any party\u2019s intellectual property or these Terms of Service. We may al
10509so take the same actions against specific user contributions. Law enforcement and third-party service providers, including Google, will be notified as necessary and access to your account will be revoked if you are found to be sharing content which does not conform with these Terms or this Code of Conduct. "); 10510 10511 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10512 10513 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](72, "p"); 10514 10515 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](73, " You agree that your comments will not violate any right of any third-party, including copyright, trademark, privacy, personality or other personal or proprietary right. You further agree that your comments will not contain libelous or otherwise unlawful, abusive or obscene material, or contain any computer virus or other malware that could in any way affect the operation of the Service or any related website. "); 10516 10517 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10518 10519 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](74, "p"); 10520 10521 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](75, " You are solely responsible for any inappropriate comments you make or data you send through our Service, even if it does not reach any particular user. We take no responsibility and assume no liability for any comments posted by you or any third-party. "); 10522 10523 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10524 10525 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](76, "h3"); 10526 10527 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](77, "SECTION 6 - PERSONAL & DEVICE INFORMATION"); 10528 10529 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10530 10531 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](78, "p"); 10532 10533 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](79, " Your submission of personal information and device information through Virtrolio is governed by our "); 10534 10535 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](80, "a", 4); 10536 10537 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](81, "Privacy Policy."); 10538 10539 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10540 10541 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](82, " Your agreement to these Terms constitutes your agreement to the Privacy Policy. "); 10542 10543 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10544 10545 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](83, "h3"); 10546 10547 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](84, "SECTION 7 - INDEMNIFICATION"); 10548 10549 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10550 10551 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](85, "p"); 10552 10553 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](86, " You agree to indemnify, defend and hold harmless Virtrolio and our parent, subsidiaries, affiliates, partners, officers, directors, agents, contractors, licensors, service providers, subcontractors, suppliers, interns and employees, harmless from any claim or demand, including reasonable attorneys\u2019 fees, made by any third-party due to or arising out of your breach of these Terms of Service or the documents they incorporate by reference, or your violation of any law or the rights of a third-party. "); 10554 10555 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10556 10557 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](87, "h3"); 10558 10559 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](88, "SECTION 8 - DISCLAIMER OF WARRANTIES"); 10560 10561 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10562 10563 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](89, "p"); 10564 10565 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](90, " You expressly agree that your use of, or inability to use, the service is at your sole risk. The service and all products and services delivered to you through the service are (except as expressly stated by us) provided 'as is' and 'as available' for your use, without any representation, warranties or conditions of any kind, either express or implied, including, but not limited to, all implied warranties or conditions of merchantability, merchantable quality, fitness for a particular purpose, durability, title, and non-infringement. "); 10566 10567 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10568 10569 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](91, "p"); 10570 10571 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](92, " We do not guarantee, represent or warrant that your use of our service will be uninterrupted, timely, secure or error-free, nor do we warrant that the results or information that may be obtained from the use of the service will be accurate or reliable. You agree that from time to time we may remove the service for indefinite periods of time or cancel the service at any time, without notice to you. "); 10572 10573 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10574 10575 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](93, "p"); 10576 10577 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](94, " The Site is intended for individuals at least 18 years of age, or if you have parental consent, at least 15 years of age in Australia or 13 years of age in all other Authorized Jurisdictions (\u201CMinimum Age\u201D). You must meet these requirements in order to use a Virtrolio account and its services. If you have obtained parental consent, our Terms and policies are accepted by and will apply to your parent or guardian, and they are responsible for your activity on these services. "); 10578 10579 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10580 10581 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](95, "p"); 10582 10583 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](96, " In no case shall Virtrolio, our directors, officers, employees, affiliates, agents, contractors, interns, suppliers, service providers or licensors be liable for any injury, loss, claim, or any direct, indirect, incidental, punitive, special, or consequential damages of any kind, including, without limitation lost profits, lost revenue, lost savings, loss of data, replacement costs, or any similar damages, whether based in contract, tort (including negligence), strict liability or otherwise, arising from your use of any of the Service or any products procured using the Service, or for any other claim related in any way to your use of the Service or any product, including, but not limited to, any errors or omissions in any content, or any loss or damage of any kind incurred as a result of the use of the Service or any content (or product) posted, transmitted, or otherwise made available via the Service or via the conduct or interactions of other users thereof, even if advised of their possibility. Because some states or jurisdictions do not allow the exclusion or the limitation of liability for consequential or incidental damages, in such states or jurisdictions, our liability shall be limited to the maximum extent permitted by law. "); 10584 10585 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10586 10587 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](97, "h3"); 10588 10589 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](98, "SECTION 9 - INTELLECTUAL PROPERTY"); 10590 10591 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10592 10593 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](99, "p"); 10594 10595 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](100, " Notwithstanding the public availability of the source code associated with the operation of the Service, we assign no licence for its use. We retain ownership of all proprietary rights in the Service and all trade names, trade marks, service marks, and other intellectual property displayed by or associated with the operation of the Service. You are prohibited from remov
10595ing, defacing, obscuring, or otherwise altering any of our branding, logos, or legal notices. "); 10596 10597 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10598 10599 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](101, "h3"); 10600 10601 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](102, "SECTION 10 - SEVERABILITY"); 10602 10603 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10604 10605 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](103, "p"); 10606 10607 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](104, " In the event that any provision of these Terms of Service is determined to be unlawful, void or unenforceable, such provision shall nonetheless be enforceable to the fullest extent permitted by applicable law, and the unenforceable portion shall be deemed to be severed from these Terms of Service, such determination shall not affect the validity and enforceability of any other remaining provisions. "); 10608 10609 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10610 10611 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](105, "h3"); 10612 10613 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](106, "SECTION 11 - ENTIRE AGREEMENT"); 10614 10615 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10616 10617 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](107, "p"); 10618 10619 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](108, " The failure of us to immediately exercise or enforce any right or provision of these Terms of Service shall not constitute a waiver of such right or provision (i.e. for the future). "); 10620 10621 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10622 10623 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](109, "p"); 10624 10625 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](110, " These Terms of Service and any policies or operating rules posted by us on this site or in respect to The Service constitutes the entire agreement and understanding between you and us and govern your use of the Service, superseding any prior or contemporaneous agreements, communications and proposals, whether oral or written, between you and us (including, but not limited to, any prior versions of the Terms of Service). "); 10626 10627 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10628 10629 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](111, "p"); 10630 10631 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](112, " Any ambiguities in the interpretation of these Terms of Service shall not be construed against the drafting party. "); 10632 10633 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10634 10635 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](113, "p"); 10636 10637 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](114, " The obligations and liabilities of the parties incurred prior to the termination date shall survive the termination of this agreement for all purposes. "); 10638 10639 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10640 10641 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](115, "p"); 10642 10643 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](116, " These Terms of Service are effective unless and until terminated by either you or us. You may terminate these Terms of Service at any time by notifying us that you no longer wish to use our Service, or when you cease using our Service by deleting your account. "); 10644 10645 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10646 10647 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](117, "p"); 10648 10649 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](118, " If in our sole judgment you fail, or we suspect that you have failed, to comply with any term or provision of these Terms of Service, we also may terminate this agreement at any time without notice and you will remain liable for all amounts due up to and including the date of termination; and/or accordingly may deny you access to our Service (or any part thereof). "); 10650 10651 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10652 10653 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](119, "h3"); 10654 10655 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](120, "SECTION 12 - GOVERNING LAW"); 10656 10657 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10658 10659 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](121, "p"); 10660 10661 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](122, " These Terms of Service and any separate agreements whereby we provide you Services shall be, if reasonable, governed by and construed in accordance with the laws of the Province of Ontario, to be resolved
10661in the federal or provincial courts of Peel Region, Ontario, Canada. You and we agree to personal jurisdiction in those courts. "); 10662 10663 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10664 10665 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](123, "h3"); 10666 10667 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](124, "SECTION 13 - CHANGES TO THE TERMS OF SERVICE"); 10668 10669 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10670 10671 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](125, "p"); 10672 10673 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](126, " You can review the most current version of the Terms of Service at any time at this page. "); 10674 10675 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10676 10677 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](127, "p"); 10678 10679 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](128, " We reserve the right, at our sole discretion, to update, change, or replace any part of these Terms of Service by posting updates and changes to our website. It is your responsibility to check our website periodically for changes. Your continued use of or access to our website or the Service following the posting of any changes to these Terms of Service constitutes acceptance of those changes. "); 10680 10681 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10682 10683 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](129, "h3"); 10684 10685 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](130, "SECTION 14 - CONTACT INFORMATION"); 10686 10687 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10688 10689 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](131, "p"); 10690 10691 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](132, " Questions about the Terms of Service should be sent to us at "); 10692 10693 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](133, "a", 5); 10694 10695 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](134, "[email protected]"); 10696 10697 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10698 10699 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](135, ". "); 10700 10701 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10702 10703 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](136, "br"); 10704 10705 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 10706 } 10707 }, 10708 styles: ["\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJ0ZXJtcy1vZi1zZXJ2aWNlLmNvbXBvbmVudC5jc3MifQ== */"] 10709 }); 10710 /***/ 10711 }, 10712 10713 /***/ 10714 1641: 10715 /*!************************************************************************!*\ 10716 !*** ./src/app/pages/viewing/message-modal/message-modal.component.ts ***! 10717 \************************************************************************/ 10718 10719 /***/ 10720 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 10721 "use strict"; 10722 10723 __webpack_require__.r(__webpack_exports__); 10724 /* harmony export */ 10725 10726 10727 __webpack_require__.d(__webpack_exports__, { 10728 /* harmony export */ 10729 "MessageModalComponent": function MessageModalComponent() { 10730 return ( 10731 /* binding */ 10732 _MessageModalComponent 10733 ); 10734 } 10735 /* harmony export */ 10736 10737 }); 10738 /* harmony import */ 10739 10740 10741 var _angular_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 10742 /*! @angular/core */ 10743 37716); 10744 /* harmony import */ 10745 10746 10747 var _core_viewing_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 10748 /*! ../../../core/viewing.service */ 10749 91225); 10750 /* harmony import */ 10751 10752 10753 var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 10754 /*! ngx-bootstrap/modal */ 10755 63301); 10756 /* harmony import */ 10757 10758 10759 var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 10760 /*! ../../../core/msg-io.service */ 10761 84468); 10762 /* harmony import */ 10763 10764 10765 var _angular_router__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 10766 /*! @angular/router */ 10767 39895); 10768 /* harmony import */ 10769 10770 10771 var _angular_common__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 10772 /*! @angular/common */ 10773 38583); 10774 /* harmony import */ 10775 10776 10777 var ngx_markdown__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 10778 /*! ngx-markdown */ 10779 76715); 10780 /* harmony import */ 10781 10782 10783 var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 10784 /*! ../../../shared/components/inline-images/inline-images.component */ 10785 72321); 10786 10787 function MessageModalComponent_app_inline_images_25_Template(rf, ctx) { 10788 if (rf & 1) { 10789 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](0, "app-inline-images", 17); 10790 } 10791 10792 if (rf & 2) { 10793 var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵnextContext"](); 10794 10795 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("images", ctx_r0.viewService.currentMessageModal.images); 10796 } 10797 } 10798 10799 var _c0 = function _c0() { 10800 return ["/viewing"]; 10801 }; 10802 10803 var _c1 = function _c1(a0) { 10804 return { 10805 messageId: a0, 10806 showBookmarkAlert: true 10807 }; 10808 }; 10809 10810 var _c2 = function _c2(a0, a1, a2) { 10811 return { 10812 background: a0, 10813 color: a1, 10814 "font-family": a2 10815 }; 10816 }; 10817 10818 var _MessageModalComponent = /*#__PURE__*/function () { 10819 function _MessageModalComponent(viewService, modalService, msgIOService) { 10820 _classCallCheck(this, _MessageModalComponent); 10821 10822 this.viewService = viewService; 10823 this.modalService = modalService; 10824 this.msgIOService = msgIOService; 10825 } 10826 10827 _createClass(_MessageModalComponent, [{ 10828 key: "ngOnInit", 10829 value: function ngOnInit() {} 10830 }]); 10831 10832 return _MessageModalComponent; 10833 }(); 10834 10835 _MessageModalComponent.ɵfac = function MessageModalComponent_Factory(t) { 10836 return new (t || _MessageModalComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_0__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_1__.BsModalService), _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_2__.MsgIoService)); 10837 }; 10838 10839 _MessageModalComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵdefineComponent"]({ 10840 type: _MessageModalComponent, 10841 selectors: [["app-message-modal"]], 10842 decls: 26, 10843 vars: 15, 10844 consts: [[1, "card", "shadow"], [1, "msg-header"], [1, "msg-header-group"], [1, "header-table"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card-header-group"], ["target", "_blank", 3, "routerLink", "queryParams"], ["type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "bookmark", "src", "../../../../assets/images/icons/bookmark-black.svg", 1, "card-icon"], ["type", "button", 1, "btn", 3, "click"], ["alt", "close", "src", "../../../../assets/images/icons/exit.svg", 1, "card-icon"], [1, "card-body", "message-card", "message", 3, "ngStyle"], ["emoji", "", 3, "data"], [3, "images", 4, "ngIf"], [3, "images"]], 10845 template: function MessageModalComponent_Template(rf, ctx) { 10846 if (rf & 1) { 10847 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](0, "div", 0); 10848 10849 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](1, "div", 1); 10850 10851 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](2, "div", 2); 10852 10853 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](3, "table", 3); 10854 10855 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](4, "tr"); 10856 10857 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](5, "td"); 10858 10859 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](6, "span", 4); 10860 10861 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](7, "img", 5); 10862 10863 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10864 10865 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10866 10867 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](8, "td"); 10868 10869 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](9, "table"); 10870 10871 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](10, "tr", 6); 10872 10873 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](11); 10874 10875 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10876 10877 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](12, "tr", 7); 10878 10879 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtext"](13); 10880 10881 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10882 10883 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10884 10885 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10886 10887 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10888 10889 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10890 10891 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10892 10893 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](14, "div", 8); 10894 10895 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](15, "table", 3); 10896 10897 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](16, "tr"); 10898 10899 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](17, "td"); 10900 10901 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](18, "a", 9); 10902 10903 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](19, "button", 10); 10904 10905 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function MessageModalComponent_Template_button_click_19_listener() { 10906 return ctx.viewService.bookmarkMessage(ctx.viewService.currentMessageModal.id); 10907 }); 10908 10909 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](20, "img", 11); 10910 10911 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10912 10913 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10914 10915 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](21, "button", 12); 10916 10917 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵlistener"]("click", function MessageModalComponent_Template_button_click_21_listener() { 10918 return ctx.modalService.hide(); 10919 }); 10920 10921 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](22, "img", 13); 10922 10923 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10924 10925 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10926 10927 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10928 10929 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10930 10931 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10932 10933 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10934 10935 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementStart"](23, "div", 14); 10936 10937 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelement"](24, "markdown", 15); 10938 10939 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtemplate"](25, MessageModalComponent_app_inline_images_25_Template, 1, 1, "app-inline-images", 16); 10940 10941 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10942 10943 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵelementEnd"](); 10944 } 10945 10946 if (rf & 2) { 10947 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](7); 10948 10949 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate"]("src", ctx.viewService.currentMessageModal.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵsanitizeUrl"]); 10950 10951 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](4); 10952 10953 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate1"](" ", ctx.viewService.currentMessageModal.fromName, " "); 10954 10955 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](2); 10956 10957 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵtextInterpolate1"](" ", ctx.viewService.timeSince(ctx.viewService.n
10957owMillis, ctx.viewService.currentMessageModal.timestamp.toMillis(), ctx.viewService.currentMessageModal.timestamp.toDate().toDateString()), " "); 10958 10959 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](5); 10960 10961 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction0"](8, _c0))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction1"](9, _c1, ctx.viewService.currentMessageModal.id)); 10962 10963 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](5); 10964 10965 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpureFunction3"](11, _c2, ctx.viewService.currentMessageModal.backColor, ctx.viewService.currentMessageModal.fontColor, ctx.viewService.fonts[ctx.viewService.currentMessageModal.fontFamily].fontFamily + "," + ctx.viewService.fonts[ctx.viewService.currentMessageModal.fontFamily].backupFont)); 10966 10967 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); 10968 10969 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵpropertyInterpolate"]("data", ctx.viewService.decodeHtml(ctx.viewService.currentMessageModal.contents)); 10970 10971 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵadvance"](1); 10972 10973 _angular_core__WEBPACK_IMPORTED_MODULE_4__["ɵɵproperty"]("ngIf", ctx.viewService.currentMessageModal.images); 10974 } 10975 }, 10976 directives: [_angular_router__WEBPACK_IMPORTED_MODULE_5__.RouterLinkWithHref, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_7__.MarkdownComponent, _angular_common__WEBPACK_IMPORTED_MODULE_6__.NgIf, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_3__.InlineImagesComponent], 10977 styles: [".card[_ngcontent-%COMP%] {\n width: auto;\n height: 100%;\n}\n.message-card[_ngcontent-%COMP%] {\n background-color: var(--light-grey);\n width: 100%;\n word-break: break-word;\n max-height: 30em;\n overflow-y: auto;\n}\n.table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n overflow-wrap: break-word;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n max-height: 20em;\n transition: all linear 0.2s;\n}\n.msg-footer[_ngcontent-%COMP%] {\n justify-content: center;\n}\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n background-color: rgba(0, 0, 0, 0.5);\n height: 100%;\n width: 100%;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n opacity: 0;\n transition: all linear 0.2s;\n}\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n opacity: 100%;\n}\n#external-link-icon[_ngcontent-%COMP%] {\n height: 33%;\n}\n\n.page[_ngcontent-%COMP%] {\n background-color: var(--accent);\n box-shadow: 0 0.15em 0.25em 0.05em rgba(0, 0, 0, 0.175);\n color: white;\n height: 70vh;\n padding: 3em 6em 3em 6em;\n\n overflow-y: auto;\n}\n\n.msg-header[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n line-height: 1em;\n padding: 0.5em 0.5em 0.5em 1em;\n}\n.msg-header-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n.msg-header-text[_ngcontent-%COMP%] {\n font-weight: bold;\n font-size: 0.9em;\n margin: 0.2em 0 0 0.5em;\n max-width: 10em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.msg-header-date[_ngcontent-%COMP%] {\n font-size: 0.7em;\n margin-left: 0.5em;\n}\n.profile-pic-container-small[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0);\n height: 1.7em;\n width: 1.7em;\n border-radius: 100%;\n display: flex;\n}\n.card-icon[_ngcontent-%COMP%] {\n width: 1em;\n height: 1em;\n}\n\n.btn[_ngcontent-%COMP%]:focus, .btn[_ngcontent-%COMP%]:active {\n outline: none !important;\n box-shadow: none !important;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--scrollbar-thumb);\n opacity: 0.1;\n border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2UtbW9kYWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkO0FBRUE7RUFDRSxtQ0FBbUM7RUFDbkMsV0FBVztFQUNYLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSx5QkFBeUI7QUFDM0I7QUFFQSxtQkFBbUI7QUFFbkI7RUFDRSxnQkFBZ0I7RUFDaEIsMkJBQTJCO0FBQzdCO0FBRUE7RUFDRSx1QkFBdUI7QUFDekI7QUFFQTtFQUNFLG9DQUFvQztFQUNwQyxZQUFZO0VBQ1osV0FBVztFQUNYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHVCQUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLDJCQUEyQjtBQUM3QjtBQUVBO0VBQ0UsYUFBYTtBQUNmO0FBRUE7RUFDRSxXQUFXO0FBQ2I7QUFFQSwwQkFBMEI7QUFDMUI7RUFDRSwrQkFBK0I7RUFDL0IsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixZQUFZO0VBQ1osd0JBQXdCOztFQUV4QixnQkFBZ0I7QUFDbEI7QUFFQSxtQkFBbUI7QUFDbkI7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLDhCQUE4QjtFQUM5QixnQkFBZ0I7RUFDaEIsOEJBQThCO0FBQ2hDO0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHVC
10977QUF1QjtFQUN2QixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixrQkFBa0I7QUFDcEI7QUFFQTtFQUNFLGtDQUFrQztFQUNsQyxhQUFhO0VBQ2IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLFVBQVU7RUFDVixXQUFXO0FBQ2I7QUFFQSxrRkFBa0Y7QUFDbEY7O0VBRUUsd0JBQXdCO0VBQ3hCLDJCQUEyQjtBQUM3QjtBQUVBLFVBQVU7QUFDVjtFQUNFLFlBQVk7QUFDZDtBQUVBLFVBQVU7QUFDVjtFQUNFLFVBQVU7QUFDWjtBQUVBLFdBQVc7QUFDWDtFQUNFLGtDQUFrQztFQUNsQyxZQUFZO0VBQ1osa0JBQWtCO0FBQ3BCIiwiZmlsZSI6Im1lc3NhZ2UtbW9kYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1lc3NhZ2UgQ2FyZCAqL1xuLmNhcmQge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWVzc2FnZS1jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiAzMGVtO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGFibGUgdGQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiBNZXNzYWdlIGltYWdlcyAqL1xuXG4ubXNnLWZvb3Rlci1pbWcge1xuICBtYXgtaGVpZ2h0OiAyMGVtO1xuICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XG59XG5cbi5tc2ctZm9vdGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tc2ctZm9vdGVyLWltZy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheTpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbiNleHRlcm5hbC1saW5rLWljb24ge1xuICBoZWlnaHQ6IDMzJTtcbn1cblxuLyogTWVzc2FnZSBDYXJvdXNlbCBQYWdlICovXG4ucGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGJveC1zaGFkb3c6IDAgMC4xNWVtIDAuMjVlbSAwLjA1ZW0gcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgaGVpZ2h0OiA3MHZoO1xuICBwYWRkaW5nOiAzZW0gNmVtIDNlbSA2ZW07XG5cbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogTWVzc2FnZSBIZWFkZXIgKi9cbi5tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjVlbSAxZW07XG59XG5cbi5tc2ctaGVhZGVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW46IDAuMmVtIDAgMCAwLjVlbTtcbiAgbWF4LXdpZHRoOiAxMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1zZy1oZWFkZXItZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuLnByb2ZpbGUtcGljLWNvbnRhaW5lci1zbWFsbCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGhlaWdodDogMS43ZW07XG4gIHdpZHRoOiAxLjdlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxuXG4vKiBSZW1vdmUgdGhlIGJsdWUgb3V0bGluZSBhcm91bmQgdGhlIGJ1dHRvbiBvbiB0aGUgaGVhZGVycyB3aGVuIHRoZXkncmUgY2xpY2tlZCAqL1xuLmJ0bjpmb2N1cyxcbi5idG46YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIHdpZHRoICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDAuMmVtO1xufVxuXG4vKiBUcmFjayAqL1xuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIEhhbmRsZSAqL1xuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNjcm9sbGJhci10aHVtYik7XG4gIG9wYWNpdHk6IDAuMTtcbiAgYm9yZGVyLXJhZGl1czogMWVtO1xufVxuIl19 */"] 10978 }); 10979 /***/ 10980 }, 10981 10982 /***/ 10983 46438: 10984 /*!*******************************************************************************!*\ 10985 !*** ./src/app/pages/viewing/messages/image-footer/image-footer.component.ts ***! 10986 \*******************************************************************************/ 10987 10988 /***/ 10989 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 10990 "use strict"; 10991 10992 __webpack_require__.r(__webpack_exports__); 10993 /* harmony export */ 10994 10995 10996 __webpack_require__.d(__webpack_exports__, { 10997 /* harmony export */ 10998 "ImageFooterComponent": function ImageFooterComponent() { 10999 return ( 11000 /* binding */ 11001 _ImageFooterComponent 11002 ); 11003 } 11004 /* harmony export */ 11005 11006 }); 11007 /* harmony import */ 11008 11009 11010 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 11011 /*! @angular/core */ 11012 37716); 11013 /* harmony import */ 11014 11015 11016 var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 11017 /*! @angular/common */ 11018 38583); 11019 /* harmony import */ 11020 11021 11022 var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 11023 /*! @angular/fire/storage */ 11024 68274); 11025 11026 function ImageFooterComponent_a_1_div_4_Template(rf, ctx) { 11027 if (rf & 1) { 11028 var _r6 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵgetCurrentView"](); 11029 11030 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 7); 11031 11032 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵlistener"]("click", function ImageFooterComponent_a_1_div_4_Template_div_click_0_listener() { 11033 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵrestoreView"](_r6); 11034 11035 var ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](2); 11036 11037 return ctx_r5.popupMessage.emit(); 11038 }); 11039 11040 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "span"); 11041 11042 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtext"](2); 11043 11044 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 11045 11046 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 11047 } 11048 11049 if (rf & 2) { 11050 var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](2); 11051 11052 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2); 11053 11054 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtextInterpolate1"]("+", ctx_r2.imageList.length - 3, ""); 11055 } 11056 } 11057 11058 function ImageFooterComponent_a_1_ng_template_5_Template(rf, ctx) { 11059 if (rf & 1) { 11060 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "a", 8); 11061 11062 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](1, "getDownloadURL"); 11063 11064 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](2, "img", 9); 11065 11066 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 11067 } 11068 11069 if (rf & 2) { 11070 var image_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"]().$implicit; 11071 11072 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("href", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](1, 1, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]); 11073 } 11074 } 11075 11076 function ImageFooterComponent_a_1_Template(rf, ctx) { 11077 if (rf & 1) { 11078 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "a", 2); 11079 11080 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](1, "img", 3); 11081 11082 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](2, "getDownloadURL"); 11083 11084 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](3, "div", 4); 11085 11086 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](4, ImageFooterComponent_a_1_div_4_Template, 3, 1, "div", 5); 11087 11088 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](5, ImageFooterComponent_a_1_ng_template_5_Template, 3, 3, "ng-template", null, 6, _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplateRefExtractor"]); 11089 11090 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 11091 11092 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 11093 } 11094 11095 if (rf & 2) { 11096 var image_r1 = ctx.$implicit; 11097 11098 var _r3 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵreference"](6); 11099 11100 var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵnextContext"](); 11101 11102 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1); 11103 11104 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](2, 3, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]); 11105 11106 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](3); 11107 11108 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngIf", ctx_r0.imageList.indexOf(image_r1) === 2 && ctx_r0.imageList.length > 3)("ngIfElse", _r3); 11109 } 11110 } 11111 11112 var _c0 = function _c0(a0) { 11113 return { 11114 background: a0 11115 }; 11116 }; 11117 11118 var _ImageFooterComponent = /*#__PURE__*/function () { 11119 function _ImageFooterComponent() { 11120 _classCallCheck(this, _ImageFooterComponent); 11121 11122 this.popupMessage = new _angular_core__WEBPACK_IMPORTED_MODULE_0__.EventEmitter(); 11123 } 11124 11125 _createClass(_ImageFooterComponent, [{ 11126 key: "ngOnInit", 11127 value: function ngOnInit() {} 11128 }]); 11129 11130 return _ImageFooterComponent; 11131 }(); 11132 11133 _ImageFooterComponent.ɵfac = function ImageFooterComponent_Factory(t) { 11134 return new (t || _ImageFooterComponent)(); 11135 }; 11136 11137 _ImageFooterComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 11138 type: _ImageFooterComponent, 11139 selectors: [["app-image-footer"]], 11140 inputs: { 11141 backColor: "backColor", 11142 imageList: "imageList" 11143 }, 11144 outputs: { 11145 popupMessage: "popupMessage" 11146 }, 11147 decls: 2, 11148 vars: 4, 11149 consts: [[1, "d-flex", "p-2", "msg-footer", 3, "ngStyle"], ["class", "col p-0 d-flex justify-content-center", 4, "ngFor", "ngForOf"], [1, "col", "p-0", "d-flex", "justify-content-center"], ["alt", "Virtrolio Message image", 1, "msg-footer-img", 3, "src"], [1, "msg-footer-img-overlay"], ["class", "d-flex justify-content-center align-items-center", "id", "extra-image-counter", 3, "click", 4, "ngIf", "ngIfElse"], ["externalLink", ""], ["id", "extra-image-counter", 1, "d-flex", "justify-content-center", "align-items-center", 3, "click"], ["target", "_blank", 1, "h-100", "w-100", "d-flex", "justify-content-center", "align-items-center", 3, "href"], ["src", "../../../../../assets/images/icons/external-link.svg", "alt", "Virtrolio Message image", 1, "external-link-icon"]], 11150 template: function ImageFooterComponent_Template(rf, ctx) { 11151 if (rf & 1) { 11152 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 0); 11153 11154 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](1, ImageFooterComponent_a_1_Template, 7, 5, "a", 1); 11155 11156 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 11157 } 11158 11159 if (rf & 2) { 11160 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpureFunction1"](2, _c0, ctx.backColor)); 11161 11162 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](1); 11163 11164 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngForOf", ctx.imageList.slice(0, 3)); 11165 } 11166 }, 11167 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_1__.NgStyle, _angular_common__WEBPACK_IMPORTED_MODULE_1__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_1__.NgIf], 11168 pipes: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.GetDownloadURLPipe], 11169 styles: [".msg-footer[_ngcontent-%COMP%] {\n height: 7em;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n width: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n background-color: rgba(0, 0, 0, 0.5);\n height: 100%;\n width: 100%;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n opacity: 0;\n transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n opacity: 100%;\n}\n\n.external-link-icon[_ngcontent-%COMP%] {\n height: 2em;\n}\n\n#extra-image-counter[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n cursor: pointer;\n}\n\n#extra-image-counter[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n font-size: 2em;\n color: white;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImltYWdlLWZvb3Rlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlCQUF5Qjs7QUFFekI7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsb
111690JBQWlCO0tBQWpCLGlCQUFpQjtFQUNqQiwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxvQ0FBb0M7RUFDcEMsWUFBWTtFQUNaLFdBQVc7RUFDWCxXQUFXO0VBQ1gsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDViwyQkFBMkI7QUFDN0I7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7QUFDakI7O0FBRUE7RUFDRSxjQUFjO0VBQ2QsWUFBWTtBQUNkIiwiZmlsZSI6ImltYWdlLWZvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogTWVzc2FnZSBpbWFnZSBmb290ZXIgKi9cblxuLm1zZy1mb290ZXIge1xuICBoZWlnaHQ6IDdlbTtcbn1cblxuLm1zZy1mb290ZXItaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiBhbGwgbGluZWFyIDAuMnM7XG59XG5cbi5tc2ctZm9vdGVyLWltZy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheTpob3ZlciB7XG4gIG9wYWNpdHk6IDEwMCU7XG59XG5cbi5leHRlcm5hbC1saW5rLWljb24ge1xuICBoZWlnaHQ6IDJlbTtcbn1cblxuI2V4dHJhLWltYWdlLWNvdW50ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiNleHRyYS1pbWFnZS1jb3VudGVyID4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogd2hpdGU7XG59XG4iXX0= */"] 11170 }); 11171 /***/ 11172 }, 11173 11174 /***/ 11175 2360: 11176 /*!**************************************************************!*\ 11177 !*** ./src/app/pages/viewing/messages/messages.component.ts ***! 11178 \**************************************************************/ 11179 11180 /***/ 11181 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 11182 "use strict"; 11183 11184 __webpack_require__.r(__webpack_exports__); 11185 /* harmony export */ 11186 11187 11188 __webpack_require__.d(__webpack_exports__, { 11189 /* harmony export */ 11190 "MessagesComponent": function MessagesComponent() { 11191 return ( 11192 /* binding */ 11193 _MessagesComponent 11194 ); 11195 } 11196 /* harmony export */ 11197 11198 }); 11199 /* harmony import */ 11200 11201 11202 var _message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 11203 /*! ../message-modal/message-modal.component */ 11204 1641); 11205 /* harmony import */ 11206 11207 11208 var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 11209 /*! @angular/core */ 11210 37716); 11211 /* harmony import */ 11212 11213 11214 var _core_viewing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 11215 /*! ../../../core/viewing.service */ 11216 91225); 11217 /* harmony import */ 11218 11219 11220 var _core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 11221 /*! ../../../core/auth.service */ 11222 87341); 11223 /* harmony import */ 11224 11225 11226 var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 11227 /*! @angular/router */ 11228 39895); 11229 /* harmony import */ 11230 11231 11232 var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 11233 /*! @angular/common */ 11234 38583); 11235 /* harmony import */ 11236 11237 11238 var ngx_toastr__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 11239 /*! ngx-toastr */ 11240 49344); 11241 /* harmony import */ 11242 11243 11244 var ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 11245 /*! ngx-bootstrap/modal */ 11246 63301); 11247 /* harmony import */ 11248 11249 11250 var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 11251 /*! ../../../core/msg-io.service */ 11252 84468); 11253 /* harmony import */ 11254 11255 11256 var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( 11257 /*! ngx-markdown */ 11258 76715); 11259 /* harmony import */ 11260 11261 11262 var _image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 11263 /*! ./image-footer/image-footer.component */ 11264 46438); 11265 /* harmony import */ 11266 11267 11268 var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 11269 /*! ../../../shared/components/inline-images/inline-images.component */ 11270 72321); 11271 11272 function MessagesComponent_div_0_Template(rf, ctx) { 11273 if (rf & 1) { 11274 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 2); 11275 11276 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](1, "div", 3); 11277 11278 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11279 } 11280 } 11281 11282 function MessagesComponent_ng_template_1_div_0_Template(rf, ctx) { 11283 if (rf & 1) { 11284 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 2); 11285 11286 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 16); 11287 11288 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](2, "img", 17); 11289 11290 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "h1", 18); 11291 11292 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](4, "No messages yet"); 11293 11294 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11295 11296 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "p", 19); 11297 11298 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](6, " Go to "); 11299 11300 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "a", 20); 11301 11302 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8, "your virtrolio"); 11303 11304 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11305 11306 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](9, " and generate a Sharing Link to send to your friends! "); 11307 11308 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11309 11310 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11311 11312 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11313 } 11314 } 11315 11316 function MessagesComponent_ng_template_1_ng_template_1_button_2_Template(rf, ctx) { 11317 if (rf & 1) { 11318 var _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"](); 11319 11320 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "button", 26); 11321 11322 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_button_2_Template_button_click_0_listener() { 11323 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r11); 11324 11325 var ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3); 11326 11327 return ctx_r10.toggleViewStyle(); 11328 }); 11329 11330 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](1, " Switch to Booklet "); 11331 11332 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11333 } 11334 } 11335 11336 function MessagesComponent_ng_template_1_ng_template_1_button_3_Template(rf, ctx) { 11337 if (rf & 1) { 11338 var _r13 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"](); 11339 11340 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "button", 26); 11341 11342 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_button_3_Template_button_click_0_listener() { 11343 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r13); 11344 11345 var ctx_r12 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3); 11346 11347 return ctx_r12.toggleViewStyle(); 11348 }); 11349 11350 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](1, " Switch to Cards "); 11351 11352 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11353 } 11354 } 11355 11356 function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template(rf, ctx) { 11357 if (rf & 1) { 11358 var _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"](); 11359 11360 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "app-image-footer", 47); 11361 11362 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("popupMessage", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template_app_image_footer_popupMessage_0_listener() { 11363 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r19); 11364 11365 var msg_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit; 11366 11367 var ctx_r17 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11368 11369 return ctx_r17.popupMessage(msg_r15); 11370 }); 11371 11372 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11373 } 11374 11375 if (rf & 2) { 11376 var msg_r15 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit; 11377 11378 var ctx_r16 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11379 11380 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("imageList", msg_r15.images)("backColor", ctx_r16.generateHeaderColor(msg_r15.backColor).bg); 11381 } 11382 } 11383 11384 var _c0 = function _c0(a0, a1) { 11385 return { 11386 background: a0, 11387 color: a1 11388 }; 11389 }; 11390 11391 var _c1 = function _c1() { 11392 return ["/viewing"]; 11393 }; 11394 11395 var _c2 = function _c2(a0) { 11396 return { 11397 messageId: a0, 11398 showBookmarkAlert: true 11399 }; 11400 }; 11401 11402 var _c3 = function _c3(a0, a1, a2) { 11403 return { 11404 background: a0, 11405 color: a1, 11406 "font-family": a2 11407 }; 11408 }; 11409 11410 function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template(rf, ctx) { 11411 if (rf & 1) { 11412 var _r22 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"](); 11413 11414 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 29); 11415 11416 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 30); 11417 11418 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 31); 11419 11420 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "table", 32); 11421 11422 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "tr"); 11423 11424 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "td"); 11425 11426 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "span", 33); 11427 11428 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](7, "img", 34); 11429 11430 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11431 11432 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11433 11434 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td"); 11435 11436 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "table"); 11437 11438 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "tr", 35); 11439 11440 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11); 11441 11442 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11443 11444 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "tr", 36); 11445 11446 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13); 11447 11448 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11449 11450 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11451 11452 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11453 11454 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11455 11456 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11457 11458 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11459 11460 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "div", 37); 11461 11462 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "table", 32); 11463 11464 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "tr"); 11465 11466 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "td"); 11467 11468 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "button", 38); 11469 11470 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_18_listener() { 11471 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); 11472 11473 var msg_r15 = restoredCtx.$implicit; 11474 11475 var ctx_r21 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11476 11477 return ctx_r21.popupMessage(msg_r15); 11478 }); 11479 11480 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](19, "img", 39); 11481 11482 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11483 11484 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](20, "a", 40); 11485 11486 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "button", 38); 11487 11488 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_21_listener() { 11489 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); 11490 11491 var msg_r15 = restoredCtx.$implicit; 11492 11493 var ctx_r23 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11494 11495 return ctx_r23.viewService.bookmarkMessage(msg_r15.id); 11496 }); 11497 11498 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](22, "img", 41); 11499 11500 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11501 11502 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11503 11504 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](23, "button", 42); 11505 11506 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_button_click_23_listener() { 11507 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); 11508 11509 var msg_r15 = restoredCtx.$implicit; 11510 11511 var ctx_r24 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11512 11513 return ctx_r24.viewService.setMessageToDelete(msg_r15.id); 11514 }); 11515 11516 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](24, "img", 43); 11517 11518 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11519 11520 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11521 11522 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11523 11524 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11525 11526 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11527 11528 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11529 11530 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](25, "div", 44); 11531 11532 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template_div_click_25_listener() { 11533 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r22); 11534 11535 var msg_r15 = restoredCtx.$implicit; 11536 11537 var ctx_r25 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11538 11539 return ctx_r25.popupMessage(msg_r15); 11540 }); 11541 11542 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](26, "markdown", 45); 11543 11544 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11545 11546 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](27, MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_app_image_footer_27_Template, 1, 2, "app-image-footer", 46); 11547 11548 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11549 } 11550 11551 if (rf & 2) { 11552 var msg_r15 = ctx.$implicit; 11553 11554 var ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11555 11556 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("id", msg_r15.id); 11557 11558 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11559 11560 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction2"](13, _c0, ctx_r14.generateHeaderColor(msg_r15.backColor).bg, ctx_r14.generateHeaderColor(msg_r15.backColor).text)); 11561 11562 _angular_core__WEBPACK_IMPOR
11562TED_MODULE_7__["ɵɵadvance"](6); 11563 11564 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", msg_r15.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 11565 11566 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4); 11567 11568 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", msg_r15.fromName, " "); 11569 11570 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 11571 11572 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx_r14.viewService.timeSince(ctx_r14.viewService.nowMillis, msg_r15.timestamp.toMillis(), msg_r15.timestamp.toDate().toDateString()), " "); 11573 11574 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6); 11575 11576 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).popup, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 11577 11578 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11579 11580 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction0"](16, _c1))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction1"](17, _c2, msg_r15.id)); 11581 11582 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 11583 11584 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).bookmark, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 11585 11586 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 11587 11588 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r14.generateHeaderColor(msg_r15.backColor).trash, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 11589 11590 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11591 11592 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](19, _c3, msg_r15.backColor, msg_r15.fontColor, ctx_r14.viewService.fonts[msg_r15.fontFamily].fontFamily + "," + ctx_r14.viewService.fonts[msg_r15.fontFamily].backupFont)); 11593 11594 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11595 11596 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx_r14.viewService.decodeHtml(msg_r15.contents)); 11597 11598 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11599 11600 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", msg_r15.images && msg_r15.images.length > 0); 11601 } 11602 } 11603 11604 function MessagesComponent_ng_template_1_ng_template_1_div_4_Template(rf, ctx) { 11605 if (rf & 1) { 11606 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 27); 11607 11608 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_ng_template_1_div_4_div_1_Template, 28, 23, "div", 28); 11609 11610 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11611 } 11612 11613 if (rf & 2) { 11614 var ctx_r8 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3); 11615 11616 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11617 11618 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngForOf", ctx_r8.messageList); 11619 } 11620 } 11621 11622 function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_app_inline_images_23_Template(rf, ctx) { 11623 if (rf & 1) { 11624 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](0, "app-inline-images", 64); 11625 } 11626 11627 if (rf & 2) { 11628 var msg_r27 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"]().$implicit; 11629 11630 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("images", msg_r27.images); 11631 } 11632 } 11633 11634 function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template(rf, ctx) { 11635 if (rf & 1) { 11636 var _r31 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"](); 11637 11638 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 60); 11639 11640 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 30); 11641 11642 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 31); 11643 11644 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "table", 32); 11645 11646 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "tr"); 11647 11648 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "td"); 11649 11650 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "span", 33); 11651 11652 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](7, "img", 34); 11653 11654 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11655 11656 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11657 11658 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td"); 11659 11660 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "table"); 11661 11662 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "tr", 35); 11663 11664 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11); 11665 11666 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11667 11668 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "tr", 36); 11669 11670 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13); 11671 11672 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11673 11674 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11675 11676 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11677 11678 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11679 11680 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11681 11682 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11683 11684 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "div", 61); 11685 11686 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "table", 32); 11687 11688 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "tr"); 11689 11690 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "td"); 11691 11692 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "a", 40); 11693 11694 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](19, "button", 38); 11695 11696 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template_button_click_19_listener() { 11697 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r31); 11698 11699 var msg_r27 = restoredCtx.$implicit; 11700 11701 var ctx_r30 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11702 11703 return ctx_r30.viewService.bookmarkMessage(msg_r27.id); 11704 }); 11705 11706 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](20, "img", 41); 11707 11708 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11709 11710 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11711 11712 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11713 11714 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11715 11716 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11717 11718 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11719 11720 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11721 11722 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "div", 62); 11723 11724 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](22, "markdown", 45); 11725 11726 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](23, MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_app_inline_images_23_Template, 1, 1, "app-inline-images", 63); 11727 11728 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11729 11730 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11731 } 11732 11733 if (rf & 2) { 11734 var msg_r27 = ctx.$implicit; 11735 11736 var ctx_r26 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](4); 11737 11738 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11739 11740 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction2"](10, _c0, ctx_r26.generateHeaderColor(msg_r27.backColor).bg, ctx_r26.generateHeaderColor(msg_r27.backColor).text)); 11741 11742 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](6); 11743 11744 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", msg_r27.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 11745 11746 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4); 11747 11748 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", msg_r27.fromName, " "); 11749 11750 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 11751 11752 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx_r26.viewService.timeSince(ctx_r26.viewService.n
11752owMillis, msg_r27.timestamp.toMillis(), msg_r27.timestamp.toDate().toDateString()), " "); 11753 11754 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](5); 11755 11756 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("routerLink", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction0"](13, _c1))("queryParams", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction1"](14, _c2, msg_r27.id)); 11757 11758 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 11759 11760 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx_r26.generateHeaderColor(msg_r27.backColor).bookmark, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 11761 11762 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11763 11764 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](16, _c3, msg_r27.backColor, msg_r27.fontColor, ctx_r26.viewService.fonts[msg_r27.fontFamily].fontFamily + "," + ctx_r26.viewService.fonts[msg_r27.fontFamily].backupFont)); 11765 11766 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11767 11768 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx_r26.viewService.decodeHtml(msg_r27.contents)); 11769 11770 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11771 11772 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", msg_r27.images); 11773 } 11774 } 11775 11776 function MessagesComponent_ng_template_1_ng_template_1_div_5_Template(rf, ctx) { 11777 if (rf & 1) { 11778 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 48); 11779 11780 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 49); 11781 11782 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 50); 11783 11784 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "div", 51); 11785 11786 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "div", 52); 11787 11788 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 31); 11789 11790 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "table", 32); 11791 11792 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "tr"); 11793 11794 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](8, "td"); 11795 11796 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "span", 33); 11797 11798 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](10, "img", 53); 11799 11800 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11801 11802 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11803 11804 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](11, "td"); 11805 11806 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "table"); 11807 11808 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](13, "tr", 35); 11809 11810 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](14, " Virtrolio Team "); 11811 11812 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11813 11814 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](15, "tr", 36); 11815 11816 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](16); 11817 11818 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11819 11820 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11821 11822 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11823 11824 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11825 11826 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11827 11828 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11829 11830 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11831 11832 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "div", 54); 11833 11834 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](18, "div", 55); 11835 11836 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](19, " Welcome to your virtrolio! Click on the buttons below to navigate through your messages. "); 11837 11838 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11839 11840 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11841 11842 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11843 11844 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](20, MessagesComponent_ng_template_1_ng_template_1_div_5_div_20_Template, 24, 20, "div", 56); 11845 11846 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11847 11848 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11849 11850 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](21, "div", 57); 11851 11852 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](22, "a", 58); 11853 11854 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](23, "Prev"); 11855 11856 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11857 11858 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](24, "a", 59); 11859 11860 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](25, "Next"); 11861 11862 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11863 11864 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11865 11866 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11867 } 11868 11869 if (rf & 2) { 11870 var ctx_r9 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](3); 11871 11872 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](16); 11873 11874 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate2"](" You have ", ctx_r9.messageList.length, " ", ctx_r9.oneMessage, " "); 11875 11876 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4); 11877 11878 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngForOf", ctx_r9.messageList); 11879 } 11880 } 11881 11882 function MessagesComponent_ng_template_1_ng_template_1_Template(rf, ctx) { 11883 if (rf & 1) { 11884 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 21); 11885 11886 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 22); 11887 11888 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](2, MessagesComponent_ng_template_1_ng_template_1_button_2_Template, 2, 0, "button", 23); 11889 11890 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](3, MessagesComponent_ng_template_1_ng_template_1_button_3_Template, 2, 0, "button", 23); 11891 11892 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11893 11894 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11895 11896 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](4, MessagesComponent_ng_template_1_ng_template_1_div_4_Template, 2, 1, "div", 24); 11897 11898 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](5, MessagesComponent_ng_template_1_ng_template_1_div_5_Template, 26, 3, "div", 25); 11899 } 11900 11901 if (rf & 2) { 11902 var ctx_r5 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](2); 11903 11904 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 11905 11906 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", !ctx_r5.viewService.isCarouselView); 11907 11908 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11909 11910 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView); 11911 11912 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11913 11914 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView === false); 11915 11916 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 11917 11918 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r5.viewService.isCarouselView == true); 11919 } 11920 } 11921 11922 function MessagesComponent_ng_template_1_Template(rf, ctx) { 11923 if (rf & 1) { 11924 var _r33 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵgetCurrentView"](); 11925 11926 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](0, MessagesComponent_ng_template_1_div_0_Template, 10, 0, "div", 0); 11927 11928 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_ng_template_1_Template, 6, 4, "ng-template", null, 4, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplateRefExtractor"]); 11929 11930 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "div", 5); 11931 11932 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](4, "div", 6); 11933 11934 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 7); 11935 11936 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "div", 8); 11937 11938 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "h5", 9); 11939 11940 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8, "Easy now!"); 11941 11942 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11943 11944 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "button", 10); 11945 11946 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](10, "span", 11); 11947 11948 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](11, "\xD7"); 11949 11950 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11951 11952 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11953 11954 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11955 11956 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "div", 12); 11957 11958 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](13, " Looks like you're trying to delete a message! Please be sure that this is what you want to do. "); 11959 11960 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](14, "b"); 11961 11962 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](15, "It is not possible to re
11962cover a deleted message."); 11963 11964 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11965 11966 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11967 11968 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](16, "div", 13); 11969 11970 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](17, "button", 14); 11971 11972 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵlistener"]("click", function MessagesComponent_ng_template_1_Template_button_click_17_listener() { 11973 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵrestoreView"](_r33); 11974 11975 var ctx_r32 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](); 11976 11977 return ctx_r32.viewService.deleteMessage(); 11978 }); 11979 11980 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](18, " Delete Message "); 11981 11982 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11983 11984 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](19, "button", 15); 11985 11986 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](20, " Cancel "); 11987 11988 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11989 11990 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11991 11992 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11993 11994 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11995 11996 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 11997 } 11998 11999 if (rf & 2) { 12000 var _r4 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵreference"](2); 12001 12002 var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](); 12003 12004 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx_r2.messageList.length === 0)("ngIfElse", _r4); 12005 } 12006 } 12007 12008 var _MessagesComponent = /*#__PURE__*/function () { 12009 function _MessagesComponent(viewService, authService, route, router, vps, toastr, modalService, msgIoService) { 12010 _classCallCheck(this, _MessagesComponent); 12011 12012 this.viewService = viewService; 12013 this.authService = authService; 12014 this.route = route; 12015 this.router = router; 12016 this.vps = vps; 12017 this.toastr = toastr; 12018 this.modalService = modalService; 12019 this.msgIoService = msgIoService; 12020 this.isLoading = true; 12021 this.messageList = []; 12022 this.oneMessage = 'messages'; 12023 } 12024 /** 12025 * Assign messages passed via the [setMessageList] binding 12026 * @param messages list of verified VirtrolioMessages 12027 */ 12028 12029 12030 _createClass(_MessagesComponent, [{ 12031 key: "setMessageList", 12032 set: function set(messages) { 12033 if (messages) { 12034 this.messageList = messages; // Set 'You have x message(s)' text based on number of messages 12035 12036 this.messageList.length === 1 ? this.oneMessage = 'message' : this.oneMessage = 'messages'; 12037 } 12038 } 12039 }, { 12040 key: "setIsLoading", 12041 set: function set(isLoading) { 12042 this.isLoading = isLoading; 12043 } 12044 }, { 12045 key: "ngOnInit", 12046 value: function ngOnInit() {} 12047 /** 12048 * Generate the lightness value of HSL from RBG 12049 */ 12050 12051 }, { 12052 key: "getLightness", 12053 value: function getLightness(r, g, b) { 12054 r /= 255; 12055 g /= 255; 12056 b /= 255; 12057 var max = Math.max(r, g, b); 12058 var min = Math.min(r, g, b); 12059 return (max + min) / 2; 12060 } 12061 }, { 12062 key: "ngOnDestroy", 12063 value: function ngOnDestroy() { 12064 $('#delete').modal('hide'); 12065 } 12066 /** 12067 * Generate a darkened version of backColor, returning this new header color and the appropriate header text color 12068 * @param backColor: background color of the message 12069 */ 12070 12071 }, { 12072 key: "generateHeaderColor", 12073 value: function generateHeaderColor(backColor) { 12074 var bgR = parseInt(backColor.slice(1, 3), 16); 12075 var bgG = parseInt(backColor.slice(3, 5), 16); 12076 var bgB = parseInt(backColor.slice(5), 16); 12077 var headerTextColor; 12078 var trashIcon; 12079 var bookmarkIcon; 12080 var popupIcon; 12081 12082 if (this.getLightness(bgR, bgG, bgB) > 0.65) { 12083 headerTextColor = '#000000'; 12084 trashIcon = '../../../../assets/images/icons/trash-black.svg'; 12085 bookmarkIcon = '../../../../assets/images/icons/bookmark-black.svg'; 12086 popupIcon = '../../../../assets/images/icons/maximize-black.svg'; 12087 } else { 12088 headerTextColor = '#FFFFFF'; 12089 trashIcon = '../../../../assets/images/icons/trash-white.svg'; 12090 bookmarkIcon = '../../../../assets/images/icons/bookmark-white.svg'; 12091 popupIcon = '../../../../assets/images/icons/maximize-white.svg'; 12092 } 12093 12094 var hR = bgR + 20 > 255 ? 255 : bgR + 20; 12095 var hG = bgG + 20 > 255 ? 255 : bgG + 20; 12096 var hB = bgB + 20 > 255 ? 255 : bgB + 20; 12097 var headerColor = hR.toString(16) + hG.toString(16) + hB.toString(16); 12098 return { 12099 bg: '#' + headerColor, 12100 text: headerTextColor, 12101 trash: trashIcon, 12102 bookmark: bookmarkIcon,
12103 popup: popupIcon 12104 }; 12105 } 12106 /** 12107 * Activate an NgbModal to display the selected message 12108 * @param msg VirtrolioMessage object 12109 */ 12110 12111 }, { 12112 key: "popupMessage", 12113 value: function popupMessage(msg) { 12114 this.viewService.currentMessageModal = msg; 12115 this.modalService.show(_message_modal_message_modal_component__WEBPACK_IMPORTED_MODULE_0__.MessageModalComponent, { 12116 "class": 'modal-dialog-centered' 12117 }); 12118 } 12119 /** 12120 * Swap between message viewing styles 12121 */ 12122 12123 }, { 12124 key: "toggleViewStyle", 12125 value: function toggleViewStyle() { 12126 this.viewService.isCarouselView = this.viewService.isCarouselView === false; 12127 } 12128 }]); 12129 12130 return _MessagesComponent; 12131 }(); 12132 12133 _MessagesComponent.ɵfac = function MessagesComponent_Factory(t) { 12134 return new (t || _MessagesComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_1__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_9__.ViewportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_10__.ToastrService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_bootstrap_modal__WEBPACK_IMPORTED_MODULE_3__.BsModalService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_4__.MsgIoService)); 12135 }; 12136 12137 _MessagesComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineComponent"]({ 12138 type: _MessagesComponent, 12139 selectors: [["app-messages"]], 12140 inputs: { 12141 setMessageList: "setMessageList", 12142 setIsLoading: "setIsLoading" 12143 }, 12144 decls: 3, 12145 vars: 2, 12146 consts: [["class", "centered-container d-flex justify-content-center", 4, "ngIf", "ngIfElse"], ["messages", ""], [1, "centered-container", "d-flex", "justify-content-center"], ["role", "status", 1, "spinner-border"], ["showMessages", ""], ["aria-hidden", "true", "aria-labelledby", "delete-message-modal-title", "id", "delete", "role", "dialog", "tabindex", "-1", 1, "modal", "fade"], ["role", "document", 1, "modal-dialog", "modal-dialog-centered"], [1, "modal-content"], [1, "modal-header"], ["id", "delete-message-modal-title", 1, "modal-title"], ["aria-label", "Close", "data-dismiss", "modal", "type", "button", 1, "close"], ["aria-hidden", "true"], ["id", "delete-message-body", 1, "modal-body"], [1, "modal-footer"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-danger", 3, "click"], ["data-dismiss", "modal", "type", "button", 1, "btn", "btn-secondary"], [1, "empty-state-container", "px-5"], ["alt", "No messages", "src", "../../../assets/images/EmptyMessages.svg", 1, "empty-state-img"], [1, "empty-state-header", "pt-2"], [1, "empty-state-body", "pt-2"], ["routerLink", "/my-virtrolio", "routerLinkActive", "navbar-nav-active"], [1, "row", "my-3"], [1, "col-12"], ["class", "btn-sm btn-primary shadow", 3, "click", 4, "ngIf"], ["class", "card-columns mt-3", 4, "ngIf"], ["class", "viewing-container mb-5", 4, "ngIf"], [1, "btn-sm", "btn-primary", "shadow", 3, "click"], [1, "card-columns", "mt-3"], ["class", "card shadow", 3, "id", 4, "ngFor", "ngForOf"], [1, "card", "shadow", 3, "id"], [1, "msg-header", 3, "ngStyle"], [1, "msg-header-group", "pt-1"], [1, "header-table"], [1, "profile-pic-container-small", "mr-2"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card-header-group"], ["type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "popup", 1, "card-icon", 3, "src"], ["target", "_blank", 3, "routerLink", "queryParams"], ["alt", "bookmark", 1, "card-icon", 3, "src"], ["data-target", "#delete", "data-toggle", "modal", "type", "button", 1, "btn", "card-button", 3, "click"], ["alt", "delete", 1, "card-icon", 3, "src"], [1, "card-body", "message-card", "message", 3, "ngStyle", "click"], ["emoji", "", 3, "data"], [3, "imageList", "backColor", "popupMessage", 4, "ngIf"], [3, "imageList", "backColor", "popupMessage"], [1, "viewing-container", "mb-5"], ["data-interval", "false", "data-ride", "carousel", "id", "carousel", 1, "carousel", "slide", "border", "rounded"], [1, "carousel-inner"], [1, "carousel-item", "active"], [1, "msg-header"], ["alt", "profile-pic", "src", "../../../../assets/images/logo_reg.png", 1, "profile-pic"], [1, "page", "title-page", "vertical-center"], [1, "title-text"], ["class", "carousel-item", 4, "ngFor", "ngForOf"], [1, "carousel-control
12146s", "shadow"], ["data-slide", "prev", "href", "#carousel", "role", "button", 1, "carousel-controls-button"], ["data-slide", "next", "href", "#carousel", "role", "button", 1, "carousel-controls-button"], [1, "carousel-item"], [1, "card-header-group", "vertical-center"], [1, "card-body", "page", "message", 3, "ngStyle"], [3, "images", 4, "ngIf"], [3, "images"]], 12147 template: function MessagesComponent_Template(rf, ctx) { 12148 if (rf & 1) { 12149 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](0, MessagesComponent_div_0_Template, 2, 0, "div", 0); 12150 12151 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](1, MessagesComponent_ng_template_1_Template, 21, 2, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplateRefExtractor"]); 12152 } 12153 12154 if (rf & 2) { 12155 var _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵreference"](2); 12156 12157 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx.isLoading)("ngIfElse", _r1); 12158 } 12159 }, 12160 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _angular_router__WEBPACK_IMPORTED_MODULE_8__.RouterLinkWithHref, _angular_router__WEBPACK_IMPORTED_MODULE_8__.RouterLinkActive, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgForOf, _angular_common__WEBPACK_IMPORTED_MODULE_9__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _image_footer_image_footer_component__WEBPACK_IMPORTED_MODULE_5__.ImageFooterComponent, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__.InlineImagesComponent], 12161 styles: [".title-page[_ngcontent-%COMP%] {\n text-align: center;\n font-size: 1em;\n font-family: Montserrat, sans-serif;\n}\n\n.empty-state-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n text-align: center;\n}\n\n.empty-state-img[_ngcontent-%COMP%] {\n width: 10em;\n}\n\n.empty-state-header[_ngcontent-%COMP%] {\n font-size: 1.5em;\n color: var(--light-grey);\n}\n\n.empty-state-body[_ngcontent-%COMP%] {\n font-size: 1em;\n color: var(--light-grey);\n}\n\n.message[_ngcontent-%COMP%] {\n text-align: justify;\n font-size: 1em;\n}\n\n\n\n.card[_ngcontent-%COMP%] {\n display: inline-block;\n}\n\n.message-card[_ngcontent-%COMP%] {\n position: relative;\n background-color: var(--light-grey);\n width: 100%;\n word-break: break-word;\n max-height: 30em;\n overflow: hidden;\n cursor: pointer;\n}\n\n.table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n overflow-wrap: break-word;\n}\n\n\n\n.page[_ngcontent-%COMP%] {\n background-color: var(--accent);\n box-shadow: 0 0.15em 0.25em 0.05em rgba(0, 0, 0, 0.175);\n color: white;\n height: 70vh;\n padding: 1.5em;\n overflow-y: auto;\n}\n\n.carousel-controls[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n padding: 1em 2em;\n}\n\n.carousel-controls-button[_ngcontent-%COMP%] {\n color: var(--accent);\n font-weight: bold;\n}\n\n.carousel-controls-button[_ngcontent-%COMP%]:hover {\n text-decoration: none;\n}\n\n\n\n.msg-header[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n line-height: 1em;\n height: 3.5em;\n padding: 0.5em 0.5em 0.5em 1em;\n}\n\n.msg-header-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n\n.msg-header-text[_ngcontent-%COMP%] {\n font-weight: bold;\n font-size: 0.9em;\n margin: 0.2em 0 0 0.5em;\n max-width: 10em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.msg-header-date[_ngcontent-%COMP%] {\n font-size: 0.7em;\n margin: 0 0 0 0.5em;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n background: #ffffff;\n height: 1.7em;\n width: 1.7em;\n border-radius: 100%;\n display: flex;\n}\n\n\n\n.btn[_ngcontent-%COMP%]:focus, .btn[_ngcontent-%COMP%]:active {\n outline: none !important;\n box-shadow: none !important;\n}\n\n.card-button[_ngcontent-%COMP%] {\n display: flex;\n float: right;\n margin-top: 0;\n align-self: flex-end;\n}\n\n.card-icon[_ngcontent-%COMP%] {\n width: 1.2em;\n height: 1.2em;\n border-radius: 0.15em;\n padding: 0.1em;\n}\n\n.btn[_ngcontent-%COMP%] {\n padding: 0 0.5em;\n}\n\n@media (min-width: 0px) {\n .card-columns[_ngcontent-%COMP%] {\n -moz-column-count: 1;\n column-count: 1;\n }\n\n .card-columns[_ngcontent-%COMP%] .card[_ngcontent-%COMP%] {\n width: 100%;\n }\n}\n\n@media (min-width: 576px) {\n .card-columns[_ngcontent-%COMP%] {\n -moz-column-count: 1;\n column-count: 1;\n }\n}\n\n@media (min-width: 768px) {\n .card-columns[_ngcontent-%COMP%] {\n -moz-column-count: 2;\n column-count: 2;\n }\n}\n\n@media (min-width: 992px) {\n .card-columns[_ngcontent-%COMP%] {\n -moz-column-count: 3;\n column-count: 3;\n }\n}\n\n@media (min-width: 1200px) {\n .card-columns[_ngcontent-%COMP%] {\n -moz-column-count: 3;\n column-count: 3;\n }\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 0.2em;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n opacity: 0;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--scrollbar-thumb);\n opacity: 0.1;\n border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1lc3NhZ2VzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLG1DQUFtQztBQUNyQzs7QUFFQTtFQUNFLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0UsY0FBYztFQUNkLHdCQUF3QjtB
12161QUMxQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixjQUFjO0FBQ2hCOztBQUVBLGlCQUFpQjs7QUFDakI7RUFDRSxxQkFBcUI7QUFDdkI7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsbUNBQW1DO0VBQ25DLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBO0VBQ0UseUJBQXlCO0FBQzNCOztBQUVBLDBCQUEwQjs7QUFDMUI7RUFDRSwrQkFBK0I7RUFDL0IsdURBQXVEO0VBQ3ZELFlBQVk7RUFDWixZQUFZO0VBQ1osY0FBYztFQUNkLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGFBQWE7RUFDYiw4QkFBOEI7RUFDOUIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0Usb0JBQW9CO0VBQ3BCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHFCQUFxQjtBQUN2Qjs7QUFFQSxtQkFBbUI7O0FBQ25CO0VBQ0UsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiw4QkFBOEI7RUFDOUIsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYiw4QkFBOEI7QUFDaEM7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLG1CQUFtQjtBQUNyQjs7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixhQUFhO0FBQ2Y7O0FBRUEsa0ZBQWtGOztBQUNsRjs7RUFFRSx3QkFBd0I7RUFDeEIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtFQUNiLFlBQVk7RUFDWixhQUFhO0VBQ2Isb0JBQW9CO0FBQ3RCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixxQkFBcUI7RUFDckIsY0FBYztBQUNoQjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFO0lBQ0Usb0JBQWU7U0FBZixlQUFlO0VBQ2pCOztFQUVBO0lBQ0UsV0FBVztFQUNiO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLG9CQUFlO1NBQWYsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxvQkFBZTtTQUFmLGVBQWU7RUFDakI7QUFDRjs7QUFFQTtFQUNFO0lBQ0Usb0JBQWU7U0FBZixlQUFlO0VBQ2pCO0FBQ0Y7O0FBRUE7RUFDRTtJQUNFLG9CQUFlO1NBQWYsZUFBZTtFQUNqQjtBQUNGOztBQUVBLFVBQVU7O0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7O0FBRUEsVUFBVTs7QUFDVjtFQUNFLFVBQVU7QUFDWjs7QUFFQSxXQUFXOztBQUNYO0VBQ0Usa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixrQkFBa0I7QUFDcEIiLCJmaWxlIjoibWVzc2FnZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aXRsZS1wYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQsIHNhbnMtc2VyaWY7XG59XG5cbi5lbXB0eS1zdGF0ZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZW1wdHktc3RhdGUtaW1nIHtcbiAgd2lkdGg6IDEwZW07XG59XG5cbi5lbXB0eS1zdGF0ZS1oZWFkZXIge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG59XG5cbi5lbXB0eS1zdGF0ZS1ib2R5IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbn1cblxuLm1lc3NhZ2Uge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogTWVzc2FnZSBDYXJkICovXG4uY2FyZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lc3NhZ2UtY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXgtaGVpZ2h0OiAzMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50YWJsZSB0ZCB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIE1lc3NhZ2UgQ2Fyb3VzZWwgUGFnZSAqL1xuLnBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBib3gtc2hhZG93OiAwIDAuMTVlbSAwLjI1ZW0gMC4wNWVtIHJnYmEoMCwgMCwgMCwgMC4xNzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogNzB2aDtcbiAgcGFkZGluZzogMS41ZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5jYXJvdXNlbC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMWVtIDJlbTtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2xzLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNhcm91c2VsLWNvbnRyb2xzLWJ1dHRvbjpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogTWVzc2FnZSBIZWFkZXIgKi9cbi5tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBoZWlnaHQ6IDMuNWVtO1xuICBwYWRkaW5nOiAwLjVlbSAwLjVlbSAwLjVlbSAxZW07XG59XG5cbi5tc2ctaGVhZGVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBtYXJnaW46IDAuMmVtIDAgMCAwLjVlbTtcbiAgbWF4LXdpZHRoOiAxMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1zZy1oZWFkZXItZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC43ZW07XG4gIG1hcmdpbjogMCAwIDAgMC41ZW07XG59XG5cbi5wcm9maWxlLXBpYy1jb250YWluZXItc21hbGwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBoZWlnaHQ6IDEuN2VtO1xuICB3aWR0aDogMS43ZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qIFJlbW92ZSB0aGUgYmx1ZSBvdXRsaW5lIGFyb3VuZCB0aGUgYnV0dG9ucyBvbiB0aGUgaGVhZGVyIHdoZW4gdGhleSdyZSBjbGlja2VkICovXG4uYnRuOmZvY3VzLFxuLmJ0bjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLmNhcmQtaWNvbiB7XG4gIHdpZHRoOiAxLjJlbTtcbiAgaGVpZ2h0OiAxLjJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNWVtO1xuICBwYWRkaW5nOiAwLjFlbTtcbn1cblxuLmJ0biB7XG4gIHBhZGRpbmc6IDAgMC41ZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAwcHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICB9XG5cbiAgLmNhcmQtY29sdW1ucyAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jYXJkLWNvbHVtbnMge1xuICAgIGNvbHVtbi1jb3VudDogMTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhcmQtY29sdW1ucyB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY2FyZC1jb2x1bW5zIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbn1cblxuLyogd2lkdGggKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iKTtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG4iXX0= */"] 12162 }); 12163 /***/ 12164 }, 12165 12166 /***/ 12167 39161: 12168 /*!**************************************************************************!*\ 12169 !*** ./src/app/pages/viewing/responses-list/responses-list.component.ts ***! 12170 \**************************************************************************/ 12171 12172 /***/ 12173 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12174 "use strict"; 12175 12176 __webpack_require__.r(__webpack_exports__); 12177 /* harmony export */ 12178 12179 12180 __webpack_require__.d(__webpack_exports__, { 12181 /* harmony export */ 12182 "ResponsesListComponent": function ResponsesListComponent() { 12183 return ( 12184 /* binding */ 12185 _ResponsesListComponent 12186 ); 12187 } 12188 /* harmony export */ 12189 12190 }); 12191 /* harmony import */ 12192 12193 12194 var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 12195 /*! ../../../core/common.service */ 12196 80150); 12197 /* harmony import */ 12198 12199 12200 var _angular_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 12201 /*! @angular/core */ 12202 37716); 12203 /* harmony import */ 12204 12205 12206 var _core_viewing_service__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 12207 /*! ../../../core/viewing.service */ 12208 91225); 12209 /* harmony import */ 12210 12211 12212 var _angular_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 12213 /*! @angular/common */ 12214 38583); 12215 /* harmony import */ 12216 12217 12218 var _core_auth_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 12219 /*! ../../../core/auth.service */ 12220 87341); 12221 /* harmony import */ 12222 12223 12224 var ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 12225 /*! ngx-cookie-service */ 12226 31584); 12227 12228 function ResponsesListComponent_div_2_img_1_Template(rf, ctx) { 12229 if (rf & 1) { 12230 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 14); 12231 } 12232 } 12233 12234 function ResponsesListComponent_div_2_img_2_Template(rf, ctx) { 12235 if (rf & 1) { 12236 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 15); 12237 } 12238 } 12239 12240 function ResponsesListComponent_div_2_Template(rf, ctx) { 12241 if (rf & 1) { 12242 var _r7 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 12243 12244 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 11); 12245 12246 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_2_Template_div_click_0_listener() { 12247 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r7); 12248 12249 var ctx_r6 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12250 12251 return ctx_r6.navToggle(); 12252 }); 12253 12254 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ResponsesListComponent_div_2_img_1_Template, 1, 0, "img", 12); 12255 12256 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_2_img_2_Template, 1, 0, "img", 13); 12257 12258 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12259 } 12260 12261 if (rf & 2) { 12262 var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12263 12264 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("flashy-hamburger", ctx_r0.showNewToViewing); 12265 12266 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12267 12268 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r0.navIsOpen); 12269 12270 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12271 12272 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r0.navIsOpen); 12273 } 12274 } 12275 12276 function ResponsesListComponent_div_8_Template(rf, ctx) { 12277 if (rf & 1) { 12278 var _r11 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 12279 12280 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 16); 12281 12282 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_8_Template_div_click_0_listener() { 12283 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r11); 12284 12285 var msg_r8 = restoredCtx.$implicit; 12286 12287 var ctx_r10 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12288 12289 return ctx_r10.showMessage(msg_r8.id); 12290 }); 12291 12292 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "table", 17); 12293 12294 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "tr"); 12295 12296 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "td", 18); 12297 12298 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 19); 12299 12300 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 20); 12301 12302 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12303 12304 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12305 12306 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "td", 21); 12307 12308 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "table"); 12309 12310 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "tr", 22); 12311 12312 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "td"); 12313 12314 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "a", 23); 12315 12316 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11); 12317 12318 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12319 12320 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12321 12322 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12323 12324 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "tr", 24); 12325 12326 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13); 12327 12328 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12329 12330 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12331 12332 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12333 12334 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12335 12336 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12337 12338 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12339 } 12340 12341 if (rf & 2) { 12342 var msg_r8 = ctx.$implicit; 12343 var i_r9 = ctx.index; 12344 12345 var ctx_r1 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12346 12347 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("data-sli
12347de-to", i_r9 + 1); 12348 12349 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5); 12350 12351 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", msg_r8.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]); 12352 12353 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); 12354 12355 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](msg_r8.fromName); 12356 12357 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2); 12358 12359 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r1.viewService.timeSince(ctx_r1.viewService.nowMillis, msg_r8.timestamp.toMillis(), msg_r8.timestamp.toDate().toDateString()), " "); 12360 } 12361 } 12362 12363 function ResponsesListComponent_div_11_img_1_Template(rf, ctx) { 12364 if (rf & 1) { 12365 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 14); 12366 } 12367 } 12368 12369 function ResponsesListComponent_div_11_img_2_Template(rf, ctx) { 12370 if (rf & 1) { 12371 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](0, "img", 15); 12372 } 12373 } 12374 12375 function ResponsesListComponent_div_11_Template(rf, ctx) { 12376 if (rf & 1) { 12377 var _r15 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 12378 12379 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 25); 12380 12381 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_11_Template_div_click_0_listener() { 12382 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r15); 12383 12384 var ctx_r14 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12385 12386 return ctx_r14.navToggle(); 12387 }); 12388 12389 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](1, ResponsesListComponent_div_11_img_1_Template, 1, 0, "img", 12); 12390 12391 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_11_img_2_Template, 1, 0, "img", 13); 12392 12393 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12394 } 12395 12396 if (rf & 2) { 12397 var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12398 12399 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("flashy-hamburger-mobile", ctx_r2.showNewToViewing); 12400 12401 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12402 12403 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", !ctx_r2.navIsOpen); 12404 12405 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12406 12407 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx_r2.navIsOpen); 12408 } 12409 } 12410 12411 function ResponsesListComponent_div_17_Template(rf, ctx) { 12412 if (rf & 1) { 12413 var _r19 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵgetCurrentView"](); 12414 12415 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 16); 12416 12417 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_div_17_Template_div_click_0_listener() { 12418 var restoredCtx = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵrestoreView"](_r19); 12419 12420 var msg_r16 = restoredCtx.$implicit; 12421 12422 var ctx_r18 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12423 12424 return ctx_r18.showMessage(msg_r16.id); 12425 }); 12426 12427 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "table", 17); 12428 12429 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](2, "tr"); 12430 12431 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "td", 18); 12432 12433 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "div", 19); 12434 12435 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelement"](5, "img", 20); 12436 12437 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12438 12439 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12440 12441 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "td", 21); 12442 12443 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](7, "table"); 12444 12445 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](8, "tr", 22); 12446 12447 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "td"); 12448 12449 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "a", 23); 12450 12451 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](11); 12452 12453 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12454 12455 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12456 12457 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12458 12459 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "tr", 24); 12460 12461 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](13); 12462 12463 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12464 12465 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12466 12467 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12468 12469 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12470 12471 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12472 12473 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12474 } 12475 12476 if (rf & 2) { 12477 var msg_r16 = ctx.$implicit; 12478 var i_r17 = ctx.index; 12479 12480 var ctx_r3 = _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵnextContext"](); 12481 12482 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵattribute"]("data-sli
12482de-to", i_r17 + 1); 12483 12484 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](5); 12485 12486 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵpropertyInterpolate"]("src", msg_r16.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵsanitizeUrl"]); 12487 12488 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); 12489 12490 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate"](msg_r16.fromName); 12491 12492 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2); 12493 12494 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtextInterpolate1"](" ", ctx_r3.viewService.timeSince(ctx_r3.viewService.nowMillis, msg_r16.timestamp.toMillis(), msg_r16.timestamp.toDate().toDateString()), " "); 12495 } 12496 } 12497 12498 var _ResponsesListComponent = /*#__PURE__*/function () { 12499 function _ResponsesListComponent(viewService, vps, authService, cookieService) { 12500 var _this21 = this; 12501 12502 _classCallCheck(this, _ResponsesListComponent); 12503 12504 this.viewService = viewService; 12505 this.vps = vps; 12506 this.authService = authService; 12507 this.cookieService = cookieService; 12508 this.navIsOpen = false; 12509 this.messageList = []; 12510 this.showNewToViewing = true; 12511 12512 try { 12513 this.uid = this.authService.uid(); 12514 } catch (e) { 12515 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); 12516 } 12517 12518 try { 12519 this.authService.displayName(this.uid).then(function (displayName) { 12520 _this21.displayName = displayName; 12521 }); 12522 } catch (e) { 12523 this.displayName = 'User'; 12524 } 12525 12526 try { 12527 this.authService.profilePictureLink(this.uid).then(function (photoUrl) { 12528 _this21.photoUrl = photoUrl; 12529 }); 12530 } catch (e) { 12531 // Use the logo as a fallback profile picture 12532 this.photoUrl = '../../../../assets/images/logo_reg.png'; 12533 } 12534 } 12535 /** 12536 * Assign messages passed via the [setMessageList] binding 12537 * @param messages list of verified VirtrolioMessages 12538 */ 12539 12540 12541 _createClass(_ResponsesListComponent, [{ 12542 key: "setMessageList", 12543 set: function set(messages) { 12544 if (messages) { 12545 this.messageList = messages; 12546 } 12547 } 12548 }, { 12549 key: "ngOnInit", 12550 value: function ngOnInit() { 12551 if (this.cookieService.check('viewing-cookie') === false) { 12552 this.cookieService.set('viewing-cookie', 'true', 365); 12553 } 12554 12555 this.showNewToViewingValue = this.cookieService.get('viewing-cookie'); 12556 12557 if (this.showNewToViewingValue === 'true') { 12558 this.showNewToViewing = true; 12559 } else if (this.showNewToViewingValue === 'false') { 12560 this.showNewToViewing = false; 12561 } else { 12562 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError('Viewing-cookie not found or initialized properly.'); 12563 } 12564 } 12565 /** 12566 * Toggle the state of the side nav menu 12567 */ 12568 12569 }, { 12570 key: "navToggle", 12571 value: function navToggle() { 12572 this.navIsOpen = !this.navIsOpen; 12573 12574 if (this.showNewToViewing) { 12575 this.cookieService.set('viewing-cookie', 'false', 365); 12576 this.showNewToViewing = false; 12577 } 12578 } 12579 /** 12580 * Scroll to the card with the given id and update the URL 12581 * @param id: id attribute of the card 12582 */ 12583 12584 }, { 12585 key: "showMessage", 12586 value: function showMessage(id) { 12587 this.navToggle(); 12588 12589 if (!this.viewService.isCarouselView) { 12590 this.vps.scrollToAnchor(id); 12591 } 12592 } 12593 }]); 12594 12595 return _ResponsesListComponent; 12596 }(); 12597 12598 _ResponsesListComponent.ɵfac = function ResponsesListComponent_Factory(t) { 12599 return new (t || _ResponsesListComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_1__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_4__.ViewportScroller), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](_core_auth_service__WEBPACK_IMPORTED_MODULE_2__.AuthService), _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdirectiveInject"](ngx_cookie_service__WEBPACK_IMPORTED_MODULE_5__.Co
12599okieService)); 12600 }; 12601 12602 _ResponsesListComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵdefineComponent"]({ 12603 type: _ResponsesListComponent, 12604 selectors: [["app-responses-list"]], 12605 inputs: { 12606 setMessageList: "setMessageList" 12607 }, 12608 decls: 18, 12609 vars: 8, 12610 consts: [[1, "d-none", "d-md-block"], [1, "side-nav-container"], ["class", "hamburger vertical-center shadow", 3, "flashy-hamburger", "click", 4, "ngIf"], [1, "sidenav", "shadow"], [1, "close-btn", 3, "click"], [1, "nav-item", "mb-2", "ml-4", "response-title"], ["class", "author-container", "data-target", "#carousel", 3, "click", 4, "ngFor", "ngForOf"], [1, "d-block", "d-md-none"], [1, "side-nav-container-mobile"], ["class", "hamburger-mobile vertical-center shadow", 3, "flashy-hamburger-mobile", "click", 4, "ngIf"], [1, "sidenav-mobile", "shadow"], [1, "hamburger", "vertical-center", "shadow", 3, "click"], ["class", "chevron", "alt", "response-list", "src", "../../../../assets/images/icons/chevron-right.svg", 4, "ngIf"], ["class", "chevron", "alt", "response-list", "src", "../../../../assets/images/icons/chevron-left.svg", 4, "ngIf"], ["alt", "response-list", "src", "../../../../assets/images/icons/chevron-right.svg", 1, "chevron"], ["alt", "response-list", "src", "../../../../assets/images/icons/chevron-left.svg", 1, "chevron"], ["data-target", "#carousel", 1, "author-container", 3, "click"], [1, "header-table"], [1, "profile-pic-col"], [1, "profile-pic-container"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "author-col"], [1, "msg-header-text", "author-name"], ["href", "javascript: void(0)", 1, "subtle-link"], [1, "msg-header-date"], [1, "hamburger-mobile", "vertical-center", "shadow", 3, "click"]], 12611 template: function ResponsesListComponent_Template(rf, ctx) { 12612 if (rf & 1) { 12613 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](0, "div", 0); 12614 12615 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](1, "div", 1); 12616 12617 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](2, ResponsesListComponent_div_2_Template, 3, 4, "div", 2); 12618 12619 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](3, "div", 3); 12620 12621 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](4, "a", 4); 12622 12623 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_Template_a_click_4_listener() { 12624 return ctx.navToggle(); 12625 }); 12626 12627 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](5, "\xD7"); 12628 12629 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12630 12631 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](6, "div", 5); 12632 12633 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](7, "My Messages"); 12634 12635 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12636 12637 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](8, ResponsesListComponent_div_8_Template, 14, 4, "div", 6); 12638 12639 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12640 12641 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12642 12643 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12644 12645 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](9, "div", 7); 12646 12647 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](10, "div", 8); 12648 12649 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](11, ResponsesListComponent_div_11_Template, 3, 4, "div", 9); 12650 12651 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](12, "div", 10); 12652 12653 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](13, "a", 4); 12654 12655 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵlistener"]("click", function ResponsesListComponent_Template_a_click_13_listener() { 12656 return ctx.navToggle(); 12657 }); 12658 12659 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](14, "\xD7"); 12660 12661 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12662 12663 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementStart"](15, "div", 5); 12664 12665 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtext"](16, "My Messages"); 12666 12667 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12668 12669 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵtemplate"](17, ResponsesListComponent_div_17_Template, 14, 4, "div", 6); 12670 12671 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12672 12673 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12674 12675 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵelementEnd"](); 12676 } 12677 12678 if (rf & 2) { 12679 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12680 12681 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("nav-open", ctx.navIsOpen); 12682 12683 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12684 12685 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.messageList.length !== 0); 12686 12687 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); 12688 12689 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.messageList); 12690 12691 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](2); 12692 12693 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵclassProp"]("nav-mobile-open", ctx.navIsOpen); 12694 12695 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](1); 12696 12697 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngIf", ctx.messageList.length !== 0); 12698 12699 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵadvance"](6); 12700 12701 _angular_core__WEBPACK_IMPORTED_MODULE_3__["ɵɵproperty"]("ngForOf", ctx.messageList); 12702 } 12703 }, 12704 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_4__.NgIf, _angular_common__WEBPACK_IMPORTED_MODULE_4__.NgForOf], 12705 styles: [".side-nav-container[_ngcontent-%COMP%] {\n height: calc(100% - var(--navbar-height));\n position: fixed;\n left: -25em;\n \n z-index: 1050;\n transition: 0.5s;\n}\n\n.sidenav[_ngcontent-%COMP%] {\n width: 25em;\n height: 100%;\n background-color: white;\n overflow-x: hidden;\n padding-top: 2em;\n z-index: 1050;\n}\n.sidenav[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] {\n position: absolute;\n color: var(--dark);\n top: 0;\n right: 25px;\n font-size: 36px;\n margin-left: 50px;\n}\n\n.hamburger[_ngcontent-%COMP%] {\n position: absolute;\n height: 6em;\n width: 2em;\n top: 2em;\n right: -2em;\n font-size: 1em;\n font-weight: bold;\n color: white;\n background: var(--accent);\n border-radius: 0 0.5em 0.5em 0;\n cursor: pointer;\n transition: 0.5s;\n z-index: 1049;\n}\n.hamburger[_ngcontent-%COMP%]:hover {\n transform: translate(1em, 0);\n width: 3em;\n transition: 0.5s;\n}\n\n.nav-open[_ngcontent-%COMP%] {\n left: 0;\n}\n\n.side-nav-container-mobile[_ngcontent-%COMP%] {\n height: calc(100% - var(--navbar-height));\n position: fixed;\n right: 100vw;\n \n z-index: 1050;\n transition: 0.5s;\n}\n\n.sidenav-mobile[_ngcontent-%COMP%] {\n width: 100vw;\n height: 100%;\n background-color: white;\n overflow-x: hidden;\n padding-top: 2em;\n z-index: 1050;\n}\n.sidenav-mobile[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] {\n position: absolute;\n color: var(--dark);\n top: 0;\n right: 25px;\n font-size: 36px;\n margin-left: 50px;\n}\n\n.nav-mobile-open[_ngcontent-%COMP%] {\n right: 0;\n}\n\n.hamburger-mobile[_ngcontent-%COMP%] {\n position: absolute;\n height: 3em;\n width: 2em;\n top: 3em;\n right: -2em;\n font-size: 1em;\n font-weight: bold;\n color: white;\n background: var(--accent);\n border-radius: 0 0.5em 0.5em 0;\n cursor: pointer;\n transition: 0.5s;\n z-index: 1049;\n}\n\n\n.close-btn[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n.close-btn[_ngcontent-%COMP%]:hover {\n text-decoration: none;\n}\n.chevron[_ngcontent-%COMP%] {\n position: absolute;\n right: 0;\n}\n\n.response-title[_ngcontent-%COMP%] {\n font-size: 1.4em;\n font-weight: bold;\n}\n.author-container[_ngcontent-%COMP%] {\n padding: 1em 1em 1em 2em;\n line-height: 1.2em;\n border-bottom: 0.05em solid var(--lighter-grey);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n cursor: pointer;\n}\n.author-container[_ngcontent-%COMP%]:hover {\n background: var(--response-list-hover);\n}\n.header-table[_ngcontent-%COMP%] {\n table-layout: fixed;\n width: 100%;\n}\n.profile-pic-col[_ngcontent-%COMP%] {\n width: 2.5em;
12705\n}\n.author-col[_ngcontent-%COMP%] {\n left: 1em;\n padding-left: 1em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.profile-pic-container[_ngcontent-%COMP%] {\n background: white;\n height: 2.5em;\n width: 2.5em;\n border-radius: 100%;\n}\n.author-name[_ngcontent-%COMP%] {\n font-weight: bold;\n font-size: 1em;\n margin: 0.2em 0 0 0;\n color: var(--dark);\n}\n.author-name[_ngcontent-%COMP%]:hover {\n text-decoration: none;\n}\n.msg-header-date[_ngcontent-%COMP%] {\n font-size: 0.7em;\n margin: 0;\n}\n@media screen and (max-height: 450px) {\n .sidenav[_ngcontent-%COMP%] {\n padding-top: 15px;\n }\n\n .sidenav[_ngcontent-%COMP%] a[_ngcontent-%COMP%] {\n font-size: 18px;\n }\n}\n\n\n.flashy-hamburger[_ngcontent-%COMP%] {\n animation: FlashyHamburger 2s ease infinite;\n}\n@keyframes FlashyHamburger {\n 0% {\n transform: translate(0, 0);\n width: 2em;\n }\n 50% {\n transform: translate(1em, 0);\n width: 3em;\n }\n 100% {\n transform: translate(0, 0);\n width: 2em;\n }\n}\n\n\n.flashy-hamburger-mobile[_ngcontent-%COMP%] {\n animation: FlashyHamburgerMobile 2s ease infinite;\n}\n@keyframes FlashyHamburgerMobile {\n 0% {\n transform: translate(0, 0);\n width: 2em;\n }\n 50% {\n transform: translate(0.4em, 0);\n width: 3em;\n }\n 100% {\n transform: translate(0, 0);\n width: 2em;\n }\n}\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 0.2em;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n opacity: 0;\n}\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--scrollbar-thumb);\n opacity: 0.1;\n border-radius: 1em;\n}\n.subtle-link[_ngcontent-%COMP%], .subtle-link[_ngcontent-%COMP%]:hover {\n color: #000000;\n text-decoration: none;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc3BvbnNlcy1saXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZTtBQUNmLG9EQUFvRDtBQUNwRDtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsV0FBVztFQUNYLG9EQUFvRDtFQUNwRCxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUEsbUJBQW1CO0FBQ25CO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25CO0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtBQUNmO0FBRUE7RUFDRSw0QkFBNEI7RUFDNUIsVUFBVTtFQUNWLGdCQUFnQjtBQUNsQjtBQUVBLGtDQUFrQztBQUNsQztFQUNFLE9BQU87QUFDVDtBQUVBLGNBQWM7QUFFZDtFQUNFLHlDQUF5QztFQUN6QyxlQUFlO0VBQ2YsWUFBWTtFQUNaLG9EQUFvRDtFQUNwRCxhQUFhO0VBQ2IsZ0JBQWdCO0FBQ2xCO0FBRUEsbUJBQW1CO0FBQ25CO0VBQ0UsWUFBWTtFQUNaLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixhQUFhO0FBQ2Y7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFdBQVc7RUFDWCxlQUFlO0VBQ2YsaUJBQWlCO0FBQ25CO0FBRUEsa0NBQWtDO0FBQ2xDO0VBQ0UsUUFBUTtBQUNWO0FBRUEscUJBQXFCO0FBQ3JCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxVQUFVO0VBQ1YsUUFBUTtFQUNSLFdBQVc7RUFDWCxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLFlBQVk7RUFDWix5QkFBeUI7RUFDekIsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsYUFBYTtBQUNmO0FBRUEsY0FBYztBQUNkLFlBQVk7QUFDWjtFQUNFLGVBQWU7QUFDakI7QUFFQTtFQUNFLHFCQUFxQjtBQUN2QjtBQUVBO0VBQ0Usa0JBQWtCO0VBQ2xCLFFBQVE7QUFDVjtBQUVBLGtCQUFrQjtBQUNsQjtFQUNFLGdCQUFnQjtFQUNoQixpQkFBaUI7QUFDbkI7QUFFQTtFQUNFLHdCQUF3QjtFQUN4QixrQkFBa0I7RUFDbEIsK0NBQStDO0VBQy9DLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLGVBQWU7QUFDakI7QUFFQTtFQUNFLHNDQUFzQztBQUN4QztBQUVBO0VBQ0UsbUJBQW1CO0VBQ25CLFdBQVc7QUFDYjtBQUVBO0VBQ0UsWUFBWTtBQUNkO0FBRUE7RUFDRSxTQUFTO0VBQ1QsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsbUJBQW1CO0FBQ3JCO0FBRUE7RUFDRSxpQkFBaUI7RUFDakIsYUFBYTtFQUNiLFlBQVk7RUFDWixtQkFBbUI7QUFDckI7QUFFQTtFQUNFLGlCQUFpQjtFQUNqQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGtCQUFrQjtBQUNwQjtBQUVBO0VBQ0UscUJBQXFCO0FBQ3ZCO0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsU0FBUztBQUNYO0FBRUE7RUFDRTtJQUNFLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFLGVBQWU7RUFDakI7QUFDRjtBQUVBLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0I7RUFHRSwyQ0FBMkM7QUFDN0M7QUFnQ0E7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7RUFDQTtJQUNFLDRCQUE0QjtJQUM1QixVQUFVO0VBQ1o7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7QUFDRjtBQUVBLHdEQUF3RDtBQUN4RCwrQkFBK0I7QUFDL0I7RUFHRSxpRE
12705FBaUQ7QUFDbkQ7QUFnQ0E7RUFDRTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7RUFDQTtJQUNFLDhCQUE4QjtJQUM5QixVQUFVO0VBQ1o7RUFDQTtJQUNFLDBCQUEwQjtJQUMxQixVQUFVO0VBQ1o7QUFDRjtBQUVBLGlCQUFpQjtBQUNqQixVQUFVO0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7QUFFQSxVQUFVO0FBQ1Y7RUFDRSxVQUFVO0FBQ1o7QUFFQSxXQUFXO0FBQ1g7RUFDRSxrQ0FBa0M7RUFDbEMsWUFBWTtFQUNaLGtCQUFrQjtBQUNwQjtBQUVBOztFQUVFLGNBQWM7RUFDZCxxQkFBcUI7QUFDdkIiLCJmaWxlIjoicmVzcG9uc2VzLWxpc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHx8IERFU0tUT1AgKi9cbi8qIFNpZGUgbmF2IGNvbnRhaW5lciAtIGhvdXNlcyBsaXN0IGFuZCB0YWIgYnV0dG9uICovXG4uc2lkZS1uYXYtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1uYXZiYXItaGVpZ2h0KSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogLTI1ZW07XG4gIC8qIHotaW5kZXggb2YgMTA1MSBpcyB0aGUgbGV2ZWwgdGhhdCBtb2RhbHMgYXBwZWFyICovXG4gIHotaW5kZXg6IDEwNTA7XG4gIHRyYW5zaXRpb246IDAuNXM7XG59XG5cbi8qIExpc3QgY29tcG9uZW50ICovXG4uc2lkZW5hdiB7XG4gIHdpZHRoOiAyNWVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAyZW07XG4gIHotaW5kZXg6IDEwNTA7XG59XG5cbi5zaWRlbmF2IC5jbG9zZS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKTtcbiAgdG9wOiAwO1xuICByaWdodDogMjVweDtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLyogQnV0dG9uIGNvbXBvbmVudCAqL1xuLmhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA2ZW07XG4gIHdpZHRoOiAyZW07XG4gIHRvcDogMmVtO1xuICByaWdodDogLTJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41ZW0gMC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICB6LWluZGV4OiAxMDQ5O1xufVxuXG4uaGFtYnVyZ2VyOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMWVtLCAwKTtcbiAgd2lkdGg6IDNlbTtcbiAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLyogQ29uZGl0aW9uYWxseS1hY3RpdmF0ZWQgY2xhc3MgKi9cbi5uYXYtb3BlbiB7XG4gIGxlZnQ6IDA7XG59XG5cbi8qIHx8IE1PQklMRSAqL1xuXG4uc2lkZS1uYXYtY29udGFpbmVyLW1vYmlsZSB7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbmF2YmFyLWhlaWdodCkpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMDB2dztcbiAgLyogei1pbmRleCBvZiAxMDUxIGlzIHRoZSBsZXZlbCB0aGF0IG1vZGFscyBhcHBlYXIgKi9cbiAgei1pbmRleDogMTA1MDtcbiAgdHJhbnNpdGlvbjogMC41cztcbn1cblxuLyogTGlzdCBjb21wb25lbnQgKi9cbi5zaWRlbmF2LW1vYmlsZSB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICB6LWluZGV4OiAxMDUwO1xufVxuXG4uc2lkZW5hdi1tb2JpbGUgLmNsb3NlLWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLWRhcmspO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDM2cHg7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xufVxuXG4vKiBDb25kaXRpb25hbGx5LWFjdGl2YXRlZCBjbGFzcyAqL1xuLm5hdi1tb2JpbGUtb3BlbiB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBCdXR0b24gY29tcG9uZW50ICovXG4uaGFtYnVyZ2VyLW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzZW07XG4gIHdpZHRoOiAyZW07XG4gIHRvcDogM2VtO1xuICByaWdodDogLTJlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY2VudCk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41ZW0gMC41ZW0gMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjVzO1xuICB6LWluZGV4OiAxMDQ5O1xufVxuXG4vKiB8fCBTSEFSRUQgKi9cbi8qIEJ1dHRvbnMgKi9cbi5jbG9zZS1idG4ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jbG9zZS1idG46aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jaGV2cm9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbn1cblxuLyogTGlzdCBjb250ZW50cyAqL1xuLnJlc3BvbnNlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hdXRob3ItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMWVtIDFlbSAxZW0gMmVtO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIGJvcmRlci1ib3R0b206IDAuMDVlbSBzb2xpZCB2YXIoLS1saWdodGVyLWdyZXkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYXV0aG9yLWNvbnRhaW5lcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXJlc3BvbnNlLWxpc3QtaG92ZXIpO1xufVxuXG4uaGVhZGVyLXRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9maWxlLXBpYy1jb2wge1xuICB3aWR0aDogMi41ZW07XG59XG5cbi5hdXRob3ItY29sIHtcbiAgbGVmdDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5wcm9maWxlLXBpYy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYXV0aG9yLW5hbWUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMC4yZW0gMCAwIDA7XG4gIGNvbG9yOiB2YXIoLS1kYXJrKTtcbn1cblxuLmF1dGhvci1uYW1lOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubXNnLWhlYWRlci1kYXRlIHt
12705cbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDUwcHgpIHtcbiAgLnNpZGVuYXYge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG5cbiAgLnNpZGVuYXYgYSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi8qIFN1cHJlc3Mgd2FybmluZyBmb3IgY29uZGl0aW9uYWxseS1hcHBsaWVkIENTUyBjbGFzcyAqL1xuLypub2luc3BlY3Rpb24gQ3NzVW51c2VkU3ltYm9sKi9cbi5mbGFzaHktaGFtYnVyZ2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IEZsYXNoeUhhbWJ1cmdlciAycyBlYXNlIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyIDJzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyIDJzIGVhc2UgaW5maW5pdGU7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBGbGFzaHlIYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBGbGFzaHlIYW1idXJnZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxZW0sIDApO1xuICAgIHdpZHRoOiAzZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxufVxuXG4vKiBTdXByZXNzIHdhcm5pbmcgZm9yIGNvbmRpdGlvbmFsbHktYXBwbGllZCBDU1MgY2xhc3MgKi9cbi8qbm9pbnNwZWN0aW9uIENzc1VudXNlZFN5bWJvbCovXG4uZmxhc2h5LWhhbWJ1cmdlci1tb2JpbGUge1xuICAtd2Via2l0LWFuaW1hdGlvbjogRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIDJzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBGbGFzaHlIYW1idXJnZXJNb2JpbGUgMnMgZWFzZSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBGbGFzaHlIYW1idXJnZXJNb2JpbGUgMnMgZWFzZSBpbmZpbml0ZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIEZsYXNoeUhhbWJ1cmdlck1vYmlsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40ZW0sIDApO1xuICAgIHdpZHRoOiAzZW07XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgd2lkdGg6IDJlbTtcbiAgfVxufVxuXG5ALW1vei1rZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjRlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgRmxhc2h5SGFtYnVyZ2VyTW9iaWxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIHdpZHRoOiAyZW07XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjRlbSwgMCk7XG4gICAgd2lkdGg6IDNlbTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG5cbi8qIHx8IFNDUk9MTEJBUiAqL1xuLyogd2lkdGggKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC4yZW07XG59XG5cbi8qIFRyYWNrICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogSGFuZGxlICovXG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2Nyb2xsYmFyLXRodW1iKTtcbiAgb3BhY2l0eTogMC4xO1xuICBib3JkZXItcmFkaXVzOiAxZW07XG59XG5cbi5zdWJ0bGUtbGluayxcbi5zdWJ0bGUtbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iXX0= */"] 12706 }); 12707 /***/ 12708 }, 12709 12710 /***/ 12711 60189: 12712 /*!**************************************************************************!*\ 12713 !*** ./src/app/pages/viewing/single-message/single-message.component.ts ***! 12714 \**************************************************************************/ 12715 12716 /***/ 12717 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 12718 "use strict"; 12719 12720 __webpack_require__.r(__webpack_exports__); 12721 /* harmony export */ 12722 12723 12724 __webpack_require__.d(__webpack_exports__, { 12725 /* harmony export */ 12726 "SingleMessageComponent": function SingleMessageComponent() { 12727 return ( 12728 /* binding */ 12729 _SingleMessageComponent 12730 ); 12731 } 12732 /* harmony export */ 12733 12734 }); 12735 /* harmony import */ 12736 12737 12738 var _core_common_service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 12739 /*! ../../../core/common.service */ 12740 80150); 12741 /* harmony import */ 12742 12743 12744 var firebase_app__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 12745 /*! firebase/app */ 12746 42329); 12747 /* harmony import */ 12748 12749 12750 var firebase_firestore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 12751 /*! firebase/firestore */ 12752 72491); 12753 /* harmony import */ 12754 12755
12756 var _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 12757 /*! ../../../shared/interfaces/messages */ 12758 38031); 12759 /* harmony import */ 12760 12761 12762 var _angular_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 12763 /*! @angular/core */ 12764 37716); 12765 /* harmony import */ 12766 12767 12768 var _core_viewing_service__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 12769 /*! ../../../core/viewing.service */ 12770 91225); 12771 /* harmony import */ 12772 12773 12774 var _angular_router__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 12775 /*! @angular/router */ 12776 39895); 12777 /* harmony import */ 12778 12779 12780 var ngx_toastr__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 12781 /*! ngx-toastr */ 12782 49344); 12783 /* harmony import */ 12784 12785 12786 var _angular_common__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__( 12787 /*! @angular/common */ 12788 38583); 12789 /* harmony import */ 12790 12791 12792 var _core_msg_io_service__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 12793 /*! ../../../core/msg-io.service */ 12794 84468); 12795 /* harmony import */ 12796 12797 12798 var ngx_markdown__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__( 12799 /*! ngx-markdown */ 12800 76715); 12801 /* harmony import */ 12802 12803 12804 var _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 12805 /*! ../../../shared/components/inline-images/inline-images.component */ 12806 72321); 12807 12808 var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_1__["default"].firestore; 12809 var Timestamp = firestore.Timestamp; 12810 12811 function SingleMessageComponent_app_inline_images_14_Template(rf, ctx) { 12812 if (rf & 1) { 12813 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](0, "app-inline-images", 12); 12814 } 12815 12816 if (rf & 2) { 12817 var ctx_r0 = _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵnextContext"](); 12818 12819 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("images", ctx_r0.singleMessage.images); 12820 } 12821 } 12822 12823 var _c0 = function _c0(a0, a1, a2) { 12824 return { 12825 background: a0, 12826 color: a1, 12827 "font-family": a2 12828 }; 12829 }; 12830 12831 var _SingleMessageComponent = /*#__PURE__*/function () { 12832 function _SingleMessageComponent(viewService, route, router, toastr, location, msgIOService) { 12833 var _this22 = this; 12834 12835 _classCallCheck(this, _SingleMessageComponent); 12836 12837 this.viewService = viewService; 12838 this.route = route; 12839 this.router = router; 12840 this.toastr = toastr; 12841 this.location = location; 12842 this.msgIOService = msgIOService; 12843 this.showCloseButton = false; 12844 this.singleMessage = Object.assign(Object.assign({}, new _shared_interfaces_messages__WEBPACK_IMPORTED_MODULE_3__.VirtrolioMessageTemplate()), { 12845 from: '', 12846 fromName: '', 12847 fromPic: '', 12848 isRead: false, 12849 key: '', 12850 timestamp: new Timestamp(0, 0), 12851 year: 0, 12852 id: '' 12853 }); 12854 this.singleMessage.contents = 'Message is loading...'; 12855 this.singleMessage.backColor = '#FFFFFF'; 12856 this.singleMessage.fontColor = '#000000'; 12857 this.singleMessage.fontFamily = 'Arial'; 12858 this.route.queryParams.subscribe(function (params) { 12859 _this22.currentMessageId = params.messageId; 12860 }); 12861 12862 if (this.route.snapshot.queryParams.showBookmarkAlert) { 12863 this.toastr.info('This page can now be bookmarked so you can view this message later!', 'Bookmark', { 12864 positionClass: 'toast-bottom-full-width' 12865 }); 12866 this.showCloseButton = true; 12867 this.location.go('/viewing', '?messageId=' + this.currentMessageId); 12868 } 12869 } 12870 12871 _createClass(_SingleMessageComponent, [{ 12872 key: "ngOnInit", 12873 value: function ngOnInit() { 12874 var _this23 = this; 12875 12876 this.viewService.msgIo.getMessage(this.currentMessageId).subscribe(function (message) { 12877 try { 12878 _this23.viewService.msgIo.verifyMessage(message); 12879 12880 _this23.singleMessage = message; 12881 } catch (e) { 12882 _core_common_service__WEBPACK_IMPORTED_MODULE_0__.CommonService.displayError(e); // noinspection JSIgnoredPromiseFromCall 12883 12884 12885 _this23.router.navigate(['/viewing']); 12886 } 12887 }); 12888 } 12889 /** 12890 * Go to 'all messages' view 12891 */ 12892 12893 }, { 12894 key: "goToMessages", 12895 value: function goToMessages() { 12896 this.router.navigate(['/viewing']).then(function () { 12897 window.location.reload(); 12898 }); 12899 } 12900 }]); 12901 12902 return _SingleMessageComponent; 12903 }(); 12904 12905 _SingleMessageComponent.ɵfac = function SingleMessageComponent_Factory(t) { 12906 return new (t || _SingleMessageComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_4__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_8__.Router), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](ngx_toastr__WEBPACK_IMPORTED_MODULE_9__.ToastrService), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_angular_common__WEBPACK_IMPORTED_MODULE_10__.Location), _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdirectiveInject"](_core_msg_io_service__WEBPACK_IMPORTED_MODULE_5__.MsgIoService)); 12907 }; 12908 12909 _SingleMessageComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵdefineComponent"]({ 12910 type: _SingleMessageComponent, 12911 selectors: [["app-single-message"]], 12912 decls: 15, 12913 vars: 10, 12914 consts: [[1, "row", "justify-content-center", "py-5"], [1, "single-message-view", "col-12", "col-sm-12", "col-md-8", "col-lg-8", "col-xl-8"], [1, "author-card"], [1, "profile-pic-container-small"], ["alt", "profile-pic", 1, "profile-pic", 3, "src"], [1, "author-card", "mb-3"], [1, "msg-header-text"], [1, "msg-header-date"], [1, "card", "shadow", "message-card"], [1, "card-body", "message-card", "message", 3, "ngStyle"], ["emoji", "", 3, "data"], [3, "images", 4, "ngIf"], [3, "images"]], 12915 template: function SingleMessageComponent_Template(rf, ctx) { 12916 if (rf & 1) { 12917 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](0, "div", 0); 12918 12919 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](1, "div", 1); 12920 12921 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](2, "div", 2); 12922 12923 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](3, "span", 3); 12924 12925 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](4, "img", 4); 12926 12927 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12928 12929 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12930 12931 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](5, "div", 5); 12932 12933 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](6, "table"); 12934 12935 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](7, "tr", 6); 12936 12937 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](8); 12938 12939 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12940 12941 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](9, "tr", 7); 12942 12943 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtext"](10); 12944 12945 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12946 12947 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12948 12949 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12950 12951 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](11, "div", 8); 12952 12953 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementStart"](12, "div", 9); 12954 12955 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelement"](13, "markdown", 10); 12956 12957 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtemplate"](14, SingleMessageComponent_app_inline_images_14_Template, 1, 1, "app-inline-images", 11); 12958 12959 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12960 12961 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12962 12963 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12964 12965 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵelementEnd"](); 12966 } 12967 12968 if (rf & 2) { 12969 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4); 12970 12971 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("src", ctx.singleMessage.fromPic, _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵsanitizeUrl"]); 12972 12973 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](4); 12974 12975 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx.singleMessage.fromName, " "); 12976 12977 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 12978 12979 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵtextInterpolate1"](" ", ctx.singleMessage.timestamp.toDate().toDateString(), " "); 12980 12981 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](2); 12982 12983 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngStyle", _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpureFunction3"](6, _c0, ctx.singleMessage.backColor, ctx.singleMessage.fontColor, ctx.viewService.fonts[ctx.singleMessage.fontFamily].fontFamily + "," + ctx.viewService.fonts[ctx.singleMessage.fontFamily].backupFont)); 12984 12985 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 12986 12987 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵpropertyInterpolate"]("data", ctx.viewService.decodeHtml(ctx.singleMessage.contents)); 12988 12989 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵadvance"](1); 12990 12991 _angular_core__WEBPACK_IMPORTED_MODULE_7__["ɵɵproperty"]("ngIf", ctx.singleMessage.images); 12992 } 12993 }, 12994 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_10__.NgStyle, ngx_markdown__WEBPACK_IMPORTED_MODULE_11__.MarkdownComponent, _angular_common__WEBPACK_IMPORTED_MODULE_10__.NgIf, _shared_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_6__.InlineImagesComponent], 12995 styles: [".message-card[_ngcontent-%COMP%] {\n width: 100%;\n height: 70vh;\n}\n\n.author-card[_ngcontent-%COMP%] {\n width: 100%;\n height: auto;\n display: flex;\n justify-content: center;\n}\n\n.message-card[_ngcontent-%COMP%] {\n background-color: var(--light-grey);\n width: 100%;\n word-break: break-word;\n overflow-y: auto;\n}\n\n.msg-header-text[_ngcontent-%COMP%] {\n font-weight: bold;\n font-size: 1.6em;\n max-width: 80vw;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n white-space: nowrap;\n}\n\n.msg-header-date[_ngcontent-%COMP%] {\n font-size: 1em;\n max-width: 80vw;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: center;\n white-space: nowrap;\n}\n\n.profile-pic-container-small[_ngcontent-%COMP%] {\n background: rgba(255, 255, 255, 0);\n height: 4.2em;\n width: 4.2em;\n border-radius: 100%;\n display: flex;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 0.2em;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n opacity: 0;\n}\n\n\n\n[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--scrollbar-thumb);\n opacity: 0.1;\n border-radius: 1em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpbmdsZS1tZXNzYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtBQUNkOztBQUVBO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsdUJBQXVCO0FBQ3pCOztBQUVBO0VBQ0UsbUNBQW1DO0VBQ25DLFdBQVc7RUFDWCxzQkFBc0I7RUFDdEIsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsaUJBQWlCO0VBQ2pCLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHVC
12995QUF1QjtFQUN2QixrQkFBa0I7RUFDbEIsbUJBQW1CO0FBQ3JCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixtQkFBbUI7QUFDckI7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsYUFBYTtFQUNiLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsYUFBYTtBQUNmOztBQUVBLFVBQVU7O0FBQ1Y7RUFDRSxZQUFZO0FBQ2Q7O0FBRUEsVUFBVTs7QUFDVjtFQUNFLFVBQVU7QUFDWjs7QUFFQSxXQUFXOztBQUNYO0VBQ0Usa0NBQWtDO0VBQ2xDLFlBQVk7RUFDWixrQkFBa0I7QUFDcEIiLCJmaWxlIjoic2luZ2xlLW1lc3NhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5tZXNzYWdlLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHZoO1xufVxuXG4uYXV0aG9yLWNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lc3NhZ2UtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICB3aWR0aDogMTAwJTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLm1zZy1oZWFkZXItdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuNmVtO1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5tc2ctaGVhZGVyLWRhdGUge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWF4LXdpZHRoOiA4MHZ3O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvZmlsZS1waWMtY29udGFpbmVyLXNtYWxsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgaGVpZ2h0OiA0LjJlbTtcbiAgd2lkdGg6IDQuMmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiB3aWR0aCAqL1xuOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwLjJlbTtcbn1cblxuLyogVHJhY2sgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBIYW5kbGUgKi9cbjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zY3JvbGxiYXItdGh1bWIpO1xuICBvcGFjaXR5OiAwLjE7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbn1cbiJdfQ== */"] 12996 }); 12997 /***/ 12998 }, 12999 13000 /***/ 13001 68106: 13002 /*!****************************************************!*\ 13003 !*** ./src/app/pages/viewing/viewing.component.ts ***! 13004 \****************************************************/ 13005 13006 /***/ 13007 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13008 "use strict"; 13009 13010 __webpack_require__.r(__webpack_exports__); 13011 /* harmony export */ 13012 13013 13014 __webpack_require__.d(__webpack_exports__, { 13015 /* harmony export */ 13016 "ViewingComponent": function ViewingComponent() { 13017 return ( 13018 /* binding */ 13019 _ViewingComponent 13020 ); 13021 } 13022 /* harmony export */ 13023 13024 }); 13025 /* harmony import */ 13026 13027 13028 var firebase_app__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 13029 /*! firebase/app */ 13030 42329); 13031 /* harmony import */ 13032 13033 13034 var firebase_firestore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 13035 /*! firebase/firestore */ 13036 72491); 13037 /* harmony import */ 13038 13039 13040 var _angular_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__( 13041 /*! @angular/core */ 13042 37716); 13043 /* harmony import */ 13044 13045 13046 var _angular_router__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__( 13047 /*! @angular/router */ 13048 39895); 13049 /* harmony import */ 13050 13051 13052 var _core_viewing_service__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 13053 /*! ../../core/viewing.service */ 13054 91225); 13055 /* harmony import */ 13056 13057 13058 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__( 13059 /*! @angular/platform-browser */ 13060 39075); 13061 /* harmony import */ 13062 13063 13064 var _angular_common__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__( 13065 /*! @angular/common */ 13066 38583); 13067 /* harmony import */ 13068 13069 13070 var _single_message_single_message_component__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 13071 /*! ./single-message/single-message.component */ 13072 60189); 13073 /* harmony import */ 13074 13075 13076 var _responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__( 13077 /*! ./responses-list/responses-list.component */ 13078 39161); 13079 /* harmony import */ 13080 13081 13082 var _messages_messages_component__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__( 13083 /*! ./messages/messages.component */ 13084 2360); 13085 13086 var firestore = firebase_app__WEBPACK_IMPORTED_MODULE_0__["default"].firestore; 13087 var Timestamp = firestore.Timestamp; 13088 13089 function ViewingComponent_div_0_Template(rf, ctx) { 13090 if (rf & 1) { 13091 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div"); 13092 13093 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "div", 2); 13094 13095 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](2, "app-single-message"); 13096 13097 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13098 13099 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13100 } 13101 } 13102 13103 function ViewingComponent_ng_template_1_div_5_Template(rf, ctx) { 13104 if (rf & 1) { 13105 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 8); 13106 13107 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "p", 9); 13108 13109 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2, " \u26A0 One of your messages isn't being shown because it does not conform to the message requirements. "); 13110 13111 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "a", 10); 13112 13113 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4, "Contact Us"); 13114 13115 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13116 13117 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](5, " if you see this message. "); 13118 13119 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13120 13121 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13122 } 13123 } 13124 13125 function ViewingComponent_ng_template_1_div_6_Template(rf, ctx) { 13126 if (rf & 1) { 13127 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 8); 13128 13129 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](1, "p", 9); 13130 13131 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](2); 13132 13133 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "a", 10); 13134 13135 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](4, "Contact Us"); 13136 13137 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13138 13139 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtext"](5, " if you see this message. "); 13140 13141 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13142 13143 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13144 } 13145 13146 if (rf & 2) { 13147 var ctx_r4 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](2); 13148 13149 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](2); 13150 13151 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtextInterpolate1"](" \u26A0 ", ctx_r4.invalidMessageCount, " of your messages are not being shown because they do not conform to the message requirements. "); 13152 } 13153 } 13154 13155 function ViewingComponent_ng_template_1_Template(rf, ctx) { 13156 if (rf & 1) { 13157 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](0, "div", 2); 13158 13159 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](1, "app-responses-list", 3); 13160 13161 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](2, "div", 4); 13162 13163 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementStart"](3, "div", 5); 13164 13165 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelement"](4, "app-messages", 6); 13166 13167 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](5, ViewingComponent_ng_template_1_div_5_Template, 6, 0, "div", 7); 13168 13169 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](6, ViewingComponent_ng_template_1_div_6_Template, 6, 1, "div", 7); 13170 13171 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13172 13173 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13174 13175 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵelementEnd"](); 13176 } 13177 13178 if (rf & 2) { 13179 var ctx_r2 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵnextContext"](); 13180 13181 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1); 13182 13183 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("setMessageList", ctx_r2.messageList); 13184 13185 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](3); 13186 13187 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("setMessageList", ctx_r2.messageList)("setIsLoading", ctx_r2.isLoading); 13188 13189 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1); 13190 13191 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx_r2.invalidMessageCount == 1); 13192 13193 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵadvance"](1); 13194 13195 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx_r2.invalidMessageCount > 1); 13196 } 13197 } 13198 13199 var _ViewingComponent = /*#__PURE__*/function () { 13200 function _ViewingComponent(route, viewService, title) { 13201 _classCallCheck(this, _ViewingComponent); 13202 13203 this.route = route; 13204 this.viewService = viewService; 13205 this.title = title; 13206 this.isLoading = true; 13207 this.isSingleMessageView = false;
13208 this.invalidMessageCount = 0; 13209 } 13210 13211 _createClass(_ViewingComponent, [{ 13212 key: "ngOnInit", 13213 value: function ngOnInit() { 13214 var _this24 = this; 13215 13216 this.title.setTitle('View Your Messages | Virtrolio'); // Determine if the viewing link has messageId query param 13217 13218 if (this.route.snapshot.queryParams.messageId) { 13219 this.isSingleMessageView = true; 13220 } 13221 13222 this.viewService.msgIo.getMessages().subscribe(function (messages) { 13223 // Get the current time to use as time since reference 13224 _this24.viewService.nowMillis = Timestamp.now().toMillis(); // Clear the messageList 13225 13226 _this24.messageList = []; 13227 messages.forEach(function (message) { 13228 try { 13229 // Add message to messageList if verifyMessage succeeds 13230 _this24.viewService.msgIo.verifyMessage(message); 13231 13232 _this24.messageList.push(message); 13233 } catch (e) { 13234 _this24.invalidMessageCount += 1; 13235 } 13236 }); 13237 _this24.isLoading = false; 13238 }); 13239 } 13240 }]); 13241 13242 return _ViewingComponent; 13243 }(); 13244 13245 _ViewingComponent.ɵfac = function ViewingComponent_Factory(t) { 13246 return new (t || _ViewingComponent)(_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_angular_router__WEBPACK_IMPORTED_MODULE_7__.ActivatedRoute), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_core_viewing_service__WEBPACK_IMPORTED_MODULE_2__.ViewingService), _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdirectiveInject"](_angular_platform_browser__WEBPACK_IMPORTED_MODULE_8__.Title)); 13247 }; 13248 13249 _ViewingComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵdefineComponent"]({ 13250 type: _ViewingComponent, 13251 selectors: [["app-viewing"]], 13252 decls: 3, 13253 vars: 2, 13254 consts: [[4, "ngIf", "ngIfElse"], ["allMessages", ""], [1, "container"], [3, "setMessageList"], [1, "row", "justify-content-center"], [1, "col-12"], [3, "setMessageList", "setIsLoading"], ["class", "pt-3", 4, "ngIf"], [1, "pt-3"], [1, "invalid-msg-warning"], ["href", "https://virtrolio.web.app/contact"]], 13255 template: function ViewingComponent_Template(rf, ctx) { 13256 if (rf & 1) { 13257 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](0, ViewingComponent_div_0_Template, 3, 0, "div", 0); 13258 13259 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplate"](1, ViewingComponent_ng_template_1_Template, 7, 5, "ng-template", null, 1, _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵtemplateRefExtractor"]); 13260 } 13261 13262 if (rf & 2) { 13263 var _r1 = _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵreference"](2); 13264 13265 _angular_core__WEBPACK_IMPORTED_MODULE_6__["ɵɵproperty"]("ngIf", ctx.isSingleMessageView)("ngIfElse", _r1); 13266 } 13267 }, 13268 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_9__.NgIf, _single_message_single_message_component__WEBPACK_IMPORTED_MODULE_3__.SingleMessageComponent, _responses_list_responses_list_component__WEBPACK_IMPORTED_MODULE_4__.ResponsesListComponent, _messages_messages_component__WEBPACK_IMPORTED_MODULE_5__.MessagesComponent], 13269 styles: [".invalid-msg-warning[_ngcontent-%COMP%] {\n color: var(--light-grey);\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZXdpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHdCQUF3QjtB
13269QUMxQiIsImZpbGUiOiJ2aWV3aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW52YWxpZC1tc2ctd2FybmluZyB7XG4gIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbn1cbiJdfQ== */"] 13270 }); 13271 /***/ 13272 }, 13273 13274 /***/ 13275 72321: 13276 /*!****************************************************************************!*\ 13277 !*** ./src/app/shared/components/inline-images/inline-images.component.ts ***! 13278 \****************************************************************************/ 13279 13280 /***/ 13281 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13282 "use strict"; 13283 13284 __webpack_require__.r(__webpack_exports__); 13285 /* harmony export */ 13286 13287 13288 __webpack_require__.d(__webpack_exports__, { 13289 /* harmony export */ 13290 "InlineImagesComponent": function InlineImagesComponent() { 13291 return ( 13292 /* binding */ 13293 _InlineImagesComponent 13294 ); 13295 } 13296 /* harmony export */ 13297 13298 }); 13299 /* harmony import */ 13300 13301 13302 var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 13303 /*! @angular/core */ 13304 37716); 13305 /* harmony import */ 13306 13307 13308 var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 13309 /*! @angular/common */ 13310 38583); 13311 /* harmony import */ 13312 13313 13314 var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 13315 /*! @angular/fire/storage */ 13316 68274); 13317 13318 function InlineImagesComponent_div_0_Template(rf, ctx) { 13319 if (rf & 1) { 13320 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](0, "div", 1); 13321 13322 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](1, "div"); 13323 13324 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](2, "a", 2); 13325 13326 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](3, "getDownloadURL"); 13327 13328 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](4, "img", 3); 13329 13330 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipe"](5, "getDownloadURL"); 13331 13332 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementStart"](6, "div", 4); 13333 13334 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelement"](7, "img", 5); 13335 13336 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 13337 13338 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 13339 13340 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 13341 13342 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵelementEnd"](); 13343 } 13344 13345 if (rf & 2) { 13346 var image_r1 = ctx.$implicit; 13347 13348 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2); 13349 13350 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("href", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](3, 2, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]); 13351 13352 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵadvance"](2); 13353 13354 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("src", _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵpipeBind1"](5, 4, image_r1), _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵsanitizeUrl"]); 13355 } 13356 } 13357 13358 var _InlineImagesComponent = /*#__PURE__*/function () { 13359 function _InlineImagesComponent() { 13360 _classCallCheck(this, _InlineImagesComponent); 13361 } 13362 13363 _createClass(_InlineImagesComponent, [{ 13364 key: "ngOnInit", 13365 value: function ngOnInit() {} 13366 }]); 13367 13368 return _InlineImagesComponent; 13369 }(); 13370 13371 _InlineImagesComponent.ɵfac = function InlineImagesComponent_Factory(t) { 13372 return new (t || _InlineImagesComponent)(); 13373 }; 13374 13375 _InlineImagesComponent.ɵcmp = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵdefineComponent"]({ 13376 type: _InlineImagesComponent, 13377 selectors: [["app-inline-images"]], 13378 inputs: { 13379 images: "images" 13380 }, 13381 decls: 1, 13382 vars: 1, 13383 consts: [["class", "d-flex p-2 justify-content-center", 4, "ngFor", "ngForOf"], [1, "d-flex", "p-2", "justify-content-center"], ["target", "_blank", 1, "col", "p-0", "d-flex", "justify-content-center", 3, "href"], ["alt", "Virtrolio Message image", 1, "msg-footer-img", 3, "src"], [1, "msg-footer-img-overlay"], ["src", "../../../../assets/images/icons/external-link.svg", "alt", "Virtrolio Message image", 1, "external-link-icon"]], 13384 template: function InlineImagesComponent_Template(rf, ctx) { 13385 if (rf & 1) { 13386 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵtemplate"](0, InlineImagesComponent_div_0_Template, 8, 6, "div", 0); 13387 } 13388 13389 if (rf & 2) { 13390 _angular_core__WEBPACK_IMPORTED_MODULE_0__["ɵɵproperty"]("ngForOf", ctx.images); 13391 } 13392 }, 13393 directives: [_angular_common__WEBPACK_IMPORTED_MODULE_1__.NgForOf], 13394 pipes: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.GetDownloadURLPipe], 13395 styles: [".msg-footer[_ngcontent-%COMP%] {\n height: 7em;\n}\n\n.msg-footer-img[_ngcontent-%COMP%] {\n width: 100%;\n -o-object-fit: cover;\n object-fit: cover;\n transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%] {\n background-color: rgba(0, 0, 0, 0.5);\n height: 100%;\n width: 100%;\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n opacity: 0;\n transition: all linear 0.2s;\n}\n\n.msg-footer-img-overlay[_ngcontent-%COMP%]:hover {\n opacity: 100%;\n}\n\n.external-link-icon[_ngcontent-%COMP%] {\n height: 2em;\n}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlubGluZS1pbWFnZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5QkFBeUI7O0FBRXpCO0VBQ0UsV0FBVztBQUNiOztBQUVBO0VBQ0UsV0FBVztFQUNYLG9CQUFpQjtLQUFqQixpQkFBaUI7RUFDakIsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0Usb0NBQW9DO0VBQ3BDLFlBQVk7RUFDWixXQUFXO0VBQ1gsV0FBVztFQUNYLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsYUFBYTtBQUNmOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6ImlubGluZS1pbWFnZXMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIE1lc3NhZ2UgaW1hZ2UgZm9vdGVyICovXG5cbi5tc2ctZm9vdGVyIHtcbiAgaGVpZ2h0OiA3ZW07XG59XG5cbi5tc2ctZm9vdGVyLWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgdHJhbnNpdGlvbjogYWxsIGxpbmVhciAwLjJzO1xufVxuXG4ubXNnLWZvb3Rlci1pbWctb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW
133951zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCBsaW5lYXIgMC4ycztcbn1cblxuLm1zZy1mb290ZXItaW1nLW92ZXJsYXk6aG92ZXIge1xuICBvcGFjaXR5OiAxMDAlO1xufVxuXG4uZXh0ZXJuYWwtbGluay1pY29uIHtcbiAgaGVpZ2h0OiAyZW07XG59XG4iXX0= */"] 13396 }); 13397 /***/ 13398 }, 13399 13400 /***/ 13401 74743: 13402 /*!********************************************!*\ 13403 !*** ./src/app/shared/interfaces/fonts.ts ***! 13404 \********************************************/ 13405 13406 /***/ 13407 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13408 "use strict"; 13409 13410 __webpack_require__.r(__webpack_exports__); 13411 /* harmony export */ 13412 13413 13414 __webpack_require__.d(__webpack_exports__, { 13415 /* harmony export */ 13416 "Font": function Font() { 13417 return ( 13418 /* binding */ 13419 _Font 13420 ); 13421 } 13422 /* harmony export */ 13423 13424 }); 13425 13426 var _Font = function _Font(fontFamily, backupFont) { 13427 _classCallCheck(this, _Font); 13428 13429 this.fontFamily = fontFamily; 13430 this.backupFont = backupFont; 13431 }; 13432 /***/ 13433 13434 }, 13435 13436 /***/ 13437 38031: 13438 /*!***********************************************!*\ 13439 !*** ./src/app/shared/interfaces/messages.ts ***! 13440 \***********************************************/ 13441 13442 /***/ 13443 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13444 "use strict"; 13445 13446 __webpack_require__.r(__webpack_exports__); 13447 /* harmony export */ 13448 13449 13450 __webpack_require__.d(__webpack_exports__, { 13451 /* harmony export */ 13452 "VirtrolioMessageTemplate": function VirtrolioMessageTemplate() { 13453 return ( 13454 /* binding */ 13455 _VirtrolioMessageTemplate 13456 ); 13457 } 13458 /* harmony export */ 13459 13460 }); 13461 /* harmony import */ 13462 13463 13464 var firebase_firestore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 13465 /*! firebase/firestore */ 13466 72491); 13467 13468 var _VirtrolioMessageTemplate = function _VirtrolioMessageTemplate() { 13469 _classCallCheck(this, _VirtrolioMessageTemplate); 13470 13471 this.backColor = ''; 13472 this.contents = ''; 13473 this.fontColor = ''; 13474 this.fontFamily = ''; 13475 this.to = ''; 13476 }; 13477 /***/ 13478 13479 }, 13480 13481 /***/ 13482 44466: 13483 /*!*****************************************!*\ 13484 !*** ./src/app/shared/shared.module.ts ***! 13485 \*****************************************/ 13486 13487 /***/ 13488 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13489 "use strict"; 13490 13491 __webpack_require__.r(__webpack_exports__); 13492 /* harmony export */ 13493 13494 13495 __webpack_require__.d(__webpack_exports__, { 13496 /* harmony export */ 13497 "SharedModule": function SharedModule() { 13498 return ( 13499 /* binding */ 13500 _SharedModule 13501 ); 13502 } 13503 /* harmony export */ 13504 13505 }); 13506 /* harmony import */ 13507 13508 13509 var _angular_common__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 13510 /*! @angular/common */ 13511 38583); 13512 /* harmony import */ 13513 13514 13515 var _angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 13516 /*! @angular/fire/storage */ 13517 68274); 13518 /* harmony import */ 13519 13520 13521 var _components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 13522 /*! ./components/inline-images/inline-images.component */ 13523 72321); 13524 /* harmony import */ 13525 13526 13527 var _angular_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 13528 /*! @angular/core */ 13529 37716); 13530 13531 var _SharedModule = function _SharedModule() { 13532 _classCallCheck(this, _SharedModule); 13533 }; 13534 13535 _SharedModule.ɵfac = function SharedModule_Factory(t) { 13536 return new (t || _SharedModule)(); 13537 }; 13538 13539 _SharedModule.ɵmod = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineNgModule"]({ 13540 type: _SharedModule 13541 }); 13542 _SharedModule.ɵinj = /*@__PURE__*/_angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵdefineInjector"]({ 13543 imports: [[_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.AngularFireStorageModule, _angular_common__WEBPACK_IMPORTED_MODULE_3__.CommonModule]] 13544 }); 13545 13546 (function () { 13547 (typeof ngJitMode === "undefined" || ngJitMode) && _angular_core__WEBPACK_IMPORTED_MODULE_1__["ɵɵsetNgModuleScope"](_SharedModule, { 13548 declarations: [_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__.InlineImagesComponent], 13549 imports: [_angular_fire_storage__WEBPACK_IMPORTED_MODULE_2__.AngularFireStorageModule, _angular_common__WEBPACK_IMPORTED_MODULE_3__.CommonModule], 13550 exports: [_components_inline_images_inline_images_component__WEBPACK_IMPORTED_MODULE_0__.InlineImagesComponent] 13551 }); 13552 })(); 13553 /***/ 13554 13555 }, 13556 13557 /***/ 13558 89019: 13559 /*!**********************************************!*\ 13560 !*** ./src/environments/environment.prod.ts ***! 13561 \**********************************************/ 13562 13563 /***/ 13564 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13565 "use strict"; 13566 13567 __webpack_require__.r(__webpack_exports__); 13568 /* harmony export */ 13569 13570 13571 __webpack_require__.d(__webpack_exports__, { 13572 /* harmony export */ 13573 "environment": function environment() { 13574 return ( 13575 /* binding */ 13576 _environment 13577 ); 13578 } 13579 /* harmony export */ 13580 13581 }); 13582 13583 var _environment = { 13584 production: true, 13585 firebase: { 13586 apiKey: 'AIzaSyB4bucqAGYm0ZZi6xVawtXdA7pDvrcp4PU', 13587 authDomain: 'virtrolio.firebaseapp.com', 13588 databaseURL: 'https://virtrolio.firebaseio.com', 13589 projectId: 'virtrolio', 13590 storageBucket: 'virtrolio.appspot.com', 13591 messagingSenderId: '929821853702', 13592 appId: '1:929821853702:web:dfb4740eb6984e49f69b87', 13593 measurementId: 'G-BT5XXRVZXP' 13594 } 13595 }; 13596 /***/ 13597 }, 13598 13599 /***/ 13600 92340: 13601 /*!*****************************************!*\ 13602 !*** ./src/environments/environment.ts ***! 13603 \*****************************************/ 13604 13605 /***/ 13606 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13607 "use strict"; 13608 13609 __webpack_require__.r(__webpack_exports__); 13610 /* harmony export */ 13611 13612 13613 __webpack_require__.d(__webpack_exports__, { 13614 /* harmony export */ 13615 "environment": function environment() { 13616 return ( 13617 /* binding */ 13618 _environment2 13619 ); 13620 } 13621 /* harmony export */ 13622 13623 }); // This file can be replaced during build by using the `fileReplacements` array. 13624 // `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. 13625 // The list of file replacements can be found in `angular.json`. 13626 // noinspection SpellCheckingInspection 13627 13628 13629 var _environment2 = { 13630 production: false, 13631 firebase: { 13632 apiKey: 'AIzaSyB4bucqAGYm0ZZi6xVawtXdA7pDvrcp4PU', 13633 authDomain: 'virtrolio.firebaseapp.com', 13634 databaseURL: 'https://virtrolio.firebaseio.com', 13635 projectId: 'virtrolio', 13636 storageBucket: 'virtrolio.appspot.com', 13637 messagingSenderId: '929821853702', 13638 appId: '1:929821853702:web:dfb4740eb6984e49f69b87', 13639 measurementId: 'G-BT5XXRVZXP' 13640 } 13641 }; 13642 /* 13643 * For easier debugging in development mode, you can import the following file 13644 * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. 13645 * 13646 * This import should be commented out in production mode because it will have a negative impact 13647 * on performance if an error is thrown. 13648 */ 13649 // import 'zone.js/plugins/zone-error'; // Included with Angular CLI. 13650 13651 /***/ 13652 }, 13653 13654 /***/ 13655 14431: 13656 /*!*********************!*\ 13657 !*** ./src/main.ts ***! 13658 \*********************/ 13659 13660 /***/ 13661 function _(__unused_webpack_module, __webpack_exports__, __webpack_require__) { 13662 "use strict"; 13663 13664 __webpack_require__.r(__webpack_exports__); 13665 /* harmony import */ 13666 13667 13668 var _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__( 13669 /*! @angular/platform-browser */ 13670 39075); 13671 /* harmony import */ 13672 13673 13674 var _angular_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__( 13675 /*! @angular/core */ 13676 37716); 13677 /* harmony import */ 13678 13679 13680 var _app_app_module__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__( 13681 /*! ./app/app.module */ 13682 36747); 13683 /* harmony import */ 13684 13685 13686 var _environments_environment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__( 13687 /*! ./environments/environment */ 13688 92340); 13689 13690 if (_environments_environment__WEBPACK_IMPORTED_MODULE_1__.environment.production) { 13691 (0, _angular_core__WEBPACK_IMPORTED_MODULE_2__.enableProdMode)(); 13692 } 13693 13694 _angular_platform_browser__WEBPACK_IMPORTED_MODULE_3__.platformBrowser().bootstrapModule(_app_app_module__WEBPACK_IMPORTED_MODULE_0__.AppModule)["catch"](function (err) { 13695 return console.error(err); 13696 }); 13697 /***/ 13698 13699 }, 13700 13701 /***/ 13702 80925: 13703 /*!********************************************!*\ 13704 !*** ./src/app/core/navbar/changelog.json ***! 13705 \********************************************/ 13706 13707 /***/ 13708 function _(module) { 13709 "use strict"; 13710 13711 module.exports = JSON.parse('[{"versionNumber":"2.0.0","releaseDate":"2021-06-16","newMessageAvailable":true,"betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Add the ability to upload (not just embed!) 3 images in a message"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add the ability to view attached images in all message views"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add a spinner animation while loading messages"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Add a spinner animation while a message is being uploaded"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Replace the crying emoji with more professional content and graphics when there are no messages to view ð"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Revamp the graphics used throughout the website"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Add an underline to the current active page in the navbar"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Prevent modals remaining open when navigating to a new page"}]},{"versionNumber":"1.2.1","releaseDate":"2020-12-31","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Since 2021 begins tomorrow, you can now sign each of your friend\'s virtrolios again for the new year."},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Add animations to most website components (most notably, popups)"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Viewing","content":"Fix navbar covering popup message cards"}]},{"versionNumber":"1.2.0","releaseDate":"2020-08-02","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Home","content":"Completely redesign the lower part of the homepage"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Home","content":"Add extra sign-in button at the bottom of the homepage"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add bookmark button to cards view"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Add warning if invalid messages are detected"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"MyVirtrolio","content":"Update title and description of the âShare Linkâ embed to be more friendly"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Animate response list opening and closing for mobile devices"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Add Timestamp to Single Message View"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Prevent cookie alert from showing up on each refresh"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Home","content":"Improve layout when viewing website in landscape on mobile devices"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Viewing","content":"Fix improperly layered components and shadows"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"MyVirtrolio","content":"Fix improperly placed âShare Linkâ button"}]},{"versionNumber":"1.1.0","releaseDate":"2020-07-15","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"This changelog!\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Added a warning telling Internet Explorer users to get a better browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"FAQ","content":"Updated FAQ for \\"How to embed images?\\"\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Open single-message view automatically in a new tab when you bookmark a message\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"MyVirtrolio","content":"Added Social Media Sharing buttons to the Sharing Link dialog. Uses native sharing on mobile devices and custom links on desktops.\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added supp
13711ort for embedding images, including a new embed helper button in the formatting bar and disclaimer about responsibilities regarding images in the send confirm dialog\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added an Emoji button in the formatting bar, guiding users on how to open the emoji menu on their devices\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Signing","content":"Added \\"Signing is better on a desktop/laptop!\\" alert and dialog if a mobile device is detected\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"Clicking the bookmark button on a message opens it in a new tab so you can bookmark it in your browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"You can now delete messages from the carousel\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Viewing","content":"The Responses List button will now pop out the first time to draw your attention to it. If you want to see it again, delete your cookies for the website.\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"FAQ","content":"Added questions about embedding images into messages, changing your display name and custom sharing links\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Added warning for Internet Explorer users, telling them to use a newer browser\\r"},{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Legal","content":"Added summaries and clauses about image sharing\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Sitewide","content":"The footer and navbar are slightly shorter\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Navbar","content":"The Hamburger icon on mobile devices is now a bit brighter to be more visible\\r"},{"type":"UPD","typeCSS":"changelog-upd","betaFlag":false,"location":"Viewing","content":"Moved the Responses List button on mobile devices for easier one-handed access\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"About","content":"Removed random scrollbars appearing in our pictures\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Updated branding and capitalization for our brand. Virtrolio (capital V) is our company, while what we provide to you (your \'virtrolio\') uses a lowercase V\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Added support for mobile popup browsers (like the ones that open when tapping a link in Instagram or Twitter). Previously produced an Access Denied error when trying to login\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Sitewide","content":"Any errors that occur during the sign-in process will now log you out to prevent further issues from trying to use the website with incomplete user data\\r"},{"type":"FIX","typeCSS":"changelog-fix","betaFlag":false,"location":"Signing","content":"Pressing a format button should no longer cause a long message to scroll to the top"}]},{"versionNumber":"1.0.0","releaseDate":"2020-07-07","betaUpdate":false,"items":[{"type":"NEW","typeCSS":"changelog-new","betaFlag":false,"location":"Sitewide","content":"Initial release"}]}]'); 13712 /***/ 13713 }, 13714 13715 /***/ 13716 53679: 13717 /*!***********************************************!*\ 13718 !*** ./src/app/pages/about/contributors.json ***! 13719 \***********************************************/ 13720 13721 /***/ 13722 function _(module) { 13723 "use strict"; 13724 13725 module.exports = JSON.parse('[{"name":"Arvind Nagabhirava","images":{"regular":"https://bit.ly/3ikDVw3","silly":"https://bit.ly/2V596Pn"},"blurb":"Arvind is Virtrolio\'s ideator. He is well known for his compassion and spectacular,\\n radiant personality that always lifts the spirits of those around him. He is known to have an undying love for\\n sports and mathematics. He is currently studying Computer Science\\n at the University of Waterloo. In his
13725spare time, he loves to practice his nunchucks and his taekwondo\\n (especially <s>on</s> with his beloved friends)!","sharingLink":"/signing?uid=cEct1nbdddV3gpdcMqhci3yYNef2&key=inShambles","social":{"github":"","instagram":"_airwind","linkedIn":"https://www.linkedin.com/in/arvindn01/","website":""}},{"name":"Eric Chen","images":{"regular":"https://bit.ly/2NemLiC","silly":"https://bit.ly/3dk383t"},"blurb":"Eric is our fearless technical lead, and we would follow him into hellheim and back if we had to. Not only that, Eric enjoys his bike rides and <i>dank memes</i> like there is no tomorrow. Eric is brilliant, motivated, and occasionally transforms into the real-life embodiment of the angery-react emoji. Eric is extremely proficient in all things tech. To tell the truth, his expertise and leadership is highly valued by the team. Eric is currently studying Software Engineering at uOttawa.","sharingLink":"/signing?uid=s7OIMu1mrxZscVX4dx2K5d2XYvf2&key=maximumAngery","social":{"github":"ricetech","instagram":"the_ricetech","linkedIn":"https://www.linkedin.com/in/ericchen08/","website":""}},{"name":"Dabeer Abdul-Azeez","images":{"regular":"https://bit.ly/2zPaOwQ","silly":"https://bit.ly/3fOt0WT"},"blurb":"Dabeer is an exceptional person with many talents and a wide variety of interests! He is known to have an undying love for musicals and math. And he is plenty talented in both departments! Dabeer is currently studying in the iBiomed program at McMaster University. In his spare time, he loves to practice singing, work on personal projects, and hang out with his beloved friends! He is especially fond of dropping in on people unexpectedly, but pleasant surprises are always to be expected from Dabeer.","sharingLink":"/signing?uid=yluDqypoiiWtlj8M86x7HLp699r1&key=badaBoomBadaBing","social":{"github":"DabeerAzeez","instagram":"GuyInFridge","linkedIn":"https://www.linkedin.com/in/dabeerabdulazeez/","website":"abdulazd.wixsite.com/1p10portfolio"}},{"name":"Tommy Huang","images":{"regular":"https://bit.ly/3hQOJzo","silly":"https://bit.ly/3hW09Sk"},"blurb":"Tommyâbetter known as potatoes~~~~ by the people of Dota 2, Terraria, and Factorioâis an ABSOLUTE Legend! He is studying Computer Science at the University of Waterloo and lived in the weirdest room in UWP for his first year. Tommy is an avid rocketry enthusiast, having been a member of the rocketry team in high school and now at UW! He also has been biking o u t s i d e, which has been a fairly scary experience.","sharingLink":"/signing?uid=01GHzGKQMzXxU0oYDnvoU8jtvdr2&key=GOOSE","social":{"github":"TommyHuang-dev","instagram":"","linkedIn":"https://www.linkedin.com/in/tommyhuang999","website":"tommyhuang.net"}},{"name":"Janakitti Ratana-Rueangsri","images":{"regular":"https://bit.ly/3elvYBR","silly":"https://bit.ly/2B371wA"},"blurb":"Janakitti is the Gandalf of our team at Virtrolio. While a true technical and creative wizard on the keyboard and on Powerpoint, Janakitti is more importantly the rope that ties the sac together. He is currently studying Software Engineering at the University of Waterloo. In his spare time, Janakitti is known to be an extremely talented guitar player! You should also check out his extravagant website at janakitti.com","sharingLink":"/signing?uid=hTYLpcLKneOLsonAX5ZirLphc6h2&key=wizard","social":{"github":"janakitti","instagram":"janakitti","linkedIn":"https://www.linkedin.com/in/janakittiratana/","website":"janakitti.com"}},{"name":"Anthony Wang","images":{"regular":"https://bit.ly/31xUsnP","silly":"https://bit.ly/2YQTn94"},"blurb":"Anthony is the daring bug squasher and legal eagle at Virtrolio. While known for his spectacular puns and passion for extremely long hikes, he also enjoys building things ~with love~! Anthony is currently studying Software Engineering at the University of Waterloo. In his spare time, he likes to play the piano and travel (RIP). He also writes about math things, lands planes, and has made it out of REV alive.","sharingLink":"/signing?uid=fW6IT848K7SFUVbesGBzP67JIGl2&key=YpTyd3w","social":{"github":"Anthonyftwang","instagram":"itsanthonywang","linkedIn":"https://www.linkedin.com/in/anthonyftwang","website":"anthonywang.dev"}},{"name":"Kishan Manoharan","images":{"regular":"https://bit.ly/3ggfmxo","silly":"https://bit.ly/34RP2V0"},"blurb":"Kishan joined the Virtrolio team during the second round of development in 2021. Known for his addiction to Spotify\'s API, he likes developing software in his free time. He is currently studying as a Computer Program Analyst at George Brown College. As a software developer and an ex-Barista, he is always accompanied by a caffeinated drink in an unsuccessful attempt to solve his catastrophic sleep
13725schedule, but it only makes it worse.","sharingLink":"/signing?uid=GJ1uuin92HOoqwv8Nvub2Dx0ZH63&key=iWantBoba","social":{"github":"kishanmanoharan","instagram":"kish9n","linkedIn":"https://www.linkedin.com/in/kishan-manoharan-333464195/","website":"kishanm.ca"}},{"name":"John Zhou","images":{"regular":"https://bit.ly/3emaogl","silly":"https://bit.ly/2AUtyvt"},"blurb":"John is the fearless, heroic and noble soul who helped create the About and FAQ pages you see on the Virtrolio site. In his domain, all browsers are welcome (with the exception of IE11) and are served with the very best static pages. John is currently studying Computer Science at the University of Waterloo. In his spare time, John enjoys baking fresh peanut-butter chocolate chip cookies and watching MasterChef Australia. John has also been taking swimming lessons to improve his swimming skills.","sharingLink":"/signing?uid=0VKjHqwTRwNddcKkDHKyuy1wNTu2&key=itsjohnzhou","social":{"github":"johnzhoudev","instagram":"itsjon.zho","linkedIn":"https://www.linkedin.com/in/johnzhou123/","website":""}}]'); 13726 /***/ 13727 } 13728 }, 13729 /******/ 13730 function (__webpack_require__) { 13731 // webpackRuntimeModules 13732 13733 /******/ 13734 "use strict"; 13735 /******/ 13736 13737 /******/ 13738 13739 var __webpack_exec__ = function __webpack_exec__(moduleId) { 13740 return __webpack_require__(__webpack_require__.s = moduleId); 13741 }; 13742 /******/ 13743 13744 13745 __webpack_require__.O(0, ["vendor"], function () { 13746 return __webpack_exec__(14431); 13747 }); 13748 /******/ 13749 13750 13751 var __webpack_exports__ = __webpack_require__.O(); 13752 /******/ 13753 13754 }]); 13755})(); 13756//# sourceMappingURL=main-es5.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.