2 RegisterClientFormFieldOptions,
3 RegisterClientHookOptions,
4 RegisterClientRouteOptions,
5 RegisterClientSettingsScriptOptions,
6 RegisterClientVideoFieldOptions,
7 ServerConfig, SettingEntries
8 } from '@shared/models'
10 export type RegisterClientOptions = {
11 registerHook: (options: RegisterClientHookOptions) => void
13 registerVideoField: (commonOptions: RegisterClientFormFieldOptions, videoFormOptions: RegisterClientVideoFieldOptions) => void
15 registerSettingsScript: (options: RegisterClientSettingsScriptOptions) => void
17 registerClientRoute: (options: RegisterClientRouteOptions) => void
19 peertubeHelpers: RegisterClientHelpers
22 export type RegisterClientHelpers = {
23 getBaseStaticRoute: () => string
25 getBaseRouterRoute: () => string
28 getBaseWebSocketRoute: () => string
30 getBasePluginClientPath: () => string
32 isLoggedIn: () => boolean
34 getAuthHeader: () => { 'Authorization': string } | undefined
36 getSettings: () => Promise<SettingEntries>
38 getServerConfig: () => Promise<ServerConfig>
41 info: (text: string, title?: string, timeout?: number) => void
42 error: (text: string, title?: string, timeout?: number) => void
43 success: (text: string, title?: string, timeout?: number) => void
50 cancel?: { value: string, action?: () => void }
51 confirm?: { value: string, action?: () => void }
55 textMarkdownToHTML: (textMarkdown: string) => Promise<string>
56 enhancedMarkdownToHTML: (enhancedMarkdown: string) => Promise<string>
59 translate: (toTranslate: string) => Promise<string>