X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=client%2Fsrc%2Fapp%2Fshared%2Fmisc%2Futils.ts;h=23b46812b5a330e77abe7f83db087d7a2f10d83d;hb=60650c77c8a2a98e92d869b237ae4900f369a8fc;hp=df9e0381a32c7ab2a1254104d2421b84ffd925c6;hpb=fada8d75550dc7365f7e18ee1569b9406251d660;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/misc/utils.ts b/client/src/app/shared/misc/utils.ts index df9e0381a..23b46812b 100644 --- a/client/src/app/shared/misc/utils.ts +++ b/client/src/app/shared/misc/utils.ts @@ -1,5 +1,8 @@ // Thanks: https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript +import { environment } from '../../../environments/environment' +import { AuthService } from '../../core/auth' + function getParameterByName (name: string, url: string) { if (!url) url = window.location.href name = name.replace(/[\[\]]/g, '\\$&') @@ -17,7 +20,38 @@ function viewportHeight () { return Math.max(document.documentElement.clientHeight, window.innerHeight || 0) } +function populateAsyncUserVideoChannels (authService: AuthService, channel: any[]) { + return new Promise(res => { + authService.userInformationLoaded + .subscribe( + () => { + const user = authService.getUser() + if (!user) return + + const videoChannels = user.videoChannels + if (Array.isArray(videoChannels) === false) return + + videoChannels.forEach(c => channel.push({ id: c.id, label: c.displayName })) + + return res() + } + ) + }) +} + +function getAbsoluteAPIUrl () { + let absoluteAPIUrl = environment.apiUrl + if (!absoluteAPIUrl) { + // The API is on the same domain + absoluteAPIUrl = window.location.origin + } + + return absoluteAPIUrl +} + export { viewportHeight, - getParameterByName + getParameterByName, + populateAsyncUserVideoChannels, + getAbsoluteAPIUrl }