Unverified Commit 9777fe9e authored by John Livingston's avatar John Livingston Committed by GitHub
Browse files

Adding frontend peertubeHelpers.getBaseRouterRoute. (#4153)

* Adding frontend peertubeHelpers.getBaseRouterRoute.

* Fix doctoc.
parent 63da15eb
......@@ -250,6 +250,11 @@ export class PluginService implements ClientHook {
return environment.apiUrl + `${pathPrefix}/${plugin.name}/${plugin.version}/static`
},
getBaseRouterRoute: () => {
const pathPrefix = this.getPluginPathPrefix(pluginInfo.isTheme)
return environment.apiUrl + `${pathPrefix}/${plugin.name}/${plugin.version}/router`
},
getSettings: () => {
const path = PluginService.BASE_PLUGIN_API_URL + '/' + npmName + '/public-settings'
......
......@@ -781,6 +781,8 @@ export class PeerTubeEmbed {
return {
getBaseStaticRoute: unimplemented,
getBaseRouterRoute: unimplemented,
getSettings: unimplemented,
isLoggedIn: unimplemented,
......
......@@ -19,6 +19,8 @@ export type RegisterClientOptions = {
export type RegisterClientHelpers = {
getBaseStaticRoute: () => string
getBaseRouterRoute: () => string
isLoggedIn: () => boolean
getAuthHeader: () => { 'Authorization': string } | undefined
......
......@@ -21,6 +21,7 @@
- [Notifier](#notifier)
- [Markdown Renderer](#markdown-renderer)
- [Auth header](#auth-header)
- [Plugin router route](#plugin-router-route)
- [Custom Modal](#custom-modal)
- [Translate](#translate)
- [Get public settings](#get-public-settings)
......@@ -561,6 +562,27 @@ function register (...) {
}
```
#### Plugin router route
**PeerTube >= 3.3**
To get your plugin router route, you can use `peertubeHelpers.getBaseRouterRoute()`:
```js
function register (...) {
registerHook({
target: 'action:video-watch.video.loaded',
handler: ({ video }) => {
fetch(peertubeHelpers.getBaseRouterRoute() + '/my/plugin/api', {
method: 'GET',
headers: peertubeHelpers.getAuthHeader()
}).then(res => res.json())
.then(data => console.log('Hi %s.', data))
}
})
}
```
#### Custom Modal
To show a custom modal:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment