]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/types/register-client-option.model.ts
Plugins can register html/select settings
[github/Chocobozzz/PeerTube.git] / client / src / types / register-client-option.model.ts
1 import { RegisterClientFormFieldOptions, RegisterClientVideoFieldOptions } from '@shared/models/plugins/register-client-form-field.model'
2 import { RegisterClientHookOptions } from '@shared/models/plugins/register-client-hook.model'
3 import { ServerConfig } from '@shared/models/server'
4
5 export type RegisterClientOptions = {
6 registerHook: (options: RegisterClientHookOptions) => void
7
8 registerVideoField: (commonOptions: RegisterClientFormFieldOptions, videoFormOptions: RegisterClientVideoFieldOptions) => void
9
10 peertubeHelpers: RegisterClientHelpers
11 }
12
13 export type RegisterClientHelpers = {
14 getBaseStaticRoute: () => string
15
16 isLoggedIn: () => boolean
17
18 getSettings: () => Promise<{ [ name: string ]: string }>
19
20 getServerConfig: () => Promise<ServerConfig>
21
22 notifier: {
23 info: (text: string, title?: string, timeout?: number) => void,
24 error: (text: string, title?: string, timeout?: number) => void,
25 success: (text: string, title?: string, timeout?: number) => void
26 }
27
28 showModal: (input: {
29 title: string,
30 content: string,
31 close?: boolean,
32 cancel?: { value: string, action?: () => void },
33 confirm?: { value: string, action?: () => void }
34 }) => void
35
36 markdownRenderer: {
37 textMarkdownToHTML: (textMarkdown: string) => Promise<string>
38 enhancedMarkdownToHTML: (enhancedMarkdown: string) => Promise<string>
39 }
40
41 translate: (toTranslate: string) => Promise<string>
42 }