{ "version": 3, "sources": ["libs/util-errors/src/lib/transaction.ts", "apps/dashboard/src/app/error/error.component.ts", "apps/dashboard/src/app/error/error.component.html"], "sourcesContent": ["// Generate a unique transaction ID for errors\nconst transactionId = Math.random().toString(36).substr(2, 9);\n\nexport function getTransactionId(): string {\n return transactionId;\n}\n", "import { CommonModule } from '@angular/common';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\nimport { ErrorService, getTransactionId } from '@sites/util-errors';\n\nexport enum ErrorType {\n UNKNOWN = 'unknown',\n NOT_FOUND = 'not-found',\n UNAUTHORIZED = 'unauthorized',\n PERMISSION_DENIED = 'permission-denied',\n}\n\n@Component({\n selector: 'dashboard-error',\n templateUrl: './error.component.html',\n standalone: true,\n imports: [CommonModule, RouterModule],\n})\nexport class ErrorComponent implements OnInit {\n errorType: ErrorType = ErrorType.UNKNOWN;\n types = ErrorType;\n id = getTransactionId();\n timestamp = new Date().toUTCString();\n errorMessage = '';\n mailTo = '';\n\n constructor(\n private route: ActivatedRoute,\n private errorService: ErrorService\n ) {\n this.route.url.subscribe((url) => {\n const path = url[0]?.path || 'error';\n this.errorType = this.parsePath(path);\n });\n }\n\n ngOnInit() {\n this.errorMessage = this.errorService.getLastMessage();\n this.mailTo = this.generateMailTo();\n }\n\n private parsePath(path: string): ErrorType {\n switch (path) {\n case 'error':\n return ErrorType.UNKNOWN;\n case 'denied':\n return ErrorType.PERMISSION_DENIED;\n case 'unauthorized':\n return ErrorType.UNAUTHORIZED;\n default:\n return ErrorType.NOT_FOUND;\n }\n }\n\n private generateMailTo(): string {\n const email = 'support@humanmademachine.com';\n const subject = `Help with ${this.errorType} ${this.id} on ${this.timestamp}`;\n\n return `mailto:${email}?subject=${subject}`;\n }\n}\n", "\n
\n
\n
\n @switch (errorType) {\n @case (types.NOT_FOUND) {\n \n }\n @case (types.UNAUTHORIZED) {\n \n }\n @case (types.PERMISSION_DENIED) {\n \n }\n @default {\n \n }\n }\n
\n
\n Contact support\n \n
\n \n
\n
\n\n\n\n

Error

\n

You've hit an error which wasn't handled.

\n

\n Email support@humanmademachine.com\n with code\n {{ id }}\n who will be able to help with the issue.\n

\n
\n\n\n

Not Found

\n

There is nothing on this page.

\n

\n Email support@humanmademachine.com\n with code\n {{ id }}\n who might be able to find what you were looking for.\n

\n\n\n\n

Permission Denied

\n

You don't have access to this.

\n

\n Email support@humanmademachine.com\n with code\n {{ id }}\n who might be able to give you permission to see it.\n

\n\n\n\n

Unauthorised

\n

We were unable to log you in.

\n

\n Email support@humanmademachine.com\n with code\n {{ id }}\n who will be able to help get you access.\n

\n\n"], "mappings": "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", "names": ["transactionId", "Math", "random", "toString", "substr", "getTransactionId", "\u0275\u0275elementContainer", "\u0275\u0275property", "notFound_r1", "unauthorised_r2", "permissionDenied_r3", "error_r4", "\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "ctx_r4", "errorMessage", "\u0275\u0275propertyInterpolate", "mailTo", "\u0275\u0275sanitizeUrl", "id", "ErrorType", "ErrorComponent", "constructor", "route", "errorService", "errorType", "UNKNOWN", "types", "getTransactionId", "timestamp", "Date", "toUTCString", "url", "subscribe", "path", "parsePath", "ngOnInit", "getLastMessage", "generateMailTo", "PERMISSION_DENIED", "UNAUTHORIZED", "NOT_FOUND", "email", "subject", "\u0275\u0275directiveInject", "ActivatedRoute", "ErrorService", "selectors", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "\u0275\u0275template", "ErrorComponent_Case_4_Template", "ErrorComponent_Case_5_Template", "ErrorComponent_Case_6_Template", "ErrorComponent_Case_7_Template", "ErrorComponent_Conditional_14_Template", "ErrorComponent_ng_template_17_Template", "\u0275\u0275templateRefExtractor", "ErrorComponent_ng_template_19_Template", "ErrorComponent_ng_template_21_Template", "ErrorComponent_ng_template_23_Template", "\u0275\u0275conditional", "tmp_4_0", "\u0275\u0275pureFunction0", "_c0", "CommonModule", "NgTemplateOutlet", "RouterModule", "RouterLink", "encapsulation"] }