@posiwise/common-services 0.1.79 → 0.1.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/esm2022/index.mjs
CHANGED
|
@@ -5,6 +5,7 @@ export * from './lib/google-analytics.service';
|
|
|
5
5
|
export * from './lib/script-loader.service';
|
|
6
6
|
export * from './lib/base-http.service';
|
|
7
7
|
export * from './lib/common-services.module';
|
|
8
|
+
export * from './lib/seo.service';
|
|
8
9
|
export * from './lib/main-api-http.service';
|
|
9
10
|
export * from './lib/permission.service';
|
|
10
11
|
export * from './lib/toast.service';
|
|
@@ -43,4 +44,4 @@ export * from './lib/logo-caching.service';
|
|
|
43
44
|
export * from './lib/hopscotch.service';
|
|
44
45
|
export * from './lib/brain.service';
|
|
45
46
|
export * from './lib/brain-api-http.service';
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwdy1zZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jhc2UtaHR0cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbW1vbi1zZXJ2aWNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VvLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbWFpbi1hcGktaHR0cC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Blcm1pc3Npb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2F1dGguc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VjdXJlLXRva2VuLXN0b3JhZ2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlZ3JhdGlvbnMtYXBpLWh0dHAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9saW5rLWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jdXN0b20tcHJlbG9hZGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FiLXRlc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9nZW8uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9maWxlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvZHVjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZhbGlkYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLWhlbHBlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fob3kuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21tb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLWZvcm1hdHRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByaW1lTmdIZWxwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFnLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGlwcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3dpbmRvdy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2dyb3VwLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVhbGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21haWxib3guc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zb2NrZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9lZmZlY3RzL3VzZXIuZWZmZWN0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRhLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbnVtYmVyLXBpY2tlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbnRyeS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvZ28tY2FjaGluZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2hvcHNjb3RjaC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2JyYWluLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJhaW4tYXBpLWh0dHAuc2VydmljZSc7XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Meta, Title } from '@angular/platform-browser';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/platform-browser";
|
|
5
|
+
export class SeoService {
|
|
6
|
+
constructor(meta, titleService) {
|
|
7
|
+
this.meta = meta;
|
|
8
|
+
this.titleService = titleService;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Set SEO metadata for a page
|
|
12
|
+
* @param title - Page title
|
|
13
|
+
* @param description - Meta description
|
|
14
|
+
* @param keywords - Meta keywords (optional)
|
|
15
|
+
*/
|
|
16
|
+
setSEO(title, description, keywords) {
|
|
17
|
+
// Set page title
|
|
18
|
+
this.titleService.setTitle(title);
|
|
19
|
+
// Set meta description
|
|
20
|
+
this.meta.updateTag({ name: 'description', content: description });
|
|
21
|
+
// Set keywords if provided
|
|
22
|
+
if (keywords) {
|
|
23
|
+
this.meta.updateTag({ name: 'keywords', content: keywords });
|
|
24
|
+
}
|
|
25
|
+
// Set Open Graph tags
|
|
26
|
+
this.meta.updateTag({ property: 'og:title', content: title });
|
|
27
|
+
this.meta.updateTag({ property: 'og:description', content: description });
|
|
28
|
+
this.meta.updateTag({ property: 'og:type', content: 'website' });
|
|
29
|
+
// Set Twitter Card tags
|
|
30
|
+
this.meta.updateTag({ name: 'twitter:title', content: title });
|
|
31
|
+
this.meta.updateTag({ name: 'twitter:description', content: description });
|
|
32
|
+
this.meta.updateTag({ name: 'twitter:card', content: 'summary' });
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SeoService, deps: [{ token: i1.Meta }, { token: i1.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
35
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SeoService, providedIn: 'root' }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SeoService, decorators: [{
|
|
38
|
+
type: Injectable,
|
|
39
|
+
args: [{
|
|
40
|
+
providedIn: 'root'
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: () => [{ type: i1.Meta }, { type: i1.Title }] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VvLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi1zZXJ2aWNlcy9zcmMvbGliL3Nlby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBS3hELE1BQU0sT0FBTyxVQUFVO0lBQ3JCLFlBQ1UsSUFBVSxFQUNWLFlBQW1CO1FBRG5CLFNBQUksR0FBSixJQUFJLENBQU07UUFDVixpQkFBWSxHQUFaLFlBQVksQ0FBTztJQUMxQixDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBYSxFQUFFLFdBQW1CLEVBQUUsUUFBaUI7UUFDMUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxDLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFbkUsMkJBQTJCO1FBQzNCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDMUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRWpFLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7K0dBakNVLFVBQVU7bUhBQVYsVUFBVSxjQUZULE1BQU07OzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2VvU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWV0YTogTWV0YSxcbiAgICBwcml2YXRlIHRpdGxlU2VydmljZTogVGl0bGVcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiBTZXQgU0VPIG1ldGFkYXRhIGZvciBhIHBhZ2VcbiAgICogQHBhcmFtIHRpdGxlIC0gUGFnZSB0aXRsZVxuICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gLSBNZXRhIGRlc2NyaXB0aW9uXG4gICAqIEBwYXJhbSBrZXl3b3JkcyAtIE1ldGEga2V5d29yZHMgKG9wdGlvbmFsKVxuICAgKi9cbiAgc2V0U0VPKHRpdGxlOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIGtleXdvcmRzPzogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gU2V0IHBhZ2UgdGl0bGVcbiAgICB0aGlzLnRpdGxlU2VydmljZS5zZXRUaXRsZSh0aXRsZSk7XG5cbiAgICAvLyBTZXQgbWV0YSBkZXNjcmlwdGlvblxuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb250ZW50OiBkZXNjcmlwdGlvbiB9KTtcblxuICAgIC8vIFNldCBrZXl3b3JkcyBpZiBwcm92aWRlZFxuICAgIGlmIChrZXl3b3Jkcykge1xuICAgICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IG5hbWU6ICdrZXl3b3JkcycsIGNvbnRlbnQ6IGtleXdvcmRzIH0pO1xuICAgIH1cblxuICAgIC8vIFNldCBPcGVuIEdyYXBoIHRhZ3NcbiAgICB0aGlzLm1ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IHRpdGxlIH0pO1xuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmRlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcHRpb24gfSk7XG4gICAgdGhpcy5tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICd3ZWJzaXRlJyB9KTtcblxuICAgIC8vIFNldCBUd2l0dGVyIENhcmQgdGFnc1xuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAndHdpdHRlcjp0aXRsZScsIGNvbnRlbnQ6IHRpdGxlIH0pO1xuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAndHdpdHRlcjpkZXNjcmlwdGlvbicsIGNvbnRlbnQ6IGRlc2NyaXB0aW9uIH0pO1xuICAgIHRoaXMubWV0YS51cGRhdGVUYWcoeyBuYW1lOiAndHdpdHRlcjpjYXJkJywgY29udGVudDogJ3N1bW1hcnknIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -18,6 +18,7 @@ import * as i2 from '@ngrx/store';
|
|
|
18
18
|
import { StoreModule } from '@ngrx/store';
|
|
19
19
|
import { INTEGRATIONS_API_PREFIX, MAIN_API_PREFIX, USER_PATH, TOKEN_HEADER_KEY, NEWSLETTER_CONFIRMATION_PATH, NEWSLETTER_UNSUBSCRIBE_PATH, CAPTCHA_VALIDATION_PATH, SOCIAL_LOGIN_PATH, TOKEN_KEY, PERMISSION_NAMES, ADMIN_SUB_MENU_WHITELIST, AB_TEST_ACTIONS, GEO_PATH, PROJECT_PATH, PRODUCT_PATH, CONTACT_US_PATH, INCIDENTS_PATH, INCIDENTS_PATH_ADMIN, NEWSLETTERS_PATH, NEWSLETTER_SUBSCRIPTION_PATH, ADMIN_FAQS_PATH, FAQS_PATH, ORGANIZATIONS_PATH, GLOBAL_SUBSCRIPTION_CONFIGS_PATH, GLOBAL_CONFIGS_PATH, USER_LOGIN_NOTIFICATION, FEEDBACK_QUESTIONS_PATH, USER_FEEDBACKS_PATH, CUSTOMER_SUPPORT_PATH, ADMIN_TAG_PATH, ADMIN_TAG_CATEGORIES_PATH, ADMIN_PATH, QUALIFICATIONS_PATH, SOCKET_TYPE, BRAIN_API_PREFIX } from '@posiwise/common-utilities';
|
|
20
20
|
import swal from 'sweetalert2';
|
|
21
|
+
import * as i1$4 from '@angular/platform-browser';
|
|
21
22
|
import cloneDeep from 'lodash/cloneDeep';
|
|
22
23
|
import pickBy from 'lodash/pickBy';
|
|
23
24
|
import * as i2$1 from 'ngx-cookie';
|
|
@@ -1150,6 +1151,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
1150
1151
|
}]
|
|
1151
1152
|
}] });
|
|
1152
1153
|
|
|
1154
|
+
class SeoService {
|
|
1155
|
+
constructor(meta, titleService) {
|
|
1156
|
+
this.meta = meta;
|
|
1157
|
+
this.titleService = titleService;
|
|
1158
|
+
}
|
|
1159
|
+
/**
|
|
1160
|
+
* Set SEO metadata for a page
|
|
1161
|
+
* @param title - Page title
|
|
1162
|
+
* @param description - Meta description
|
|
1163
|
+
* @param keywords - Meta keywords (optional)
|
|
1164
|
+
*/
|
|
1165
|
+
setSEO(title, description, keywords) {
|
|
1166
|
+
// Set page title
|
|
1167
|
+
this.titleService.setTitle(title);
|
|
1168
|
+
// Set meta description
|
|
1169
|
+
this.meta.updateTag({ name: 'description', content: description });
|
|
1170
|
+
// Set keywords if provided
|
|
1171
|
+
if (keywords) {
|
|
1172
|
+
this.meta.updateTag({ name: 'keywords', content: keywords });
|
|
1173
|
+
}
|
|
1174
|
+
// Set Open Graph tags
|
|
1175
|
+
this.meta.updateTag({ property: 'og:title', content: title });
|
|
1176
|
+
this.meta.updateTag({ property: 'og:description', content: description });
|
|
1177
|
+
this.meta.updateTag({ property: 'og:type', content: 'website' });
|
|
1178
|
+
// Set Twitter Card tags
|
|
1179
|
+
this.meta.updateTag({ name: 'twitter:title', content: title });
|
|
1180
|
+
this.meta.updateTag({ name: 'twitter:description', content: description });
|
|
1181
|
+
this.meta.updateTag({ name: 'twitter:card', content: 'summary' });
|
|
1182
|
+
}
|
|
1183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SeoService, deps: [{ token: i1$4.Meta }, { token: i1$4.Title }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1184
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SeoService, providedIn: 'root' }); }
|
|
1185
|
+
}
|
|
1186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SeoService, decorators: [{
|
|
1187
|
+
type: Injectable,
|
|
1188
|
+
args: [{
|
|
1189
|
+
providedIn: 'root'
|
|
1190
|
+
}]
|
|
1191
|
+
}], ctorParameters: () => [{ type: i1$4.Meta }, { type: i1$4.Title }] });
|
|
1192
|
+
|
|
1153
1193
|
class PermissionService {
|
|
1154
1194
|
constructor(api) {
|
|
1155
1195
|
this.api = api;
|
|
@@ -3186,5 +3226,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
3186
3226
|
* Generated bundle index. Do not edit.
|
|
3187
3227
|
*/
|
|
3188
3228
|
|
|
3189
|
-
export { AbTestService, AhoyService, AuthService, BaseHttpService, BrainApiHttpService, BrainApiService, CommonService, CommonServicesModule, CustomPreloadingStrategy, CustomToastService, DashboardService, DataService, FormHelperService, GeoService, GoogleAnalyticsService, GroupService, HopscotchService, IntegrationsApiHttpService, LinkService, LocalStorage, LogoCacheService, MailBoxService, MainApiHttpService, NgbDateCustomParserFormatter, NotificationService, NumberPickerService, PermissionService, PrimeNgHelper, ProductService, ProfileService, QualificationService, ScriptLoaderService, SecureTokenStorageService, SentryErrorHandler, SubscriptionService, TagService, TipsService, UserEffects, UserService, ValidationService, WebsocketService, WindowService };
|
|
3229
|
+
export { AbTestService, AhoyService, AuthService, BaseHttpService, BrainApiHttpService, BrainApiService, CommonService, CommonServicesModule, CustomPreloadingStrategy, CustomToastService, DashboardService, DataService, FormHelperService, GeoService, GoogleAnalyticsService, GroupService, HopscotchService, IntegrationsApiHttpService, LinkService, LocalStorage, LogoCacheService, MailBoxService, MainApiHttpService, NgbDateCustomParserFormatter, NotificationService, NumberPickerService, PermissionService, PrimeNgHelper, ProductService, ProfileService, QualificationService, ScriptLoaderService, SecureTokenStorageService, SentryErrorHandler, SeoService, SubscriptionService, TagService, TipsService, UserEffects, UserService, ValidationService, WebsocketService, WindowService };
|
|
3190
3230
|
//# sourceMappingURL=posiwise-common-services.mjs.map
|