-import { RegisterClientHookOptions } from '@shared/models/plugins/register-client-hook.model'
+import {
+ RegisterClientFormFieldOptions,
+ RegisterClientHookOptions,
+ RegisterClientRouteOptions,
+ RegisterClientSettingsScriptOptions,
+ RegisterClientVideoFieldOptions,
+ ServerConfig, SettingEntries
+} from '@shared/models'
export type RegisterClientOptions = {
registerHook: (options: RegisterClientHookOptions) => void
+ registerVideoField: (commonOptions: RegisterClientFormFieldOptions, videoFormOptions: RegisterClientVideoFieldOptions) => void
+
+ registerSettingsScript: (options: RegisterClientSettingsScriptOptions) => void
+
+ registerClientRoute: (options: RegisterClientRouteOptions) => void
+
peertubeHelpers: RegisterClientHelpers
}
export type RegisterClientHelpers = {
getBaseStaticRoute: () => string
+ getBaseRouterRoute: () => string
+
+ getBasePluginClientPath: () => string
+
isLoggedIn: () => boolean
- getSettings: () => Promise<{ [ name: string ]: string }>
+ getAuthHeader: () => { 'Authorization': string } | undefined
+
+ getSettings: () => Promise<SettingEntries>
+
+ getServerConfig: () => Promise<ServerConfig>
notifier: {
- info: (text: string, title?: string, timeout?: number) => void,
- error: (text: string, title?: string, timeout?: number) => void,
+ info: (text: string, title?: string, timeout?: number) => void
+ error: (text: string, title?: string, timeout?: number) => void
success: (text: string, title?: string, timeout?: number) => void
}
showModal: (input: {
- title: string,
- content: string,
- close?: boolean,
- cancel?: { value: string, action?: () => void },
+ title: string
+ content: string
+ close?: boolean
+ cancel?: { value: string, action?: () => void }
confirm?: { value: string, action?: () => void }
}) => void
+ markdownRenderer: {
+ textMarkdownToHTML: (textMarkdown: string) => Promise<string>
+ enhancedMarkdownToHTML: (enhancedMarkdown: string) => Promise<string>
+ }
+
translate: (toTranslate: string) => Promise<string>
}