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)
|
- [Add new transcoding profiles](#add-new-transcoding-profiles)
|
||||||
- [Server helpers](#server-helpers)
|
- [Server helpers](#server-helpers)
|
||||||
- [Client API (themes & plugins)](#client-api-themes--plugins)
|
- [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)
|
- [Notifier](#notifier)
|
||||||
- [Markdown Renderer](#markdown-renderer)
|
- [Markdown Renderer](#markdown-renderer)
|
||||||
- [Auth header](#auth-header)
|
- [Auth header](#auth-header)
|
||||||
- [Plugin router route](#plugin-router-route)
|
|
||||||
- [Custom Modal](#custom-modal)
|
- [Custom Modal](#custom-modal)
|
||||||
- [Translate](#translate)
|
- [Translate](#translate)
|
||||||
- [Get public settings](#get-public-settings)
|
- [Get public settings](#get-public-settings)
|
||||||
|
@ -30,6 +29,7 @@
|
||||||
- [Plugin selector on HTML elements](#plugin-selector-on-html-elements)
|
- [Plugin selector on HTML elements](#plugin-selector-on-html-elements)
|
||||||
- [HTML placeholder elements](#html-placeholder-elements)
|
- [HTML placeholder elements](#html-placeholder-elements)
|
||||||
- [Add/remove left menu links](#addremove-left-menu-links)
|
- [Add/remove left menu links](#addremove-left-menu-links)
|
||||||
|
- [Create client page](#create-client-page)
|
||||||
- [Publishing](#publishing)
|
- [Publishing](#publishing)
|
||||||
- [Write a plugin/theme](#write-a-plugintheme)
|
- [Write a plugin/theme](#write-a-plugintheme)
|
||||||
- [Clone the quickstart repository](#clone-the-quickstart-repository)
|
- [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)
|
### Client API (themes & plugins)
|
||||||
|
|
||||||
#### Plugin static route
|
#### Get plugin static and router routes
|
||||||
|
|
||||||
To get your plugin static route:
|
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
|
#### Notifier
|
||||||
|
|
||||||
To notify the user with the PeerTube ToastModule:
|
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
|
#### Custom Modal
|
||||||
|
|
||||||
To show a 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.
|
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
|
### Publishing
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue