@@ -19,7 +19,8 @@ import { Bitstream } from '../shared/bitstream.model';
1919import { DSpaceObject } from '../shared/dspace-object.model' ;
2020import { Item } from '../shared/item.model' ;
2121import {
22- getFirstCompletedRemoteData ,
22+ debounceTimeWorkaround ,
23+ getFirstCompletedRemoteData , getFirstSucceededRemoteData ,
2324 getFirstSucceededRemoteDataPayload
2425} from '../shared/operators' ;
2526import { RootDataService } from '../data/root-data.service' ;
@@ -40,6 +41,7 @@ import { getDownloadableBitstream } from '../shared/bitstream.operators';
4041import { SchemaJsonLDService } from './schema-json-ld/schema-json-ld.service' ;
4142import { ITEM } from '../shared/item.resource-type' ;
4243import { isPlatformServer } from '@angular/common' ;
44+ import { Root } from '../data/root.model' ;
4345
4446/**
4547 * The base selector function to select the metaTag section in the store
@@ -120,12 +122,19 @@ export class MetadataService {
120122 }
121123
122124 if ( routeInfo . data . value . title ) {
123- const titlePrefix = this . translate . get ( 'repository.title.prefix' ) ;
125+ const pageName$ = this . rootService . findRoot ( true ) . pipe (
126+ getFirstCompletedRemoteData ( ) ,
127+ map ( ( rootRD : RemoteData < Root > ) => rootRD . payload . dspaceName ) ,
128+ ) ;
129+
124130 const title = this . translate . get ( routeInfo . data . value . title , routeInfo . data . value ) ;
125- combineLatest ( [ titlePrefix , title ] ) . pipe ( take ( 1 ) ) . subscribe ( ( [ translatedTitlePrefix , translatedTitle ] : [ string , string ] ) => {
126- this . addMetaTag ( 'title' , translatedTitlePrefix + translatedTitle ) ;
127- this . title . setTitle ( translatedTitlePrefix + translatedTitle ) ;
128- } ) ;
131+ combineLatest ( [ pageName$ , title ] )
132+ . pipe ( take ( 1 ) )
133+ . subscribe ( ( [ translatedTitlePrefix , translatedTitle ] : [ string , string ] ) => {
134+ let finalTitle = translatedTitlePrefix + ' :: ' + translatedTitle ;
135+ this . addMetaTag ( 'title' , finalTitle ) ;
136+ this . title . setTitle ( finalTitle ) ;
137+ } ) ;
129138 }
130139 if ( routeInfo . data . value . description ) {
131140 this . translate . get ( routeInfo . data . value . description ) . pipe ( take ( 1 ) ) . subscribe ( ( translatedDescription : string ) => {
0 commit comments