From 93366a9e111e39a5d63b0853dd793a8f3d51c677 Mon Sep 17 00:00:00 2001 From: Zurab Developer <75216044+ZurabDev@users.noreply.github.com> Date: Fri, 7 Jun 2024 09:32:39 +0300 Subject: [PATCH] fix(doc): version detection on doc.zyfra or prizm.site #1133 --- apps/doc/src/app/version-manager/util.ts | 7 +++ .../version-manager.component.ts | 7 +-- .../app/version-manager/versions.constants.ts | 61 +++---------------- 3 files changed, 17 insertions(+), 58 deletions(-) create mode 100644 apps/doc/src/app/version-manager/util.ts diff --git a/apps/doc/src/app/version-manager/util.ts b/apps/doc/src/app/version-manager/util.ts new file mode 100644 index 0000000000..003ded1d46 --- /dev/null +++ b/apps/doc/src/app/version-manager/util.ts @@ -0,0 +1,7 @@ +export function isInnerDoc() { + return window.location.host.includes('doc.prizm.site'); +} + +export function getDocSite(innerSite: string, tempSite: string) { + return new URL(isInnerDoc() ? innerSite : tempSite); +} diff --git a/apps/doc/src/app/version-manager/version-manager.component.ts b/apps/doc/src/app/version-manager/version-manager.component.ts index e344f2aa55..addb8fa1f7 100644 --- a/apps/doc/src/app/version-manager/version-manager.component.ts +++ b/apps/doc/src/app/version-manager/version-manager.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, Inject, OnInit } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { Router } from '@angular/router'; import { LOCATION } from '@ng-web-apis/common'; @@ -12,7 +12,6 @@ import { import { PRIZM_CURRENT_VERSION } from './current.const'; import { LanguageManagerService } from './language-manager.service'; import { PrizmLanguageSwitcher } from '@prizm-ui/i18n'; -import { tap } from 'rxjs/operators'; @Component({ selector: 'prizm-version-manager', @@ -44,7 +43,7 @@ export class VersionManagerComponent { if (this.locationRef.hostname !== 'localhost') { this.initialVersion = this.versions.find(version => - [version.link, ...version.otherLinks].find( + [version.link(), ...version.otherLinks].find( i => this.locationRef.hostname === i.hostname || version.cb?.(this.locationRef.hostname, version) ) ) ?? null; @@ -55,7 +54,7 @@ export class VersionManagerComponent { if (version.baseHref) { return `${this.locationRef.origin}/${version.baseHref}${this.router.url}${this.locationRef.search}`; } else { - return version.link?.href; + return version.link()?.href; } } diff --git a/apps/doc/src/app/version-manager/versions.constants.ts b/apps/doc/src/app/version-manager/versions.constants.ts index f460acc600..3b9019b501 100644 --- a/apps/doc/src/app/version-manager/versions.constants.ts +++ b/apps/doc/src/app/version-manager/versions.constants.ts @@ -1,8 +1,9 @@ import { PrizmLanguageName } from '@prizm-ui/i18n'; +import { getDocSite } from './util'; export interface PrizmVersionMeta { label: string; - link: URL; + link: () => URL; stackblitz: string | null; otherLinks: URL[]; version?: string; @@ -30,7 +31,8 @@ export const PRIZM_VERSIONS_META: readonly PrizmVersionMeta[] = [ label: '4.3.1 (ng17)', version: '4.3.1', stackblitz: 'https://stackblitz.com/edit/prizm-v4-demo', - link: new URL('http://prizm.site'), + link: getDocSite.bind(null, 'https://doc.prizm.zyfra.com', 'http://prizm.site'), + otherLinks: [new URL('https://prizm-v4.web.app')], cb: (hostName: string, current: PrizmVersionMeta) => { return hostName.startsWith('prizm-v4--'); @@ -40,7 +42,7 @@ export const PRIZM_VERSIONS_META: readonly PrizmVersionMeta[] = [ label: '3.12.0 (ng16)', version: '3.12.0', stackblitz: 'https://stackblitz.com/edit/prizm-v2-demo', - link: new URL('https://prizm-v3.web.app'), + link: getDocSite.bind(null, 'http://3.12.0.doc.prizm.site', 'https://prizm-v3.web.app'), otherLinks: [], cb: (hostName: string, current: PrizmVersionMeta) => { return hostName.startsWith('prizm-v3--'); @@ -50,7 +52,7 @@ export const PRIZM_VERSIONS_META: readonly PrizmVersionMeta[] = [ label: '2.13.0 (ng15)', version: '2.13.0', stackblitz: 'https://stackblitz.com/edit/prizm-v2-demo', - link: new URL('https://prizm-v2.web.app'), + link: getDocSite.bind(null, 'http://2.13.0.doc.prizm.site', 'https://prizm-v2.web.app'), otherLinks: [], cb: (hostName: string, current: PrizmVersionMeta) => { return hostName.startsWith('prizm-v2--'); @@ -60,59 +62,10 @@ export const PRIZM_VERSIONS_META: readonly PrizmVersionMeta[] = [ label: '1.16.0 (ng14)', version: '1.16.0', stackblitz: 'https://stackblitz.com/edit/prizm-v1-demo', - link: new URL('https://prizm-v1.web.app'), + link: getDocSite.bind(null, 'http://1.16.0.doc.prizm.site', 'https://prizm-v1.web.app'), otherLinks: [], cb: (hostName: string, current: PrizmVersionMeta) => { return hostName.startsWith('prizm-v1--'); }, }, - { - label: '4.3.1-next (ng16)', - version: '4.3.1-next', - stackblitz: 'https://stackblitz.com/edit/prizm-v4-next-demo', - link: new URL('https://prizm-v4-next.web.app'), - otherLinks: [], - }, - { - label: '3.12.0-next (ng16)', - version: '3.12.0-next', - stackblitz: 'https://stackblitz.com/edit/prizm-v3-next-demo', - link: new URL('https://prizm-v3-next.web.app'), - otherLinks: [], - }, - { - label: '2.13.0-next (ng15)', - stackblitz: 'https://stackblitz.com/edit/prizm-v2-next-demo', - version: '2.13.0-next', - link: new URL('https://prizm-v2-next.web.app'), - otherLinks: [], - }, - { - label: '1.16.0-next (ng14)', - version: '1.16.0-next', - stackblitz: 'https://stackblitz.com/edit/prizm-v1-next-demo', - link: new URL('https://prizm-v1-next.web.app'), - otherLinks: [], - }, - // { - // label: '3.9.0-beta (ng16)', - // version: '3.9.0-beta', - // stackblitz: 'https://stackblitz.com/edit/prizm-v3-beta-demo', - // link: new URL('https://prizm-v3-beta.web.app'), - // otherLinks: [], - // }, - // { - // label: '2.10.0-beta (ng15)', - // version: '2.10.0-beta', - // stackblitz: 'https://stackblitz.com/edit/prizm-v2-beta-demo', - // link: new URL('https://prizm-v2-beta.web.app'), - // otherLinks: [], - // }, - // { - // label: '1.13.0-beta (ng14)', - // version: '1.13.0-beta', - // stackblitz: 'https://stackblitz.com/edit/prizm-v1-beta-demo', - // link: new URL('https://prizm-v1-beta.web.app'), - // otherLinks: [], - // }, ];