X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fmisc%2Futils.ts;h=5525e4efbd28b1b1de4c9374671f955d8d066c6f;hb=8b0d42ee372de6589796be26b83e5bffb1b69cdf;hp=df9e0381a32c7ab2a1254104d2421b84ffd925c6;hpb=cd83ea1b908efe594c1e03f886c0dc4742b91360;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..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, '\\$&') @@ -17,7 +19,27 @@ 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 { viewportHeight, - getParameterByName + getParameterByName, + populateAsyncUserVideoChannels }