Add "Create client page" plugin doc

pull/4711/head
Chocobozzz 2022-01-10 11:38:58 +01:00
parent 5097cbda4a
commit 3c33d71474
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
1 changed files with 36 additions and 24 deletions

View File

@ -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