Add "Create client page" plugin doc
This commit is contained in:
parent
5097cbda4a
commit
3c33d71474
1 changed files with 36 additions and 24 deletions
|
@ -16,11 +16,10 @@
|
|||
- [Add new transcoding profiles](#add-new-transcoding-profiles)
|
||||
- [Server helpers](#server-helpers)
|
||||
- [Client API (themes & plugins)](#client-api-themes--plugins)
|
||||
- [Plugin static route](#plugin-static-route)
|
||||
- [Get plugin static and router routes](#get-plugin-static-and-router-routes)
|
||||
- [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)
|
||||
|
@ -30,6 +29,7 @@
|
|||
- [Plugin selector on HTML elements](#plugin-selector-on-html-elements)
|
||||
- [HTML placeholder elements](#html-placeholder-elements)
|
||||
- [Add/remove left menu links](#addremove-left-menu-links)
|
||||
- [Create client page](#create-client-page)
|
||||
- [Publishing](#publishing)
|
||||
- [Write a plugin/theme](#write-a-plugintheme)
|
||||
- [Clone the quickstart repository](#clone-the-quickstart-repository)
|
||||
|
@ -531,7 +531,7 @@ See the [plugin API reference](https://docs.joinpeertube.org/api-plugins) to see
|
|||
|
||||
### Client API (themes & plugins)
|
||||
|
||||
#### Plugin static route
|
||||
#### Get plugin static and router routes
|
||||
|
||||
To get your plugin static route:
|
||||
|
||||
|
@ -542,6 +542,24 @@ function register (...) {
|
|||
}
|
||||
```
|
||||
|
||||
And to get your plugin router route, 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))
|
||||
}
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### Notifier
|
||||
|
||||
To notify the user with the PeerTube ToastModule:
|
||||
|
@ -594,27 +612,6 @@ 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:
|
||||
|
@ -806,6 +803,21 @@ See the complete list on https://docs.joinpeertube.org/api-plugins
|
|||
|
||||
Left menu links can be filtered (add/remove a section or add/remove links) using the `filter:left-menu.links.create.result` client hook.
|
||||
|
||||
#### Create client page
|
||||
|
||||
To create a client page, register a new client route:
|
||||
|
||||
```js
|
||||
function register ({ registerClientRoute }) {
|
||||
registerClientRoute({
|
||||
route: 'my-super/route',
|
||||
onMount: ({ rootEl }) => {
|
||||
rootEl.innerHTML = 'hello'
|
||||
}
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
### Publishing
|
||||
|
||||
|
|
Loading…
Reference in a new issue