X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fmisc%2Futils.ts;h=5525e4efbd28b1b1de4c9374671f955d8d066c6f;hb=8b0d42ee372de6589796be26b83e5bffb1b69cdf;hp=2b5c3686ebf10add63d088c6376e20acfa1cd099;hpb=f3aaa9a95cc2b61f1f255472d7014d08faa66561;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/misc/utils.ts b/client/src/app/shared/misc/utils.ts index 2b5c3686e..5525e4efb 100644 --- a/client/src/app/shared/misc/utils.ts +++ b/client/src/app/shared/misc/utils.ts @@ -1,5 +1,7 @@ // Thanks: https://stackoverflow.com/questions/901115/how-can-i-get-query-string-values-in-javascript +import { AuthService } from '../../core/auth' + function getParameterByName (name: string, url: string) { if (!url) url = window.location.href name = name.replace(/[\[\]]/g, '\\$&') @@ -13,6 +15,31 @@ function getParameterByName (name: string, url: string) { return decodeURIComponent(results[2].replace(/\+/g, ' ')) } +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.name })) + + return res() + } + ) + }) +} + export { - getParameterByName + viewportHeight, + getParameterByName, + populateAsyncUserVideoChannels }