diff --git a/e2e-tests/cypress/eslint.config.mjs b/e2e-tests/cypress/eslint.config.mjs index b4f00d7dbb5..19baa6d35c6 100644 --- a/e2e-tests/cypress/eslint.config.mjs +++ b/e2e-tests/cypress/eslint.config.mjs @@ -42,7 +42,7 @@ export default [ 'cypress/unsafe-to-chain-command': 0, 'func-names': 0, 'global-require': 0, - 'lines-around-comment': 0, + '@stylistic/lines-around-comment': 0, 'max-nested-callbacks': 0, 'no-await-in-loop': 0, 'no-loop-func': 0, @@ -77,8 +77,8 @@ export default [ ], 'import/no-unresolved': 'off', 'max-lines': ['warn', {max: 800, skipBlankLines: true, skipComments: true}], - 'eol-last': ['error', 'always'], - 'no-trailing-spaces': 'error', + '@stylistic/eol-last': ['error', 'always'], + '@stylistic/no-trailing-spaces': 'error', }, }, ]; diff --git a/e2e-tests/cypress/tests/integration/channels/channel_sidebar/helpers.ts b/e2e-tests/cypress/tests/integration/channels/channel_sidebar/helpers.ts index 4ae3b8ecb70..8b1fa75df1a 100644 --- a/e2e-tests/cypress/tests/integration/channels/channel_sidebar/helpers.ts +++ b/e2e-tests/cypress/tests/integration/channels/channel_sidebar/helpers.ts @@ -8,7 +8,7 @@ type ClickCategoryMenuItemProps = { menuItemText: string; categoryMenuButtonName?: string; isSubMenu?: boolean; -} +}; export function clickCategoryMenuItem({categoryDisplayName, menuItemText, categoryMenuButtonName = categoryDisplayName, isSubMenu = false}: ClickCategoryMenuItemProps) { cy.get('#SidebarContainer').should('be.visible').within(() => { diff --git a/e2e-tests/cypress/tests/integration/channels/enterprise/cloud/billing/notify_admin_spec.ts b/e2e-tests/cypress/tests/integration/channels/enterprise/cloud/billing/notify_admin_spec.ts index 1421bee2535..843c68ecdfa 100644 --- a/e2e-tests/cypress/tests/integration/channels/enterprise/cloud/billing/notify_admin_spec.ts +++ b/e2e-tests/cypress/tests/integration/channels/enterprise/cloud/billing/notify_admin_spec.ts @@ -15,7 +15,7 @@ import {newTestPassword} from '@/utils'; const admin = getAdminAccount(); -interface Subscription{ +interface Subscription { id: string; product_id: string; is_free_trial: string; @@ -23,9 +23,9 @@ interface Subscription{ } interface Limits { - messages?: { history: number }; - teams?: { active: number; teamsLoaded: boolean }; - files?: { total_storage: number }; + messages?: {history: number}; + teams?: {active: number; teamsLoaded: boolean}; + files?: {total_storage: number}; } function simulateFilesLimitReached(fileStorageUsageBytes: number) { @@ -85,7 +85,7 @@ function simulateSubscription(subscription: Partial, withLimits = } } -function createUsersProcess(team: { id: string }, channel: { id: string }, times: number) { +function createUsersProcess(team: {id: string}, channel: {id: string}, times: number) { const users: Cypress.UserProfile[] = []; for (let i = 0; i < times; i++) { cy.apiCreateUser({prefix: 'other'}).then(({user}) => { diff --git a/e2e-tests/cypress/tests/integration/channels/enterprise/elasticsearch_autocomplete/system_console_spec.ts b/e2e-tests/cypress/tests/integration/channels/enterprise/elasticsearch_autocomplete/system_console_spec.ts index 444a726a718..bb96208d147 100644 --- a/e2e-tests/cypress/tests/integration/channels/enterprise/elasticsearch_autocomplete/system_console_spec.ts +++ b/e2e-tests/cypress/tests/integration/channels/enterprise/elasticsearch_autocomplete/system_console_spec.ts @@ -67,8 +67,8 @@ describe('Elasticsearch system console', () => { return cy.get('@firstRow').then((el) => { return el.find('.status-icon-success').length > 0; }); - } - , { + }, + { timeout: TIMEOUTS.FIVE_MIN, interval: TIMEOUTS.TWO_SEC, errorMsg: 'Reindex did not succeed in time', diff --git a/e2e-tests/cypress/tests/integration/channels/enterprise/ldap/ldap_guest_spec.ts b/e2e-tests/cypress/tests/integration/channels/enterprise/ldap/ldap_guest_spec.ts index 3402b78958d..616b223e6c9 100644 --- a/e2e-tests/cypress/tests/integration/channels/enterprise/ldap/ldap_guest_spec.ts +++ b/e2e-tests/cypress/tests/integration/channels/enterprise/ldap/ldap_guest_spec.ts @@ -271,12 +271,12 @@ function demoteUserToGuest(user: Record) { }); } -function removeUserFromAllTeams(user: { id: string }) { +function removeUserFromAllTeams(user: {id: string}) { // # Get all teams of a user cy.apiGetTeamsForUser(user.id).then((teams) => { // # Remove user from all the teams if (teams.length > 0) { - teams.forEach((team: { id: string }) => { + teams.forEach((team: {id: string}) => { cy.apiDeleteUserFromTeam(team.id, user.id); }); } diff --git a/e2e-tests/cypress/tests/plugins/external_request.ts b/e2e-tests/cypress/tests/plugins/external_request.ts index 78f2121329b..c5fbd654813 100644 --- a/e2e-tests/cypress/tests/plugins/external_request.ts +++ b/e2e-tests/cypress/tests/plugins/external_request.ts @@ -6,7 +6,7 @@ import axios from 'axios'; import * as timeouts from '../fixtures/timeouts'; -export interface ExternalRequestUser{ +export interface ExternalRequestUser { username: string; password: string; } @@ -17,7 +17,7 @@ interface ExternalRequestArg { path: string; data: any; } -type ExternalRequestResult = { status: number; statusText: string; data: any; isError?: boolean } | { data: { id: string; isTimeout: boolean }; status?: undefined; statusText?: undefined; isError?: undefined }; +type ExternalRequestResult = {status: number; statusText: string; data: any; isError?: boolean} | {data: {id: string; isTimeout: boolean}; status?: undefined; statusText?: undefined; isError?: undefined}; export default async function externalRequest(arg: ExternalRequestArg): Promise { const {baseUrl, user, method = 'get', path, data = {}} = arg; const loginUrl = `${baseUrl}/api/v4/users/login`; diff --git a/e2e-tests/cypress/tests/support/api_commands.ts b/e2e-tests/cypress/tests/support/api_commands.ts index 188b10c6e36..02795c8aeb9 100644 --- a/e2e-tests/cypress/tests/support/api_commands.ts +++ b/e2e-tests/cypress/tests/support/api_commands.ts @@ -17,7 +17,7 @@ import type {ChainableT, ResponseT} from '@/types'; // https://api.mattermost.com/#tag/commands // ***************************************************************************** -type CypressResponseBody = Cypress.Response +type CypressResponseBody = Cypress.Response; function apiCreateCommand(command: Record = {}): Cypress.Chainable<{data: CypressResponseBody['body']; status: CypressResponseBody['status']}> { const options = { url: '/api/v4/commands', diff --git a/e2e-tests/cypress/tests/support/ui_commands.ts b/e2e-tests/cypress/tests/support/ui_commands.ts index f25d49fc718..570e2d099ad 100644 --- a/e2e-tests/cypress/tests/support/ui_commands.ts +++ b/e2e-tests/cypress/tests/support/ui_commands.ts @@ -543,8 +543,8 @@ function checkRunLDAPSync() { return cy.get('@firstRow').then((el) => { return el.find('.status-icon-success').length > 0; }); - } - , { + }, + { timeout: TIMEOUTS.FIVE_MIN, interval: TIMEOUTS.TWO_SEC, errorMsg: 'AD/LDAP Sync Job did not finish', diff --git a/e2e-tests/playwright/eslint.config.mjs b/e2e-tests/playwright/eslint.config.mjs index 2cd60fd513f..12bb129e9f5 100644 --- a/e2e-tests/playwright/eslint.config.mjs +++ b/e2e-tests/playwright/eslint.config.mjs @@ -26,24 +26,24 @@ export default [ }, }, rules: { + '@stylistic/dot-location': 'off', // Covered by Prettier + '@stylistic/indent': 'off', // Covered by Prettier + '@stylistic/lines-around-comment': 'off', // Covered by Prettier + '@stylistic/multiline-ternary': 'off', // Covered by Prettier + '@stylistic/no-mixed-operators': 'off', + '@stylistic/operator-linebreak': 'off', // Covered by Prettier + '@stylistic/space-before-function-paren': 'off', // Covered by Prettier + '@stylistic/wrap-regex': 'off', // Covered by Prettier '@typescript-eslint/explicit-module-boundary-types': 'off', - '@typescript-eslint/indent': 'off', // Covered by Prettier '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-var-requires': 'off', 'func-names': 'off', - 'dot-location': 'off', // Covered by Prettier - 'lines-around-comment': 'off', // Covered by Prettier 'max-lines': ['warn', {max: 800, skipBlankLines: true, skipComments: true}], - 'multiline-ternary': 'off', // Covered by Prettier 'no-await-in-loop': 'off', 'no-console': 'error', 'no-loop-func': 0, - 'no-mixed-operators': 'off', 'no-process-env': 0, 'no-process-exit': 0, - 'operator-linebreak': 'off', // Covered by Prettier - 'space-before-function-paren': 'off', // Covered by Prettier - 'wrap-regex': 'off', // Covered by Prettier 'headers/header-format': [ 'error', { diff --git a/webapp/channels/src/actions/command.ts b/webapp/channels/src/actions/command.ts index 3fb49056071..9bff4b4a979 100644 --- a/webapp/channels/src/actions/command.ts +++ b/webapp/channels/src/actions/command.ts @@ -43,7 +43,7 @@ export type ExecuteCommandReturnType = { silentFailureReason?: Error; commandResponse?: CommandResponse; appResponse?: AppCallResponse; -} +}; export function executeCommand(message: string, args: CommandArgs): ActionFuncAsync { return async (dispatch, getState) => { diff --git a/webapp/channels/src/actions/notification_actions.tsx b/webapp/channels/src/actions/notification_actions.tsx index f7bbb430596..c06e32c04ed 100644 --- a/webapp/channels/src/actions/notification_actions.tsx +++ b/webapp/channels/src/actions/notification_actions.tsx @@ -45,7 +45,7 @@ type NotificationResult = { status: string; reason?: string; data?: string; -} +}; type NotificationHooksArgs = { title: string; @@ -54,7 +54,7 @@ type NotificationHooksArgs = { soundName: string; url: string; notify: boolean; -} +}; /** * This function is used to determine if the desktop sound is enabled. diff --git a/webapp/channels/src/actions/post_actions.ts b/webapp/channels/src/actions/post_actions.ts index 766a3aac73c..5506045a7f7 100644 --- a/webapp/channels/src/actions/post_actions.ts +++ b/webapp/channels/src/actions/post_actions.ts @@ -64,7 +64,7 @@ import type {OnSubmitOptions, SubmitPostReturnType} from './views/create_comment export type CreatePostOptions = { keepDraft?: boolean; ignorePostError?: boolean; -} +}; export function handleNewPost(post: Post, msg?: WebSocketMessages.Posted | WebSocketMessages.EphemeralPost): ActionFuncAsync { return async (dispatch, getState) => { diff --git a/webapp/channels/src/actions/views/channel.ts b/webapp/channels/src/actions/views/channel.ts index 9dca2ca578e..48113053da2 100644 --- a/webapp/channels/src/actions/views/channel.ts +++ b/webapp/channels/src/actions/views/channel.ts @@ -369,7 +369,7 @@ export interface LoadPostsReturnValue { moreToLoad: boolean; } -export type CanLoadMorePosts = typeof PostRequestTypes[keyof typeof PostRequestTypes] | undefined +export type CanLoadMorePosts = typeof PostRequestTypes[keyof typeof PostRequestTypes] | undefined; export interface LoadPostsParameters { channelId: string; diff --git a/webapp/channels/src/actions/views/create_comment.tsx b/webapp/channels/src/actions/views/create_comment.tsx index e20ae925088..5c917b80972 100644 --- a/webapp/channels/src/actions/views/create_comment.tsx +++ b/webapp/channels/src/actions/views/create_comment.tsx @@ -172,7 +172,7 @@ export type OnSubmitOptions = { afterSubmit?: (response: SubmitPostReturnType) => void; afterOptimisticSubmit?: () => void; keepDraft?: boolean; -} +}; export function onSubmit( draft: PostDraft, diff --git a/webapp/channels/src/actions/views/drafts.ts b/webapp/channels/src/actions/views/drafts.ts index 225048529a4..39849648778 100644 --- a/webapp/channels/src/actions/views/drafts.ts +++ b/webapp/channels/src/actions/views/drafts.ts @@ -26,7 +26,7 @@ type Draft = { key: keyof GlobalState['storage']['storage']; value: PostDraft; timestamp: Date; -} +}; /** * Gets drafts stored on the server and reconciles them with any locally stored drafts. @@ -87,10 +87,10 @@ export function removeDraft(key: string, channelId: string, rootId = ''): Action }; } -export function updateDraft(key: string, value: PostDraft|null, rootId = '', save = false): ActionFuncAsync { +export function updateDraft(key: string, value: PostDraft | null, rootId = '', save = false): ActionFuncAsync { return async (dispatch, getState) => { const state = getState(); - let updatedValue: PostDraft|null = null; + let updatedValue: PostDraft | null = null; if (value) { const timestamp = new Date().getTime(); const data = getGlobalItem>(state, key, {}); @@ -135,7 +135,7 @@ function upsertDraft(draft: PostDraft, userId: UserProfile['id'], rootId = '', c return Client4.upsertDraft(newDraft, connectionId); } -export function setGlobalDraft(key: string, value: PostDraft|null, isRemote: boolean): ActionFunc { +export function setGlobalDraft(key: string, value: PostDraft | null, isRemote: boolean): ActionFunc { return (dispatch) => { dispatch(setGlobalItem(key, value)); dispatch(setGlobalDraftSource(key, isRemote)); diff --git a/webapp/channels/src/actions/views/login.ts b/webapp/channels/src/actions/views/login.ts index fa7683ce1d7..3f66f138e6c 100644 --- a/webapp/channels/src/actions/views/login.ts +++ b/webapp/channels/src/actions/views/login.ts @@ -70,7 +70,7 @@ export function loginById(id: string, password: string): ActionFuncAsync { }; } -export function getUserLoginType(loginId: string): ActionFuncAsync<{auth_service: 'magic_link' | ''; is_deactivated: boolean }> { +export function getUserLoginType(loginId: string): ActionFuncAsync<{auth_service: 'magic_link' | ''; is_deactivated: boolean}> { return async (dispatch) => { try { const response = await Client4.getUserLoginType(loginId); diff --git a/webapp/channels/src/actions/views/modals.ts b/webapp/channels/src/actions/views/modals.ts index 83d4c22246f..dd1fc5a48c3 100644 --- a/webapp/channels/src/actions/views/modals.ts +++ b/webapp/channels/src/actions/views/modals.ts @@ -17,7 +17,7 @@ export function openModal

(modalData: ModalData

) { export type CloseModalType = { type: string; modalId: string; -} +}; export function closeModal(modalId: string) { return { diff --git a/webapp/channels/src/actions/views/root.ts b/webapp/channels/src/actions/views/root.ts index f9c7866d734..cb27cdbb9b0 100644 --- a/webapp/channels/src/actions/views/root.ts +++ b/webapp/channels/src/actions/views/root.ts @@ -13,7 +13,7 @@ import type {Translations} from 'types/store/i18n'; const pluginTranslationSources: Record = {}; -export type TranslationPluginFunction = (locale: string) => Translations +export type TranslationPluginFunction = (locale: string) => Translations; export function registerPluginTranslationsSource(pluginId: string, sourceFunction: TranslationPluginFunction): ThunkActionFunc { pluginTranslationSources[pluginId] = sourceFunction; diff --git a/webapp/channels/src/components/about_build_modal/about_build_modal.tsx b/webapp/channels/src/components/about_build_modal/about_build_modal.tsx index 88cf5d9eabb..1560bfe17d4 100644 --- a/webapp/channels/src/components/about_build_modal/about_build_modal.tsx +++ b/webapp/channels/src/components/about_build_modal/about_build_modal.tsx @@ -23,7 +23,7 @@ import AboutBuildModalCloud from './about_build_modal_cloud/about_build_modal_cl type SocketStatus = { connected: boolean; serverHostname: string | undefined; -} +}; type Props = { diff --git a/webapp/channels/src/components/access_history_modal/access_history_modal.tsx b/webapp/channels/src/components/access_history_modal/access_history_modal.tsx index 4f06c8cbedf..a19860d8c45 100644 --- a/webapp/channels/src/components/access_history_modal/access_history_modal.tsx +++ b/webapp/channels/src/components/access_history_modal/access_history_modal.tsx @@ -19,7 +19,7 @@ type Props = { }; userAudits: Audit[]; currentUserId: string; -} +}; const AccessHistoryModal = ({ actions: { diff --git a/webapp/channels/src/components/actions_menu/actions_menu.tsx b/webapp/channels/src/components/actions_menu/actions_menu.tsx index 5a499fa3a54..66cd284ae94 100644 --- a/webapp/channels/src/components/actions_menu/actions_menu.tsx +++ b/webapp/channels/src/components/actions_menu/actions_menu.tsx @@ -79,12 +79,12 @@ export type Props = { fetchBindings: (channelId: string, teamId: string) => Promise>; }; // TechDebt: Made non-mandatory while converting to typescript -} +}; type State = { openUp: boolean; appBindings?: AppBinding[]; -} +}; export class ActionMenuClass extends React.PureComponent { public static defaultProps: Partial = { diff --git a/webapp/channels/src/components/actions_menu/actions_menu_empty_popover.tsx b/webapp/channels/src/components/actions_menu/actions_menu_empty_popover.tsx index 491fca5940d..b3213793206 100644 --- a/webapp/channels/src/components/actions_menu/actions_menu_empty_popover.tsx +++ b/webapp/channels/src/components/actions_menu/actions_menu_empty_popover.tsx @@ -18,7 +18,7 @@ type Props = { onOpenMarketplace: () => void; onToggle: (open: boolean) => void; isOpen: boolean; -} +}; export default function ActionsMenuEmptyPopover({ anchorElement, diff --git a/webapp/channels/src/components/actions_menu/actions_menu_icon.tsx b/webapp/channels/src/components/actions_menu/actions_menu_icon.tsx index 2bfcdbe1f69..fcc585d7a8f 100644 --- a/webapp/channels/src/components/actions_menu/actions_menu_icon.tsx +++ b/webapp/channels/src/components/actions_menu/actions_menu_icon.tsx @@ -6,7 +6,7 @@ import React from 'react'; type Props = { name: string; dangerous?: boolean; -} +}; export function ActionsMenuIcon({name, dangerous}: Props) { const colorClass = dangerous ? 'MenuItem__compass-icon-dangerous' : 'MenuItem__compass-icon'; diff --git a/webapp/channels/src/components/actions_menu/actions_menu_tutorial_tip.tsx b/webapp/channels/src/components/actions_menu/actions_menu_tutorial_tip.tsx index 47a6af7510b..d4da84d0d3a 100644 --- a/webapp/channels/src/components/actions_menu/actions_menu_tutorial_tip.tsx +++ b/webapp/channels/src/components/actions_menu/actions_menu_tutorial_tip.tsx @@ -13,7 +13,7 @@ type Props = { handleOpen: (e: React.MouseEvent) => void; handleDismiss: () => void; showTip: boolean; -} +}; const title = ( Promise; }; -} +}; const ActivityLogModal = ({ currentUserId, diff --git a/webapp/channels/src/components/activity_log_modal/components/device_icon.tsx b/webapp/channels/src/components/activity_log_modal/components/device_icon.tsx index 5cced27c539..5c5a89faeb1 100644 --- a/webapp/channels/src/components/activity_log_modal/components/device_icon.tsx +++ b/webapp/channels/src/components/activity_log_modal/components/device_icon.tsx @@ -10,7 +10,7 @@ import {formatAsString} from 'utils/i18n'; type Props = { devicePicture?: string; deviceTitle: MessageDescriptor | string; -} +}; export default function DeviceIcon(props: Props) { const intl = useIntl(); diff --git a/webapp/channels/src/components/add_groups_to_channel_modal/add_groups_to_channel_modal.tsx b/webapp/channels/src/components/add_groups_to_channel_modal/add_groups_to_channel_modal.tsx index 9735fd5a213..d0419e02a01 100644 --- a/webapp/channels/src/components/add_groups_to_channel_modal/add_groups_to_channel_modal.tsx +++ b/webapp/channels/src/components/add_groups_to_channel_modal/add_groups_to_channel_modal.tsx @@ -44,7 +44,7 @@ export type Props = { getTeam: (teamId: string) => Promise; getAllGroupsAssociatedToTeam: (teamID: string, filterAllowReference: boolean, includeMemberCount: boolean) => Promise; }; -} +}; type State = { values: GroupValue[]; @@ -53,7 +53,7 @@ type State = { saving: boolean; addError: string | null; loadingGroups: boolean; -} +}; export class AddGroupsToChannelModal extends React.PureComponent { private searchTimeoutId: number; @@ -227,7 +227,7 @@ export class AddGroupsToChannelModal extends React.PureComponent { ); }; - renderValue(props: { data: Partial }) { + renderValue(props: {data: Partial}) { return props.data.display_name; } diff --git a/webapp/channels/src/components/add_groups_to_channel_modal/index.ts b/webapp/channels/src/components/add_groups_to_channel_modal/index.ts index d11315d376b..cbceedbfba8 100644 --- a/webapp/channels/src/components/add_groups_to_channel_modal/index.ts +++ b/webapp/channels/src/components/add_groups_to_channel_modal/index.ts @@ -24,7 +24,7 @@ type OwnProps = { skipCommit: boolean; onAddCallback: (groupIDs: string[]) => void; excludeGroups: Group[]; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const searchTerm = state.views.search.modalSearch; diff --git a/webapp/channels/src/components/add_groups_to_team_modal/add_groups_to_team_modal.tsx b/webapp/channels/src/components/add_groups_to_team_modal/add_groups_to_team_modal.tsx index ca1770a9f14..ba8964fa444 100644 --- a/webapp/channels/src/components/add_groups_to_team_modal/add_groups_to_team_modal.tsx +++ b/webapp/channels/src/components/add_groups_to_team_modal/add_groups_to_team_modal.tsx @@ -40,7 +40,7 @@ type Props = { skipCommit?: boolean; onAddCallback?: (groupIDs: string[]) => void; actions: Actions; -} +}; export type Actions = { getGroupsNotAssociatedToTeam: (teamID: string, q?: string, page?: number, perPage?: number, source?: GroupSource | string, onlySyncableSources?: boolean) => Promise; @@ -56,7 +56,7 @@ type State = { saving: boolean; addError: null | string; loadingGroups: boolean; -} +}; export class AddGroupsToTeamModal extends React.PureComponent { private searchTimeoutId: number; @@ -240,7 +240,7 @@ export class AddGroupsToTeamModal extends React.PureComponent { }; // public for tests - public renderValue = (props: { data: Value }): string | undefined => props.data.display_name; + public renderValue = (props: {data: Value}): string | undefined => props.data.display_name; public render(): JSX.Element { const numRemainingText = ( diff --git a/webapp/channels/src/components/add_groups_to_team_modal/index.ts b/webapp/channels/src/components/add_groups_to_team_modal/index.ts index b6c1bd1873e..22dd4e9a622 100644 --- a/webapp/channels/src/components/add_groups_to_team_modal/index.ts +++ b/webapp/channels/src/components/add_groups_to_team_modal/index.ts @@ -23,7 +23,7 @@ type Props = { skipCommit?: boolean; onAddCallback?: (groupIDs: string[]) => void; excludeGroups?: Group[]; -} +}; function mapStateToProps(state: GlobalState, ownProps: Props) { const searchTerm = state.views.search.modalSearch; diff --git a/webapp/channels/src/components/add_user_to_channel_modal/add_user_to_channel_modal.tsx b/webapp/channels/src/components/add_user_to_channel_modal/add_user_to_channel_modal.tsx index a4153ffba37..9f0c43a0736 100644 --- a/webapp/channels/src/components/add_user_to_channel_modal/add_user_to_channel_modal.tsx +++ b/webapp/channels/src/components/add_user_to_channel_modal/add_user_to_channel_modal.tsx @@ -60,7 +60,7 @@ export type Props = { autocompleteChannelsForSearch: (teamId: string, term: string) => Promise>; }; -} +}; type State = { @@ -94,7 +94,7 @@ type State = { * An error to display when the add request fails */ submitError: string; -} +}; export default class AddUserToChannelModal extends React.PureComponent { private suggestionProviders: SearchChannelWithPermissionsProvider[]; diff --git a/webapp/channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.tsx b/webapp/channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.tsx index 3337fdcc7db..b9dd357d5df 100644 --- a/webapp/channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.tsx +++ b/webapp/channels/src/components/add_user_to_group_multiselect/add_user_to_group_multiselect.tsx @@ -60,13 +60,13 @@ export type Props = { loadStatusesForProfilesList: (users: UserProfile[]) => void; searchProfiles: (term: string, options: any) => Promise; }; -} +}; type State = { values: UserProfileValue[]; term: string; loadingUsers: boolean; -} +}; export class AddUserToGroupMultiSelect extends React.PureComponent { private searchTimeoutId = 0; diff --git a/webapp/channels/src/components/add_user_to_group_multiselect/index.ts b/webapp/channels/src/components/add_user_to_group_multiselect/index.ts index 031bf4fb40f..ea9a8e3fa54 100644 --- a/webapp/channels/src/components/add_user_to_group_multiselect/index.ts +++ b/webapp/channels/src/components/add_user_to_group_multiselect/index.ts @@ -22,7 +22,7 @@ type UserProfileValue = Value & UserProfile; type OwnProps = { groupId?: string; -} +}; function mapStateToProps(state: GlobalState, props: OwnProps) { let profiles: UserProfileValue[]; diff --git a/webapp/channels/src/components/add_user_to_group_multiselect/multiselect_option/multiselect_option.tsx b/webapp/channels/src/components/add_user_to_group_multiselect/multiselect_option/multiselect_option.tsx index 2e5e909ed1b..123b325764d 100644 --- a/webapp/channels/src/components/add_user_to_group_multiselect/multiselect_option/multiselect_option.tsx +++ b/webapp/channels/src/components/add_user_to_group_multiselect/multiselect_option/multiselect_option.tsx @@ -25,7 +25,7 @@ type Props = { onMouseMove: (user: UserProfileValue) => void; userStatuses: RelationOneToOne; isSelected: boolean; -} +}; const MultiSelectOption = React.forwardRef(({ option, diff --git a/webapp/channels/src/components/add_users_to_group_modal/add_users_to_group_modal.tsx b/webapp/channels/src/components/add_users_to_group_modal/add_users_to_group_modal.tsx index 8e15f418b1d..d054e86de5b 100644 --- a/webapp/channels/src/components/add_users_to_group_modal/add_users_to_group_modal.tsx +++ b/webapp/channels/src/components/add_users_to_group_modal/add_users_to_group_modal.tsx @@ -26,7 +26,7 @@ export type Props = { addUsersToGroup: (groupId: string, userIds: string[]) => Promise; openModal:

(modalData: ModalData

) => void; }; -} +}; const AddUsersToGroupModal = (props: Props) => { const [show, setShow] = useState(true); diff --git a/webapp/channels/src/components/add_users_to_group_modal/index.ts b/webapp/channels/src/components/add_users_to_group_modal/index.ts index de398fe3dd7..de4f819392d 100644 --- a/webapp/channels/src/components/add_users_to_group_modal/index.ts +++ b/webapp/channels/src/components/add_users_to_group_modal/index.ts @@ -16,7 +16,7 @@ import AddUsersToGroupModal from './add_users_to_group_modal'; type OwnProps = { groupId: string; -} +}; function mapStateToProps(state: GlobalState, props: OwnProps) { const group = getGroup(state, props.groupId); diff --git a/webapp/channels/src/components/add_users_to_team_modal/add_users_to_team_modal.tsx b/webapp/channels/src/components/add_users_to_team_modal/add_users_to_team_modal.tsx index 5152c12dc37..c4e5b978cfd 100644 --- a/webapp/channels/src/components/add_users_to_team_modal/add_users_to_team_modal.tsx +++ b/webapp/channels/src/components/add_users_to_team_modal/add_users_to_team_modal.tsx @@ -31,8 +31,8 @@ type Props = { users: UserProfile[]; intl: IntlShape; filterExcludeGuests?: boolean; - excludeUsers: { [userId: string]: UserProfile }; - includeUsers: { [userId: string]: UserProfile }; + excludeUsers: {[userId: string]: UserProfile}; + includeUsers: {[userId: string]: UserProfile}; onAddCallback: (users: UserProfile[]) => void; onExited?: () => void; @@ -40,7 +40,7 @@ type Props = { getProfilesNotInTeam: (teamId: string, groupConstrained: boolean, page: number, perPage?: number, options?: Record) => Promise>; searchProfiles: (term: string, options?: Record) => Promise>; }; -} +}; type State = { searchResults: UserProfile[]; @@ -51,7 +51,7 @@ type State = { addError: null; loading: boolean; filterOptions: {[key: string]: any}; -} +}; export class AddUsersToTeamModal extends React.PureComponent { selectedItemRef: React.RefObject; @@ -148,7 +148,7 @@ export class AddUsersToTeamModal extends React.PureComponent { ); }; - private renderValue = (value: { data: UserProfileValue }): string => { + private renderValue = (value: {data: UserProfileValue}): string => { return value.data?.username || ''; }; diff --git a/webapp/channels/src/components/admin_console/access_control/editors/table_editor/attribute_selector_menu.tsx b/webapp/channels/src/components/admin_console/access_control/editors/table_editor/attribute_selector_menu.tsx index a24032fef18..a735e814e06 100644 --- a/webapp/channels/src/components/admin_console/access_control/editors/table_editor/attribute_selector_menu.tsx +++ b/webapp/channels/src/components/admin_console/access_control/editors/table_editor/attribute_selector_menu.tsx @@ -40,7 +40,7 @@ const AttributeLabel = ({displayName, name}: AttributeLabelProps) => ( ); // Define AttributeIcon outside the main component -const AttributeIcon = (props: IconProps & { attribute?: UserPropertyField }) => { +const AttributeIcon = (props: IconProps & {attribute?: UserPropertyField}) => { const {attribute, ...iconProps} = props; if (attribute) { const valueType = attribute.attrs?.value_type; diff --git a/webapp/channels/src/components/admin_console/access_control/modals/confirmation/confirmation_modal.tsx b/webapp/channels/src/components/admin_console/access_control/modals/confirmation/confirmation_modal.tsx index 0bb619cd7e8..04f6295589e 100644 --- a/webapp/channels/src/components/admin_console/access_control/modals/confirmation/confirmation_modal.tsx +++ b/webapp/channels/src/components/admin_console/access_control/modals/confirmation/confirmation_modal.tsx @@ -15,7 +15,7 @@ type Props = { channelsAffected: number; publicChannelsAffected?: number; privateChannelsAffected?: number; -} +}; export default function PolicyConfirmationModal({active, onExited, onConfirm, channelsAffected, publicChannelsAffected = 0, privateChannelsAffected = 0}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/access_control/modals/policy_test/test_modal.tsx b/webapp/channels/src/components/admin_console/access_control/modals/policy_test/test_modal.tsx index 8f9df2e7e9c..48ef4ceb30b 100644 --- a/webapp/channels/src/components/admin_console/access_control/modals/policy_test/test_modal.tsx +++ b/webapp/channels/src/components/admin_console/access_control/modals/policy_test/test_modal.tsx @@ -28,7 +28,7 @@ type Props = { searchUsers: (term: string, after: string, limit: number) => ActionFuncAsync; openModal?:

(modalData: ModalData

) => void; }; -} +}; function TestResultsModal({ onExited, diff --git a/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.tsx b/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.tsx index da98308289d..66d33dccf18 100644 --- a/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.tsx +++ b/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/channel_list.tsx @@ -25,7 +25,7 @@ import './channel_list.scss'; type PolicyActiveStatus = { id: string; active: boolean; -} +}; type Props = WrappedComponentProps & { channels: ChannelWithTeamData[]; @@ -45,14 +45,14 @@ type Props = WrappedComponentProps & { setChannelListSearch: (term: string) => void; setChannelListFilters: (filters: ChannelSearchOpts) => void; }; -} +}; type State = { loading: boolean; page: number; after: string; cursorHistory: string[]; -} +}; const PAGE_SIZE = 10; diff --git a/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts b/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts index c3b1d1f3853..2697db52349 100644 --- a/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts +++ b/webapp/channels/src/components/admin_console/access_control/policy_details/channel_list/index.ts @@ -23,7 +23,7 @@ type OwnProps = { policyId?: string; channelsToAdd: Record; teamId?: string; -} +}; const EMPTY_FILTERS: ChannelSearchOpts = {}; const EMPTY_SEARCH_TERM = ''; diff --git a/webapp/channels/src/components/admin_console/access_control/policy_details/index.ts b/webapp/channels/src/components/admin_console/access_control/policy_details/index.ts index 9271d7f9c83..7b827d027ce 100644 --- a/webapp/channels/src/components/admin_console/access_control/policy_details/index.ts +++ b/webapp/channels/src/components/admin_console/access_control/policy_details/index.ts @@ -21,7 +21,7 @@ type OwnProps = { policy_id: string; }; }; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const policyId = ownProps.match.params.policy_id; diff --git a/webapp/channels/src/components/admin_console/access_control/policy_details/policy_details.tsx b/webapp/channels/src/components/admin_console/access_control/policy_details/policy_details.tsx index 0c88254d576..6428df4ea09 100644 --- a/webapp/channels/src/components/admin_console/access_control/policy_details/policy_details.tsx +++ b/webapp/channels/src/components/admin_console/access_control/policy_details/policy_details.tsx @@ -46,7 +46,7 @@ interface PolicyActions { setNavigationBlocked: (blocked: boolean) => void; assignChannelsToAccessControlPolicy: (policyId: string, channelIds: string[]) => Promise; unassignChannelsFromAccessControlPolicy: (policyId: string, channelIds: string[]) => Promise; - createJob: (job: JobTypeBase & { data: any }) => Promise; + createJob: (job: JobTypeBase & {data: any}) => Promise; updateAccessControlPoliciesActive: (states: AccessControlPolicyActiveUpdate[]) => Promise; } diff --git a/webapp/channels/src/components/admin_console/admin_console.tsx b/webapp/channels/src/components/admin_console/admin_console.tsx index 32661f389b8..7b1c8619b3e 100644 --- a/webapp/channels/src/components/admin_console/admin_console.tsx +++ b/webapp/channels/src/components/admin_console/admin_console.tsx @@ -44,7 +44,7 @@ type ExtraProps = { patchConfig: (config: DeepPartial) => Promise; cloud: CloudState; isCurrentUserSystemAdmin: boolean; -} +}; /** * Focus or scroll to a provided hash for the given {@link Location}. diff --git a/webapp/channels/src/components/admin_console/admin_definition.tsx b/webapp/channels/src/components/admin_console/admin_definition.tsx index 5a1e564cf6e..9675831d5e0 100644 --- a/webapp/channels/src/components/admin_console/admin_definition.tsx +++ b/webapp/channels/src/components/admin_console/admin_definition.tsx @@ -5006,7 +5006,7 @@ const AdminDefinition: AdminDefinitionType = { id: 'OAuthSettings', name: defineMessage({id: 'admin.authentication.oauth', defaultMessage: 'OAuth 2.0'}), onConfigLoad: (config) => { - const newState: { oauthType?: string; 'GitLabSettings.Url'?: string } = {}; + const newState: {oauthType?: string; 'GitLabSettings.Url'?: string} = {}; if (config.GitLabSettings?.Enable) { newState.oauthType = Constants.GITLAB_SERVICE; } @@ -5330,7 +5330,7 @@ const AdminDefinition: AdminDefinitionType = { id: 'OpenIdSettings', name: defineMessage({id: 'admin.authentication.openid', defaultMessage: 'OpenID Connect'}), onConfigLoad: (config) => { - const newState: { openidType?: string; 'GitLabSettings.Url'?: string } = {}; + const newState: {openidType?: string; 'GitLabSettings.Url'?: string} = {}; if (config.Office365Settings?.Enable) { newState.openidType = Constants.OFFICE365_SERVICE; } diff --git a/webapp/channels/src/components/admin_console/admin_definition_helpers.tsx b/webapp/channels/src/components/admin_console/admin_definition_helpers.tsx index ca914b01e5d..e75fa3818a8 100644 --- a/webapp/channels/src/components/admin_console/admin_definition_helpers.tsx +++ b/webapp/channels/src/components/admin_console/admin_definition_helpers.tsx @@ -65,7 +65,7 @@ export const it = { return cloud?.subscription?.is_free_trial === 'true'; }, userHasReadPermissionOnResource: (key: string) => (config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess) => (consoleAccess?.read as any)?.[key], - userHasReadPermissionOnSomeResources: (key: { [key: string]: string }) => (config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess) => Object.values(key).some((resource) => (consoleAccess?.read as any)?.[resource]), + userHasReadPermissionOnSomeResources: (key: {[key: string]: string}) => (config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess) => Object.values(key).some((resource) => (consoleAccess?.read as any)?.[resource]), userHasWritePermissionOnResource: (key: string) => (config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess) => (consoleAccess?.write as any)?.[key], isSystemAdmin: (config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess, cloud?: CloudState, isSystemAdmin?: boolean) => Boolean(isSystemAdmin), }; diff --git a/webapp/channels/src/components/admin_console/admin_settings/admin_settings.tsx b/webapp/channels/src/components/admin_console/admin_settings/admin_settings.tsx index 9dabea9d4cd..bdbcfb7ed2f 100644 --- a/webapp/channels/src/components/admin_console/admin_settings/admin_settings.tsx +++ b/webapp/channels/src/components/admin_console/admin_settings/admin_settings.tsx @@ -20,7 +20,7 @@ type Props = { saving: boolean; saveNeeded: boolean; serverError?: React.ReactNode; -} +}; const AdminSettings = ({ doSubmit, diff --git a/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar.tsx b/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar.tsx index 18eac8f77e7..3734840c19a 100644 --- a/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar.tsx +++ b/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar.tsx @@ -33,7 +33,7 @@ export interface Props extends PropsFromRedux { type State = { sections: string[] | null; filter: string; -} +}; class AdminSidebar extends React.PureComponent { searchRef: React.RefObject; diff --git a/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_category.tsx b/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_category.tsx index f54cdf01d0b..7757364c72d 100644 --- a/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_category.tsx +++ b/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_category.tsx @@ -14,7 +14,7 @@ type Props = { name?: string; parentLink?: string; sectionClass?: string; -} +}; const AdminSidebarCategory = ({icon, title, action, children, definitionKey, name, parentLink = '', sectionClass}: Props) => { let link = parentLink; diff --git a/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_section.tsx b/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_section.tsx index 72d360852a6..6aa38a37cdd 100644 --- a/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_section.tsx +++ b/webapp/channels/src/components/admin_console/admin_sidebar/admin_sidebar_section.tsx @@ -19,7 +19,7 @@ type Props = { subsection?: boolean; tag?: string | JSX.Element; restrictedIndicator?: string | JSX.Element; -} +}; const AdminSidebarSection = ({name, title, action, children = [], definitionKey, type, parentLink = '', subsection = false, tag, restrictedIndicator}: Props) => { const getLink = () => parentLink + '/' + name; diff --git a/webapp/channels/src/components/admin_console/admin_sidebar_header/admin_sidebar_header.tsx b/webapp/channels/src/components/admin_console/admin_sidebar_header/admin_sidebar_header.tsx index 8ae6d13a751..627aac9d884 100644 --- a/webapp/channels/src/components/admin_console/admin_sidebar_header/admin_sidebar_header.tsx +++ b/webapp/channels/src/components/admin_console/admin_sidebar_header/admin_sidebar_header.tsx @@ -15,7 +15,7 @@ import Avatar from 'components/widgets/users/avatar'; type Props = { currentUser: UserProfile; -} +}; const SidebarHeader = ({currentUser: me}: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/admin_user_card/admin_user_card.tsx b/webapp/channels/src/components/admin_console/admin_user_card/admin_user_card.tsx index d539794b30f..02a86b6b23f 100644 --- a/webapp/channels/src/components/admin_console/admin_user_card/admin_user_card.tsx +++ b/webapp/channels/src/components/admin_console/admin_user_card/admin_user_card.tsx @@ -15,14 +15,14 @@ import './admin_user_card.scss'; type BulletProps = { user: UserProfile; -} +}; export type Props = { user?: UserProfile; isLoading?: boolean; body?: React.ReactNode; footer?: React.ReactNode; -} +}; const AdminUserCard = ({isLoading = false, ...props}: Props) => { if (!props.user || isLoading) { diff --git a/webapp/channels/src/components/admin_console/banner.tsx b/webapp/channels/src/components/admin_console/banner.tsx index 940924b2fbf..e05daa69164 100644 --- a/webapp/channels/src/components/admin_console/banner.tsx +++ b/webapp/channels/src/components/admin_console/banner.tsx @@ -7,7 +7,7 @@ import {FormattedMessage} from 'react-intl'; type Props = { title?: JSX.Element; description: JSX.Element; -} +}; const Banner: React.FC = (props: Props) => { let title = ( diff --git a/webapp/channels/src/components/admin_console/billing/billing_history_modal.tsx b/webapp/channels/src/components/admin_console/billing/billing_history_modal.tsx index 8559e219637..0da603e8933 100644 --- a/webapp/channels/src/components/admin_console/billing/billing_history_modal.tsx +++ b/webapp/channels/src/components/admin_console/billing/billing_history_modal.tsx @@ -23,7 +23,7 @@ import './billing_history.scss'; type BillingHistoryModalProps = { invoices: Invoice[] | undefined; onHide?: () => void; -} +}; const invoiceListToRecordList = (invoices: Invoice[]) => { const records = {} as Record; diff --git a/webapp/channels/src/components/admin_console/billing/billing_subscriptions/contact_sales_card.tsx b/webapp/channels/src/components/admin_console/billing/billing_subscriptions/contact_sales_card.tsx index bf09cc4dd28..70eab1e0bb1 100644 --- a/webapp/channels/src/components/admin_console/billing/billing_subscriptions/contact_sales_card.tsx +++ b/webapp/channels/src/components/admin_console/billing/billing_subscriptions/contact_sales_card.tsx @@ -17,7 +17,7 @@ type Props = { isFreeTrial: boolean; subscriptionPlan: string | undefined; onUpgradeMattermostCloud: () => void; -} +}; const ContactSalesCard = (props: Props) => { const [openSalesLink, contactSalesLink] = useOpenSalesLink(); diff --git a/webapp/channels/src/components/admin_console/billing/billing_summary/billing_summary.tsx b/webapp/channels/src/components/admin_console/billing/billing_summary/billing_summary.tsx index 4dbdc7c00b5..847e50f3611 100644 --- a/webapp/channels/src/components/admin_console/billing/billing_summary/billing_summary.tsx +++ b/webapp/channels/src/components/admin_console/billing/billing_summary/billing_summary.tsx @@ -67,7 +67,7 @@ export const noBillingHistory = ( type FreeTrialProps = { daysLeftOnTrial: number; -} +}; export const FreeTrial = ({daysLeftOnTrial}: FreeTrialProps) => { const [openSalesLink] = useOpenSalesLink(); @@ -147,7 +147,7 @@ type InvoiceInfoProps = { fullCharges: InvoiceLineItem[]; partialCharges: InvoiceLineItem[]; hasMore?: number; -} +}; export const InvoiceInfo = ({invoice, product, fullCharges, partialCharges, hasMore}: InvoiceInfoProps) => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/billing/billing_summary/index.tsx b/webapp/channels/src/components/admin_console/billing/billing_summary/index.tsx index 3d6916ad0a8..778713b169a 100644 --- a/webapp/channels/src/components/admin_console/billing/billing_summary/index.tsx +++ b/webapp/channels/src/components/admin_console/billing/billing_summary/index.tsx @@ -13,7 +13,7 @@ import './billing_summary.scss'; type BillingSummaryProps = { isFreeTrial: boolean; daysLeftOnTrial: number; -} +}; export default function BillingSummary({isFreeTrial, daysLeftOnTrial}: BillingSummaryProps) { let body = noBillingHistory; diff --git a/webapp/channels/src/components/admin_console/billing/plan_details/index.tsx b/webapp/channels/src/components/admin_console/billing/plan_details/index.tsx index 4b635970749..4a81dd0adae 100644 --- a/webapp/channels/src/components/admin_console/billing/plan_details/index.tsx +++ b/webapp/channels/src/components/admin_console/billing/plan_details/index.tsx @@ -23,7 +23,7 @@ import './plan_details.scss'; type Props = { isFreeTrial: boolean; subscriptionPlan: string | undefined; -} +}; const PlanDetails = ({isFreeTrial, subscriptionPlan}: Props) => { const subscription = useSelector(getCloudSubscription); const product = useSelector(getSubscriptionProduct); diff --git a/webapp/channels/src/components/admin_console/boolean_setting.tsx b/webapp/channels/src/components/admin_console/boolean_setting.tsx index 12900f99df5..40d9b57bee8 100644 --- a/webapp/channels/src/components/admin_console/boolean_setting.tsx +++ b/webapp/channels/src/components/admin_console/boolean_setting.tsx @@ -78,7 +78,7 @@ type Props = { setByEnv: boolean; disabledText?: React.ReactNode; helpText: React.ReactNode; -} +}; const BooleanSetting = ({ id, diff --git a/webapp/channels/src/components/admin_console/checkbox_setting.tsx b/webapp/channels/src/components/admin_console/checkbox_setting.tsx index 5d130e6d470..4d5cb111436 100644 --- a/webapp/channels/src/components/admin_console/checkbox_setting.tsx +++ b/webapp/channels/src/components/admin_console/checkbox_setting.tsx @@ -12,7 +12,7 @@ type Props = { onChange: (id: string, foo: boolean) => void; disabled?: boolean; setByEnv: boolean; -} +}; const CheckboxSetting = ({ disabled = false, diff --git a/webapp/channels/src/components/admin_console/client_side_userids_setting.tsx b/webapp/channels/src/components/admin_console/client_side_userids_setting.tsx index 81422f4dca3..15b9d759d52 100644 --- a/webapp/channels/src/components/admin_console/client_side_userids_setting.tsx +++ b/webapp/channels/src/components/admin_console/client_side_userids_setting.tsx @@ -15,11 +15,11 @@ type Props = { onChange: (id: string, valueAsArray: string[]) => void; disabled: boolean; setByEnv: boolean; -} +}; type State = { value: string; -} +}; export default class ClientSideUserIdsSetting extends PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/cluster_table.tsx b/webapp/channels/src/components/admin_console/cluster_table.tsx index 0d699433c8a..0e1817279c3 100644 --- a/webapp/channels/src/components/admin_console/cluster_table.tsx +++ b/webapp/channels/src/components/admin_console/cluster_table.tsx @@ -22,13 +22,13 @@ type Props = { schema_version: string; }>; reload: (e: MouseEvent) => void; -} +}; type Style = { clusterTable: CSSProperties; clusterCell: CSSProperties; warning: CSSProperties; -} +}; export default class ClusterTable extends PureComponent { render() { diff --git a/webapp/channels/src/components/admin_console/color_setting.tsx b/webapp/channels/src/components/admin_console/color_setting.tsx index 66b91111ba9..6ea5f56fb5c 100644 --- a/webapp/channels/src/components/admin_console/color_setting.tsx +++ b/webapp/channels/src/components/admin_console/color_setting.tsx @@ -14,7 +14,7 @@ type Props = { value: string; onChange?: (id: string, color: string) => void; disabled?: boolean; -} +}; const ColorSetting = (props: Props) => { const handleChange = useCallback((color: string) => { diff --git a/webapp/channels/src/components/admin_console/compliance_reports/compliance_reports.tsx b/webapp/channels/src/components/admin_console/compliance_reports/compliance_reports.tsx index 8d99c258dea..ef654fa1ead 100644 --- a/webapp/channels/src/components/admin_console/compliance_reports/compliance_reports.tsx +++ b/webapp/channels/src/components/admin_console/compliance_reports/compliance_reports.tsx @@ -52,12 +52,12 @@ type Props = { */ createComplianceReport: (job: Partial) => Promise>; }; -} +}; type State = { loadingReports: boolean; runningReport?: boolean; -} +}; export default class ComplianceReports extends React.PureComponent { private descInput: React.RefObject; diff --git a/webapp/channels/src/components/admin_console/content_flagging/additional_settings/additional_settings.tsx b/webapp/channels/src/components/admin_console/content_flagging/additional_settings/additional_settings.tsx index b982e3e0231..2c947898177 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/additional_settings/additional_settings.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/additional_settings/additional_settings.tsx @@ -28,12 +28,12 @@ type Props = { onChange: SystemConsoleCustomSettingChangeHandler; value: ContentFlaggingAdditionalSettings; disabled?: boolean; -} +}; export default function ContentFlaggingAdditionalSettingsSection({id, onChange, value, disabled = false}: Props) { const [additionalSettings, setAdditionalSettings] = React.useState(value as ContentFlaggingAdditionalSettings); - const handleReasonsChange = useCallback((newValues: OnChangeValue<{ value: string }, true>) => { + const handleReasonsChange = useCallback((newValues: OnChangeValue<{value: string}, true>) => { const updatedSettings: ContentFlaggingAdditionalSettings = { ...additionalSettings, Reasons: newValues.map((v) => v.value), diff --git a/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/content_reviewers.tsx b/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/content_reviewers.tsx index d09e1cb9455..afa8ab1a720 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/content_reviewers.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/content_reviewers.tsx @@ -26,7 +26,7 @@ type Props = { onChange: SystemConsoleCustomSettingChangeHandler; value: ContentFlaggingReviewerSetting; disabled?: boolean; -} +}; export default function ContentFlaggingContentReviewers({id, onChange, value, disabled = false}: Props) { const [reviewerSetting, setReviewerSetting] = useState(value as ContentFlaggingReviewerSetting); diff --git a/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/team_reviewers_section/team_reviewers_section.tsx b/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/team_reviewers_section/team_reviewers_section.tsx index bf8c2f0e62b..64acfba6dc5 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/team_reviewers_section/team_reviewers_section.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/content_reviewers/team_reviewers_section/team_reviewers_section.tsx @@ -26,7 +26,7 @@ type Props = { teamReviewersSetting: Record; onChange: (updatedTeamSettings: Record) => void; disabled?: boolean; -} +}; export default function TeamReviewers({teamReviewersSetting, onChange, disabled}: Props): JSX.Element { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/content_flagging/notificatin_settings/notification_settings.tsx b/webapp/channels/src/components/admin_console/content_flagging/notificatin_settings/notification_settings.tsx index 6cb7205d3c6..6b9bfc02f0e 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/notificatin_settings/notification_settings.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/notificatin_settings/notification_settings.tsx @@ -22,7 +22,7 @@ type Props = { onChange: SystemConsoleCustomSettingChangeHandler; value: ContentFlaggingNotificationSettings; disabled?: boolean; -} +}; export default function ContentFlaggingNotificationSettingsSection({id, value, onChange, disabled}: Props) { const [notificationSettings, setNotificationSettings] = useState(value as ContentFlaggingNotificationSettings); diff --git a/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/group_team_display.tsx b/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/group_team_display.tsx index a46c3de5f69..bf9f3427bdb 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/group_team_display.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/group_team_display.tsx @@ -13,7 +13,7 @@ type GroupTeamDisplayProps = { item: Group | Team; variant: 'group' | 'team'; displayMode?: 'list' | 'chip'; -} +}; // Helper function to check if an option is a team const isTeam = (option: Group | Team): option is Team => { diff --git a/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_multiselector.tsx b/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_multiselector.tsx index 64579e67573..07d25952887 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_multiselector.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_multiselector.tsx @@ -39,7 +39,7 @@ export type AutocompleteOptionType = { label: string | ReactElement; value: string; raw?: T; -} +}; const BASE_SELECT_COMPONENTS = { LoadingIndicator, @@ -50,12 +50,12 @@ const BASE_SELECT_COMPONENTS = { type MultiSelectProps = { multiSelectOnChange?: (selectedUserIds: string[]) => void; multiSelectInitialValue?: string[]; -} +}; type SingleSelectProps = { singleSelectOnChange?: (selectedUserId: string) => void; singleSelectInitialValue?: string; -} +}; type Props = MultiSelectProps & SingleSelectProps & { id: string; diff --git a/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_pill.tsx b/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_pill.tsx index e88b04c439e..e17dc68a423 100644 --- a/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_pill.tsx +++ b/webapp/channels/src/components/admin_console/content_flagging/user_multiselector/user_profile_pill.tsx @@ -76,7 +76,7 @@ type Props = { innerProps: JSX.IntrinsicElements['div']; selectProps: unknown; removeProps?: JSX.IntrinsicElements['div']; -} +}; function BaseUserProfilePill({data, innerProps, selectProps, removeProps}: Props) { const item = data.raw; diff --git a/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_magic_link_setting.tsx b/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_magic_link_setting.tsx index b40cae1a2a4..de6a72996cb 100644 --- a/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_magic_link_setting.tsx +++ b/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_magic_link_setting.tsx @@ -19,7 +19,7 @@ type Props = { setByEnv: boolean; showConfirm: boolean; config: AdminConfig; -} +}; const messages = defineMessages({ enableGuestMagicLinkTitle: {id: 'admin.guest_access.enableGuestMagicLinkTitle', defaultMessage: 'Enable passwordless authentication for guests using magic links via email: '}, diff --git a/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_setting.tsx b/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_setting.tsx index a13f8864e0c..c7083833778 100644 --- a/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_setting.tsx +++ b/webapp/channels/src/components/admin_console/custom_enable_disable_guest_accounts_setting.tsx @@ -17,7 +17,7 @@ type Props = { disabled?: boolean; setByEnv: boolean; showConfirm: boolean; -} +}; const CustomEnableDisableGuestAccountsSetting = ({ id, diff --git a/webapp/channels/src/components/admin_console/custom_plugin_settings/index.test.tsx b/webapp/channels/src/components/admin_console/custom_plugin_settings/index.test.tsx index a26d2d10740..5c4796eb719 100644 --- a/webapp/channels/src/components/admin_console/custom_plugin_settings/index.test.tsx +++ b/webapp/channels/src/components/admin_console/custom_plugin_settings/index.test.tsx @@ -39,7 +39,7 @@ describe('custom plugin sections and settings', () => { editRole: jest.fn(), isCurrentUserSystemAdmin: false, enterpriseReady: false, - match: {params: {plugin_id: 'testplugin'}} as match<{ plugin_id: string }>, + match: {params: {plugin_id: 'testplugin'}} as match<{plugin_id: string}>, config: { PluginSettings: { Plugins: { @@ -87,8 +87,8 @@ describe('custom plugin sections and settings', () => { - , {...baseState}); + />, + {...baseState}); expect(screen.getByText('testplugin')).toBeInTheDocument(); expect(screen.getByTestId('PluginSettings.PluginStates.testplugin.Enable')).toBeInTheDocument(); @@ -157,8 +157,8 @@ describe('custom plugin sections and settings', () => { - , {...state}); + />, + {...state}); expect(screen.getByText('testplugin')).toBeInTheDocument(); expect(screen.getByTestId('PluginSettings.PluginStates.testplugin.Enable')).toBeInTheDocument(); @@ -236,8 +236,8 @@ describe('custom plugin sections and settings', () => { - , {...state}); + />, + {...state}); expect(screen.getByText('testplugin')).toBeInTheDocument(); expect(screen.getByTestId('PluginSettings.PluginStates.testplugin.Enable')).toBeInTheDocument(); @@ -339,8 +339,8 @@ describe('custom plugin sections and settings', () => { - , {...state}); + />, + {...state}); expect(screen.getByText('testplugin')).toBeInTheDocument(); expect(screen.getByTestId('PluginSettings.PluginStates.testplugin.Enable')).toBeInTheDocument(); diff --git a/webapp/channels/src/components/admin_console/custom_plugin_settings/index.ts b/webapp/channels/src/components/admin_console/custom_plugin_settings/index.ts index 8144a5f3b19..3a3c0c85e57 100644 --- a/webapp/channels/src/components/admin_console/custom_plugin_settings/index.ts +++ b/webapp/channels/src/components/admin_console/custom_plugin_settings/index.ts @@ -27,7 +27,7 @@ import {it} from '../admin_definition_helpers'; import {escapePathPart} from '../schema_admin_settings'; import type {AdminDefinitionSetting, AdminDefinitionSubSectionSchema, AdminDefinitionConfigSchemaSection} from '../types'; -type OwnProps = { match: { params: { plugin_id: string } } } +type OwnProps = {match: {params: {plugin_id: string}}}; function makeGetPluginSchema() { return createSelector( diff --git a/webapp/channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx b/webapp/channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx index 32ae1d46061..7354660b8f4 100644 --- a/webapp/channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx +++ b/webapp/channels/src/components/admin_console/custom_profile_attributes/custom_profile_attributes.tsx @@ -86,7 +86,7 @@ type Props = { registerSaveAction: (saveAction: () => Promise) => void; unRegisterSaveAction: (saveAction: () => Promise) => void; id?: string; -} +}; type SaveActionResult = { error?: Error; diff --git a/webapp/channels/src/components/admin_console/custom_terms_of_service_settings/custom_terms_of_service_settings.tsx b/webapp/channels/src/components/admin_console/custom_terms_of_service_settings/custom_terms_of_service_settings.tsx index 28bd9085f7a..65d777615ec 100644 --- a/webapp/channels/src/components/admin_console/custom_terms_of_service_settings/custom_terms_of_service_settings.tsx +++ b/webapp/channels/src/components/admin_console/custom_terms_of_service_settings/custom_terms_of_service_settings.tsx @@ -44,7 +44,7 @@ type State = BaseState & { saving: boolean; serverError: JSX.Element | string | null; errorTooltip: boolean; -} +}; export const messages = defineMessages({ termsOfServiceTitle: {id: 'admin.support.termsOfServiceTitle', defaultMessage: 'Custom Terms of Service'}, diff --git a/webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx b/webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx index 154e3acf77a..3b24778f046 100644 --- a/webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx +++ b/webapp/channels/src/components/admin_console/custom_url_schemes_setting.tsx @@ -15,11 +15,11 @@ type Props = { onChange: (id: string, valueAsArray: string[]) => void; disabled: boolean; setByEnv: boolean; -} +}; type State = { value: string; -} +}; export default class CustomURLSchemesSetting extends PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/data_grid/data_grid.tsx b/webapp/channels/src/components/admin_console/data_grid/data_grid.tsx index f8f33411cc2..c1f63978aef 100644 --- a/webapp/channels/src/components/admin_console/data_grid/data_grid.tsx +++ b/webapp/channels/src/components/admin_console/data_grid/data_grid.tsx @@ -27,14 +27,14 @@ export type Column = { width?: number; textAlign?: '-moz-initial' | 'inherit' | 'initial' | 'revert' | 'unset' | 'center' | 'end' | 'justify' | 'left' | 'match-parent' | 'right' | 'start' | undefined; overflow?: string; -} +}; export type Row = { cells: { [key: string]: JSX.Element | string | null; }; onClick?: () => void; -} +}; type Props = { rows: Row[]; diff --git a/webapp/channels/src/components/admin_console/data_grid/data_grid_header.tsx b/webapp/channels/src/components/admin_console/data_grid/data_grid_header.tsx index 92a7ff99e95..fc181be5e8c 100644 --- a/webapp/channels/src/components/admin_console/data_grid/data_grid_header.tsx +++ b/webapp/channels/src/components/admin_console/data_grid/data_grid_header.tsx @@ -10,7 +10,7 @@ import './data_grid.scss'; type HeaderElementProps = { col: Column; -} +}; const HeaderElement = ({col}: HeaderElementProps) => { const style: CSSProperties = {}; @@ -30,7 +30,7 @@ const HeaderElement = ({col}: HeaderElementProps) => { export type Props = { columns: Column[]; -} +}; const DataGridHeader = ({columns}: Props) => { return ( diff --git a/webapp/channels/src/components/admin_console/data_grid/data_grid_row.tsx b/webapp/channels/src/components/admin_console/data_grid/data_grid_row.tsx index eda0d99f5e5..a10af91fce9 100644 --- a/webapp/channels/src/components/admin_console/data_grid/data_grid_row.tsx +++ b/webapp/channels/src/components/admin_console/data_grid/data_grid_row.tsx @@ -12,12 +12,12 @@ import './data_grid.scss'; type DataGridRowProps = { columns: Column[]; row: Row; -} +}; type DataGridCellProps = { column: Column; row: Row; -} +}; const DataGridCell = ({row, column}: DataGridCellProps) => { const style: CSSProperties = {}; diff --git a/webapp/channels/src/components/admin_console/data_grid/data_grid_search.tsx b/webapp/channels/src/components/admin_console/data_grid/data_grid_search.tsx index 49ecf5300b1..ed721c1218a 100644 --- a/webapp/channels/src/components/admin_console/data_grid/data_grid_search.tsx +++ b/webapp/channels/src/components/admin_console/data_grid/data_grid_search.tsx @@ -22,7 +22,7 @@ type Props = { keys: string[]; onFilter: (options: FilterOptions) => void; }; -} +}; const DataGridSearch = ({ term: termFromProps = '', diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/channel_list.tsx b/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/channel_list.tsx index 574772114c8..96912c4eea3 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/channel_list.tsx +++ b/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/channel_list.tsx @@ -38,12 +38,12 @@ type Props = { setChannelListSearch: (term: string) => void; setChannelListFilters: (filters: ChannelSearchOpts) => void; }; -} +}; type State = { loading: boolean; page: number; -} +}; const PAGE_SIZE = 10; export default class ChannelList extends React.PureComponent { private pageLoaded = 0; diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/index.ts b/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/index.ts index d26f1422b4f..6c837bf2bcd 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/index.ts +++ b/webapp/channels/src/components/admin_console/data_retention_settings/channel_list/index.ts @@ -22,7 +22,7 @@ import ChannelList from './channel_list'; type OwnProps = { policyId?: string; channelsToAdd: Record; -} +}; function searchChannelsToAdd(channels: Record, term: string, filters: ChannelSearchOpts): Record { let filteredTeams = filterChannelsMatchingTerm(Object.keys(channels).map((key) => channels[key]), term); diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/custom_policy_form.tsx b/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/custom_policy_form.tsx index ada35124838..f4f724c99bf 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/custom_policy_form.tsx +++ b/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/custom_policy_form.tsx @@ -68,7 +68,7 @@ type State = { serverError: boolean; inputErrorText: React.ReactNode; formErrorText: React.ReactNode; -} +}; export default class CustomPolicyForm extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts b/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts index 174c21c3dd9..835ae6e0e86 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts +++ b/webapp/channels/src/components/admin_console/data_retention_settings/custom_policy_form/index.ts @@ -30,7 +30,7 @@ type OwnProps = { policy_id: string; }; }; -} +}; function mapStateToProps() { const getPolicyTeams = getTeamsInPolicy(); diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.tsx b/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.tsx index 31dddf8276d..e522d45205a 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.tsx +++ b/webapp/channels/src/components/admin_console/data_retention_settings/data_retention_settings.tsx @@ -32,7 +32,7 @@ import './data_retention_settings.scss'; type OptionType = { label: string | JSX.Element; value: string; -} +}; type Props = { config: DeepPartial; @@ -54,7 +54,7 @@ type State = { page: number; loading: boolean; showEditJobTime: boolean; -} +}; const PAGE_SIZE = 10; const messages = defineMessages({ diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/global_policy_form/global_policy_form.tsx b/webapp/channels/src/components/admin_console/data_retention_settings/global_policy_form/global_policy_form.tsx index de8b6e9d2c8..e034805c98b 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/global_policy_form/global_policy_form.tsx +++ b/webapp/channels/src/components/admin_console/data_retention_settings/global_policy_form/global_policy_form.tsx @@ -25,7 +25,7 @@ import './global_policy_form.scss'; type ValueType = { label: string | JSX.Element; value: string; -} +}; type Props = { config: DeepPartial; messageRetentionHours: string | undefined; @@ -45,7 +45,7 @@ type State = { saving: boolean; serverError: React.ReactNode; formErrorText: React.ReactNode; -} +}; export default class GlobalPolicyForm extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/team_list/index.ts b/webapp/channels/src/components/admin_console/data_retention_settings/team_list/index.ts index 9ff17f4ba6e..1fe6151861b 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/team_list/index.ts +++ b/webapp/channels/src/components/admin_console/data_retention_settings/team_list/index.ts @@ -22,7 +22,7 @@ import TeamList from './team_list'; type OwnProps = { policyId?: string; teamsToAdd: Record; -} +}; function searchTeamsToAdd(teams: Record, term: string): Record { const filteredTeams = filterTeamsStartingWithTerm(Object.keys(teams).map((key) => teams[key]), term); diff --git a/webapp/channels/src/components/admin_console/data_retention_settings/team_list/team_list.tsx b/webapp/channels/src/components/admin_console/data_retention_settings/team_list/team_list.tsx index f2d5ab46f5e..9569ac12880 100644 --- a/webapp/channels/src/components/admin_console/data_retention_settings/team_list/team_list.tsx +++ b/webapp/channels/src/components/admin_console/data_retention_settings/team_list/team_list.tsx @@ -34,12 +34,12 @@ type Props = { getDataRetentionCustomPolicyTeams: (id: string, page: number, perPage: number) => Promise; setTeamListSearch: (term: string) => ActionResult; }; -} +}; type State = { loading: boolean; page: number; -} +}; const PAGE_SIZE = 10; export default class TeamList extends React.PureComponent { private pageLoaded = 0; diff --git a/webapp/channels/src/components/admin_console/database/migrations_table.tsx b/webapp/channels/src/components/admin_console/database/migrations_table.tsx index ac4b63bbd21..b488f83d6a5 100644 --- a/webapp/channels/src/components/admin_console/database/migrations_table.tsx +++ b/webapp/channels/src/components/admin_console/database/migrations_table.tsx @@ -17,7 +17,7 @@ type Props = { actions: { getAppliedSchemaMigrations: () => Promise; }; -} +}; const MigrationsTable = ({ createHelpText, diff --git a/webapp/channels/src/components/admin_console/database_settings.tsx b/webapp/channels/src/components/admin_console/database_settings.tsx index b770757ee08..d2f7c8e149d 100644 --- a/webapp/channels/src/components/admin_console/database_settings.tsx +++ b/webapp/channels/src/components/admin_console/database_settings.tsx @@ -75,7 +75,7 @@ const messages = defineMessages({ traceDescription: {id: 'admin.sql.traceDescription', defaultMessage: '(Development Mode) When true, executing SQL statements are written to the log.'}, }); -export const searchableStrings: Array = [ +export const searchableStrings: Array = [ messages.title, [messages.recycleDescription, {featureName: '', reloadConfiguration: ''}], messages.featureName, diff --git a/webapp/channels/src/components/admin_console/dropdown_setting.tsx b/webapp/channels/src/components/admin_console/dropdown_setting.tsx index 0728af1adbc..4536de8b9d0 100644 --- a/webapp/channels/src/components/admin_console/dropdown_setting.tsx +++ b/webapp/channels/src/components/admin_console/dropdown_setting.tsx @@ -17,7 +17,7 @@ type Props = { disabled?: boolean; setByEnv: boolean; helpText?: ReactNode; -} +}; const DropdownSetting = ({ id, diff --git a/webapp/channels/src/components/admin_console/elasticsearch_settings.tsx b/webapp/channels/src/components/admin_console/elasticsearch_settings.tsx index f348c3d8a17..cefbc7f6c08 100644 --- a/webapp/channels/src/components/admin_console/elasticsearch_settings.tsx +++ b/webapp/channels/src/components/admin_console/elasticsearch_settings.tsx @@ -77,7 +77,7 @@ export const messages = defineMessages({ enableSearchingDescription: {id: 'admin.elasticsearch.enableSearchingDescription', defaultMessage: 'Requires a successful connection to the Elasticsearch server. When true, Elasticsearch will be used for all search queries using the latest index. Search results may be incomplete until a bulk index of the existing post database is finished. When false, database search is used.'}, }); -export const searchableStrings: Array = [ +export const searchableStrings: Array = [ [messages.connectionUrlDescription, {link: (msg: string) => msg}], [messages.enableIndexingDescription, {link: (msg: string) => msg}], messages.title, diff --git a/webapp/channels/src/components/admin_console/feature_discovery/feature_discovery.tsx b/webapp/channels/src/components/admin_console/feature_discovery/feature_discovery.tsx index 66f2af1f79b..2b0b25c39eb 100644 --- a/webapp/channels/src/components/admin_console/feature_discovery/feature_discovery.tsx +++ b/webapp/channels/src/components/admin_console/feature_discovery/feature_discovery.tsx @@ -52,13 +52,13 @@ type Props = { isPaidSubscription: boolean; customer?: CloudCustomer; showSkuTag?: boolean; -} +}; type State = { gettingTrial: boolean; gettingTrialError: string | null; gettingTrialResponseCode: number | null; -} +}; export default class FeatureDiscovery extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/feature_discovery/features/images/announcement_banner_svg.tsx b/webapp/channels/src/components/admin_console/feature_discovery/features/images/announcement_banner_svg.tsx index ceeefba676d..dd7e6303e7a 100644 --- a/webapp/channels/src/components/admin_console/feature_discovery/features/images/announcement_banner_svg.tsx +++ b/webapp/channels/src/components/admin_console/feature_discovery/features/images/announcement_banner_svg.tsx @@ -6,7 +6,7 @@ import React from 'react'; type SvgProps = { width?: number; height?: number; -} +}; const AnnouncementBannerSVG = (props: SvgProps) => ( ( ( ( ( ( ( ( ( ( ( ( void; options: FilterOptions; keys: string[]; -} +}; type State = { show: boolean; @@ -55,7 +55,7 @@ type State = { keys: string[]; optionsModified: boolean; filterCount: number; -} +}; class Filter extends React.PureComponent { private buttonRef: React.RefObject; diff --git a/webapp/channels/src/components/admin_console/filter/filter_list.tsx b/webapp/channels/src/components/admin_console/filter/filter_list.tsx index acc04c33579..12bfc48da11 100644 --- a/webapp/channels/src/components/admin_console/filter/filter_list.tsx +++ b/webapp/channels/src/components/admin_console/filter/filter_list.tsx @@ -12,7 +12,7 @@ type Props = { option: FilterOption; optionKey: string; updateValues: (values: FilterValues, optionKey: string) => void; -} +}; const FilterList = ({ option, diff --git a/webapp/channels/src/components/admin_console/filter/team_filter_dropdown/team_filter_dropdown.tsx b/webapp/channels/src/components/admin_console/filter/team_filter_dropdown/team_filter_dropdown.tsx index d065fa42c5f..8cde79a8105 100644 --- a/webapp/channels/src/components/admin_console/filter/team_filter_dropdown/team_filter_dropdown.tsx +++ b/webapp/channels/src/components/admin_console/filter/team_filter_dropdown/team_filter_dropdown.tsx @@ -18,7 +18,7 @@ import type {PropsFromRedux} from './index'; const TEAMS_PER_PAGE = 50; -type TeamSelectOption = {label: string; value: string} +type TeamSelectOption = {label: string; value: string}; export interface Props extends PropsFromRedux { option: FilterOption; diff --git a/webapp/channels/src/components/admin_console/full_log_event_modal/full_log_event_modal.tsx b/webapp/channels/src/components/admin_console/full_log_event_modal/full_log_event_modal.tsx index dc471610c5e..11ba597c96b 100644 --- a/webapp/channels/src/components/admin_console/full_log_event_modal/full_log_event_modal.tsx +++ b/webapp/channels/src/components/admin_console/full_log_event_modal/full_log_event_modal.tsx @@ -12,7 +12,7 @@ type Props = { log: LogObject | null; onModalDismissed: (e?: React.MouseEvent) => void; show: boolean; -} +}; const FullLogEventModal = ({ log, diff --git a/webapp/channels/src/components/admin_console/generated_setting.tsx b/webapp/channels/src/components/admin_console/generated_setting.tsx index 34b80f3f18f..4a41228746e 100644 --- a/webapp/channels/src/components/admin_console/generated_setting.tsx +++ b/webapp/channels/src/components/admin_console/generated_setting.tsx @@ -21,7 +21,7 @@ type Props = { helpText: React.ReactNode; regenerateText?: React.ReactNode; regenerateHelpText?: React.ReactNode; -} +}; const GeneratedSetting = ({ id, diff --git a/webapp/channels/src/components/admin_console/group_settings/group_details/group_profile.tsx b/webapp/channels/src/components/admin_console/group_settings/group_details/group_profile.tsx index bc6046c3e46..8c295e18014 100644 --- a/webapp/channels/src/components/admin_console/group_settings/group_details/group_profile.tsx +++ b/webapp/channels/src/components/admin_console/group_settings/group_details/group_profile.tsx @@ -14,7 +14,7 @@ type Props = { isDisabled?: boolean; showAtMention: boolean; onChange?: React.ChangeEventHandler; -} +}; const GroupProfile = ({ name, diff --git a/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels.tsx b/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels.tsx index eb06c8d20bb..22c6e23f146 100644 --- a/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels.tsx +++ b/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels.tsx @@ -33,8 +33,8 @@ type Team = { schemeAdmin?: boolean; }; export default class GroupTeamsAndChannels extends React.PureComponent< -Props, -State + Props, + State > { constructor(props: Props) { super(props); diff --git a/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels_row.tsx b/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels_row.tsx index 34a4edfa9bf..4472f640ab3 100644 --- a/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels_row.tsx +++ b/webapp/channels/src/components/admin_console/group_settings/group_details/group_teams_and_channels_row.tsx @@ -34,8 +34,8 @@ type State = { }; export default class GroupTeamsAndChannelsRow extends React.PureComponent< -Props, -State + Props, + State > { constructor(props: Props) { super(props); diff --git a/webapp/channels/src/components/admin_console/group_settings/group_row.tsx b/webapp/channels/src/components/admin_console/group_settings/group_row.tsx index d4dbefa6b2c..39f8537fe7a 100644 --- a/webapp/channels/src/components/admin_console/group_settings/group_row.tsx +++ b/webapp/channels/src/components/admin_console/group_settings/group_row.tsx @@ -21,7 +21,7 @@ type Props = { link: (group_id: string) => void; unlink: (group_id: string) => void; }; -} +}; const GroupRow = (props: Props) => { const [loading, setLoading] = useState(false); diff --git a/webapp/channels/src/components/admin_console/group_settings/group_settings.tsx b/webapp/channels/src/components/admin_console/group_settings/group_settings.tsx index b360ee58a74..1a48ecece98 100644 --- a/webapp/channels/src/components/admin_console/group_settings/group_settings.tsx +++ b/webapp/channels/src/components/admin_console/group_settings/group_settings.tsx @@ -15,7 +15,7 @@ import {getSiteURL} from 'utils/url'; type Props = { isDisabled?: boolean; -} +}; const GroupSettings = ({isDisabled}: Props) => { const siteURL = getSiteURL(); diff --git a/webapp/channels/src/components/admin_console/group_settings/groups_list/groups_list.tsx b/webapp/channels/src/components/admin_console/group_settings/groups_list/groups_list.tsx index cb9d633b96d..8dc89f8b0cd 100644 --- a/webapp/channels/src/components/admin_console/group_settings/groups_list/groups_list.tsx +++ b/webapp/channels/src/components/admin_console/group_settings/groups_list/groups_list.tsx @@ -30,24 +30,24 @@ type Props = { link: (key: string) => Promise; unlink: (key: string) => Promise; }; -} +}; type FilterOption = { is_configured?: boolean; is_linked?: boolean; -} +}; type FilterConfig = { filter: string; option: FilterOption; -} +}; type FilterSearchMap = { filterIsConfigured: FilterConfig; filterIsUnconfigured: FilterConfig; filterIsLinked: FilterConfig; filterIsUnlinked: FilterConfig; -} +}; type State = { checked?: any; @@ -60,7 +60,7 @@ type State = { filterIsUnconfigured?: boolean; filterIsLinked?: boolean; filterIsUnlinked?: boolean; -} +}; type FilterUpdates = [string, boolean]; diff --git a/webapp/channels/src/components/admin_console/ip_filtering/add_edit_ip_filter_modal.tsx b/webapp/channels/src/components/admin_console/ip_filtering/add_edit_ip_filter_modal.tsx index 3504c9785a1..30a30eb0227 100644 --- a/webapp/channels/src/components/admin_console/ip_filtering/add_edit_ip_filter_modal.tsx +++ b/webapp/channels/src/components/admin_console/ip_filtering/add_edit_ip_filter_modal.tsx @@ -21,7 +21,7 @@ type Props = { onSave: (allowedIPRange: AllowedIPRange, oldIPRange?: AllowedIPRange) => void; existingRange?: AllowedIPRange; currentIP?: string; -} +}; export default function IPFilteringAddOrEditModal({onExited, onSave, existingRange, currentIP}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ip_filtering/delete_confirmation.tsx b/webapp/channels/src/components/admin_console/ip_filtering/delete_confirmation.tsx index 2c09410da60..fc4d455792f 100644 --- a/webapp/channels/src/components/admin_console/ip_filtering/delete_confirmation.tsx +++ b/webapp/channels/src/components/admin_console/ip_filtering/delete_confirmation.tsx @@ -14,7 +14,7 @@ type Props = { onExited: () => void; onConfirm?: (filter: AllowedIPRange) => void; filterToDelete?: AllowedIPRange; -} +}; export default function DeleteConfirmationModal({onExited, onConfirm, filterToDelete}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ip_filtering/save_confirmation_modal.tsx b/webapp/channels/src/components/admin_console/ip_filtering/save_confirmation_modal.tsx index c75723e6f0c..09f1d5a6118 100644 --- a/webapp/channels/src/components/admin_console/ip_filtering/save_confirmation_modal.tsx +++ b/webapp/channels/src/components/admin_console/ip_filtering/save_confirmation_modal.tsx @@ -19,7 +19,7 @@ type Props = { subtitle: JSX.Element | string; buttonText?: string; includeDisclaimer?: boolean; -} +}; export default function SaveConfirmationModal({onExited, onConfirm, title, subtitle, includeDisclaimer, buttonText}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/jobs/index.tsx b/webapp/channels/src/components/admin_console/jobs/index.tsx index 222307afd8e..3aa4e7ed982 100644 --- a/webapp/channels/src/components/admin_console/jobs/index.tsx +++ b/webapp/channels/src/components/admin_console/jobs/index.tsx @@ -14,7 +14,7 @@ import type {GlobalState} from 'types/store'; import Table from './table'; import type {Props} from './table'; -type OwnProps = Omit; +type OwnProps = Omit; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { return { diff --git a/webapp/channels/src/components/admin_console/jobs/job_cancel_button.tsx b/webapp/channels/src/components/admin_console/jobs/job_cancel_button.tsx index 04ebae3e0b4..a082825f0ce 100644 --- a/webapp/channels/src/components/admin_console/jobs/job_cancel_button.tsx +++ b/webapp/channels/src/components/admin_console/jobs/job_cancel_button.tsx @@ -16,7 +16,7 @@ type Props = { onClick: (id: string) => void; }; -const JobCancelButton = (props: Props): JSX.Element|null => { +const JobCancelButton = (props: Props): JSX.Element | null => { const {job, disabled, onClick} = props; const intl = useIntl(); let cancelButton = null; diff --git a/webapp/channels/src/components/admin_console/jobs/job_finish_at.tsx b/webapp/channels/src/components/admin_console/jobs/job_finish_at.tsx index 962b5cc4a03..9cc736c498c 100644 --- a/webapp/channels/src/components/admin_console/jobs/job_finish_at.tsx +++ b/webapp/channels/src/components/admin_console/jobs/job_finish_at.tsx @@ -11,7 +11,7 @@ import {JobStatuses} from 'utils/constants'; type Props = { status: JobStatus; millis: number; -} +}; const JobFinishAt = React.memo(({status, millis}: Props): JSX.Element => { if (millis === 0 || status === JobStatuses.PENDING || status === JobStatuses.IN_PROGRESS || status === JobStatuses.CANCEL_REQUESTED) { diff --git a/webapp/channels/src/components/admin_console/jobs/table.tsx b/webapp/channels/src/components/admin_console/jobs/table.tsx index be3ababc095..9aaba9b96a1 100644 --- a/webapp/channels/src/components/admin_console/jobs/table.tsx +++ b/webapp/channels/src/components/admin_console/jobs/table.tsx @@ -42,14 +42,14 @@ export type Props = { cancelJob: (jobId: string) => Promise; createJob: (job: {type: JobType}) => Promise; }; -} +}; type State = { currentPage: number; -} +}; class JobTable extends React.PureComponent { - interval: ReturnType|null = null; + interval: ReturnType | null = null; constructor(props: Props) { super(props); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_boolean_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_boolean_setting.tsx index cbdc573aa0e..c5c130838e9 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_boolean_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_boolean_setting.tsx @@ -16,7 +16,7 @@ type BoolSettingProps = { onChange(id: string, value: any): void; disabled: boolean; setByEnv: boolean; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPBooleanSetting = (props: BoolSettingProps) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_button_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_button_setting.tsx index 477622e00ed..31ce7c2ef99 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_button_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_button_setting.tsx @@ -18,7 +18,7 @@ type Props = { disabled: boolean; ldapSettingsState: LdapSettings; onFilterTestResults?: (results: TestLdapFiltersResponse) => void; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPButtonSetting = (props: Props) => { const intl = useIntl(); @@ -27,7 +27,7 @@ const LDAPButtonSetting = (props: Props) => { return null; } - const handleRequestAction = (success: () => void, error: (error: { message: string }) => void) => { + const handleRequestAction = (success: () => void, error: (error: {message: string}) => void) => { if (!props.setting.skipSaveNeeded && props.saveNeeded !== false) { error({ message: intl.formatMessage({id: 'admin_settings.save_unsaved_changes', defaultMessage: 'Please save unsaved changes first'}), diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_custom_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_custom_setting.tsx index bc3c1f9e51f..a1c379510a5 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_custom_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_custom_setting.tsx @@ -23,7 +23,7 @@ type Props = { onChange: (id: string, value: any, confirm: boolean, doSubmit: boolean, warning: boolean) => void; disabled: boolean; setByEnv: boolean; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPCustomSetting = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_dropdown_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_dropdown_setting.tsx index d55d7560035..6d2fb910517 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_dropdown_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_dropdown_setting.tsx @@ -21,7 +21,7 @@ type Props = { onChange(id: string, value: any): void; disabled: boolean; setByEnv: boolean; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPDropdownSetting = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_expandable_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_expandable_setting.tsx index 8984d534350..b549de3ac5a 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_expandable_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_expandable_setting.tsx @@ -12,7 +12,7 @@ import {renderLabel} from '../schema_admin_settings'; type ExpandableSettingProps = { buildSettingFunction: (setting: LDAPDefinitionSetting) => React.ReactNode; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPExpandableSetting = (props: ExpandableSettingProps) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_file_upload_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_file_upload_setting.tsx index d09e9ae655c..9a08dbc0094 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_file_upload_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_file_upload_setting.tsx @@ -21,7 +21,7 @@ type Props = { fileUploadSetstate: (key: string, filename: string | null, error_message: string | null) => void; disabled: boolean; setByEnv: boolean; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPFileUploadSetting = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_jobs_table_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_jobs_table_setting.tsx index ac637a4f675..64e204d2890 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_jobs_table_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_jobs_table_setting.tsx @@ -12,7 +12,7 @@ import {descriptorOrStringToString, renderSettingHelpText} from '../schema_admin type Props = { disabled: boolean; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPJobsTableSetting = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_text_setting.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_text_setting.tsx index 6de7e5b1bf1..e2215fec405 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_text_setting.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_text_setting.tsx @@ -27,7 +27,7 @@ type TextSettingProps = { disabled: boolean; setByEnv: boolean; filterResult: LdapDiagnosticResult | null; -} & GeneralSettingProps +} & GeneralSettingProps; const LDAPTextSetting = (props: TextSettingProps) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_wizard.tsx b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_wizard.tsx index e21f03a9fd1..0270c506364 100644 --- a/webapp/channels/src/components/admin_console/ldap_wizard/ldap_wizard.tsx +++ b/webapp/channels/src/components/admin_console/ldap_wizard/ldap_wizard.tsx @@ -45,26 +45,26 @@ const SECTION_OBSERVER_OPTIONS: IntersectionObserverInit = { }; export type LDAPDefinitionSettingButton = AdminDefinitionSettingButton & { - action: (success: () => void, error: (error: { message: string }) => void, settings?: Record) => void; -} + action: (success: () => void, error: (error: {message: string}) => void, settings?: Record) => void; +}; export type LDAPDefinitionSetting = AdminDefinitionSetting & { help_text_more_info?: string | JSX.Element | MessageDescriptor; -} +}; export type LDAPAdminDefinitionConfigSchemaSettings = AdminDefinitionSubSectionSchema & { sections?: LDAPAdminDefinitionConfigSchemaSection[]; -} +}; export type LDAPAdminDefinitionConfigSchemaSection = Omit & { sectionTitle?: string; settings: LDAPDefinitionSetting[]; -} +}; export type GeneralSettingProps = { setting: LDAPDefinitionSetting; schema: AdminDefinitionSubSectionSchema | null; -} +}; type Props = { config: Partial; @@ -79,7 +79,7 @@ type Props = { cloud: CloudState; isCurrentUserSystemAdmin: boolean; enterpriseReady: boolean; -} & WrappedComponentProps +} & WrappedComponentProps; type State = { [x: string]: unknown; @@ -90,7 +90,7 @@ type State = { showConfirmId: string; clientWarning: string | boolean; prevSchemaId?: string; -} +}; const LDAPWizard = (props: Props) => { const schema = ldapWizardAdminDefinition; @@ -115,7 +115,7 @@ const LDAPWizard = (props: Props) => { } }, [props.config, props.roles, schema]); - const [saveActions, setSaveActions] = useState Promise<{ error?: { message?: string } }>>>([]); + const [saveActions, setSaveActions] = useState Promise<{error?: {message?: string}}>>>([]); // Combined test results - both filter and attribute test results in one array const [testResults, setTestResults] = useState(null); @@ -501,11 +501,11 @@ const LDAPWizard = (props: Props) => { } }; - const unRegisterSaveAction = useCallback((saveAction: () => Promise<{ error?: { message?: string } }>) => { + const unRegisterSaveAction = useCallback((saveAction: () => Promise<{error?: {message?: string}}>) => { setSaveActions((prev) => prev.filter((action) => action !== saveAction)); }, []); - const registerSaveAction = useCallback((saveAction: () => Promise<{ error?: { message?: string } }>) => { + const registerSaveAction = useCallback((saveAction: () => Promise<{error?: {message?: string}}>) => { setSaveActions((prev) => [...prev, saveAction]); }, []); diff --git a/webapp/channels/src/components/admin_console/license_settings/enterprise_edition/enterprise_edition_left_panel.tsx b/webapp/channels/src/components/admin_console/license_settings/enterprise_edition/enterprise_edition_left_panel.tsx index 8002887f7eb..c819a914bfe 100644 --- a/webapp/channels/src/components/admin_console/license_settings/enterprise_edition/enterprise_edition_left_panel.tsx +++ b/webapp/channels/src/components/admin_console/license_settings/enterprise_edition/enterprise_edition_left_panel.tsx @@ -276,7 +276,7 @@ const EnterpriseEditionLeftPanel = ({ ); }; -type LegendValues = 'START DATE:' | 'EXPIRES:' | 'LICENSED SEATS:' | 'ACTIVE USERS:' | 'SINGLE-CHANNEL GUESTS:' | 'EDITION:' | 'LICENSE ISSUED:' | 'NAME:' | 'COMPANY / ORG:' +type LegendValues = 'START DATE:' | 'EXPIRES:' | 'LICENSED SEATS:' | 'ACTIVE USERS:' | 'SINGLE-CHANNEL GUESTS:' | 'EDITION:' | 'LICENSE ISSUED:' | 'NAME:' | 'COMPANY / ORG:'; const renderLicenseValues = (activeUsers: number, seatsPurchased: number, expirationDays: number, singleChannelGuestCount: number, singleChannelGuestLimit: number) => ({legend, value}: {legend: LegendValues; value: string | JSX.Element | null}, index: number): React.ReactNode => { if (legend === 'SINGLE-CHANNEL GUESTS:') { diff --git a/webapp/channels/src/components/admin_console/license_settings/license_settings.tsx b/webapp/channels/src/components/admin_console/license_settings/license_settings.tsx index f283bf514f6..4c79b918b12 100644 --- a/webapp/channels/src/components/admin_console/license_settings/license_settings.tsx +++ b/webapp/channels/src/components/admin_console/license_settings/license_settings.tsx @@ -63,7 +63,7 @@ type Props = { error?: ServerError; }>; }; -} +}; const messages = defineMessages({ title: {id: 'admin.license.title', defaultMessage: 'Edition and License'}, diff --git a/webapp/channels/src/components/admin_console/license_settings/modals/confirm_license_removal_modal.tsx b/webapp/channels/src/components/admin_console/license_settings/modals/confirm_license_removal_modal.tsx index 5b320c36c67..3e999345331 100644 --- a/webapp/channels/src/components/admin_console/license_settings/modals/confirm_license_removal_modal.tsx +++ b/webapp/channels/src/components/admin_console/license_settings/modals/confirm_license_removal_modal.tsx @@ -23,7 +23,7 @@ type Props = { currentLicenseSKU: string; onExited?: () => void; handleRemove?: (e: React.MouseEvent) => Promise; -} +}; const ConfirmLicenseRemovalModal: React.FC = (props: Props): JSX.Element | null => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/license_settings/modals/ee_license_modal.tsx b/webapp/channels/src/components/admin_console/license_settings/modals/ee_license_modal.tsx index 9c53fb36c03..5e0ef549542 100644 --- a/webapp/channels/src/components/admin_console/license_settings/modals/ee_license_modal.tsx +++ b/webapp/channels/src/components/admin_console/license_settings/modals/ee_license_modal.tsx @@ -18,7 +18,7 @@ import './ee_license_modal.scss'; type Props = { onClose?: () => void; -} +}; const EELicenseModal: React.FC = (props: Props): JSX.Element | null => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/license_settings/modals/upload_license_modal.tsx b/webapp/channels/src/components/admin_console/license_settings/modals/upload_license_modal.tsx index 1788386c568..47a04756ea7 100644 --- a/webapp/channels/src/components/admin_console/license_settings/modals/upload_license_modal.tsx +++ b/webapp/channels/src/components/admin_console/license_settings/modals/upload_license_modal.tsx @@ -34,7 +34,7 @@ import './upload_license_modal.scss'; type Props = { onExited?: () => void; fileObjFromProps: File | null; -} +}; type ModalStep = 'loading' | 'preview' | 'success'; diff --git a/webapp/channels/src/components/admin_console/localization/agents_settings.tsx b/webapp/channels/src/components/admin_console/localization/agents_settings.tsx index 47b7c50df0d..1d691b57af7 100644 --- a/webapp/channels/src/components/admin_console/localization/agents_settings.tsx +++ b/webapp/channels/src/components/admin_console/localization/agents_settings.tsx @@ -17,7 +17,7 @@ import {type SystemConsoleCustomSettingsComponentProps} from '../schema_admin_se type AgentsSettingsState = { LLMServiceID: string; -} +}; export default function AgentsSettings(props: SystemConsoleCustomSettingsComponentProps) { const values = props.value as AutoTranslationSettings; diff --git a/webapp/channels/src/components/admin_console/localization/libreTranslate_settings.tsx b/webapp/channels/src/components/admin_console/localization/libreTranslate_settings.tsx index b2e1bb1503c..68f77a86f53 100644 --- a/webapp/channels/src/components/admin_console/localization/libreTranslate_settings.tsx +++ b/webapp/channels/src/components/admin_console/localization/libreTranslate_settings.tsx @@ -16,7 +16,7 @@ import {type SystemConsoleCustomSettingsComponentProps} from '../schema_admin_se type LibreTranslateSettings = { URL: string; APIKey: string; -} +}; export default function LibreTranslateSettings(props: SystemConsoleCustomSettingsComponentProps) { const values = props.value as AutoTranslationSettings; diff --git a/webapp/channels/src/components/admin_console/manage_roles_modal/manage_roles_modal.tsx b/webapp/channels/src/components/admin_console/manage_roles_modal/manage_roles_modal.tsx index 6864e1e5d9b..648d9d819d7 100644 --- a/webapp/channels/src/components/admin_console/manage_roles_modal/manage_roles_modal.tsx +++ b/webapp/channels/src/components/admin_console/manage_roles_modal/manage_roles_modal.tsx @@ -32,7 +32,7 @@ export type Props = { actions: { updateUserRoles: (userId: string, roles: string) => Promise; }; -} +}; type State = { show: boolean; @@ -42,7 +42,7 @@ type State = { hasPostAllPublicRole: boolean; hasUserAccessTokenRole: boolean; isSystemAdmin: boolean; -} +}; function getStateFromProps(props: Props): State { const roles = props.user && props.user.roles ? props.user.roles : ''; diff --git a/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_dropdown.tsx b/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_dropdown.tsx index bfc4d923f8f..bdaa46146d2 100644 --- a/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_dropdown.tsx +++ b/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_dropdown.tsx @@ -21,7 +21,7 @@ type Props = { onMemberChange: (teamId: string) => void; updateTeamMemberSchemeRoles: (teamId: string, userId: string, isSchemeUser: boolean, isSchemeAdmin: boolean,) => Promise; handleRemoveUserFromTeam: (teamId: string) => void; -} +}; const ManageTeamsDropdown = (props: Props) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_modal.tsx b/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_modal.tsx index 17369801373..7f795452b6e 100644 --- a/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_modal.tsx +++ b/webapp/channels/src/components/admin_console/manage_teams_modal/manage_teams_modal.tsx @@ -31,7 +31,7 @@ export type Props = { updateTeamMemberSchemeRoles: (teamId: string, userId: string, isSchemeUser: boolean, isSchemeAdmin: boolean) => Promise; removeUserFromTeam: (teamId: string, userId: string) => Promise; }; -} +}; const ManageTeamsModal = ({locale, onExited, user, actions}: Props) => { const [error, setError] = React.useState(null); diff --git a/webapp/channels/src/components/admin_console/manage_teams_modal/remove_from_team_button.tsx b/webapp/channels/src/components/admin_console/manage_teams_modal/remove_from_team_button.tsx index 8cc55c3ad13..4b25c46a647 100644 --- a/webapp/channels/src/components/admin_console/manage_teams_modal/remove_from_team_button.tsx +++ b/webapp/channels/src/components/admin_console/manage_teams_modal/remove_from_team_button.tsx @@ -9,7 +9,7 @@ import {Button} from '@mattermost/shared/components/button'; type Props = { teamId: string; handleRemoveUserFromTeam: (team: string) => void; -} +}; const RemoveFromTeamButton = ({teamId, handleRemoveUserFromTeam}: Props) => { const handleClick = (e: React.MouseEvent) => { diff --git a/webapp/channels/src/components/admin_console/manage_tokens_modal/index.ts b/webapp/channels/src/components/admin_console/manage_tokens_modal/index.ts index 445ef08b062..2ce12091bad 100644 --- a/webapp/channels/src/components/admin_console/manage_tokens_modal/index.ts +++ b/webapp/channels/src/components/admin_console/manage_tokens_modal/index.ts @@ -15,7 +15,7 @@ import ManageTokensModal from './manage_tokens_modal'; type OwnProps = { user?: UserProfile; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const userId = ownProps.user ? ownProps.user.id : ''; diff --git a/webapp/channels/src/components/admin_console/manage_tokens_modal/manage_tokens_modal.tsx b/webapp/channels/src/components/admin_console/manage_tokens_modal/manage_tokens_modal.tsx index 0237e759365..f3e7fe3d9e7 100644 --- a/webapp/channels/src/components/admin_console/manage_tokens_modal/manage_tokens_modal.tsx +++ b/webapp/channels/src/components/admin_console/manage_tokens_modal/manage_tokens_modal.tsx @@ -42,7 +42,7 @@ export type Props = { type State = { show: boolean; error: string | null; -} +}; export default class ManageTokensModal extends React.PureComponent { public constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/member_list_group/index.ts b/webapp/channels/src/components/admin_console/member_list_group/index.ts index fa57e81c533..9647dfdd439 100644 --- a/webapp/channels/src/components/admin_console/member_list_group/index.ts +++ b/webapp/channels/src/components/admin_console/member_list_group/index.ts @@ -18,7 +18,7 @@ import MemberListGroup from './member_list_group'; type Props = { groupID: string; -} +}; function mapStateToProps(state: GlobalState, ownProps: Props) { const {groupID} = ownProps; diff --git a/webapp/channels/src/components/admin_console/member_list_group/member_list_group.tsx b/webapp/channels/src/components/admin_console/member_list_group/member_list_group.tsx index b68ecfca7ec..7048ea30507 100644 --- a/webapp/channels/src/components/admin_console/member_list_group/member_list_group.tsx +++ b/webapp/channels/src/components/admin_console/member_list_group/member_list_group.tsx @@ -30,12 +30,12 @@ export type Props = { searchProfiles: (term: string, options?: Record) => Promise>; setModalSearchTerm: (term: string) => void; }; -} +}; type State = { loading: boolean; page: number; -} +}; export default class MemberListGroup extends React.PureComponent { private searchTimeoutId: number; diff --git a/webapp/channels/src/components/admin_console/message_export_settings.tsx b/webapp/channels/src/components/admin_console/message_export_settings.tsx index 3ed095dd43f..cdb3b60045e 100644 --- a/webapp/channels/src/components/admin_console/message_export_settings.tsx +++ b/webapp/channels/src/components/admin_console/message_export_settings.tsx @@ -61,7 +61,7 @@ const messages = defineMessages({ }); export const searchableStrings: Array< -string | MessageDescriptor | [MessageDescriptor, { [key: string]: any }] +string | MessageDescriptor | [MessageDescriptor, {[key: string]: any}] > = [ messages.exportFormat_description_intro, messages.exportFormat_description_details, diff --git a/webapp/channels/src/components/admin_console/multiselect_settings.tsx b/webapp/channels/src/components/admin_console/multiselect_settings.tsx index f213226e3a6..aa1e3d47e55 100644 --- a/webapp/channels/src/components/admin_console/multiselect_settings.tsx +++ b/webapp/channels/src/components/admin_console/multiselect_settings.tsx @@ -26,7 +26,7 @@ interface Props { noOptionsMessage?: React.ReactNode; } -const getOptionLabel = ({text}: { text: string}) => text; +const getOptionLabel = ({text}: {text: string}) => text; const MultiSelectSetting: React.FC = ({ id, diff --git a/webapp/channels/src/components/admin_console/old_admin_settings.tsx b/webapp/channels/src/components/admin_console/old_admin_settings.tsx index bc16bb284e3..d259202de44 100644 --- a/webapp/channels/src/components/admin_console/old_admin_settings.tsx +++ b/webapp/channels/src/components/admin_console/old_admin_settings.tsx @@ -18,21 +18,21 @@ export type BaseProps = { setNavigationBlocked?: (blocked: boolean) => void; isDisabled?: boolean; patchConfig?: (config: DeepPartial) => {data: AdminConfig; error: ClientErrorPlaceholder}; -} +}; export type BaseState = { saveNeeded: boolean; saving: boolean; - serverError: string|null; + serverError: string | null; serverErrorId?: string; -} +}; // Placeholder type until ClientError is exported from redux. // TODO: remove ClientErrorPlaceholder and change the return type of patchConfig type ClientErrorPlaceholder = { message: string; server_error_id: string; -} +}; export default abstract class OLDAdminSettings extends React.Component { public constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/password_settings.tsx b/webapp/channels/src/components/admin_console/password_settings.tsx index a23e4a54873..9ed9b59daee 100644 --- a/webapp/channels/src/components/admin_console/password_settings.tsx +++ b/webapp/channels/src/components/admin_console/password_settings.tsx @@ -49,7 +49,7 @@ const messages = defineMessages({ passwordRequirements: {id: 'passwordRequirements', defaultMessage: 'Password Requirements:'}, }); -export const searchableStrings: Array = [ +export const searchableStrings: Array = [ [messages.minimumLength, {max: '', min: ''}], [messages.minimumLengthDescription, {max: '', min: ''}], messages.passwordMinLength, diff --git a/webapp/channels/src/components/admin_console/permission_policies/policy_details/index.ts b/webapp/channels/src/components/admin_console/permission_policies/policy_details/index.ts index 13f6686e560..5570446ccf1 100644 --- a/webapp/channels/src/components/admin_console/permission_policies/policy_details/index.ts +++ b/webapp/channels/src/components/admin_console/permission_policies/policy_details/index.ts @@ -21,7 +21,7 @@ type OwnProps = { policy_id: string; }; }; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const policyId = ownProps.match.params.policy_id; diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_button/edit_post_time_limit_button.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_button/edit_post_time_limit_button.tsx index fcbace5e55e..d4fb3b24eec 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_button/edit_post_time_limit_button.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_button/edit_post_time_limit_button.tsx @@ -10,7 +10,7 @@ type Props = { timeLimit: number; onClick: () => void; isDisabled: boolean | undefined; -} +}; export default function EditPostTimeLimitButton(props: Props) { return ( diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/edit_post_time_limit_modal.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/edit_post_time_limit_modal.tsx index f38ae00dcd3..1a5a6841aa0 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/edit_post_time_limit_modal.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/edit_post_time_limit_modal/edit_post_time_limit_modal.tsx @@ -15,14 +15,14 @@ import {Constants} from 'utils/constants'; const INT32_MAX = 2147483647; -type Props ={ +type Props = { config: Partial; show: boolean; onClose: () => void; actions: { patchConfig: (config: DeepPartial) => Promise; }; -} +}; export default function EditPostTimeLimitModal(props: Props) { const {ServiceSettings} = props.config; diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/guest_permissions_tree/guest_permissions_tree.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/guest_permissions_tree/guest_permissions_tree.tsx index d7cff0943d9..dc28572781d 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/guest_permissions_tree/guest_permissions_tree.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/guest_permissions_tree/guest_permissions_tree.tsx @@ -25,7 +25,7 @@ type Props = { parentRole?: Role; selected?: string; role?: Partial; -} +}; const GuestPermissionsTree = ({license, onToggle, readOnly, scope, selectRow, parentRole, selected, role = {permissions: []}}: Props) => { const setPermissions = () => { diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_description.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_description.tsx index 0d28f753c71..ffb46581969 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_description.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_description.tsx @@ -16,7 +16,7 @@ type Props = { selectRow: (id: string) => void; additionalValues?: Record; description: string | JSX.Element; -} +}; const PermissionDescription = ({ id, diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_row.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_row.tsx index ecfbc90f4ea..8e946e69cbe 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_row.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_row.tsx @@ -21,7 +21,7 @@ type Props = { value: string; onChange: (id: string) => void; additionalValues: Record; -} +}; const PermissionRow = ({ additionalValues, diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/permission_system_scheme_settings.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/permission_system_scheme_settings.tsx index ed72e9238ce..9f3e4727b7a 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/permission_system_scheme_settings.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_system_scheme_settings/permission_system_scheme_settings.tsx @@ -50,7 +50,7 @@ type State = { selectedPermission?: string; openRoles: Record; urlParams: URLSearchParams; -} +}; type RolesState = { system_admin: Role; @@ -62,7 +62,7 @@ type RolesState = { run_member: Role; all_users: {name: string; display_name: string; permissions: Role['permissions']}; guests: {name: string; display_name: string; permissions: Role['permissions']}; -} +}; export class PermissionSystemSchemeSettings extends React.PureComponent { private rolesNeeded: string[]; diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx index 58aa5855151..5dfcb7f3199 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx @@ -15,7 +15,7 @@ type Props = { team: Team; onRemoveTeam: (teamId: string) => void; isDisabled: boolean; -} +}; const TeamInList = ({ team, diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/permissions_scheme_summary.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/permissions_scheme_summary.tsx index fe208146c96..b4098bf4a8f 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/permissions_scheme_summary.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_scheme_summary/permissions_scheme_summary.tsx @@ -24,13 +24,13 @@ export type Props = { actions?: { deleteScheme: (id: string) => Promise; }; -} +}; type State = { showConfirmModal: boolean; deleting: boolean; serverError?: string; -} +}; export default class PermissionsSchemeSummary extends React.PureComponent { constructor(props: Props & RouteComponentProps) { diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/permissions_tree.tsx b/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/permissions_tree.tsx index cd22616e18a..58438a20a49 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/permissions_tree.tsx +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/permissions_tree.tsx @@ -33,11 +33,11 @@ type Props = { readOnly?: boolean; license?: ClientLicense; customGroupsEnabled: boolean; -} +}; type State = { editTimeLimitModalIsVisible: boolean; -} +}; export default class PermissionsTree extends React.PureComponent { static defaultProps: Partial = { diff --git a/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/types.ts b/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/types.ts index abe02898d11..abea6781388 100644 --- a/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/types.ts +++ b/webapp/channels/src/components/admin_console/permission_schemes_settings/permissions_tree/types.ts @@ -9,11 +9,11 @@ export type Permission = { id: string; combined?: boolean; permissions: string[]; -} +}; export type Group = { id: string; permissions: Array; isVisible?: (license?: ClientLicense) => boolean; -} +}; export type AdditionalValues = Record>; diff --git a/webapp/channels/src/components/admin_console/plugin_management/plugin_management.tsx b/webapp/channels/src/components/admin_console/plugin_management/plugin_management.tsx index 9a3bbf9b7d3..111f565e504 100644 --- a/webapp/channels/src/components/admin_console/plugin_management/plugin_management.tsx +++ b/webapp/channels/src/components/admin_console/plugin_management/plugin_management.tsx @@ -174,7 +174,7 @@ type PluginStatus = { footer: string; settings?: unknown[]; }; -} +}; type PluginItemProps = { pluginStatus: PluginStatus; @@ -485,7 +485,7 @@ type State = BaseState & { overwritingInstall?: boolean; confirmOverwriteInstallModal: boolean; showRemoveModal: boolean; - resolveRemoveModal: string| null; + resolveRemoveModal: string | null; enable: boolean; enableUploads: boolean; allowInsecureDownloadUrl: boolean; @@ -495,7 +495,7 @@ type State = BaseState & { marketplaceUrl: string; requirePluginSignature: boolean; removing: string | null; -} +}; export class PluginManagement extends OLDAdminSettings { private fileInput: React.RefObject; constructor(props: Props) { @@ -826,7 +826,7 @@ export class PluginManagement extends OLDAdminSettings { renderOverwritePluginModal = ( {show, onConfirm, onCancel}: - {show: boolean; onConfirm: (checked: boolean) => void; onCancel: (checked: boolean) => void }) => { + {show: boolean; onConfirm: (checked: boolean) => void; onCancel: (checked: boolean) => void}) => { const title = ( ; + values: Array<{text: string; value: string}>; value: string; setByEnv: boolean; disabled?: boolean; diff --git a/webapp/channels/src/components/admin_console/remove_file_setting.tsx b/webapp/channels/src/components/admin_console/remove_file_setting.tsx index 07b0b32fcfa..a18be557625 100644 --- a/webapp/channels/src/components/admin_console/remove_file_setting.tsx +++ b/webapp/channels/src/components/admin_console/remove_file_setting.tsx @@ -18,7 +18,7 @@ type Props = SettingsProps & { fileName: string; onSubmit: (arg0: string, arg1: () => void) => void; disabled?: boolean; -} +}; const RemoveFileSetting: FC = ({ id, diff --git a/webapp/channels/src/components/admin_console/request_button/request_button.tsx b/webapp/channels/src/components/admin_console/request_button/request_button.tsx index 9b1f6cec810..92ab86d8768 100644 --- a/webapp/channels/src/components/admin_console/request_button/request_button.tsx +++ b/webapp/channels/src/components/admin_console/request_button/request_button.tsx @@ -126,7 +126,7 @@ type State = { busy: boolean; fail: string; success: boolean; -} +}; export default class RequestButton extends React.PureComponent { static defaultProps: Partial = { diff --git a/webapp/channels/src/components/admin_console/reset_email_modal/reset_email_modal.tsx b/webapp/channels/src/components/admin_console/reset_email_modal/reset_email_modal.tsx index 9e7be184ab4..7729ec3fe98 100644 --- a/webapp/channels/src/components/admin_console/reset_email_modal/reset_email_modal.tsx +++ b/webapp/channels/src/components/admin_console/reset_email_modal/reset_email_modal.tsx @@ -24,7 +24,7 @@ type Props = { actions: { patchUser: (user: UserProfile) => Promise; }; -} +}; export default function ResetEmailModal({ user, diff --git a/webapp/channels/src/components/admin_console/reset_password_modal/reset_password_modal.tsx b/webapp/channels/src/components/admin_console/reset_password_modal/reset_password_modal.tsx index 4b3c8c7dda9..b8b110fc23a 100644 --- a/webapp/channels/src/components/admin_console/reset_password_modal/reset_password_modal.tsx +++ b/webapp/channels/src/components/admin_console/reset_password_modal/reset_password_modal.tsx @@ -33,7 +33,7 @@ export type Props = { actions: { updateUserPassword: (userId: string, currentPassword: string, password: string) => Promise; }; -} +}; export default function ResetPasswordModal({ user, diff --git a/webapp/channels/src/components/admin_console/schema_admin_settings.tsx b/webapp/channels/src/components/admin_console/schema_admin_settings.tsx index 801f5a70a85..202d71dc341 100644 --- a/webapp/channels/src/components/admin_console/schema_admin_settings.tsx +++ b/webapp/channels/src/components/admin_console/schema_admin_settings.tsx @@ -64,7 +64,7 @@ export type SystemConsoleCustomSettingsComponentProps = { unRegisterSaveAction: (saveAction: () => Promise<{error?: {message?: string}}>) => void; cancelSubmit: () => void; showConfirm: boolean; -} +}; export type SchemaAdminSettingsProps = { config: Partial; @@ -80,7 +80,7 @@ export type SchemaAdminSettingsProps = { cloud: CloudState; isCurrentUserSystemAdmin: boolean; enterpriseReady: boolean; -} & WrappedComponentProps +} & WrappedComponentProps; type State = { [x: string]: any; @@ -92,7 +92,7 @@ type State = { showConfirmId: string; clientWarning: string; prevSchemaId?: string; -} +}; // Some path parts may contain periods (e.g. plugin ids), but path walking the configuration // relies on splitting by periods. Use this pair of functions to allow such path parts. diff --git a/webapp/channels/src/components/admin_console/schema_text.tsx b/webapp/channels/src/components/admin_console/schema_text.tsx index fff3b2f45a9..590672326c4 100644 --- a/webapp/channels/src/components/admin_console/schema_text.tsx +++ b/webapp/channels/src/components/admin_console/schema_text.tsx @@ -12,7 +12,7 @@ type Props = { isMarkdown?: boolean; text: string | MessageDescriptor | JSX.Element; textValues?: Record React.ReactNode)>; -} +}; const SchemaText = ({ isMarkdown, diff --git a/webapp/channels/src/components/admin_console/search_keyword_marking.tsx b/webapp/channels/src/components/admin_console/search_keyword_marking.tsx index 52eacc908d5..89e5d9e3b76 100644 --- a/webapp/channels/src/components/admin_console/search_keyword_marking.tsx +++ b/webapp/channels/src/components/admin_console/search_keyword_marking.tsx @@ -10,7 +10,7 @@ type Props = { keyword?: string; pathname?: string; children: ReactNode; -} +}; const DEBOUNCE_WAIT_TIME = 200; diff --git a/webapp/channels/src/components/admin_console/secure_connections/controls.tsx b/webapp/channels/src/components/admin_console/secure_connections/controls.tsx index 446ee52a401..6e7199f2dc1 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/controls.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/controls.tsx @@ -137,7 +137,7 @@ type FormFieldProps = { label?: string; children: ReactNode | ReactNode[]; helpText?: string | ReactNode; -} +}; export const FormField = ({label, children, helpText}: FormFieldProps) => { return ( diff --git a/webapp/channels/src/components/admin_console/secure_connections/modals/modal_utils.tsx b/webapp/channels/src/components/admin_console/secure_connections/modals/modal_utils.tsx index d40432374be..1d561ab91e5 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/modals/modal_utils.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/modals/modal_utils.tsx @@ -179,7 +179,7 @@ export const useSharedChannelsRemove = (remoteId: string) => { export type SharedChannelsAddResult = { data: {[channel_id: string]: PromiseSettledResult}; errors: {[channel_id: string]: ServerError}; -} +}; export const useSharedChannelsAdd = (remoteId: string) => { const dispatch = useDispatch(); const promptAdd = () => { diff --git a/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_accept_invite_modal.tsx b/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_accept_invite_modal.tsx index 77ee3804f4b..f62bda470d6 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_accept_invite_modal.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_accept_invite_modal.tsx @@ -21,7 +21,7 @@ type Props = { onCancel?: () => void; onExited: () => void; onHide: () => void; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_create_invite_modal.tsx b/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_create_invite_modal.tsx index 6fa10e83030..0f4f38e20d1 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_create_invite_modal.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_create_invite_modal.tsx @@ -20,7 +20,7 @@ type Props = { onConfirm: () => Promise<{remoteCluster: RemoteCluster; share: {invite: string; password: string}} | undefined>; onCancel?: () => void; onExited: () => void; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_delete_modal.tsx b/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_delete_modal.tsx index b760e0ff145..51d6b9f5cf7 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_delete_modal.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/modals/secure_connection_delete_modal.tsx @@ -11,7 +11,7 @@ type Props = { onConfirm: () => void; onCancel?: () => void; onExited: () => void; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_add_modal.tsx b/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_add_modal.tsx index c525530355f..a1d35773b2b 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_add_modal.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_add_modal.tsx @@ -34,7 +34,7 @@ type Props = { onExited: () => void; remoteId: string; onHide: () => void; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_remove_modal.tsx b/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_remove_modal.tsx index 885bacb7f58..e597da6bb0e 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_remove_modal.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/modals/shared_channels_remove_modal.tsx @@ -12,7 +12,7 @@ type Props = { onConfirm: () => void; onCancel?: () => void; onExited: () => void; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx b/webapp/channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx index 4e9e5aa4c21..a05210b4696 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/secure_connection_detail.tsx @@ -56,7 +56,7 @@ type Params = { type Props = { disabled: boolean; -} +}; export default function SecureConnectionDetail(props: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/secure_connections/team_selector.tsx b/webapp/channels/src/components/admin_console/secure_connections/team_selector.tsx index 18b2c4a8c0b..58c90d2cbd1 100644 --- a/webapp/channels/src/components/admin_console/secure_connections/team_selector.tsx +++ b/webapp/channels/src/components/admin_console/secure_connections/team_selector.tsx @@ -16,7 +16,7 @@ export type Props = { onChange: (teamId: string) => void; testId: string; legend?: string; -} +}; const TeamSelector = (props: Props): JSX.Element => { const value = props.teamsById[props.value]; diff --git a/webapp/channels/src/components/admin_console/server_logs/log_list.tsx b/webapp/channels/src/components/admin_console/server_logs/log_list.tsx index 1e64ae79450..943d197f164 100644 --- a/webapp/channels/src/components/admin_console/server_logs/log_list.tsx +++ b/webapp/channels/src/components/admin_console/server_logs/log_list.tsx @@ -30,7 +30,7 @@ type State = { modalOpen: boolean; page: number; dateAsc: boolean; -} +}; const PAGE_SIZE = 50; diff --git a/webapp/channels/src/components/admin_console/setting.tsx b/webapp/channels/src/components/admin_console/setting.tsx index e55459cb138..57c35fb6856 100644 --- a/webapp/channels/src/components/admin_console/setting.tsx +++ b/webapp/channels/src/components/admin_console/setting.tsx @@ -11,7 +11,7 @@ export type Props = { children?: React.ReactNode; helpText?: React.ReactNode; setByEnv?: boolean; -} +}; const Settings = ({children, setByEnv, helpText, inputId, label}: Props) => { return ( diff --git a/webapp/channels/src/components/admin_console/system_properties/section_utils.ts b/webapp/channels/src/components/admin_console/system_properties/section_utils.ts index 9a13a8d0900..5578acf14d7 100644 --- a/webapp/channels/src/components/admin_console/system_properties/section_utils.ts +++ b/webapp/channels/src/components/admin_console/system_properties/section_utils.ts @@ -13,7 +13,7 @@ export class BatchProcessingError extends Error { export type SectionHook = SectionIO & { content: ReactElement; -} +}; export type SectionIO = { save: () => void; @@ -48,7 +48,7 @@ export type ReadOperations = { get: () => Promise; select?: (state: GlobalState) => T | undefined; opts?: {forceInitialGet: boolean; initial?: Partial}; -} +}; export interface CollectionIO { create?: (patch?: Partial) => void; diff --git a/webapp/channels/src/components/admin_console/system_properties/system_properties.tsx b/webapp/channels/src/components/admin_console/system_properties/system_properties.tsx index 016afa9ba3b..3fe494d29c8 100644 --- a/webapp/channels/src/components/admin_console/system_properties/system_properties.tsx +++ b/webapp/channels/src/components/admin_console/system_properties/system_properties.tsx @@ -17,7 +17,7 @@ import type {SearchableStrings} from '../types'; type Props = { disabled: boolean; -} +}; export default function SystemProperties(props: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/system_properties/user_properties_delete_modal.tsx b/webapp/channels/src/components/admin_console/system_properties/user_properties_delete_modal.tsx index 05a9c0d86cd..e0c61e2170c 100644 --- a/webapp/channels/src/components/admin_console/system_properties/user_properties_delete_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_properties/user_properties_delete_modal.tsx @@ -20,7 +20,7 @@ type Props = { onExited: () => void; isOrphaned?: boolean; sourcePluginId?: string; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/admin_console/system_properties/user_properties_dot_menu.tsx b/webapp/channels/src/components/admin_console/system_properties/user_properties_dot_menu.tsx index eb9d08fc653..4e74eece54b 100644 --- a/webapp/channels/src/components/admin_console/system_properties/user_properties_dot_menu.tsx +++ b/webapp/channels/src/components/admin_console/system_properties/user_properties_dot_menu.tsx @@ -28,7 +28,7 @@ type Props = { createField: (field: UserPropertyField) => void; updateField: (field: UserPropertyField) => void; deleteField: (id: string) => void; -} +}; export const useAttributeLinkModal = (field: UserPropertyField, updateField: Props['updateField']) => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_properties/user_properties_table.tsx b/webapp/channels/src/components/admin_console/system_properties/user_properties_table.tsx index d179be837c4..dcc0de53954 100644 --- a/webapp/channels/src/components/admin_console/system_properties/user_properties_table.tsx +++ b/webapp/channels/src/components/admin_console/system_properties/user_properties_table.tsx @@ -37,7 +37,7 @@ type FieldActions = { updateField: (field: UserPropertyField) => void; deleteField: (id: string) => void; reorderField: (field: UserPropertyField, nextOrder: number) => void; -} +}; export const useUserPropertiesTable = (): SectionHook => { const [userPropertyFields, readIO, pendingIO, itemOps] = useUserPropertyFields(); @@ -98,7 +98,7 @@ export const useUserPropertiesTable = (): SectionHook => { type Props = { data: UserPropertyFields; canCreate: boolean; -} +}; export function UserPropertiesTable({ data: collection, @@ -655,7 +655,7 @@ const NAME_BANNER_ORDER = [ type ValidationBannersProps = { warnings: UserPropertyFields['warnings']; -} +}; export const ValidationBanners = ({warnings}: ValidationBannersProps) => { const {counts, presentTypes} = useMemo(() => { diff --git a/webapp/channels/src/components/admin_console/system_properties/user_properties_values.tsx b/webapp/channels/src/components/admin_console/system_properties/user_properties_values.tsx index 28cb8cf99d5..eccc3db683d 100644 --- a/webapp/channels/src/components/admin_console/system_properties/user_properties_values.tsx +++ b/webapp/channels/src/components/admin_console/system_properties/user_properties_values.tsx @@ -29,7 +29,7 @@ type Props = { field: UserPropertyField; updateField: (field: UserPropertyField) => void; autoFocus?: boolean; -} +}; type Option = {label: string; id: string; value: string}; type SelectProps = CreatableProps>; diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/add_users_to_role_modal.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/add_users_to_role_modal.tsx index a28edf8170a..19deb42f54b 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/add_users_to_role_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/add_users_to_role_modal/add_users_to_role_modal.tsx @@ -32,8 +32,8 @@ type UserProfileValue = Value & UserProfile; export type Props = { role: Role; users: UserProfile[]; - excludeUsers: { [userId: string]: UserProfile }; - includeUsers: { [userId: string]: UserProfile }; + excludeUsers: {[userId: string]: UserProfile}; + includeUsers: {[userId: string]: UserProfile}; intl: IntlShape; onAddCallback: (users: UserProfile[]) => void; onExited: () => void; @@ -42,7 +42,7 @@ export type Props = { getProfiles: (page: number, perPage?: number, options?: Record) => Promise>; searchProfiles: (term: string, options?: Record) => Promise>; }; -} +}; type State = { searchResults: UserProfile[]; @@ -52,7 +52,7 @@ type State = { addError: null; loading: boolean; term: string; -} +}; function searchUsersToAdd(users: Record, term: string): Record { const profilesList: UserProfile[] = Object.keys(users).map((key) => users[key]); @@ -150,7 +150,7 @@ export class AddUsersToRoleModal extends React.PureComponent { ); }; - renderValue = (value: { data: UserProfileValue }): string => { + renderValue = (value: {data: UserProfileValue}): string => { return value.data?.username || ''; }; diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/index.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/index.tsx index ac5cdb2f99e..2dbc4bdf467 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/index.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/index.tsx @@ -22,7 +22,7 @@ type Props = { role_id: string; }; }; -} +}; function mapStateToProps(state: GlobalState, props: Props) { const role = getRolesById(state)[props.match.params.role_id]; diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role.tsx index b8e4f93fd75..c0d140cd64a 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role.tsx @@ -40,7 +40,7 @@ type Props = { updateUserRoles(userId: string, roles: string): Promise; setNavigationBlocked: (blocked: boolean) => void; }; -} +}; type State = { usersToAdd: Record; @@ -51,7 +51,7 @@ type State = { saveNeeded: boolean; serverError: JSX.Element | undefined; saveKey: number; -} +}; export default class SystemRole extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission.tsx index c7e3a9a8ff5..c8ea2ea2c96 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission.tsx @@ -21,7 +21,7 @@ type Props = { visibleSections: Record; permissionsToUpdate: PermissionsToUpdate; updatePermissions: (permissions: PermissionToUpdate[]) => void; -} +}; export default class SystemRolePermission extends React.PureComponent { isSectionVisible = (section: SystemSection, visibleSections: Record) => { diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission_dropdown.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission_dropdown.tsx index b57e3bb9eb4..d7b0b35539e 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission_dropdown.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permission_dropdown.tsx @@ -20,7 +20,7 @@ type Props = { access: MixedAccess | ReadAccess | NoAccess | WriteAccess; updatePermissions: (permissions: PermissionToUpdate[]) => void; isDisabled?: boolean; -} +}; export default class SystemRolePermissionDropdown extends React.PureComponent { updatePermission = (value: PermissionAccess) => { diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permissions.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permissions.tsx index 4b9a286aab6..8d5c3de0388 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permissions.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_permissions.tsx @@ -24,11 +24,11 @@ type Props = { updatePermissions: (permissions: PermissionToUpdate[]) => void; readOnly?: boolean; isLicensedForCloud: boolean; -} +}; type State = { visibleSections: Record; -} +}; // the actual permissions correlating to these values are of the format `sysconsole_(read|write)_name(.subsection.name)` const sectionsList: SystemSection[] = [ diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx index 42d4bda0ded..7c86ff98862 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/index.tsx @@ -22,7 +22,7 @@ type OwnProps = { roleName: string; usersToAdd: Record; usersToRemove: Record; -} +}; function searchUsersToAdd(users: Record, term: string): Record { const profiles = filterProfilesStartingWithTerm(Object.keys(users).map((key) => users[key]), term); diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/system_role_users.tsx b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/system_role_users.tsx index 1481afd3464..4f0c053b13f 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/system_role_users.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/system_role_users/system_role_users.tsx @@ -37,14 +37,14 @@ export type Props = { setUserGridSearch: (term: string) => void; }; readOnly?: boolean; -} +}; type State = { loading: boolean; page: number; includeUsers: Record; excludeUsers: Record; -} +}; const USERS_PER_PAGE = 10; diff --git a/webapp/channels/src/components/admin_console/system_roles/system_role/types.ts b/webapp/channels/src/components/admin_console/system_roles/system_role/types.ts index f829d733927..e6ad380d78b 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_role/types.ts +++ b/webapp/channels/src/components/admin_console/system_roles/system_role/types.ts @@ -22,4 +22,4 @@ export type SystemSection = { hasDescription?: boolean; subsections?: SystemSection[]; disabled?: boolean; -} +}; diff --git a/webapp/channels/src/components/admin_console/system_roles/system_roles.tsx b/webapp/channels/src/components/admin_console/system_roles/system_roles.tsx index 70bdbca8cee..c494fbbd7ca 100644 --- a/webapp/channels/src/components/admin_console/system_roles/system_roles.tsx +++ b/webapp/channels/src/components/admin_console/system_roles/system_roles.tsx @@ -19,7 +19,7 @@ import {rolesStrings} from './strings'; type Props = { roles: Record; -} +}; const columns: Column[] = [ { diff --git a/webapp/channels/src/components/admin_console/system_user_detail/system_user_detail.tsx b/webapp/channels/src/components/admin_console/system_user_detail/system_user_detail.tsx index 1534491a984..59c5a002d37 100644 --- a/webapp/channels/src/components/admin_console/system_user_detail/system_user_detail.tsx +++ b/webapp/channels/src/components/admin_console/system_user_detail/system_user_detail.tsx @@ -214,7 +214,7 @@ export class SystemUserDetail extends PureComponent { getCustomProfileAttributeValues = async (userId: UserProfile['id']) => { return this.props.getCustomProfileAttributeValues(userId). - then((result: { data?: Record }) => result.data || {}); + then((result: {data?: Record}) => result.data || {}); }; componentDidMount() { diff --git a/webapp/channels/src/components/admin_console/system_user_detail/team_list/abstract_list.tsx b/webapp/channels/src/components/admin_console/system_user_detail/team_list/abstract_list.tsx index cdf57fbc5c7..de1c7f95bfd 100644 --- a/webapp/channels/src/components/admin_console/system_user_detail/team_list/abstract_list.tsx +++ b/webapp/channels/src/components/admin_console/system_user_detail/team_list/abstract_list.tsx @@ -35,18 +35,18 @@ type Props = { getTeamsData: (userId: string) => Promise>; removeGroup?: () => void; }; -} +}; type State = { loading: boolean; page: number; -} +}; type Paging = { startCount: number; endCount: number; total: number; -} +}; export default class AbstractList extends React.PureComponent { public static defaultProps = { diff --git a/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list.tsx b/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list.tsx index 14bc842abe8..2ec7ec19450 100644 --- a/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list.tsx +++ b/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list.tsx @@ -65,12 +65,12 @@ type Props = { userDetailCallback: (teamsId: TeamMembership[]) => void; refreshTeams: boolean; readOnly?: boolean; -} +}; type State = { teamsWithMemberships: TeamWithMembership[]; serverError: string | null; -} +}; export default class TeamList extends React.PureComponent { public static defaultProps = { diff --git a/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list_dropdown.tsx b/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list_dropdown.tsx index 5971466fd5b..1983e32db34 100644 --- a/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list_dropdown.tsx +++ b/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_list_dropdown.tsx @@ -16,7 +16,7 @@ type Props = { doMakeUserTeamAdmin: (teamId: string) => void; doMakeUserTeamMember: (teamId: string) => void; isDisabled?: boolean; -} +}; const TeamListDropdown = ({ team, diff --git a/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_row.tsx b/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_row.tsx index 94f21d82e0d..a5783dbd647 100644 --- a/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_row.tsx +++ b/webapp/channels/src/components/admin_console/system_user_detail/team_list/team_row.tsx @@ -21,7 +21,7 @@ type Props = { doMakeUserTeamAdmin: (teamId: string) => Promise; doMakeUserTeamMember: (teamId: string) => Promise; readOnly?: boolean; -} +}; export default class TeamRow extends React.PureComponent { private renderTeamType = (team: Team) => { diff --git a/webapp/channels/src/components/admin_console/system_users/system_users.tsx b/webapp/channels/src/components/admin_console/system_users/system_users.tsx index 16c2f15acd5..8111a4fe5f8 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users.tsx @@ -49,7 +49,7 @@ export type TableOptions = { filterRole?: AdminConsoleUserManagementTableProperties['filterRole']; filterStatus?: AdminConsoleUserManagementTableProperties['filterStatus']; dateRange?: ReportDuration; -} +}; type UserReportWithError = UserReport & {error?: ServerError}; @@ -59,7 +59,7 @@ const messages = defineMessages({ title: {id: 'admin.system_users.title', defaultMessage: '{siteName} Users'}, }); -export const searchableStrings: Array = [[messages.title, {siteName: ''}]]; +export const searchableStrings: Array = [[messages.title, {siteName: ''}]]; function SystemUsers(props: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_date_range_menu/index.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_date_range_menu/index.tsx index e142f57a203..bace1edf07c 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_date_range_menu/index.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_date_range_menu/index.tsx @@ -42,7 +42,7 @@ function getEndOfLastMonth(now: Date) { type Props = { dateRange: ReportDuration; -} +}; export function SystemUsersDateRangeMenu(props: Props) { const {formatMessage, formatDate} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_export/export_error_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_export/export_error_modal.tsx index 8d2a09b82b9..7ce0b489d9d 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_export/export_error_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_export/export_error_modal.tsx @@ -11,7 +11,7 @@ import ConfirmModalRedux from 'components/confirm_modal_redux'; type Props = { error: ServerError; onExited: () => void; -} +}; export function ExportErrorModal({error, onExited}: Props) { const isInProgress = error.status_code === 400 && diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_export/export_user_data_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_export/export_user_data_modal.tsx index 78cd06ce934..e6c2aedfb70 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_export/export_user_data_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_export/export_user_data_modal.tsx @@ -14,7 +14,7 @@ import ConfirmModalRedux from 'components/confirm_modal_redux'; type Props = { onConfirm: (checked: boolean) => void; onExited: () => void; -} +}; export function ExportUserDataModal({onConfirm, onExited}: Props) { const tableFilterProps = useSelector(getAdminConsoleUserManagementTableProperties); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_export/upgrade_export_data_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_export/upgrade_export_data_modal.tsx index cea2747803e..886b55f1344 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_export/upgrade_export_data_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_export/upgrade_export_data_modal.tsx @@ -12,7 +12,7 @@ import './upgrade_export_data_modal.scss'; type Props = { onExited: () => void; -} +}; export function UpgradeExportDataModal({onExited}: Props) { const {openPricingModal, isAirGapped} = useOpenPricingModal(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/styled_users_filters_status/index.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/styled_users_filters_status/index.tsx index 715a1fa64ad..227e9427abc 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/styled_users_filters_status/index.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/styled_users_filters_status/index.tsx @@ -14,7 +14,7 @@ import {getDefaultSelectedValueFromList} from '../../utils'; type OptionType = { label: string; value: StatusFilter; -} +}; interface Props { initialValue: AdminConsoleUserManagementTableProperties['filterStatus']; diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_role/index.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_role/index.tsx index fa1c56e1843..4e639db0749 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_role/index.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_role/index.tsx @@ -15,7 +15,7 @@ import {getDefaultSelectedValueFromList} from '../../utils'; type OptionType = { label: string; value: RoleFilters; -} +}; type Props = { initialValue: AdminConsoleUserManagementTableProperties['filterRole']; diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_team/index.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_team/index.tsx index 2ae89fcae6c..f82843c5785 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_team/index.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_filters_popover/system_users_filter_team/index.tsx @@ -28,7 +28,7 @@ const TEAMS_PER_PAGE = 50; export type OptionType = { label: string | ReactElement; value: string; -} +}; interface Props { className?: string; diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_manage_user_settings_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_manage_user_settings_modal.tsx index 3fce3e0ffb1..57e0f5fe549 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_manage_user_settings_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_manage_user_settings_modal.tsx @@ -16,7 +16,7 @@ type Props = { onConfirm: () => void; onExited: () => void; focusOriginElement: string; -} +}; export default function ConfirmManageUserSettingsModal(props: Props) { const handleExited = () => { diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_reset_failed_attempts_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_reset_failed_attempts_modal.tsx index 3538d85e127..e39ee3fff1b 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_reset_failed_attempts_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/confirm_reset_failed_attempts_modal.tsx @@ -17,7 +17,7 @@ type Props = { onError: (error: ServerError) => void; onSuccess: () => void; onExited: () => void; -} +}; export default function ConfirmResetFailedAttemptsModal({user, onSuccess, onError, onExited}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/create_group_syncables_membership_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/create_group_syncables_membership_modal.tsx index 1416147adbd..e3f16250214 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/create_group_syncables_membership_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/create_group_syncables_membership_modal.tsx @@ -16,7 +16,7 @@ type Props = { user: UserProfile; onExited: () => void; onError: (error: ServerError) => void; -} +}; export default function CreateGroupSyncablesMembershipsModal({user, onExited, onError}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/deactivate_member_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/deactivate_member_modal.tsx index c22e7f4f897..c04990250f8 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/deactivate_member_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/deactivate_member_modal.tsx @@ -22,7 +22,7 @@ type Props = { onExited: () => void; onSuccess: () => void; onError: (error: ServerError) => void; -} +}; export default function DeactivateMemberModal({user, onExited, onSuccess, onError}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/demote_to_guest_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/demote_to_guest_modal.tsx index 11cb473e67c..02ef8671691 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/demote_to_guest_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/demote_to_guest_modal.tsx @@ -17,7 +17,7 @@ type Props = { onExited: () => void; onSuccess: () => void; onError: (error: ServerError) => void; -} +}; export default function DemoteToGuestModal({user, onExited, onSuccess, onError}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/promote_to_member_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/promote_to_member_modal.tsx index 9779224c657..a3b22b76ed6 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/promote_to_member_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/promote_to_member_modal.tsx @@ -17,7 +17,7 @@ type Props = { onSuccess: () => void; onExited: () => void; onError: (error: ServerError) => void; -} +}; export default function PromoteToMemberModal({user, onExited, onSuccess, onError}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/revoke_sessions_modal.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/revoke_sessions_modal.tsx index 650380f3427..5868c1bbf91 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/revoke_sessions_modal.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_list_actions/revoke_sessions_modal.tsx @@ -19,7 +19,7 @@ type Props = { currentUser: UserProfile; onExited: () => void; onError: (error: ServerError) => void; -} +}; export default function RevokeSessionsModal({user, currentUser, onExited, onError}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/admin_console/system_users/system_users_search/index.tsx b/webapp/channels/src/components/admin_console/system_users/system_users_search/index.tsx index 3c219d4b44a..0d90302f458 100644 --- a/webapp/channels/src/components/admin_console/system_users/system_users_search/index.tsx +++ b/webapp/channels/src/components/admin_console/system_users/system_users_search/index.tsx @@ -16,7 +16,7 @@ import './system_users_search.scss'; type Props = { searchTerm: AdminConsoleUserManagementTableProperties['searchTerm']; -} +}; export function SystemUsersSearch(props: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.tsx index 312e3af2fa3..7e9f4b1ad2d 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/channel_details.tsx @@ -140,7 +140,7 @@ export type ChannelDetailsActions = { getVisualAST: (expression: string, channelId?: string) => Promise; saveChannelAccessPolicy: (policy: AccessControlPolicy) => Promise; validateChannelExpression: (expression: string, channelId: string) => Promise; - createAccessControlSyncJob: (job: JobTypeBase & { data: any }) => Promise; + createAccessControlSyncJob: (job: JobTypeBase & {data: any}) => Promise; updateAccessControlPoliciesActive: (states: AccessControlPolicyActiveUpdate[]) => Promise; searchUsersForExpression: (expression: string, term: string, after: string, limit: number, channelId?: string) => Promise; getChannelMembers: (channelId: string, page?: number, perPage?: number) => Promise; @@ -813,7 +813,7 @@ export default class ChannelDetails extends React.PureComponent void; setUserGridFilters: (filters: GetFilteredUsersStatsOpts) => void; }; -} +}; type State = { loading: boolean; -} +}; const PROFILE_CHUNK_SIZE = 10; diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/index.ts b/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/index.ts index 698c102a017..b4ccababe76 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/index.ts +++ b/webapp/channels/src/components/admin_console/team_channel_settings/channel/details/index.ts @@ -50,7 +50,7 @@ type OwnProps = { channel_id: string; }; }; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const config = getConfig(state); diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/errors.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/errors.tsx index 7deecca7735..5eb08fb8900 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/errors.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/errors.tsx @@ -60,7 +60,7 @@ type UsersWillBeRemovedProps = { total: number; scope: string; scopeId: string; -} +}; export const UsersWillBeRemovedError = ({users, total, scope, scopeId}: UsersWillBeRemovedProps) => { let error = ( diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/group/group_members_modal.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/group/group_members_modal.tsx index ef2aeaa766f..cf603c6b24a 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/group/group_members_modal.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/group/group_members_modal.tsx @@ -14,7 +14,7 @@ type Props = { group: Group; onExited: () => void; onLoad?: () => void; -} +}; const GroupMembersModal: React.FC = ({ group, onExited, onLoad, diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/group/group_users/users_to_remove.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/group/group_users/users_to_remove.tsx index c477b1d3593..a1d2075695f 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/group/group_users/users_to_remove.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/group/group_users/users_to_remove.tsx @@ -28,7 +28,7 @@ export type Filters = { roles?: string[]; channel_roles?: string[]; team_roles?: string[]; -} +}; export type Memberships = RelationOneToOne | RelationOneToOne; diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/group/index.ts b/webapp/channels/src/components/admin_console/team_channel_settings/group/index.ts index 2f2bf164d1e..9e7cbeba57b 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/group/index.ts +++ b/webapp/channels/src/components/admin_console/team_channel_settings/group/index.ts @@ -23,7 +23,7 @@ export type OwnProps = { onPageChangedCallback?: () => void; team?: Team; channel?: Partial; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { return { diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/team/details/index.ts b/webapp/channels/src/components/admin_console/team_channel_settings/team/details/index.ts index 391566f6ee4..d96592fde4a 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/team/details/index.ts +++ b/webapp/channels/src/components/admin_console/team_channel_settings/team/details/index.ts @@ -24,7 +24,7 @@ import TeamDetails from './team_details'; type Params = { team_id: string; -} +}; export type OwnProps = RouteComponentProps; diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_members/team_members.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_members/team_members.tsx index 31f97ef884e..f4483e7f9f1 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_members/team_members.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_members/team_members.tsx @@ -48,11 +48,11 @@ type Props = { setUserGridSearch: (term: string) => void; setUserGridFilters: (filters: GetFilteredUsersStatsOpts) => void; }; -} +}; type State = { loading: boolean; -} +}; const PROFILE_CHUNK_SIZE = 10; diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_modes.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_modes.tsx index a90c3e870c5..865fc753b76 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_modes.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/team/details/team_modes.tsx @@ -16,7 +16,7 @@ type Props = { allowedDomains: string; onToggle: (syncChecked: boolean, allAllowedChecked: boolean, allowedDomainsChecked: boolean, allowedDomains: string) => void; isDisabled?: boolean; -} +}; const SyncGroupsToggle = ({syncChecked, allAllowedChecked, allowedDomainsChecked, allowedDomains, onToggle, isDisabled}: Props) => ( void; isDisabled?: boolean; saveNeeded?: boolean; -} +}; export function TeamProfile({team, isArchived, onToggleArchive, isDisabled, saveNeeded}: Props) { const teamIconUrl = imageURLForTeam(team); diff --git a/webapp/channels/src/components/admin_console/team_channel_settings/team/list/team_list.tsx b/webapp/channels/src/components/admin_console/team_channel_settings/team/list/team_list.tsx index ae8c4864f85..ead443dc388 100644 --- a/webapp/channels/src/components/admin_console/team_channel_settings/team/list/team_list.tsx +++ b/webapp/channels/src/components/admin_console/team_channel_settings/team/list/team_list.tsx @@ -31,7 +31,7 @@ type Props = { getData(page: number, size: number): void; }; isLicensedForLDAPGroups?: boolean; -} +}; type State = { loading: boolean; @@ -41,7 +41,7 @@ type State = { total: number; searchErrored: boolean; filters: TeamSearchOpts; -} +}; export default class TeamList extends React.PureComponent { constructor(props: Props) { super(props); diff --git a/webapp/channels/src/components/admin_console/types.ts b/webapp/channels/src/components/admin_console/types.ts index 5341f61f6b9..4c6c744d74a 100644 --- a/webapp/channels/src/components/admin_console/types.ts +++ b/webapp/channels/src/components/admin_console/types.ts @@ -17,17 +17,17 @@ import type Constants from 'utils/constants'; import type ValidationResult from './validation'; -type Component = any +type Component = any; type AdminDefinitionConfigSchemaComponent = { id: string; component: Component; isBeta?: boolean; -} +}; -export type ConsoleAccess = {read: {[key: string]: boolean}; write: {[key: string]: boolean}} +export type ConsoleAccess = {read: {[key: string]: boolean}; write: {[key: string]: boolean}}; -type Validator = (value: any) => ValidationResult +type Validator = (value: any) => ValidationResult; type AdminDefinitionSettingCustom = Omit & { type: 'custom'; @@ -36,7 +36,7 @@ type AdminDefinitionSettingCustom = Omit & component: Component; label?: string | MessageDescriptor; validate?: Validator; -} +}; type AdminDefinitionSettingBase = { key?: string; @@ -52,19 +52,19 @@ type AdminDefinitionSettingBase = { onConfigSave?: (displayVal: any, previousVal?: any) => any; isHidden?: Check; isDisabled?: Check; -} +}; export type AdminDefinitionSettingBanner = AdminDefinitionSettingBase & { type: 'banner'; label_markdown?: boolean; banner_type: 'info' | 'warning'; -} +}; type AdminDefinitionSettingRole = AdminDefinitionSettingBase & { type: 'roles'; multiple?: boolean; no_result?: string | MessageDescriptor; -} +}; export type AdminDefinitionSettingInput = AdminDefinitionSettingBase & { type: 'text' | 'bool' | 'longtext' | 'number' | 'color'; @@ -76,14 +76,14 @@ export type AdminDefinitionSettingInput = AdminDefinitionSettingBase & { dynamic_value?: (value: any, config: Partial, state: any) => string; max_length?: number; default?: string | ((value: any, config: Partial, state: any) => string); -} +}; type AdminDefinitionSettingGenerated = AdminDefinitionSettingBase & { type: 'generated'; placeholder?: string | MessageDescriptor; regenerate_help_text?: string; default?: string; -} +}; export type AdminDefinitionSettingDropdownOption = { value: string; @@ -92,13 +92,13 @@ export type AdminDefinitionSettingDropdownOption = { help_text_markdown?: boolean; help_text_values?: {[key: string]: any}; isHidden?: Check; -} +}; type AdminDefinitionSettingDropdown = AdminDefinitionSettingBase & { type: 'dropdown'; options: AdminDefinitionSettingDropdownOption[]; isHelpHidden?: Check; -} +}; export type AdminDefinitionSettingFileUpload = AdminDefinitionSettingBase & { type: 'fileupload'; @@ -115,7 +115,7 @@ export type AdminDefinitionSettingFileUpload = AdminDefinitionSettingBase & { ) => void; setFromMetadataField?: string; remove_action: (success: (data: any) => void, error: (err: any) => void) => void; -} +}; type AdminDefinitionSettingJobsTable = AdminDefinitionSettingBase & { type: 'jobstable'; @@ -127,7 +127,7 @@ type AdminDefinitionSettingLanguage = AdminDefinitionSettingBase & { type: 'language'; multiple?: boolean; no_result?: string | MessageDescriptor; -} +}; export type AdminDefinitionSettingButton = AdminDefinitionSettingBase & { type: 'button'; @@ -137,13 +137,13 @@ export type AdminDefinitionSettingButton = AdminDefinitionSettingBase & { success_message?: string | MessageDescriptor; sourceUrlKey?: string; skipSaveNeeded?: boolean; -} +}; type AdminDefinitionSettingUsername = AdminDefinitionSettingBase & { type: typeof Constants.SettingsTypes.TYPE_USERNAME; placeholder: string; default?: string; -} +}; type MappingKeyTypes = 'enableTeamCreation' | 'editOthersPosts' | 'enableOnlyAdminIntegrations'; @@ -151,18 +151,18 @@ type AdminDefinitionSettingPermission = AdminDefinitionSettingBase & { type: typeof Constants.SettingsTypes.TYPE_PERMISSION; permissions_mapping_name: MappingKeyTypes; key: string; -} +}; type AdminDefinitionSettingRadio = AdminDefinitionSettingBase & { type: typeof Constants.SettingsTypes.TYPE_RADIO; options: AdminDefinitionSettingDropdownOption[]; default?: string; -} +}; type AdminDefinitionSettingExpandable = AdminDefinitionSettingBase & { type: typeof Constants.SettingsTypes.TYPE_EXPANDABLE_SETTING; settings: AdminDefinitionSetting[]; -} +}; export type AdminDefinitionSetting = AdminDefinitionSettingCustom | AdminDefinitionSettingInput | AdminDefinitionSettingGenerated | @@ -184,7 +184,7 @@ export type AdminDefinitionConfigSchemaSettings = { sections?: AdminDefinitionConfigSchemaSection[]; footer?: string | MessageDescriptor; header?: string | MessageDescriptor; -} +}; export type AdminDefinitionConfigSchemaSection = { key: string; @@ -198,12 +198,12 @@ export type AdminDefinitionConfigSchemaSection = { component?: Component; componentProps?: any; isHidden?: Check; -} +}; type RestrictedIndicatorType = { value: (cloud: CloudState) => JSX.Element; - shouldDisplay: (license: ClientLicense, subscriptionProduct: Product|undefined) => boolean; -} + shouldDisplay: (license: ClientLicense, subscriptionProduct: Product | undefined) => boolean; +}; export type AdminDefinitionSubSectionSchema = AdminDefinitionConfigSchemaComponent | AdminDefinitionConfigSchemaSettings; @@ -216,7 +216,7 @@ export type AdminDefinitionSubSection = { isDisabled?: Check; schema: AdminDefinitionSubSectionSchema; restrictedIndicator?: RestrictedIndicatorType; -} +}; export type AdminDefinitionSection = { icon: JSX.Element; @@ -224,13 +224,13 @@ export type AdminDefinitionSection = { isHidden: Check; id?: string; subsections: {[key: string]: AdminDefinitionSubSection}; -} +}; /** From {@link IntlShape.formatMessage}. Cannot discriminate overloaded method signature. */ declare function formatMessageBasic(descriptor: MessageDescriptor, values?: Record>): string; export type SearchableStrings = Array>; -export type AdminDefinition = {[key: string]: AdminDefinitionSection} +export type AdminDefinition = {[key: string]: AdminDefinitionSection}; -export type Check = boolean | ((config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess, cloud?: CloudState, isSystemAdmin?: boolean) => boolean) +export type Check = boolean | ((config: Partial, state: any, license?: ClientLicense, enterpriseReady?: boolean, consoleAccess?: ConsoleAccess, cloud?: CloudState, isSystemAdmin?: boolean) => boolean); diff --git a/webapp/channels/src/components/admin_console/user_autocomplete_setting/user_autocomplete_setting.tsx b/webapp/channels/src/components/admin_console/user_autocomplete_setting/user_autocomplete_setting.tsx index 024dfdd4ce7..9ecbb6e57ba 100644 --- a/webapp/channels/src/components/admin_console/user_autocomplete_setting/user_autocomplete_setting.tsx +++ b/webapp/channels/src/components/admin_console/user_autocomplete_setting/user_autocomplete_setting.tsx @@ -23,7 +23,7 @@ export type Props = { actions: { autocompleteUsers: (username: string) => Promise; }; -} +}; const UserAutocompleteSetting = ({id, label, placeholder, helpText, value, onChange, disabled, actions}: Props) => { const userSuggestionProvidersRef = useRef([new GenericUserProvider(actions.autocompleteUsers)]); diff --git a/webapp/channels/src/components/admin_console/user_grid/user_grid.tsx b/webapp/channels/src/components/admin_console/user_grid/user_grid.tsx index 04601967998..fd4bb01960e 100644 --- a/webapp/channels/src/components/admin_console/user_grid/user_grid.tsx +++ b/webapp/channels/src/components/admin_console/user_grid/user_grid.tsx @@ -23,10 +23,10 @@ import './user_grid.scss'; type Props = { users: UserProfile[]; scope: 'team' | 'channel'; - memberships: { [userId: string]: BaseMembership | TeamMembership | ChannelMembership }; + memberships: {[userId: string]: BaseMembership | TeamMembership | ChannelMembership}; - excludeUsers: { [userId: string]: UserProfile }; - includeUsers: { [userId: string]: UserProfile }; + excludeUsers: {[userId: string]: UserProfile}; + includeUsers: {[userId: string]: UserProfile}; loadPage: (page: number) => void; onSearch: (term: string) => void; @@ -48,7 +48,7 @@ type Props = { type State = { loading: boolean; page: number; - membershipsToUpdate: { [userId: string]: BaseMembership | TeamMembership | ChannelMembership }; + membershipsToUpdate: {[userId: string]: BaseMembership | TeamMembership | ChannelMembership}; }; const USERS_PER_PAGE = 10; diff --git a/webapp/channels/src/components/admin_console/user_grid/user_grid_name.tsx b/webapp/channels/src/components/admin_console/user_grid/user_grid_name.tsx index 06c40473d60..1a659f3af4a 100644 --- a/webapp/channels/src/components/admin_console/user_grid/user_grid_name.tsx +++ b/webapp/channels/src/components/admin_console/user_grid/user_grid_name.tsx @@ -11,7 +11,7 @@ import ProfilePicture from 'components/profile_picture'; type Props = { user: UserProfile; -} +}; const UserGridName = ({ user, diff --git a/webapp/channels/src/components/admin_console/user_grid/user_grid_remove.tsx b/webapp/channels/src/components/admin_console/user_grid/user_grid_remove.tsx index f86bc63ead6..ff8a8ed3a7b 100644 --- a/webapp/channels/src/components/admin_console/user_grid/user_grid_remove.tsx +++ b/webapp/channels/src/components/admin_console/user_grid/user_grid_remove.tsx @@ -10,7 +10,7 @@ type Props = { user: UserProfile; removeUser: (user: UserProfile) => void; isDisabled?: boolean; -} +}; const UserGridRemove = ({ user, diff --git a/webapp/channels/src/components/admin_console/user_grid/user_grid_role_dropdown.tsx b/webapp/channels/src/components/admin_console/user_grid/user_grid_role_dropdown.tsx index 136ecabb877..74761eb9bb1 100644 --- a/webapp/channels/src/components/admin_console/user_grid/user_grid_role_dropdown.tsx +++ b/webapp/channels/src/components/admin_console/user_grid/user_grid_role_dropdown.tsx @@ -19,7 +19,7 @@ export type BaseMembership = { user_id: string; scheme_user: boolean; scheme_admin: boolean; -} +}; type Props = { user: UserProfile; @@ -27,7 +27,7 @@ type Props = { scope: 'team' | 'channel'; handleUpdateMembership: (membership: BaseMembership) => void; isDisabled?: boolean; -} +}; export type Role = 'system_admin' | 'team_admin' | 'team_user' | 'channel_admin' | 'channel_user' | 'shared_member' | 'guest'; diff --git a/webapp/channels/src/components/admin_console/validation.tsx b/webapp/channels/src/components/admin_console/validation.tsx index 708f80ca766..05a6fd9f52a 100644 --- a/webapp/channels/src/components/admin_console/validation.tsx +++ b/webapp/channels/src/components/admin_console/validation.tsx @@ -16,7 +16,7 @@ export default class ValidationResult { return this.result; } - public error(intl: IntlShape): string|null { + public error(intl: IntlShape): string | null { if (this.result) { return null; } diff --git a/webapp/channels/src/components/admin_console/workspace-optimization/dashboard.type.ts b/webapp/channels/src/components/admin_console/workspace-optimization/dashboard.type.ts index b87c9d1bdda..3ae2d3818ec 100644 --- a/webapp/channels/src/components/admin_console/workspace-optimization/dashboard.type.ts +++ b/webapp/channels/src/components/admin_console/workspace-optimization/dashboard.type.ts @@ -10,7 +10,7 @@ export type DataModel = { icon: React.ReactNode; hide?: boolean; }; -} +}; export enum ItemStatus { @@ -38,7 +38,7 @@ export type ItemModel = { telemetryAction?: string; infoUrl?: string; infoText?: string; -} +}; export type UpdatesParam = { serverVersion: { @@ -46,7 +46,7 @@ export type UpdatesParam = { status: ItemStatus; description: string; }; -} +}; type Analytics = { DAILY_ACTIVE_USERS: number; @@ -60,7 +60,7 @@ type Analytics = { TOTAL_TEAMS: number; TOTAL_USERS: number; TOTAL_WEBSOCKET_CONNECTIONS: number; -} +}; export type Options = { isLicensed: boolean; isEnterpriseLicense: boolean; diff --git a/webapp/channels/src/components/advanced_create_comment/advanced_create_comment.tsx b/webapp/channels/src/components/advanced_create_comment/advanced_create_comment.tsx index 1aba3431d15..171da059beb 100644 --- a/webapp/channels/src/components/advanced_create_comment/advanced_create_comment.tsx +++ b/webapp/channels/src/components/advanced_create_comment/advanced_create_comment.tsx @@ -26,7 +26,7 @@ export type Props = { * Used by plugins to act after the post is made */ afterSubmit?: (response: SubmitPostReturnType) => void; -} +}; const AdvancedCreateComment = ({ channelId, diff --git a/webapp/channels/src/components/advanced_create_post/prewritten_chips.tsx b/webapp/channels/src/components/advanced_create_post/prewritten_chips.tsx index d2f6e932d05..a67d406176c 100644 --- a/webapp/channels/src/components/advanced_create_post/prewritten_chips.tsx +++ b/webapp/channels/src/components/advanced_create_post/prewritten_chips.tsx @@ -19,7 +19,7 @@ type Props = { prefillMessage: (msg: string) => void; channelId: string; currentUserId: string; -} +}; const UsernameMention = styled.span` margin-left: 5px; diff --git a/webapp/channels/src/components/advanced_text_editor/advanced_text_editor.tsx b/webapp/channels/src/components/advanced_text_editor/advanced_text_editor.tsx index 86bbc3b23ac..4e12c1ce6af 100644 --- a/webapp/channels/src/components/advanced_text_editor/advanced_text_editor.tsx +++ b/webapp/channels/src/components/advanced_text_editor/advanced_text_editor.tsx @@ -116,7 +116,7 @@ export type Props = { * Used by plugins to act after the post is made */ afterSubmit?: (response: SubmitPostReturnType) => void; -} +}; const AdvancedTextEditor = ({ location, @@ -220,7 +220,7 @@ const AdvancedTextEditor = ({ const messageStatusRef = useRef(null); const [draft, setDraft] = useState(draftFromStore); - const [serverError, setServerError] = useState<(ServerError & { submittedMessage?: string }) | null>(null); + const [serverError, setServerError] = useState<(ServerError & {submittedMessage?: string}) | null>(null); const [postError, setPostError] = useState(null); const [showPreview, setShowPreview] = useState(false); const [isMessageLong, setIsMessageLong] = useState(false); diff --git a/webapp/channels/src/components/advanced_text_editor/do_not_disturb_warning.tsx b/webapp/channels/src/components/advanced_text_editor/do_not_disturb_warning.tsx index 8d2d51f7302..1bfa21e38bc 100644 --- a/webapp/channels/src/components/advanced_text_editor/do_not_disturb_warning.tsx +++ b/webapp/channels/src/components/advanced_text_editor/do_not_disturb_warning.tsx @@ -23,7 +23,7 @@ const Icon = styled.i` type Props = { displayName: string; -} +}; const DoNotDisturbWarning = ({displayName}: Props) => { return ( diff --git a/webapp/channels/src/components/advanced_text_editor/edit_post_footer.tsx b/webapp/channels/src/components/advanced_text_editor/edit_post_footer.tsx index 2fa163b1f21..a5ef9720553 100644 --- a/webapp/channels/src/components/advanced_text_editor/edit_post_footer.tsx +++ b/webapp/channels/src/components/advanced_text_editor/edit_post_footer.tsx @@ -13,7 +13,7 @@ import {isSendOnCtrlEnter} from 'selectors/preferences'; type Props = { onSave: () => void; onCancel?: () => void; -} +}; export default function EditPostFooter(props: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/advanced_text_editor/post_box_indicator/post_box_indicator.tsx b/webapp/channels/src/components/advanced_text_editor/post_box_indicator/post_box_indicator.tsx index c83489554ea..3215f731792 100644 --- a/webapp/channels/src/components/advanced_text_editor/post_box_indicator/post_box_indicator.tsx +++ b/webapp/channels/src/components/advanced_text_editor/post_box_indicator/post_box_indicator.tsx @@ -15,7 +15,7 @@ type Props = { teammateDisplayName: string; location: string; postId: string; -} +}; export default function PostBoxIndicator({channelId, teammateDisplayName, location, postId}: Props) { const { diff --git a/webapp/channels/src/components/advanced_text_editor/remote_user_hour.tsx b/webapp/channels/src/components/advanced_text_editor/remote_user_hour.tsx index 044a69c9f2f..d79bf2b75a2 100644 --- a/webapp/channels/src/components/advanced_text_editor/remote_user_hour.tsx +++ b/webapp/channels/src/components/advanced_text_editor/remote_user_hour.tsx @@ -41,7 +41,7 @@ type Props = { displayName: string; timestamp: number; teammateTimezone: UserTimezone; -} +}; const RemoteUserHour = ({displayName, timestamp, teammateTimezone}: Props) => { return ( diff --git a/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx b/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx index 5d29c1a7308..652b6b5060d 100644 --- a/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx +++ b/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/scheduled_post_indicator.tsx @@ -26,7 +26,7 @@ type Props = { channelId: string; postId: string; remoteUserHourDisplayed?: boolean; -} +}; export default function ScheduledPostIndicator({location, channelId, postId, remoteUserHourDisplayed}: Props) { // we use RHS_COMMENT for RHS and threads view, and CENTER for center channel. diff --git a/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/short_scheduled_post_indicator.tsx b/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/short_scheduled_post_indicator.tsx index 0b8e71d2139..1aa0de66a9e 100644 --- a/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/short_scheduled_post_indicator.tsx +++ b/webapp/channels/src/components/advanced_text_editor/scheduled_post_indicator/short_scheduled_post_indicator.tsx @@ -10,7 +10,7 @@ import type {ChannelScheduledPostIndicatorData} from 'mattermost-redux/selectors type Props = { scheduledPostData: ChannelScheduledPostIndicatorData; scheduledPostLinkURL: string; -} +}; export function ShortScheduledPostIndicator({scheduledPostData, scheduledPostLinkURL}: Props) { if (scheduledPostData.count === 0) { diff --git a/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/dm_user_timezone.tsx b/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/dm_user_timezone.tsx index b879671683b..f817c4724a0 100644 --- a/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/dm_user_timezone.tsx +++ b/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/dm_user_timezone.tsx @@ -20,7 +20,7 @@ import './dm_user_timezone.scss'; type Props = { channelId: string; selectedTime?: Date; -} +}; const DATE_RANGES = [ RelativeRanges.TODAY_TITLE_CASE, diff --git a/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx b/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx index e1d889e9f56..06c68a22608 100644 --- a/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx +++ b/webapp/channels/src/components/advanced_text_editor/send_button/scheduled_post_custom_time_modal/scheduled_post_custom_time_modal.tsx @@ -26,7 +26,7 @@ type Props = { onExited: () => void; onConfirm: (timestamp: number) => Promise<{error?: string}>; initialTime?: Moment; -} +}; export default function ScheduledPostCustomTimeModal({channelId, onExited, onConfirm, initialTime}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/advanced_text_editor/send_button/send_button.tsx b/webapp/channels/src/components/advanced_text_editor/send_button/send_button.tsx index 0fe16b63046..70317cd14bc 100644 --- a/webapp/channels/src/components/advanced_text_editor/send_button/send_button.tsx +++ b/webapp/channels/src/components/advanced_text_editor/send_button/send_button.tsx @@ -24,7 +24,7 @@ type SendButtonProps = { handleSubmit: (schedulingInfo?: SchedulingInfo) => void; disabled: boolean; channelId: string; -} +}; const SendButton = ({disabled, handleSubmit, channelId}: SendButtonProps) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx b/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx index d55e5e7409d..aa8fa1f5b80 100644 --- a/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx +++ b/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/core_menu_options.tsx @@ -18,7 +18,7 @@ import RecentUsedCustomDate from './recent_used_custom_date'; type Props = { handleOnSelect: (e: React.FormEvent, scheduledAt: number) => void; channelId: string; -} +}; /** * Formats a timestamp in the teammate's timezone using the current user's locale. diff --git a/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/index.tsx b/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/index.tsx index a99e57db7b2..29cbf607591 100644 --- a/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/index.tsx +++ b/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/index.tsx @@ -24,7 +24,7 @@ type Props = { channelId: string; disabled?: boolean; onSelect: (schedulingInfo: SchedulingInfo) => void; -} +}; export function SendPostOptions({disabled, onSelect, channelId}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx b/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx index c86c64f62e2..a6f101b4092 100644 --- a/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx +++ b/webapp/channels/src/components/advanced_text_editor/send_button/send_post_options/recent_used_custom_date.tsx @@ -21,7 +21,7 @@ type Props = { userCurrentTimezone: string; tomorrow9amTime: number; nextMonday: number; -} +}; const DATE_RANGES = [ RelativeRanges.TODAY_TITLE_CASE, diff --git a/webapp/channels/src/components/advanced_text_editor/texteditor_actions/texteditor_actions.tsx b/webapp/channels/src/components/advanced_text_editor/texteditor_actions/texteditor_actions.tsx index 7959d3eb9b9..21057bc2055 100644 --- a/webapp/channels/src/components/advanced_text_editor/texteditor_actions/texteditor_actions.tsx +++ b/webapp/channels/src/components/advanced_text_editor/texteditor_actions/texteditor_actions.tsx @@ -8,7 +8,7 @@ type TexteditorActionsProps = { placement: 'top' | 'bottom'; show?: boolean; isScrollbarRendered?: boolean; -} +}; const TexteditorActions = styled.span` position: absolute; diff --git a/webapp/channels/src/components/advanced_text_editor/use_priority.tsx b/webapp/channels/src/components/advanced_text_editor/use_priority.tsx index bf6b38bc43b..527277a9fa0 100644 --- a/webapp/channels/src/components/advanced_text_editor/use_priority.tsx +++ b/webapp/channels/src/components/advanced_text_editor/use_priority.tsx @@ -27,7 +27,7 @@ import PriorityLabels from './priority_labels'; const usePriority = ( draft: PostDraft, - handleDraftChange: ((draft: PostDraft, options: { instant?: boolean; show?: boolean }) => void), + handleDraftChange: ((draft: PostDraft, options: {instant?: boolean; show?: boolean}) => void), focusTextbox: (keepFocus?: boolean) => void, shouldShowPreview: boolean, showIndividualCloseButton = true, diff --git a/webapp/channels/src/components/advanced_text_editor/use_submit.tsx b/webapp/channels/src/components/advanced_text_editor/use_submit.tsx index 975da538d14..603bc5eddb9 100644 --- a/webapp/channels/src/components/advanced_text_editor/use_submit.tsx +++ b/webapp/channels/src/components/advanced_text_editor/use_submit.tsx @@ -59,10 +59,10 @@ const useSubmit = ( postError: React.ReactNode, channelId: string, rootId: string, - serverError: (ServerError & { submittedMessage?: string }) | null, + serverError: (ServerError & {submittedMessage?: string}) | null, lastBlurAt: React.MutableRefObject, focusTextbox: (forceFocust?: boolean) => void, - setServerError: (err: (ServerError & { submittedMessage?: string }) | null) => void, + setServerError: (err: (ServerError & {submittedMessage?: string}) | null) => void, setShowPreview: (showPreview: boolean) => void, handleDraftChange: (draft: PostDraft, options?: {instant?: boolean; show?: boolean}) => void, prioritySubmitCheck: (onConfirm: () => void) => boolean, diff --git a/webapp/channels/src/components/advanced_text_editor/use_upload_files.tsx b/webapp/channels/src/components/advanced_text_editor/use_upload_files.tsx index 21665fbd8ce..3cd0881d315 100644 --- a/webapp/channels/src/components/advanced_text_editor/use_upload_files.tsx +++ b/webapp/channels/src/components/advanced_text_editor/use_upload_files.tsx @@ -38,7 +38,7 @@ const useUploadFiles = ( textboxRef: React.RefObject, handleDraftChange: (draft: PostDraft, options?: {instant?: boolean; show?: boolean}) => void, focusTextbox: (forceFocust?: boolean) => void, - setServerError: (err: (ServerError & { submittedMessage?: string }) | null) => void, + setServerError: (err: (ServerError & {submittedMessage?: string}) | null) => void, isPostBeingEdited?: boolean, ): [React.ReactNode, React.ReactNode] => { const intl = useIntl(); @@ -49,7 +49,7 @@ const useUploadFiles = ( }); const editAttachmentsDisabled = isPostBeingEdited && !canEditAttachments; - const [uploadsProgressPercent, setUploadsProgressPercent] = useState<{ [clientID: string]: FilePreviewInfo }>({}); + const [uploadsProgressPercent, setUploadsProgressPercent] = useState<{[clientID: string]: FilePreviewInfo}>({}); const fileUploadRef = useRef(null); diff --git a/webapp/channels/src/components/alert_banner/index.tsx b/webapp/channels/src/components/alert_banner/index.tsx index 2a3373b1154..81ce1f84173 100644 --- a/webapp/channels/src/components/alert_banner/index.tsx +++ b/webapp/channels/src/components/alert_banner/index.tsx @@ -33,7 +33,7 @@ export type AlertBannerProps = { closeBtnTooltip?: string; onDismiss?: () => void; variant?: 'sys' | 'app'; -} +}; const AlertBanner = ({ id, diff --git a/webapp/channels/src/components/analytics/activated_users_card/index.tsx b/webapp/channels/src/components/analytics/activated_users_card/index.tsx index 8114d801c79..ea9160f483d 100644 --- a/webapp/channels/src/components/analytics/activated_users_card/index.tsx +++ b/webapp/channels/src/components/analytics/activated_users_card/index.tsx @@ -18,7 +18,7 @@ type ActivatedUserCardProps = { activatedUsers: number | undefined; isCloud: boolean; guestAccountsEnabled?: boolean; -} +}; const ActivatedUserCard = ({activatedUsers, seatsPurchased, isCloud, guestAccountsEnabled = false}: ActivatedUserCardProps) => { const {isBetween5PercerntAnd10PercentPurchasedSeats, isOver10PercerntPurchasedSeats} = calculateOverageUserActivated({seatsPurchased, activeUsers: activatedUsers || 0}); diff --git a/webapp/channels/src/components/analytics/activated_users_card/title.tsx b/webapp/channels/src/components/analytics/activated_users_card/title.tsx index 4a976fdb94b..b35b5443f44 100644 --- a/webapp/channels/src/components/analytics/activated_users_card/title.tsx +++ b/webapp/channels/src/components/analytics/activated_users_card/title.tsx @@ -15,7 +15,7 @@ export const messages = defineMessages({ type TitleProps = { guestAccountsEnabled: boolean; -} +}; const Title = ({guestAccountsEnabled}: TitleProps) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/analytics/line_chart.tsx b/webapp/channels/src/components/analytics/line_chart.tsx index b91e7504d4c..6f9c8ec4b10 100644 --- a/webapp/channels/src/components/analytics/line_chart.tsx +++ b/webapp/channels/src/components/analytics/line_chart.tsx @@ -14,7 +14,7 @@ type Props = { data?: any; id: string; options?: ChartOptions; -} +}; export default class LineChart extends React.PureComponent { private canvasRef = React.createRef(); diff --git a/webapp/channels/src/components/analytics/single_channel_guests_card/index.tsx b/webapp/channels/src/components/analytics/single_channel_guests_card/index.tsx index f1d8b9e3dd0..6baf7ed771d 100644 --- a/webapp/channels/src/components/analytics/single_channel_guests_card/index.tsx +++ b/webapp/channels/src/components/analytics/single_channel_guests_card/index.tsx @@ -15,7 +15,7 @@ export const messages = defineMessages({ type TitleProps = { isOverLimit: boolean; -} +}; const Title = ({isOverLimit}: TitleProps) => { const intl = useIntl(); @@ -52,7 +52,7 @@ const Title = ({isOverLimit}: TitleProps) => { type SingleChannelGuestsCardProps = { singleChannelGuestsCount: number | undefined; singleChannelGuestLimit: number; -} +}; const SingleChannelGuestsCard = ({singleChannelGuestsCount, singleChannelGuestLimit}: SingleChannelGuestsCardProps) => { const isOverLimit = singleChannelGuestsCount !== undefined && singleChannelGuestLimit > 0 && singleChannelGuestsCount > singleChannelGuestLimit; diff --git a/webapp/channels/src/components/analytics/statistic_count.tsx b/webapp/channels/src/components/analytics/statistic_count.tsx index 41c6c3e970c..df12bf83d26 100644 --- a/webapp/channels/src/components/analytics/statistic_count.tsx +++ b/webapp/channels/src/components/analytics/statistic_count.tsx @@ -14,7 +14,7 @@ type Props = { children?: React.ReactNode; status?: 'warning' | 'error'; formatter?: (value: number) => string; -} +}; const StatisticCount = ({ title, diff --git a/webapp/channels/src/components/analytics/system_analytics/system_analytics.tsx b/webapp/channels/src/components/analytics/system_analytics/system_analytics.tsx index c686f40688f..d1f66ac8e58 100644 --- a/webapp/channels/src/components/analytics/system_analytics/system_analytics.tsx +++ b/webapp/channels/src/components/analytics/system_analytics/system_analytics.tsx @@ -44,12 +44,12 @@ type Props = { config?: Partial; pluginStatHandlers: GlobalState['plugins']['siteStatsHandlers']; serverLimits: ServerLimits; -} +}; type State = { pluginSiteStats: Record; lineChartsDataLoaded: boolean; -} +}; const messages = defineMessages({ title: {id: 'analytics.system.title', defaultMessage: 'System Statistics'}, diff --git a/webapp/channels/src/components/analytics/table_chart.tsx b/webapp/channels/src/components/analytics/table_chart.tsx index f82781c2600..36a0c76931b 100644 --- a/webapp/channels/src/components/analytics/table_chart.tsx +++ b/webapp/channels/src/components/analytics/table_chart.tsx @@ -9,11 +9,11 @@ export type TableItem = { name: string; tip: string; value: React.ReactNode; -} +}; type Props = { title: React.ReactNode; data: TableItem[]; -} +}; const TableChart = ({ title, diff --git a/webapp/channels/src/components/analytics/team_analytics/team_analytics.tsx b/webapp/channels/src/components/analytics/team_analytics/team_analytics.tsx index 0eb1fa1291f..604590b37cc 100644 --- a/webapp/channels/src/components/analytics/team_analytics/team_analytics.tsx +++ b/webapp/channels/src/components/analytics/team_analytics/team_analytics.tsx @@ -91,7 +91,7 @@ const messages = defineMessages({ newlyCreated: {id: 'analytics.team.newlyCreated', defaultMessage: 'Newly Created Users'}, }); -export const searchableStrings: Array = [ +export const searchableStrings: Array = [ [messages.title, {team: ''}], messages.info, messages.totalPosts, diff --git a/webapp/channels/src/components/announcement_bar/default_announcement_bar/announcement_bar.tsx b/webapp/channels/src/components/announcement_bar/default_announcement_bar/announcement_bar.tsx index b40d9d7f1f4..ab877695a59 100644 --- a/webapp/channels/src/components/announcement_bar/default_announcement_bar/announcement_bar.tsx +++ b/webapp/channels/src/components/announcement_bar/default_announcement_bar/announcement_bar.tsx @@ -39,12 +39,12 @@ type Props = { showCTA?: boolean; ctaText?: ReactNode; ctaDisabled?: boolean; -} +}; type State = { showTooltip: boolean; isStringContainingUrl: boolean; -} +}; export default class AnnouncementBar extends React.PureComponent { messageRef: React.RefObject; diff --git a/webapp/channels/src/components/announcement_bar/overage_users_banner/index.tsx b/webapp/channels/src/components/announcement_bar/overage_users_banner/index.tsx index b5c3cf1d5de..d796e6b47e2 100644 --- a/webapp/channels/src/components/announcement_bar/overage_users_banner/index.tsx +++ b/webapp/channels/src/components/announcement_bar/overage_users_banner/index.tsx @@ -28,7 +28,7 @@ import './overage_users_banner.scss'; type AdminHasDismissedItArgs = { preferenceName: string; overagePreferences: PreferenceType[]; -} +}; const adminHasDismissed = ({preferenceName, overagePreferences}: AdminHasDismissedItArgs): boolean => { return overagePreferences.find((value) => value.name === preferenceName) !== undefined; diff --git a/webapp/channels/src/components/announcement_bar/payment_announcement_bar/index.tsx b/webapp/channels/src/components/announcement_bar/payment_announcement_bar/index.tsx index 2d7b7b00d4c..9d58266fdaa 100644 --- a/webapp/channels/src/components/announcement_bar/payment_announcement_bar/index.tsx +++ b/webapp/channels/src/components/announcement_bar/payment_announcement_bar/index.tsx @@ -41,6 +41,7 @@ export default function PaymentAnnouncementBar() { const mostRecentPaymentFailed = subscription?.last_invoice?.status === 'failed'; if ( + // Prevents banner flashes if the subscription hasn't been loaded yet isEmpty(subscription) || isStarterFree || diff --git a/webapp/channels/src/components/announcement_bar/version_bar/version_bar.tsx b/webapp/channels/src/components/announcement_bar/version_bar/version_bar.tsx index cdb05a78374..25a2bf05ed0 100644 --- a/webapp/channels/src/components/announcement_bar/version_bar/version_bar.tsx +++ b/webapp/channels/src/components/announcement_bar/version_bar/version_bar.tsx @@ -10,7 +10,7 @@ import AnnouncementBar from '../default_announcement_bar'; type Props = { buildHash?: string; -} +}; const reloadPage = () => { window.location.reload(); @@ -19,7 +19,7 @@ const reloadPage = () => { const VersionBar = ({ buildHash, }: Props) => { - const [buildHashOnAppLoad, setBuildHashOnAppLoad] = useState(buildHash); + const [buildHashOnAppLoad, setBuildHashOnAppLoad] = useState(buildHash); useEffect(() => { if (!buildHashOnAppLoad && buildHash) { diff --git a/webapp/channels/src/components/app_bar/app_bar_binding.tsx b/webapp/channels/src/components/app_bar/app_bar_binding.tsx index caf0cfd1c45..4b626d5d9b3 100644 --- a/webapp/channels/src/components/app_bar/app_bar_binding.tsx +++ b/webapp/channels/src/components/app_bar/app_bar_binding.tsx @@ -24,7 +24,7 @@ export const isAppBinding = (x: Record | undefined): x is AppBindin type BindingComponentProps = { binding: AppBinding; -} +}; const AppBarBinding = (props: BindingComponentProps) => { const {binding} = props; diff --git a/webapp/channels/src/components/app_bar/app_bar_plugin_component.tsx b/webapp/channels/src/components/app_bar/app_bar_plugin_component.tsx index bb9a1db7737..30b0f002581 100644 --- a/webapp/channels/src/components/app_bar/app_bar_plugin_component.tsx +++ b/webapp/channels/src/components/app_bar/app_bar_plugin_component.tsx @@ -21,7 +21,7 @@ import NewChannelWithBoardTourTip from './new_channel_with_board_tour_tip'; type AppBarComponentProps = { component: ChannelHeaderButtonAction | AppBarAction; -} +}; enum ImageLoadState { LOADING = 'loading', diff --git a/webapp/channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx b/webapp/channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx index 253448291e4..96c5f8b4fc7 100644 --- a/webapp/channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx +++ b/webapp/channels/src/components/app_bar/new_channel_with_board_tour_tip.tsx @@ -14,9 +14,9 @@ import {Preferences} from 'mattermost-redux/constants'; import {showNewChannelWithBoardPulsatingDot} from 'selectors/plugins'; type Props = { - pulsatingDotPlacement?: Omit; + pulsatingDotPlacement?: Omit; pulsatingDotTranslate?: {x: number; y: number}; -} +}; const NewChannelWithBoardTourTip = ({ pulsatingDotPlacement = 'left', diff --git a/webapp/channels/src/components/apps_form/apps_form_component.tsx b/webapp/channels/src/components/apps_form/apps_form_component.tsx index bc6c72d6530..3ef5c793386 100644 --- a/webapp/channels/src/components/apps_form/apps_form_component.tsx +++ b/webapp/channels/src/components/apps_form/apps_form_component.tsx @@ -48,7 +48,7 @@ export type AppsFormProps = { performLookupCall: (field: AppField, values: AppFormValues, userInput: string) => Promise>; refreshOnSelect: (field: AppField, values: AppFormValues) => Promise>; }; -} +}; export type Props = AppsFormProps & WrappedComponentProps<'intl'>; @@ -61,10 +61,10 @@ export type State = { submitting: string | null; form: AppForm; isInteracting: boolean; -} +}; // Helper function to validate date format and warn if datetime format is used -const validateDateFieldValue = (fieldName: string, valueType: string, value: string): { warning: string; datePortion: string } | null => { +const validateDateFieldValue = (fieldName: string, valueType: string, value: string): {warning: string; datePortion: string} | null => { if (!value) { return null; } diff --git a/webapp/channels/src/components/apps_form/apps_form_container.tsx b/webapp/channels/src/components/apps_form/apps_form_container.tsx index b2c5430f378..984c50deff3 100644 --- a/webapp/channels/src/components/apps_form/apps_form_container.tsx +++ b/webapp/channels/src/components/apps_form/apps_form_container.tsx @@ -32,7 +32,7 @@ type Props = { type State = { form?: AppForm; -} +}; class AppsFormContainer extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/apps_form/apps_form_field/apps_form_select_field.tsx b/webapp/channels/src/components/apps_form/apps_form_field/apps_form_select_field.tsx index 31bd690aec9..1d4c4a0dba0 100644 --- a/webapp/channels/src/components/apps_form/apps_form_field/apps_form_select_field.tsx +++ b/webapp/channels/src/components/apps_form/apps_form_field/apps_form_select_field.tsx @@ -38,7 +38,7 @@ export type Props = { export type State = { refreshNonce: string; field: AppField; -} +}; const reactStyles = { menuPortal: (provided) => ({ @@ -48,7 +48,7 @@ const reactStyles = { } satisfies StylesConfig; const commonComponents = { - MultiValueLabel: (props: { data: { label: string } }) => ( + MultiValueLabel: (props: {data: {label: string}}) => (

{props.data.label}
diff --git a/webapp/channels/src/components/at_mention/at_mention.tsx b/webapp/channels/src/components/at_mention/at_mention.tsx index dff776be61b..69dbb1bdcac 100644 --- a/webapp/channels/src/components/at_mention/at_mention.tsx +++ b/webapp/channels/src/components/at_mention/at_mention.tsx @@ -23,7 +23,7 @@ type OwnProps = { disableHighlight?: boolean; disableGroupHighlight?: boolean; fetchMissingUsers?: boolean; -} +}; type Props = OwnProps & PropsFromRedux; diff --git a/webapp/channels/src/components/audio_video_preview/audio_video_preview.tsx b/webapp/channels/src/components/audio_video_preview/audio_video_preview.tsx index 3997bb691c7..97b5896eb8b 100644 --- a/webapp/channels/src/components/audio_video_preview/audio_video_preview.tsx +++ b/webapp/channels/src/components/audio_video_preview/audio_video_preview.tsx @@ -13,11 +13,11 @@ type Props = { fileInfo: FileInfo; fileUrl: string; isMobileView: boolean; -} +}; type State = { canPlay: boolean; -} +}; export default class AudioVideoPreview extends React.PureComponent { sourceRef = React.createRef(); diff --git a/webapp/channels/src/components/audit_table/audit_row/audit_row.tsx b/webapp/channels/src/components/audit_table/audit_row/audit_row.tsx index d3c49bfccf3..8b6cd5c998b 100644 --- a/webapp/channels/src/components/audit_table/audit_row/audit_row.tsx +++ b/webapp/channels/src/components/audit_table/audit_row/audit_row.tsx @@ -21,7 +21,7 @@ export type Props = { showUserId: boolean; showIp: boolean; showSession: boolean; -} +}; export default function AuditRow({ actionURL, diff --git a/webapp/channels/src/components/audit_table/channel_row/channel_create_direct_row.tsx b/webapp/channels/src/components/audit_table/channel_row/channel_create_direct_row.tsx index d140b3e5620..7a2633d7edb 100644 --- a/webapp/channels/src/components/audit_table/channel_row/channel_create_direct_row.tsx +++ b/webapp/channels/src/components/audit_table/channel_row/channel_create_direct_row.tsx @@ -22,7 +22,7 @@ type Props = { showIp: boolean; showSession: boolean; channelObj?: Channel | null; -} +}; export default function ChannelCreateDirectRow({ audit, diff --git a/webapp/channels/src/components/audit_table/channel_row/channel_row.tsx b/webapp/channels/src/components/audit_table/channel_row/channel_row.tsx index 904234ea227..8c1ff240184 100644 --- a/webapp/channels/src/components/audit_table/channel_row/channel_row.tsx +++ b/webapp/channels/src/components/audit_table/channel_row/channel_row.tsx @@ -22,7 +22,7 @@ type Props = { showUserId: boolean; showIp: boolean; showSession: boolean; -} +}; export default function ChannelRow({ audit, diff --git a/webapp/channels/src/components/audit_table/format_audit.tsx b/webapp/channels/src/components/audit_table/format_audit.tsx index 819fda04372..d225e84d44c 100644 --- a/webapp/channels/src/components/audit_table/format_audit.tsx +++ b/webapp/channels/src/components/audit_table/format_audit.tsx @@ -18,7 +18,7 @@ export type Props = { showUserId: boolean; showIp: boolean; showSession: boolean; -} +}; export default function FormatAudit({ audit, diff --git a/webapp/channels/src/components/audit_table/user_row/user_row.tsx b/webapp/channels/src/components/audit_table/user_row/user_row.tsx index 4b1b335efdd..d91edba81d3 100644 --- a/webapp/channels/src/components/audit_table/user_row/user_row.tsx +++ b/webapp/channels/src/components/audit_table/user_row/user_row.tsx @@ -17,7 +17,7 @@ type Props = { showUserId: boolean; showIp: boolean; showSession: boolean; -} +}; export default function UserRow({ audit, diff --git a/webapp/channels/src/components/audit_table/user_row/user_update_active_session_row.tsx b/webapp/channels/src/components/audit_table/user_row/user_update_active_session_row.tsx index 71ff233b2a9..45663a84a4e 100644 --- a/webapp/channels/src/components/audit_table/user_row/user_update_active_session_row.tsx +++ b/webapp/channels/src/components/audit_table/user_row/user_update_active_session_row.tsx @@ -22,7 +22,7 @@ type Props = { showSession: boolean; updateField: string; userInfo: string[]; -} +}; export default function UserUpdateActiveSessionRow({ audit, diff --git a/webapp/channels/src/components/authorize/authorize.tsx b/webapp/channels/src/components/authorize/authorize.tsx index f618b380375..9d361142fbd 100644 --- a/webapp/channels/src/components/authorize/authorize.tsx +++ b/webapp/channels/src/components/authorize/authorize.tsx @@ -22,7 +22,7 @@ export type Params = { state: string | null; scope: string | null; resource: string | null; -} +}; type Props = { location: { @@ -32,12 +32,12 @@ type Props = { getOAuthAppInfo: (clientId: string | null) => Promise>; allowOAuth2: (params: Params) => Promise>; }; -} +}; type State = { app?: OAuthApp; error?: string; -} +}; export default class Authorize extends React.PureComponent { public constructor(props: Props) { diff --git a/webapp/channels/src/components/autocomplete_selector.tsx b/webapp/channels/src/components/autocomplete_selector.tsx index 7e5ced26721..630bc711522 100644 --- a/webapp/channels/src/components/autocomplete_selector.tsx +++ b/webapp/channels/src/components/autocomplete_selector.tsx @@ -17,7 +17,7 @@ export type Option = { text: string; value: string; }; -export type Selected = Option | UserProfile | Channel +export type Selected = Option | UserProfile | Channel; type Props = { id: string; diff --git a/webapp/channels/src/components/backstage/backstage_controller.tsx b/webapp/channels/src/components/backstage/backstage_controller.tsx index 24b6a8bf561..b223fad5e3c 100644 --- a/webapp/channels/src/components/backstage/backstage_controller.tsx +++ b/webapp/channels/src/components/backstage/backstage_controller.tsx @@ -35,14 +35,14 @@ import Pluggable from 'plugins/pluggable'; import BackstageNavbar from './components/backstage_navbar'; import BackstageSidebar from './components/backstage_sidebar'; -type ExtraProps = Pick & {scrollToTop: () => void} +type ExtraProps = Pick & {scrollToTop: () => void}; type BackstageRouteProps = { component: ComponentType; extraProps: ExtraProps; path: string; exact?: boolean; -} +}; const BackstageRoute = ({component: Component, extraProps, ...rest}: BackstageRouteProps) => ( { const listRef = useRef(null); diff --git a/webapp/channels/src/components/backstage/components/backstage_category.tsx b/webapp/channels/src/components/backstage/components/backstage_category.tsx index 5be66e62fb4..04256c253d9 100644 --- a/webapp/channels/src/components/backstage/components/backstage_category.tsx +++ b/webapp/channels/src/components/backstage/components/backstage_category.tsx @@ -12,7 +12,7 @@ type Props = { icon: string; parentLink?: string; children?: ReactNode[]; -} +}; const BackstageCategory = ({name, title, icon, parentLink, children = []}: Props) => { const link = parentLink + '/' + name; diff --git a/webapp/channels/src/components/backstage/components/backstage_header.tsx b/webapp/channels/src/components/backstage/components/backstage_header.tsx index 521c9fc1947..e7893338fd5 100644 --- a/webapp/channels/src/components/backstage/components/backstage_header.tsx +++ b/webapp/channels/src/components/backstage/components/backstage_header.tsx @@ -7,7 +7,7 @@ import {useIntl} from 'react-intl'; type Props = { children?: ReactNode; -} +}; const BackstageHeader = ({children}: Props) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/backstage/components/backstage_navbar.tsx b/webapp/channels/src/components/backstage/components/backstage_navbar.tsx index 7afcea12b3a..12b23842e2c 100644 --- a/webapp/channels/src/components/backstage/components/backstage_navbar.tsx +++ b/webapp/channels/src/components/backstage/components/backstage_navbar.tsx @@ -12,7 +12,7 @@ import BackIcon from 'components/widgets/icons/fa_back_icon'; type Props = { team?: Team; siteName?: string; -} +}; const BackstageNavbar = ({team, siteName}: Props) => { const teamExists = team?.delete_at === 0; diff --git a/webapp/channels/src/components/backstage/components/backstage_section.tsx b/webapp/channels/src/components/backstage/components/backstage_section.tsx index 6dfcea39172..e5cfc4ca698 100644 --- a/webapp/channels/src/components/backstage/components/backstage_section.tsx +++ b/webapp/channels/src/components/backstage/components/backstage_section.tsx @@ -12,7 +12,7 @@ type Props = { parentLink?: string; children?: JSX.Element[]; id?: string; -} +}; const BackstageSection = ({name, title, subsection = false, parentLink = '', children = [], id}: Props) => { const link = parentLink + '/' + name; diff --git a/webapp/channels/src/components/backstage/components/backstage_sidebar.tsx b/webapp/channels/src/components/backstage/components/backstage_sidebar.tsx index 443df5d1e87..81279614fb1 100644 --- a/webapp/channels/src/components/backstage/components/backstage_sidebar.tsx +++ b/webapp/channels/src/components/backstage/components/backstage_sidebar.tsx @@ -24,7 +24,7 @@ type Props = { enableOutgoingOAuthConnections: boolean; canCreateOrDeleteCustomEmoji: boolean; canManageIntegrations: boolean; -} +}; export default class BackstageSidebar extends React.PureComponent { renderCustomEmoji() { diff --git a/webapp/channels/src/components/browse_channels/browse_channels.tsx b/webapp/channels/src/components/browse_channels/browse_channels.tsx index b4d6d1f8ac7..53aa9cf28f5 100644 --- a/webapp/channels/src/components/browse_channels/browse_channels.tsx +++ b/webapp/channels/src/components/browse_channels/browse_channels.tsx @@ -68,7 +68,7 @@ type Actions = { setGlobalItem: (name: string, value: string) => void; closeRightHandSide: () => void; getChannelsMemberCount: (channelIds: string[]) => Promise; -} +}; export type Props = { channels: Channel[]; @@ -86,7 +86,7 @@ export type Props = { accessControlEnabled: boolean; initialFilter?: FilterType; actions: Actions; -} +}; type State = { loading: boolean; @@ -97,7 +97,7 @@ type State = { searching: boolean; searchTerm: string; recommendedChannels: Channel[]; -} +}; export default class BrowseChannels extends React.PureComponent { public searchTimeoutId: number; diff --git a/webapp/channels/src/components/burn_on_read/burn_on_read.svg.tsx b/webapp/channels/src/components/burn_on_read/burn_on_read.svg.tsx index 354dbf67f0a..2ded0cfc174 100644 --- a/webapp/channels/src/components/burn_on_read/burn_on_read.svg.tsx +++ b/webapp/channels/src/components/burn_on_read/burn_on_read.svg.tsx @@ -6,7 +6,7 @@ import React from 'react'; type SvgProps = { width?: number; height?: number; -} +}; const BurnOnReadSVG = (props: SvgProps) => ( { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/burn_on_read/burn_on_read_label.tsx b/webapp/channels/src/components/burn_on_read/burn_on_read_label.tsx index 60eff00059b..f62b20668d3 100644 --- a/webapp/channels/src/components/burn_on_read/burn_on_read_label.tsx +++ b/webapp/channels/src/components/burn_on_read/burn_on_read_label.tsx @@ -18,7 +18,7 @@ type Props = { // The configured duration in minutes for BoR messages durationMinutes: number; -} +}; const BurnOnReadLabel = ({canRemove, onRemove, durationMinutes}: Props) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/burn_on_read/burn_on_read_tour_tip.tsx b/webapp/channels/src/components/burn_on_read/burn_on_read_tour_tip.tsx index 8619fae8dd8..56f0c7f580c 100644 --- a/webapp/channels/src/components/burn_on_read/burn_on_read_tour_tip.tsx +++ b/webapp/channels/src/components/burn_on_read/burn_on_read_tour_tip.tsx @@ -20,7 +20,7 @@ type Props = { // Callback when user clicks "Try it out" button to enable BoR onTryItOut: () => void; -} +}; const BurnOnReadTourTip = ({onTryItOut}: Props) => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/card/card.test.tsx b/webapp/channels/src/components/card/card.test.tsx index 200ac7f9462..b8302b0c2d5 100644 --- a/webapp/channels/src/components/card/card.test.tsx +++ b/webapp/channels/src/components/card/card.test.tsx @@ -93,8 +93,7 @@ describe('components/card/card', () => { defaultMessage='Add policy' />, onClick: - () => {} - , + () => {}, }; const {container} = renderWithContext( diff --git a/webapp/channels/src/components/card/card.tsx b/webapp/channels/src/components/card/card.tsx index eed841ef1e9..ec8636db483 100644 --- a/webapp/channels/src/components/card/card.tsx +++ b/webapp/channels/src/components/card/card.tsx @@ -13,7 +13,7 @@ type Props = { expanded?: boolean; className?: string; children?: React.ReactNode; -} +}; export default class Card extends React.PureComponent { public static Header = CardHeader; diff --git a/webapp/channels/src/components/channel_banner/channel_banner.tsx b/webapp/channels/src/components/channel_banner/channel_banner.tsx index e826cd7d0ff..de08917e828 100644 --- a/webapp/channels/src/components/channel_banner/channel_banner.tsx +++ b/webapp/channels/src/components/channel_banner/channel_banner.tsx @@ -30,7 +30,7 @@ const markdownRenderingOptions: Partial = { type Props = { channelId: string; -} +}; export default function ChannelBanner({channelId}: Props) { const channelBannerInfo = useSelector((state: GlobalState) => getChannelBanner(state, channelId)); diff --git a/webapp/channels/src/components/channel_bookmarks/bookmark_delete_modal.tsx b/webapp/channels/src/components/channel_bookmarks/bookmark_delete_modal.tsx index e2b16092b67..ade2627a270 100644 --- a/webapp/channels/src/components/channel_bookmarks/bookmark_delete_modal.tsx +++ b/webapp/channels/src/components/channel_bookmarks/bookmark_delete_modal.tsx @@ -11,7 +11,7 @@ type Props = { onConfirm: () => void; onCancel?: () => void; onExited: () => void; -} +}; const noop = () => {}; diff --git a/webapp/channels/src/components/channel_bookmarks/bookmark_icon.tsx b/webapp/channels/src/components/channel_bookmarks/bookmark_icon.tsx index 9d187fe215b..8d7c7870b77 100644 --- a/webapp/channels/src/components/channel_bookmarks/bookmark_icon.tsx +++ b/webapp/channels/src/components/channel_bookmarks/bookmark_icon.tsx @@ -26,7 +26,7 @@ type Props = { imageUrl?: string; fileInfo?: FileInfo | FilePreviewInfo; size?: 16 | 24; -} +}; const BookmarkIcon = ({ type, diff --git a/webapp/channels/src/components/channel_bookmarks/create_modal_name_input.tsx b/webapp/channels/src/components/channel_bookmarks/create_modal_name_input.tsx index fafbb5b56e9..4b4c98244f2 100644 --- a/webapp/channels/src/components/channel_bookmarks/create_modal_name_input.tsx +++ b/webapp/channels/src/components/channel_bookmarks/create_modal_name_input.tsx @@ -31,7 +31,7 @@ type Props = { showEmojiPicker: boolean; setShowEmojiPicker: React.Dispatch>; onAddCustomEmojiClick?: () => void; -} +}; const CreateModalNameInput = ({ maxLength, type, diff --git a/webapp/channels/src/components/channel_header/channel_header_title.tsx b/webapp/channels/src/components/channel_header/channel_header_title.tsx index be5b02272b3..3fc1bda429e 100644 --- a/webapp/channels/src/components/channel_header/channel_header_title.tsx +++ b/webapp/channels/src/components/channel_header/channel_header_title.tsx @@ -27,7 +27,7 @@ type Props = { dmUser?: UserProfile; gmMembers?: UserProfile[]; remoteNames?: string[]; -} +}; const ChannelHeaderTitle = ({ dmUser, diff --git a/webapp/channels/src/components/channel_header/channel_header_title_direct.tsx b/webapp/channels/src/components/channel_header/channel_header_title_direct.tsx index c0e75a37b1d..744d9aec6ad 100644 --- a/webapp/channels/src/components/channel_header/channel_header_title_direct.tsx +++ b/webapp/channels/src/components/channel_header/channel_header_title_direct.tsx @@ -15,7 +15,7 @@ import GuestTag from 'components/widgets/tag/guest_tag'; type Props = { dmUser?: UserProfile; -} +}; const ChannelHeaderTitleDirect = ({ dmUser, diff --git a/webapp/channels/src/components/channel_header/channel_header_title_group.tsx b/webapp/channels/src/components/channel_header/channel_header_title_group.tsx index 3c17fa41c9e..846722a2cae 100644 --- a/webapp/channels/src/components/channel_header/channel_header_title_group.tsx +++ b/webapp/channels/src/components/channel_header/channel_header_title_group.tsx @@ -15,7 +15,7 @@ import GuestTag from 'components/widgets/tag/guest_tag'; type Props = { gmMembers?: UserProfile[]; -} +}; const ChannelHeaderTitleGroup = ({ gmMembers, diff --git a/webapp/channels/src/components/channel_header/components/header_icon_wrapper.tsx b/webapp/channels/src/components/channel_header/components/header_icon_wrapper.tsx index 48843f8a98f..c4f1c8499bf 100644 --- a/webapp/channels/src/components/channel_header/components/header_icon_wrapper.tsx +++ b/webapp/channels/src/components/channel_header/components/header_icon_wrapper.tsx @@ -26,7 +26,7 @@ type Props = { tooltipShortcut?: ShortcutDefinition; isRhsOpen?: boolean; pluginId?: string; -} +}; const HeaderIconWrapper = (props: Props) => { const { diff --git a/webapp/channels/src/components/channel_header_menu/channel_header_menu.tsx b/webapp/channels/src/components/channel_header_menu/channel_header_menu.tsx index 81d017df2aa..28b87159240 100644 --- a/webapp/channels/src/components/channel_header_menu/channel_header_menu.tsx +++ b/webapp/channels/src/components/channel_header_menu/channel_header_menu.tsx @@ -48,7 +48,7 @@ type Props = { archivedIcon?: JSX.Element; sharedIcon?: JSX.Element; isMobile?: boolean; -} +}; export default function ChannelHeaderMenu({dmUser, gmMembers, isMobile, archivedIcon, sharedIcon}: Props): JSX.Element | null { const intl = useIntl(); diff --git a/webapp/channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_mobile_menu.tsx b/webapp/channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_mobile_menu.tsx index 1c0999201f5..3f69e661717 100644 --- a/webapp/channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_mobile_menu.tsx +++ b/webapp/channels/src/components/channel_header_menu/channel_header_menu_items/channel_header_mobile_menu.tsx @@ -14,7 +14,7 @@ type Props = { isMobile: boolean; channel: Channel; pluginItems: ReactNode[]; -} +}; const ChannelHeaderMobileMenu = (props: Props): JSX.Element => { if (!props.isMobile) { diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/add_channel_members.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/add_channel_members.tsx index d15a6beecd6..9a4693d5d65 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/add_channel_members.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/add_channel_members.tsx @@ -17,7 +17,7 @@ import {ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; -} +}; const AddChannelMembers = ({channel}: Props): JSX.Element => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/archive_channel.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/archive_channel.tsx index 11f81659abd..f0f240b52bb 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/archive_channel.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/archive_channel.tsx @@ -17,7 +17,7 @@ import {ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; -} +}; const ArchiveChannel = ({ channel, diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/channel_settings_menu.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/channel_settings_menu.tsx index 13264f4a689..1237cbb63a8 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/channel_settings_menu.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/channel_settings_menu.tsx @@ -22,7 +22,7 @@ import type {GlobalState} from 'types/store'; type Props = { channel: Channel; -} +}; const ChannelSettingsMenu = ({channel}: Props): JSX.Element | null => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/convert_gm_to_private.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/convert_gm_to_private.tsx index 7ce00f2acf7..e4094e4168f 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/convert_gm_to_private.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/convert_gm_to_private.tsx @@ -16,7 +16,7 @@ import {ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; -} +}; const ConvertGMtoPrivate = ({channel}: Props): JSX.Element => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/edit_conversation_header.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/edit_conversation_header.tsx index 38df20e73fc..52460874d44 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/edit_conversation_header.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/edit_conversation_header.tsx @@ -17,7 +17,7 @@ import {ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; leadingElement?: React.ReactNode; -} +}; const EditConversationHeader = ({channel, leadingElement}: Props): JSX.Element => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/leave_channel.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/leave_channel.tsx index 3b1c3010d57..7b0326404ea 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/leave_channel.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/leave_channel.tsx @@ -21,7 +21,7 @@ import {Constants, ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; id?: string; -} +}; const LeaveChannel = ({ channel, diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/mobile_channel_header_plugins.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/mobile_channel_header_plugins.tsx index 29856e2422e..273d19a84f8 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/mobile_channel_header_plugins.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/mobile_channel_header_plugins.tsx @@ -24,7 +24,7 @@ import type {MobileChannelHeaderButtonAction} from 'types/store/plugins'; type Props = { channel: Channel; isDropdown: boolean; -} +}; const MobileChannelHeaderPlugins = (props: Props): JSX.Element => { const mobileComponents = useSelector(getChannelMobileHeaderPluginButtons); diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/unarchive_channel.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/unarchive_channel.tsx index 96fb2dad05e..061c1bd11d6 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/unarchive_channel.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/unarchive_channel.tsx @@ -16,7 +16,7 @@ import {ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; -} +}; const UnarchiveChannel = ({ channel, diff --git a/webapp/channels/src/components/channel_header_menu/menu_items/view_pinned_posts.tsx b/webapp/channels/src/components/channel_header_menu/menu_items/view_pinned_posts.tsx index 8c0843794a4..1e7062e89eb 100644 --- a/webapp/channels/src/components/channel_header_menu/menu_items/view_pinned_posts.tsx +++ b/webapp/channels/src/components/channel_header_menu/menu_items/view_pinned_posts.tsx @@ -14,7 +14,7 @@ import {RHSStates} from 'utils/constants'; type Props = { channelID: string; -} +}; const ViewPinnedPosts = ({ channelID, diff --git a/webapp/channels/src/components/channel_invite_modal/channel_invite_modal.tsx b/webapp/channels/src/components/channel_invite_modal/channel_invite_modal.tsx index 4ad3ec1093c..e189fa0189f 100644 --- a/webapp/channels/src/components/channel_invite_modal/channel_invite_modal.tsx +++ b/webapp/channels/src/components/channel_invite_modal/channel_invite_modal.tsx @@ -84,7 +84,7 @@ export type Props = { searchAssociatedGroupsForReference: (prefix: string, teamId: string, channelId: string | undefined, opts: GroupSearchParams) => Promise; getTeamMembersByIds: (teamId: string, userIds: string[]) => Promise; }; -} +}; // Helper function to check if an option is a user const isUser = (option: UserProfileValue | GroupValue): option is UserProfileValue => { diff --git a/webapp/channels/src/components/channel_invite_modal/group_option/group_option.test.tsx b/webapp/channels/src/components/channel_invite_modal/group_option/group_option.test.tsx index 9cc4e01358a..4f2357602f1 100644 --- a/webapp/channels/src/components/channel_invite_modal/group_option/group_option.test.tsx +++ b/webapp/channels/src/components/channel_invite_modal/group_option/group_option.test.tsx @@ -10,7 +10,7 @@ import type {Value} from 'components/multiselect/multiselect'; import {renderWithContext, waitFor} from 'tests/react_testing_utils'; import GroupOption from './group_option'; -import type{Props} from './group_option'; +import type {Props} from './group_option'; const mockGroup = { id: 'group-id', @@ -18,7 +18,7 @@ const mockGroup = { name: 'groupname', member_ids: ['user1', 'user2'], member_count: 2, -} as Group&Value; +} as Group & Value; describe('GroupOption', () => { const props: Props = { diff --git a/webapp/channels/src/components/channel_invite_modal/group_option/group_option.tsx b/webapp/channels/src/components/channel_invite_modal/group_option/group_option.tsx index 693fe122f8d..2866e87faf6 100644 --- a/webapp/channels/src/components/channel_invite_modal/group_option/group_option.tsx +++ b/webapp/channels/src/components/channel_invite_modal/group_option/group_option.tsx @@ -27,7 +27,7 @@ export type Props = { selectedItemRef: React.RefObject; onMouseMove: (group: GroupValue) => void; addUserProfile: (profile: UserProfileValue) => void; -} +}; const displayNameGetter = makeDisplayNameGetter(); diff --git a/webapp/channels/src/components/channel_invite_modal/index.ts b/webapp/channels/src/components/channel_invite_modal/index.ts index 6d33d17db37..0ad8f27dd56 100644 --- a/webapp/channels/src/components/channel_invite_modal/index.ts +++ b/webapp/channels/src/components/channel_invite_modal/index.ts @@ -32,7 +32,7 @@ import ChannelInviteModal from './channel_invite_modal'; type OwnProps = { channelId?: string; teamId?: string; -} +}; function makeMapStateToProps(initialState: GlobalState, initialProps: OwnProps) { const getAllAssociatedGroupsForReference = makeGetAllAssociatedGroupsForReference(); diff --git a/webapp/channels/src/components/channel_invite_modal/team_warning_banner/team_warning_banner.tsx b/webapp/channels/src/components/channel_invite_modal/team_warning_banner/team_warning_banner.tsx index be5fc9f8a9e..d4d027c2783 100644 --- a/webapp/channels/src/components/channel_invite_modal/team_warning_banner/team_warning_banner.tsx +++ b/webapp/channels/src/components/channel_invite_modal/team_warning_banner/team_warning_banner.tsx @@ -21,7 +21,7 @@ export type Props = { teamId: string; users: UserProfileValue[]; guests: UserProfileValue[]; -} +}; const TeamWarningBanner = (props: Props) => { const { diff --git a/webapp/channels/src/components/channel_layout/center_channel/index.ts b/webapp/channels/src/components/channel_layout/center_channel/index.ts index 59bf14ec0a8..a0967e8dc01 100644 --- a/webapp/channels/src/components/channel_layout/center_channel/index.ts +++ b/webapp/channels/src/components/channel_layout/center_channel/index.ts @@ -27,7 +27,7 @@ import CenterChannel from './center_channel'; type Params = { team: string; -} +}; export type OwnProps = RouteComponentProps; diff --git a/webapp/channels/src/components/channel_layout/channel_controller.tsx b/webapp/channels/src/components/channel_layout/channel_controller.tsx index f3b3d729c14..0532bdc37d9 100644 --- a/webapp/channels/src/components/channel_layout/channel_controller.tsx +++ b/webapp/channels/src/components/channel_layout/channel_controller.tsx @@ -32,7 +32,7 @@ const BODY_CLASS_FOR_CHANNEL = ['channel-view']; type Props = { shouldRenderCenterChannel: boolean; -} +}; export default function ChannelController(props: Props) { const isMobileView = useSelector(getIsMobileView); diff --git a/webapp/channels/src/components/channel_layout/channel_identifier_router/channel_identifier_router.tsx b/webapp/channels/src/components/channel_layout/channel_identifier_router/channel_identifier_router.tsx index 12f9a832c6e..d81df5310a1 100644 --- a/webapp/channels/src/components/channel_layout/channel_identifier_router/channel_identifier_router.tsx +++ b/webapp/channels/src/components/channel_layout/channel_identifier_router/channel_identifier_router.tsx @@ -17,7 +17,7 @@ export type Match = match<{ path: string; }>; -export type MatchAndHistory = Pick +export type MatchAndHistory = Pick; type Props = { match: Match; diff --git a/webapp/channels/src/components/channel_members_modal/channel_members_modal.tsx b/webapp/channels/src/components/channel_members_modal/channel_members_modal.tsx index b4291270a5d..13fbfc78476 100644 --- a/webapp/channels/src/components/channel_members_modal/channel_members_modal.tsx +++ b/webapp/channels/src/components/channel_members_modal/channel_members_modal.tsx @@ -35,11 +35,11 @@ type Props = { actions: { openModal:

(modalData: ModalData

) => void; }; -} +}; type State = { show: boolean; -} +}; export default class ChannelMembersModal extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/channel_name_form_field/channel_name_form_field.tsx b/webapp/channels/src/components/channel_name_form_field/channel_name_form_field.tsx index 79abcd6d6f1..bd3eb365a3a 100644 --- a/webapp/channels/src/components/channel_name_form_field/channel_name_form_field.tsx +++ b/webapp/channels/src/components/channel_name_form_field/channel_name_form_field.tsx @@ -33,7 +33,7 @@ export type Props = { urlError?: string; readOnly?: boolean; isEditingExistingChannel?: boolean; -} +}; import './channel_name_form_field.scss'; diff --git a/webapp/channels/src/components/channel_notifications_modal/index.ts b/webapp/channels/src/components/channel_notifications_modal/index.ts index 3022e415b0b..4c8e7d20e96 100644 --- a/webapp/channels/src/components/channel_notifications_modal/index.ts +++ b/webapp/channels/src/components/channel_notifications_modal/index.ts @@ -31,6 +31,6 @@ const mapDispatchToProps = (dispatch: Dispatch) => ({ const connector = connect(mapStateToProps, mapDispatchToProps); -export type PropsFromRedux = ConnectedProps +export type PropsFromRedux = ConnectedProps; export default connector(ChannelNotificationsModal); diff --git a/webapp/channels/src/components/channel_selector_modal/channel_selector_modal.tsx b/webapp/channels/src/components/channel_selector_modal/channel_selector_modal.tsx index 71a6588d67f..e9725bfeddf 100644 --- a/webapp/channels/src/components/channel_selector_modal/channel_selector_modal.tsx +++ b/webapp/channels/src/components/channel_selector_modal/channel_selector_modal.tsx @@ -41,7 +41,7 @@ type Props = { excludeRemote?: boolean; customNoOptionsMessage?: React.ReactNode; isStacked?: boolean; -} +}; type State = { values: ChannelWithTeamDataValue[]; @@ -49,7 +49,7 @@ type State = { search: boolean; loadingChannels: boolean; channels: ChannelWithTeamData[]; -} +}; const CHANNELS_PER_PAGE = 50; diff --git a/webapp/channels/src/components/channel_settings_modal/channel_settings_archive_tab.tsx b/webapp/channels/src/components/channel_settings_modal/channel_settings_archive_tab.tsx index aa2109c319d..471c4b1ddc0 100644 --- a/webapp/channels/src/components/channel_settings_modal/channel_settings_archive_tab.tsx +++ b/webapp/channels/src/components/channel_settings_modal/channel_settings_archive_tab.tsx @@ -15,7 +15,7 @@ import ConfirmationModal from 'components/confirm_modal'; type ChannelSettingsArchiveTabProps = { channel: Channel; onHide: () => void; -} +}; function ChannelSettingsArchiveTab({ channel, diff --git a/webapp/channels/src/components/channel_settings_modal/channel_settings_configuration_tab.tsx b/webapp/channels/src/components/channel_settings_modal/channel_settings_configuration_tab.tsx index 7f14bf1c599..ae34b266bd6 100644 --- a/webapp/channels/src/components/channel_settings_modal/channel_settings_configuration_tab.tsx +++ b/webapp/channels/src/components/channel_settings_modal/channel_settings_configuration_tab.tsx @@ -60,7 +60,7 @@ type Props = { canManageChannelTranslation?: boolean; canManageBanner?: boolean; canManageSharedChannels?: boolean; -} +}; function bannerHasChanges(originalBannerInfo: Channel['banner_info'], updatedBannerInfo: Channel['banner_info']): boolean { return (originalBannerInfo?.text?.trim() || '') !== (updatedBannerInfo?.text?.trim() || '') || diff --git a/webapp/channels/src/components/channel_view/input_loading.tsx b/webapp/channels/src/components/channel_view/input_loading.tsx index 09fe76152d5..3823cf3406d 100644 --- a/webapp/channels/src/components/channel_view/input_loading.tsx +++ b/webapp/channels/src/components/channel_view/input_loading.tsx @@ -15,7 +15,7 @@ const TIME_TO_DISMISS = 2000; type Props = { updateWaitForLoader: (v: boolean) => void; -} +}; const InputLoading = ({ updateWaitForLoader, diff --git a/webapp/channels/src/components/claim/claim_controller.tsx b/webapp/channels/src/components/claim/claim_controller.tsx index daf96e2a007..8b215bee1bd 100644 --- a/webapp/channels/src/components/claim/claim_controller.tsx +++ b/webapp/channels/src/components/claim/claim_controller.tsx @@ -26,7 +26,7 @@ export interface PasswordConfig { type Location = { search: string; -} +}; export type Props = { location: Location; @@ -39,7 +39,7 @@ export type Props = { actions: { switchLdapToEmail: (ldapPassword: string, email: string, emailPassword: string, mfaCode?: string) => Promise>; }; -} +}; export default class ClaimController extends React.PureComponent { render(): JSX.Element { diff --git a/webapp/channels/src/components/claim/components/email_to_ldap.tsx b/webapp/channels/src/components/claim/components/email_to_ldap.tsx index 625e78c4548..369f209bad2 100644 --- a/webapp/channels/src/components/claim/components/email_to_ldap.tsx +++ b/webapp/channels/src/components/claim/components/email_to_ldap.tsx @@ -20,7 +20,7 @@ type Props = { email: string | null; siteName?: string; ldapLoginFieldName?: string; -} +}; export type SubmitOptions = { loginId: string; @@ -28,7 +28,7 @@ export type SubmitOptions = { token?: string; ldapIdParam?: string; ldapPasswordParam?: string; -} +}; const EmailToLDAP = ({email, siteName, ldapLoginFieldName}: Props) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/claim/components/email_to_oauth.tsx b/webapp/channels/src/components/claim/components/email_to_oauth.tsx index 19c934ad818..31543d495f7 100644 --- a/webapp/channels/src/components/claim/components/email_to_oauth.tsx +++ b/webapp/channels/src/components/claim/components/email_to_oauth.tsx @@ -22,7 +22,7 @@ type Props = { newType: string | null; email: string; siteName?: string; -} +}; const EmailToOAuth = (props: Props) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/claim/components/error_label.tsx b/webapp/channels/src/components/claim/components/error_label.tsx index 8176978223b..0a8038c339a 100644 --- a/webapp/channels/src/components/claim/components/error_label.tsx +++ b/webapp/channels/src/components/claim/components/error_label.tsx @@ -5,7 +5,7 @@ import React, {memo} from 'react'; type ErrorLabelProps = { errorText?: string | JSX.Element; -} +}; const ErrorLabel = ({errorText}: ErrorLabelProps) => (errorText ? (

diff --git a/webapp/channels/src/components/claim/components/ldap_to_email.tsx b/webapp/channels/src/components/claim/components/ldap_to_email.tsx index 36163a5e307..271eff8f4ba 100644 --- a/webapp/channels/src/components/claim/components/ldap_to_email.tsx +++ b/webapp/channels/src/components/claim/components/ldap_to_email.tsx @@ -24,7 +24,7 @@ type Props = { email: string | null; switchLdapToEmail: (ldapPassword: string, email: string, password: string, token: string) => Promise>; passwordConfig?: PasswordConfig; -} +}; const LDAPToEmail = (props: Props) => { const [passwordError, setPasswordError] = useState(''); diff --git a/webapp/channels/src/components/claim/components/oauth_to_email.tsx b/webapp/channels/src/components/claim/components/oauth_to_email.tsx index ca53166aa70..1ba873e953a 100644 --- a/webapp/channels/src/components/claim/components/oauth_to_email.tsx +++ b/webapp/channels/src/components/claim/components/oauth_to_email.tsx @@ -23,7 +23,7 @@ type Props = { email: string | null; siteName?: string; passwordConfig?: PasswordConfig; -} +}; const OAuthToEmail = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/code_block/code_block.tsx b/webapp/channels/src/components/code_block/code_block.tsx index a480ccfbc48..5a69e85a350 100644 --- a/webapp/channels/src/components/code_block/code_block.tsx +++ b/webapp/channels/src/components/code_block/code_block.tsx @@ -18,7 +18,7 @@ type Props = { language: string; searchedContent?: string; channelId?: string; -} +}; const CodeBlock: React.FC = ({code, language, searchedContent, channelId}: Props) => { const getUsedLanguage = useCallback(() => { diff --git a/webapp/channels/src/components/common/accordion/accordion_card.tsx b/webapp/channels/src/components/common/accordion/accordion_card.tsx index c804b91cb73..1692055a2c4 100644 --- a/webapp/channels/src/components/common/accordion/accordion_card.tsx +++ b/webapp/channels/src/components/common/accordion/accordion_card.tsx @@ -14,7 +14,7 @@ type Props = { isExpanded: boolean; onButtonClick: () => void; onHeaderClick?: (ref: RefObject) => T | void; -} +}; const AccordionCard = ({ data, diff --git a/webapp/channels/src/components/common/auto_height_switcher.tsx b/webapp/channels/src/components/common/auto_height_switcher.tsx index cb31ad80f39..2f7d46a710f 100644 --- a/webapp/channels/src/components/common/auto_height_switcher.tsx +++ b/webapp/channels/src/components/common/auto_height_switcher.tsx @@ -26,7 +26,7 @@ const AutoHeightSwitcher = ({showSlot, onTransitionEnd, slot1 = null, slot2 = nu const wrapperRef = useRef(null); const childRef = useRef(null); const prevSlot = useRef(showSlot); - const prevHeight = useRef(null); + const prevHeight = useRef(null); const [animate, setAnimate] = useState(false); const [height, setHeight] = useState('auto'); const [overflow, setOverflow] = useState('visible'); diff --git a/webapp/channels/src/components/common/back_button.tsx b/webapp/channels/src/components/common/back_button.tsx index fd0635ec989..6d0795ecae8 100644 --- a/webapp/channels/src/components/common/back_button.tsx +++ b/webapp/channels/src/components/common/back_button.tsx @@ -19,7 +19,7 @@ type Props = { * onClick handler when user clicks back button */ onClick?: React.EventHandler; -} +}; const BackButton = ({url = '/', className, onClick}: Props): JSX.Element => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/common/carousel/carousel.tsx b/webapp/channels/src/components/common/carousel/carousel.tsx index 94c0c2086fe..ecbcc7e86d1 100644 --- a/webapp/channels/src/components/common/carousel/carousel.tsx +++ b/webapp/channels/src/components/common/carousel/carousel.tsx @@ -15,7 +15,7 @@ type Props = { disableNextButton?: boolean; btnsStyle?: BtnStyle; // chevron or bottom buttons actionButton?: JSX.Element; -} +}; const Carousel = ({ dataSlides, id, diff --git a/webapp/channels/src/components/common/carousel/carousel_button.tsx b/webapp/channels/src/components/common/carousel/carousel_button.tsx index 78f5e460552..2f2beb99058 100644 --- a/webapp/channels/src/components/common/carousel/carousel_button.tsx +++ b/webapp/channels/src/components/common/carousel/carousel_button.tsx @@ -16,7 +16,7 @@ type Props = { moveSlide: () => void; btnsStyle?: BtnStyle; disabled?: boolean; -} +}; enum Destination { NEXT = 'next', diff --git a/webapp/channels/src/components/common/chip/chip.tsx b/webapp/channels/src/components/common/chip/chip.tsx index 56528ffad2e..8321fb8184c 100644 --- a/webapp/channels/src/components/common/chip/chip.tsx +++ b/webapp/channels/src/components/common/chip/chip.tsx @@ -20,9 +20,9 @@ type Props = { otherOption?: boolean; leadingIcon?: string; additionalMarkup?: React.ReactNode | React.ReactNodeArray; -} +}; -const StyledChip = styled.button<{ otherOption?: boolean }>` +const StyledChip = styled.button<{otherOption?: boolean}>` display: flex; flex-shrink: 0; align-items: center; diff --git a/webapp/channels/src/components/common/comment_icon.tsx b/webapp/channels/src/components/common/comment_icon.tsx index 4d3f7b7a6a1..717a39119a7 100644 --- a/webapp/channels/src/components/common/comment_icon.tsx +++ b/webapp/channels/src/components/common/comment_icon.tsx @@ -17,7 +17,7 @@ type Props = { commentCount?: number; postId?: string; extraClass: string; -} +}; const CommentIcon = ({ location = 'CENTER', diff --git a/webapp/channels/src/components/common/hooks/useEntity.ts b/webapp/channels/src/components/common/hooks/useEntity.ts index c131d9f7cc1..cc5f79dab74 100644 --- a/webapp/channels/src/components/common/hooks/useEntity.ts +++ b/webapp/channels/src/components/common/hooks/useEntity.ts @@ -13,7 +13,7 @@ export type UseDataOptions = { fetch: (identifier: Identifier, ...fetchArgs: unknown[]) => Action | ThunkAction; selector: (state: State, identifier: Identifier) => Entity | undefined; -} +}; export function makeUseEntity(options: UseDataOptions) { function useEntity(identifier: Identifier, ...fetchArgs: unknown[]): Entity | undefined { diff --git a/webapp/channels/src/components/common/hooks/useGetNotifyAdmin.ts b/webapp/channels/src/components/common/hooks/useGetNotifyAdmin.ts index 65daeb0eb77..8c679f79c54 100644 --- a/webapp/channels/src/components/common/hooks/useGetNotifyAdmin.ts +++ b/webapp/channels/src/components/common/hooks/useGetNotifyAdmin.ts @@ -25,11 +25,11 @@ type UseNotifyAdminArgs = { id: string; defaultMessage: string; }; -} +}; type NotifyAdminArgs = { requestData: NotifyAdminRequest; -} +}; const messages = defineMessages({ [NotifyStatus.Started]: { diff --git a/webapp/channels/src/components/common/hooks/useOpenPricingModal.ts b/webapp/channels/src/components/common/hooks/useOpenPricingModal.ts index 65986d7076d..81f01c8aa98 100644 --- a/webapp/channels/src/components/common/hooks/useOpenPricingModal.ts +++ b/webapp/channels/src/components/common/hooks/useOpenPricingModal.ts @@ -9,7 +9,7 @@ import useCWSAvailabilityCheck, {CSWAvailabilityCheckTypes} from './useCWSAvaila export type UseOpenPricingModalReturn = { openPricingModal: () => void; isAirGapped: boolean; -} +}; export default function useOpenPricingModal(): UseOpenPricingModalReturn { const cwsAvailability = useCWSAvailabilityCheck(); diff --git a/webapp/channels/src/components/common/hooks/useSavePreferences.ts b/webapp/channels/src/components/common/hooks/useSavePreferences.ts index 9a140c04ab9..8d0923305d2 100644 --- a/webapp/channels/src/components/common/hooks/useSavePreferences.ts +++ b/webapp/channels/src/components/common/hooks/useSavePreferences.ts @@ -9,7 +9,7 @@ import type {PreferenceType} from '@mattermost/types/preferences'; import {savePreferences} from 'mattermost-redux/actions/preferences'; import {getCurrentUserId} from 'mattermost-redux/selectors/entities/users'; -type MinimalPreferenceType = Omit +type MinimalPreferenceType = Omit; export default function useSavePreferences(): (preferences: MinimalPreferenceType | MinimalPreferenceType[]) => void { const userId = useSelector(getCurrentUserId); const dispatch = useDispatch(); @@ -21,7 +21,7 @@ export default function useSavePreferences(): (preferences: MinimalPreferenceTyp }, [dispatch, userId]); } -type MinimalBoolPreferenceType = Omit & {value?: boolean} +type MinimalBoolPreferenceType = Omit & {value?: boolean}; export function useSaveBool(): (preference: MinimalBoolPreferenceType) => void { const savePreference = useSavePreferences(); diff --git a/webapp/channels/src/components/common/hooks/use_external_link.ts b/webapp/channels/src/components/common/hooks/use_external_link.ts index b05606ea0cc..6f5c3833541 100644 --- a/webapp/channels/src/components/common/hooks/use_external_link.ts +++ b/webapp/channels/src/components/common/hooks/use_external_link.ts @@ -15,7 +15,7 @@ export type ExternalLinkQueryParams = { utm_campaign?: string; utm_content?: string; userId?: string; -} +}; /** * useExternalLink is used when linking outside of the MM server to add extra tracking parameters when linking to any diff --git a/webapp/channels/src/components/common/multi_select_cards/index.tsx b/webapp/channels/src/components/common/multi_select_cards/index.tsx index 77041c6f41e..6cd684752fd 100644 --- a/webapp/channels/src/components/common/multi_select_cards/index.tsx +++ b/webapp/channels/src/components/common/multi_select_cards/index.tsx @@ -11,7 +11,7 @@ type Props = { next?: () => void; cards: CardProps[]; size?: 'regular' | 'small'; -} +}; export default function MultiSelectCards(props: Props) { const size = props.size || 'regular'; diff --git a/webapp/channels/src/components/common/multi_select_cards/multi_select_card.tsx b/webapp/channels/src/components/common/multi_select_cards/multi_select_card.tsx index 1656c5d8c3f..364d91c33af 100644 --- a/webapp/channels/src/components/common/multi_select_cards/multi_select_card.tsx +++ b/webapp/channels/src/components/common/multi_select_cards/multi_select_card.tsx @@ -15,7 +15,7 @@ export type Props = { checked: boolean; tooltip?: string; size?: 'regular' | 'small'; -} +}; const MultiSelectCard = (props: Props) => { const buttonProps: { className: string; diff --git a/webapp/channels/src/components/common/plan_label/index.tsx b/webapp/channels/src/components/common/plan_label/index.tsx index 5f38c24884f..8f1b4fff869 100644 --- a/webapp/channels/src/components/common/plan_label/index.tsx +++ b/webapp/channels/src/components/common/plan_label/index.tsx @@ -19,12 +19,12 @@ type PlanLabelProps = { firstSvg: JSX.Element; secondSvg?: JSX.Element; renderLastDaysOnTrial?: boolean; -} +}; type StyledProps = { bgColor?: string; color?: string; -} +}; const StyledPlanLabel = styled.div` background-color: ${(props) => props.bgColor}; diff --git a/webapp/channels/src/components/common/radio_group.tsx b/webapp/channels/src/components/common/radio_group.tsx index e75c55a10dd..36cf1f23b47 100644 --- a/webapp/channels/src/components/common/radio_group.tsx +++ b/webapp/channels/src/components/common/radio_group.tsx @@ -8,14 +8,14 @@ import Tag from 'components/widgets/tag/tag'; type RadioGroupProps = { id: string; - values: Array<{ key: React.ReactNode | React.ReactNodeArray; value: string; testId?: string}>; + values: Array<{key: React.ReactNode | React.ReactNodeArray; value: string; testId?: string}>; value: string; badge?: {matchVal: string; badgeContent: ReactNode; extraClass?: string} | undefined | null; sideLegend?: {matchVal: string; text: ReactNode}; isDisabled?: null | ((id: string) => boolean); onChange(e: React.ChangeEvent): void; testId?: string; -} +}; const RadioButtonGroup = ({ id, onChange, diff --git a/webapp/channels/src/components/common/select_text_input/select_text_input.tsx b/webapp/channels/src/components/common/select_text_input/select_text_input.tsx index f69a540974f..f04b98a1055 100644 --- a/webapp/channels/src/components/common/select_text_input/select_text_input.tsx +++ b/webapp/channels/src/components/common/select_text_input/select_text_input.tsx @@ -25,7 +25,7 @@ type Props = { id?: string; isClearable?: boolean; description?: string; -} +}; const styles = { control: (baseStyles) => ({ diff --git a/webapp/channels/src/components/common/svg_images_components/airgapped_trial_activation_confirm_svg.tsx b/webapp/channels/src/components/common/svg_images_components/airgapped_trial_activation_confirm_svg.tsx index 30cdf300a3b..2772298a21b 100644 --- a/webapp/channels/src/components/common/svg_images_components/airgapped_trial_activation_confirm_svg.tsx +++ b/webapp/channels/src/components/common/svg_images_components/airgapped_trial_activation_confirm_svg.tsx @@ -6,7 +6,7 @@ import React from 'react'; type SvgProps = { height?: number; width?: number; -} +}; const AirgappedTrialActivationConfirmSvg = ({height = 474, width = 578}: SvgProps) => ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ` height: ${(props) => (typeof props.width === 'number' ? Math.ceil(props.width / 20).toString() + 'px' : '8px')}; @@ -43,7 +43,7 @@ type BarForegroundProps = { width: number | string; percent: number; thresholds: Thresholds; -} +}; function getColor(percent: number, thresholds: Thresholds): string { switch (true) { diff --git a/webapp/channels/src/components/component_library/hooks.tsx b/webapp/channels/src/components/component_library/hooks.tsx index dc81a560a0c..80b2cb578ff 100644 --- a/webapp/channels/src/components/component_library/hooks.tsx +++ b/webapp/channels/src/components/component_library/hooks.tsx @@ -8,7 +8,7 @@ import './component_library.scss'; type HookResult = [ {[x: string]: T}, JSX.Element, -] +]; export const useStringProp = ( propName: string, defaultValue: string, diff --git a/webapp/channels/src/components/component_library/index.tsx b/webapp/channels/src/components/component_library/index.tsx index d523a64f4d4..835d49fc61d 100644 --- a/webapp/channels/src/components/component_library/index.tsx +++ b/webapp/channels/src/components/component_library/index.tsx @@ -18,7 +18,7 @@ const componentMap = { 'Section Notice': SectionNoticeComponentLibrary, }; -type ComponentName = keyof typeof componentMap +type ComponentName = keyof typeof componentMap; const defaultComponent = Object.keys(componentMap)[0] as ComponentName; type ThemeName = keyof typeof Preferences.THEMES; diff --git a/webapp/channels/src/components/convert_channel_modal/convert_channel_modal.tsx b/webapp/channels/src/components/convert_channel_modal/convert_channel_modal.tsx index c27b2b793b2..8b5cd58c5c0 100644 --- a/webapp/channels/src/components/convert_channel_modal/convert_channel_modal.tsx +++ b/webapp/channels/src/components/convert_channel_modal/convert_channel_modal.tsx @@ -23,11 +23,11 @@ type Props = { actions: { updateChannelPrivacy: (channelId: string, privacy: string) => void; }; -} +}; type State = { show: boolean; -} +}; export default class ConvertChannelModal extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/convert_gm_to_channel_modal/convert_gm_to_channel_modal.tsx b/webapp/channels/src/components/convert_gm_to_channel_modal/convert_gm_to_channel_modal.tsx index 1ae4875a1f1..240ab79f001 100644 --- a/webapp/channels/src/components/convert_gm_to_channel_modal/convert_gm_to_channel_modal.tsx +++ b/webapp/channels/src/components/convert_gm_to_channel_modal/convert_gm_to_channel_modal.tsx @@ -38,7 +38,7 @@ export type Props = { profilesInChannel: UserProfile[]; teammateNameDisplaySetting: string; currentUserId: string; -} +}; const ConvertGmToChannelModal = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/convert_gm_to_channel_modal/index.ts b/webapp/channels/src/components/convert_gm_to_channel_modal/index.ts index 7aeb5178035..d735e894516 100644 --- a/webapp/channels/src/components/convert_gm_to_channel_modal/index.ts +++ b/webapp/channels/src/components/convert_gm_to_channel_modal/index.ts @@ -24,7 +24,7 @@ import ConvertGmToChannelModal from './convert_gm_to_channel_modal'; type OwnProps = { channel: Channel; -} +}; function makeMapStateToProps() { const getProfilesInChannel = makeGetProfilesInChannel(); @@ -45,7 +45,7 @@ export type Actions = { closeModal: (modalID: string) => void; convertGroupMessageToPrivateChannel: (channelID: string, teamID: string, displayName: string, name: string) => Promise; moveChannelsInSidebar: (categoryId: string, targetIndex: number, draggableChannelId: string, setManualSorting?: boolean) => void; -} +}; function mapDispatchToProps(dispatch: Dispatch) { return { diff --git a/webapp/channels/src/components/convert_gm_to_channel_modal/team_selector/team_selector.tsx b/webapp/channels/src/components/convert_gm_to_channel_modal/team_selector/team_selector.tsx index e4e253f5fdb..bdf4b6d0670 100644 --- a/webapp/channels/src/components/convert_gm_to_channel_modal/team_selector/team_selector.tsx +++ b/webapp/channels/src/components/convert_gm_to_channel_modal/team_selector/team_selector.tsx @@ -15,7 +15,7 @@ import DropdownInput from 'components/dropdown_input'; export type Props = { teamsById: {[id: string]: Team}; onChange: (teamId: string) => void; -} +}; const TeamSelector = (props: Props): JSX.Element => { const [value, setValue] = useState(); diff --git a/webapp/channels/src/components/convert_gm_to_channel_modal/warning_text_section/warning_text_section.tsx b/webapp/channels/src/components/convert_gm_to_channel_modal/warning_text_section/warning_text_section.tsx index 97728f3a3c4..8758a8b4846 100644 --- a/webapp/channels/src/components/convert_gm_to_channel_modal/warning_text_section/warning_text_section.tsx +++ b/webapp/channels/src/components/convert_gm_to_channel_modal/warning_text_section/warning_text_section.tsx @@ -8,7 +8,7 @@ import SectionNotice from 'components/section_notice'; export type Props = { channelMemberNames: string[]; -} +}; const WarningTextSection = (props: Props): JSX.Element => { const intl = useIntl(); diff --git a/webapp/channels/src/components/create_user_groups_modal/create_user_groups_modal.tsx b/webapp/channels/src/components/create_user_groups_modal/create_user_groups_modal.tsx index aad5f62c224..0de0feabaf2 100644 --- a/webapp/channels/src/components/create_user_groups_modal/create_user_groups_modal.tsx +++ b/webapp/channels/src/components/create_user_groups_modal/create_user_groups_modal.tsx @@ -28,7 +28,7 @@ export type Props = { openModal:

(modalData: ModalData

) => void; }; intl: IntlShape; -} +}; type State = { show: boolean; @@ -42,7 +42,7 @@ type State = { showUnknownError: boolean; saving: boolean; saved: boolean; -} +}; export class CreateUserGroupsModal extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/custom_status/expiry_menu.tsx b/webapp/channels/src/components/custom_status/expiry_menu.tsx index c71e06e1389..c67bd18d94c 100644 --- a/webapp/channels/src/components/custom_status/expiry_menu.tsx +++ b/webapp/channels/src/components/custom_status/expiry_menu.tsx @@ -16,13 +16,13 @@ import ExpiryTime from './expiry_time'; type ExpiryMenuItem = { text: string; value: string; -} +}; type Props = { duration: CustomStatusDuration; expiryTime?: string; handleDurationChange: (expiryValue: CustomStatusDuration) => void; -} +}; const { DONT_CLEAR, @@ -40,7 +40,7 @@ const ExpiryMenu: React.FC = (props: Props) => { const {formatMessage} = useIntl(); const [menuItems, setMenuItems] = useState([]); - const expiryMenuItems: { [key in CustomStatusDuration]?: ExpiryMenuItem } = { + const expiryMenuItems: {[key in CustomStatusDuration]?: ExpiryMenuItem} = { [DONT_CLEAR]: { text: formatMessage(durationValues[DONT_CLEAR]), value: formatMessage(durationValues[DONT_CLEAR]), diff --git a/webapp/channels/src/components/data_prefetch/actions.ts b/webapp/channels/src/components/data_prefetch/actions.ts index 22f98f0f707..c44063d2b37 100644 --- a/webapp/channels/src/components/data_prefetch/actions.ts +++ b/webapp/channels/src/components/data_prefetch/actions.ts @@ -10,7 +10,7 @@ import {memoizeResult} from 'mattermost-redux/utils/helpers'; enum Priority { high = 1, medium, - low + low, } enum PrefetchLimits { diff --git a/webapp/channels/src/components/data_prefetch/data_prefetch.tsx b/webapp/channels/src/components/data_prefetch/data_prefetch.tsx index 1507a54655d..c7013100655 100644 --- a/webapp/channels/src/components/data_prefetch/data_prefetch.tsx +++ b/webapp/channels/src/components/data_prefetch/data_prefetch.tsx @@ -27,7 +27,7 @@ type Props = { actions: { prefetchChannelPosts: (channelId: string, delay?: number) => Promise; }; -} +}; /* This component is responsible for prefetching data. As of now component only fetches for channel posts based on the below set of rules. diff --git a/webapp/channels/src/components/date_picker/date_picker.tsx b/webapp/channels/src/components/date_picker/date_picker.tsx index e13f1ac4292..3783446e169 100644 --- a/webapp/channels/src/components/date_picker/date_picker.tsx +++ b/webapp/channels/src/components/date_picker/date_picker.tsx @@ -30,7 +30,7 @@ type Props = { label?: string; icon?: React.ReactNode; value?: string; -} +}; const DatePicker = ({children, datePickerProps, isPopperOpen, handlePopperOpenState, locale, label, icon, value}: Props) => { const [loadedLocales, setLoadedLocales] = useState>({}); diff --git a/webapp/channels/src/components/datetime_input/datetime_input.tsx b/webapp/channels/src/components/datetime_input/datetime_input.tsx index fc289d27c20..f80e55abe8f 100644 --- a/webapp/channels/src/components/datetime_input/datetime_input.tsx +++ b/webapp/channels/src/components/datetime_input/datetime_input.tsx @@ -119,7 +119,7 @@ type TimeInputManualProps = { onTimeChange: (time: Moment) => void; minDateTime?: Moment; maxDateTime?: Moment; -} +}; const TimeInputManual: React.FC = ({ time, @@ -232,7 +232,7 @@ type Props = { manualTimeEntry?: boolean; minDateTime?: Moment; maxDateTime?: Moment; -} +}; const DateTimeInputContainer: React.FC = ({ time, diff --git a/webapp/channels/src/components/deferComponentRender.tsx b/webapp/channels/src/components/deferComponentRender.tsx index 12a4ce887c5..b91d942733d 100644 --- a/webapp/channels/src/components/deferComponentRender.tsx +++ b/webapp/channels/src/components/deferComponentRender.tsx @@ -6,7 +6,7 @@ import React from 'react'; type DeferredRenderWrapperState = { shouldRender: boolean; -} +}; /** * Allows two animation frames to complete to allow other components to update diff --git a/webapp/channels/src/components/delete_channel_modal/delete_channel_modal.tsx b/webapp/channels/src/components/delete_channel_modal/delete_channel_modal.tsx index 04455c82193..3740018584e 100644 --- a/webapp/channels/src/components/delete_channel_modal/delete_channel_modal.tsx +++ b/webapp/channels/src/components/delete_channel_modal/delete_channel_modal.tsx @@ -16,11 +16,11 @@ export type Props = { actions: { deleteChannel: (channelId: string) => void; }; -} +}; type State = { show: boolean; -} +}; export default class DeleteChannelModal extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/delete_post_modal/delete_post_modal.tsx b/webapp/channels/src/components/delete_post_modal/delete_post_modal.tsx index d3fb36b1cec..f0c532e771c 100644 --- a/webapp/channels/src/components/delete_post_modal/delete_post_modal.tsx +++ b/webapp/channels/src/components/delete_post_modal/delete_post_modal.tsx @@ -30,11 +30,11 @@ type Props = { location: { pathname: string; }; -} +}; type State = { show: boolean; -} +}; export default class DeletePostModal extends React.PureComponent { deletePostBtn: React.RefObject; diff --git a/webapp/channels/src/components/delete_post_modal/index.ts b/webapp/channels/src/components/delete_post_modal/index.ts index 5211c0ca4cc..7ca6c53749f 100644 --- a/webapp/channels/src/components/delete_post_modal/index.ts +++ b/webapp/channels/src/components/delete_post_modal/index.ts @@ -29,7 +29,7 @@ type Props = { location: { pathname: string; }; -} +}; function makeMapStateToProps() { const getReplyCount = makeGetCommentCountForPost(); diff --git a/webapp/channels/src/components/desktop_auth_token.tsx b/webapp/channels/src/components/desktop_auth_token.tsx index 35b71f2e1f0..10d029c2961 100644 --- a/webapp/channels/src/components/desktop_auth_token.tsx +++ b/webapp/channels/src/components/desktop_auth_token.tsx @@ -33,7 +33,7 @@ enum DesktopAuthStatus { type Props = { href: string; onLogin: () => void; -} +}; const DesktopAuthToken: React.FC = ({href, onLogin}: Props) => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/disable_autotranslation_modal.tsx b/webapp/channels/src/components/disable_autotranslation_modal.tsx index dcdd1626001..3fb50ee5ebf 100644 --- a/webapp/channels/src/components/disable_autotranslation_modal.tsx +++ b/webapp/channels/src/components/disable_autotranslation_modal.tsx @@ -18,7 +18,7 @@ import {ModalIdentifiers} from 'utils/constants'; type Props = { channel: Channel; -} +}; const DisableAutotranslationModal = ({channel}: Props) => { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/discard_changes_modal.tsx b/webapp/channels/src/components/discard_changes_modal.tsx index acf21a2ba4c..98db14ceba1 100644 --- a/webapp/channels/src/components/discard_changes_modal.tsx +++ b/webapp/channels/src/components/discard_changes_modal.tsx @@ -10,7 +10,7 @@ type Props = { show: boolean; onConfirm: (checked: boolean) => void; onCancel: (checked: boolean) => void; -} +}; const DiscardChangesModal = ({ show, diff --git a/webapp/channels/src/components/dnd_custom_time_picker_modal/dnd_custom_time_picker_modal.tsx b/webapp/channels/src/components/dnd_custom_time_picker_modal/dnd_custom_time_picker_modal.tsx index 8be4e2dbb11..76e17ba41ce 100644 --- a/webapp/channels/src/components/dnd_custom_time_picker_modal/dnd_custom_time_picker_modal.tsx +++ b/webapp/channels/src/components/dnd_custom_time_picker_modal/dnd_custom_time_picker_modal.tsx @@ -30,7 +30,7 @@ type Props = { type State = { selectedDateTime: moment.Moment; -} +}; export default injectIntl(class DndCustomTimePicker extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/dot_menu/dot_menu.tsx b/webapp/channels/src/components/dot_menu/dot_menu.tsx index 82b798b6715..82a6d689d2b 100644 --- a/webapp/channels/src/components/dot_menu/dot_menu.tsx +++ b/webapp/channels/src/components/dot_menu/dot_menu.tsx @@ -175,12 +175,12 @@ type Props = { isChannelAutotranslated: boolean; isBurnOnReadPost: boolean; isUnrevealedBurnOnReadPost: boolean; -} +}; type State = { canEdit: boolean; canDelete: boolean; -} +}; export class DotMenuClass extends React.PureComponent { public static defaultProps: Partial = { diff --git a/webapp/channels/src/components/dot_menu/post_reminder_submenu.tsx b/webapp/channels/src/components/dot_menu/post_reminder_submenu.tsx index 3f958f5ea63..028fd38c04a 100644 --- a/webapp/channels/src/components/dot_menu/post_reminder_submenu.tsx +++ b/webapp/channels/src/components/dot_menu/post_reminder_submenu.tsx @@ -24,7 +24,7 @@ type Props = { post: Post; isMilitaryTime: boolean; timezone?: string; -} +}; const PostReminders = { THIRTY_MINUTES: 'thirty_minutes', diff --git a/webapp/channels/src/components/drafts/draft_actions/delete_draft_modal.tsx b/webapp/channels/src/components/drafts/draft_actions/delete_draft_modal.tsx index a80175aa246..53d0830a1c6 100644 --- a/webapp/channels/src/components/drafts/draft_actions/delete_draft_modal.tsx +++ b/webapp/channels/src/components/drafts/draft_actions/delete_draft_modal.tsx @@ -11,7 +11,7 @@ type Props = { displayName: string; onConfirm: () => void; onExited: () => void; -} +}; function DeleteDraftModal({ displayName, diff --git a/webapp/channels/src/components/drafts/draft_actions/draft_actions.tsx b/webapp/channels/src/components/drafts/draft_actions/draft_actions.tsx index 0745374bf5b..5d8b8e9a61b 100644 --- a/webapp/channels/src/components/drafts/draft_actions/draft_actions.tsx +++ b/webapp/channels/src/components/drafts/draft_actions/draft_actions.tsx @@ -32,7 +32,7 @@ type Props = { canSend: boolean; onSchedule: (timestamp: number) => Promise<{error?: string}>; channelId: string; -} +}; function DraftActions({ displayName, diff --git a/webapp/channels/src/components/drafts/draft_actions/index.ts b/webapp/channels/src/components/drafts/draft_actions/index.ts index 83c63728dc9..6c7a085433b 100644 --- a/webapp/channels/src/components/drafts/draft_actions/index.ts +++ b/webapp/channels/src/components/drafts/draft_actions/index.ts @@ -21,7 +21,7 @@ type OwnProps = { channelType: Channel['type']; channelName: Channel['name']; userId: string; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const {channelDisplayName, userId, channelName, channelType} = ownProps; diff --git a/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/delete_scheduled_post_modal.tsx b/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/delete_scheduled_post_modal.tsx index be3960e9d6d..55657dc2e09 100644 --- a/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/delete_scheduled_post_modal.tsx +++ b/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/delete_scheduled_post_modal.tsx @@ -11,7 +11,7 @@ type Props = { channelDisplayName?: string; onConfirm: () => Promise<{error?: string}>; onExited: () => void; -} +}; export default function DeleteScheduledPostModal({ channelDisplayName, diff --git a/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx b/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx index 2ec0e48c437..55db0d32d16 100644 --- a/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx +++ b/webapp/channels/src/components/drafts/draft_actions/schedule_post_actions/scheduled_post_actions.tsx @@ -72,7 +72,7 @@ type Props = { onSend: (scheduledPostId: string) => void; onEdit: () => void; onCopyText: () => void; -} +}; function ScheduledPostActions({scheduledPost, channel, onReschedule, onDelete, onSend, onEdit, onCopyText}: Props) { const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/drafts/draft_actions/send_draft_modal.tsx b/webapp/channels/src/components/drafts/draft_actions/send_draft_modal.tsx index b76d8ae4cc6..9386b92c463 100644 --- a/webapp/channels/src/components/drafts/draft_actions/send_draft_modal.tsx +++ b/webapp/channels/src/components/drafts/draft_actions/send_draft_modal.tsx @@ -10,7 +10,7 @@ type Props = { displayName: string; onConfirm: () => void; onExited: () => void; -} +}; function SendDraftModal({ displayName, diff --git a/webapp/channels/src/components/drafts/draft_list/index.tsx b/webapp/channels/src/components/drafts/draft_list/index.tsx index b3e76bb249c..f026ae8190e 100644 --- a/webapp/channels/src/components/drafts/draft_list/index.tsx +++ b/webapp/channels/src/components/drafts/draft_list/index.tsx @@ -16,7 +16,7 @@ type Props = { currentUser: UserProfile; userDisplayName: string; userStatus: UserStatus['status']; -} +}; export default function DraftList(props: Props) { const draftRemotes = useSelector(getDraftRemotes); diff --git a/webapp/channels/src/components/drafts/draft_list/virtualized_draft_list.tsx b/webapp/channels/src/components/drafts/draft_list/virtualized_draft_list.tsx index 5df293a0877..d54f7fcd4ad 100644 --- a/webapp/channels/src/components/drafts/draft_list/virtualized_draft_list.tsx +++ b/webapp/channels/src/components/drafts/draft_list/virtualized_draft_list.tsx @@ -25,7 +25,7 @@ type Props = { userDisplayName: string; userStatus: UserStatus['status']; draftRemotes: Record; -} +}; export default function VirtualizedDraftList(props: Props) { const listRef = useRef(null); diff --git a/webapp/channels/src/components/drafts/draft_row.tsx b/webapp/channels/src/components/drafts/draft_row.tsx index b78126de808..eef695cce54 100644 --- a/webapp/channels/src/components/drafts/draft_row.tsx +++ b/webapp/channels/src/components/drafts/draft_row.tsx @@ -60,7 +60,7 @@ type Props = { isRemote?: boolean; scrollIntoView?: boolean; containerClassName?: string; -} +}; const mockLastBlurAt = {current: 0}; @@ -81,7 +81,7 @@ function DraftRow({ const rootId = ('rootId' in item) ? item.rootId : item.root_id; const channelId = ('channelId' in item) ? item.channelId : item.channel_id; - const [serverError, setServerError] = useState<(ServerError & { submittedMessage?: string }) | null>(null); + const [serverError, setServerError] = useState<(ServerError & {submittedMessage?: string}) | null>(null); const history = useHistory(); const dispatch = useDispatch(); diff --git a/webapp/channels/src/components/drafts/draft_title/draft_title.tsx b/webapp/channels/src/components/drafts/draft_title/draft_title.tsx index 8afd8646cf2..478698f8a8d 100644 --- a/webapp/channels/src/components/drafts/draft_title/draft_title.tsx +++ b/webapp/channels/src/components/drafts/draft_title/draft_title.tsx @@ -24,7 +24,7 @@ type Props = { teammate?: UserProfile; teammateId?: string; type: 'channel' | 'thread'; -} +}; function DraftTitle({ channel, diff --git a/webapp/channels/src/components/drafts/drafts_and_schedule_posts_page_header.tsx b/webapp/channels/src/components/drafts/drafts_and_schedule_posts_page_header.tsx index b2b7c7266d9..6eaeb92daf0 100644 --- a/webapp/channels/src/components/drafts/drafts_and_schedule_posts_page_header.tsx +++ b/webapp/channels/src/components/drafts/drafts_and_schedule_posts_page_header.tsx @@ -9,7 +9,7 @@ import Header from 'components/widgets/header'; type Props = { children: ReactNode; -} +}; export default function DraftsAndSchedulePostsPageHeader(props: Props) { return ( diff --git a/webapp/channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx b/webapp/channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx index 3adeb4d2eb3..562e37dbc53 100644 --- a/webapp/channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx +++ b/webapp/channels/src/components/drafts/drafts_and_schedule_posts_tabs.tsx @@ -36,7 +36,7 @@ type Props = { currentUser: UserProfile; userDisplayName: string; userStatus: UserStatus['status']; -} +}; export default function DraftsAndSchedulePostsTabs(props: Props) { const history = useHistory(); diff --git a/webapp/channels/src/components/drafts/panel/panel_body.tsx b/webapp/channels/src/components/drafts/panel/panel_body.tsx index 445eac2c26f..8e6d2508e9b 100644 --- a/webapp/channels/src/components/drafts/panel/panel_body.tsx +++ b/webapp/channels/src/components/drafts/panel/panel_body.tsx @@ -36,7 +36,7 @@ type Props = { uploadsInProgress: PostDraft['uploadsInProgress']; userId: UserProfile['id']; username: UserProfile['username']; -} +}; const OPTIONS = { disableGroupHighlight: true, diff --git a/webapp/channels/src/components/drafts/placeholder_scheduled_post_title/placeholder_scheduled_posts_title.tsx b/webapp/channels/src/components/drafts/placeholder_scheduled_post_title/placeholder_scheduled_posts_title.tsx index da21371b4f6..c900ad2d1ed 100644 --- a/webapp/channels/src/components/drafts/placeholder_scheduled_post_title/placeholder_scheduled_posts_title.tsx +++ b/webapp/channels/src/components/drafts/placeholder_scheduled_post_title/placeholder_scheduled_posts_title.tsx @@ -8,7 +8,7 @@ import {WithTooltip} from '@mattermost/shared/components/tooltip'; type Props = { type: 'channel' | 'thread'; -} +}; export default function PlaceholderScheduledPostsTitle({type}: Props) { let title; diff --git a/webapp/channels/src/components/drafts/scheduled_post_list/non_virtualized_scheduled_post_list.tsx b/webapp/channels/src/components/drafts/scheduled_post_list/non_virtualized_scheduled_post_list.tsx index 7ab70a210da..e178c9277a2 100644 --- a/webapp/channels/src/components/drafts/scheduled_post_list/non_virtualized_scheduled_post_list.tsx +++ b/webapp/channels/src/components/drafts/scheduled_post_list/non_virtualized_scheduled_post_list.tsx @@ -16,7 +16,7 @@ type Props = { currentUser: UserProfile; userDisplayName: string; userStatus: UserStatus['status']; -} +}; export default function NonVirtualizedScheduledPostList(props: Props) { const query = useQuery(); diff --git a/webapp/channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx b/webapp/channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx index 0490c734ed1..d6301070683 100644 --- a/webapp/channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx +++ b/webapp/channels/src/components/drafts/scheduled_post_list/virtualized_scheduled_post_list.tsx @@ -27,7 +27,7 @@ type Props = { currentUser: UserProfile; userDisplayName: string; userStatus: UserStatus['status']; -} +}; export default function ScheduledPostList(props: Props) { const query = useQuery(); diff --git a/webapp/channels/src/components/dropdown_input.tsx b/webapp/channels/src/components/dropdown_input.tsx index 88febbf6325..9c0ef54c101 100644 --- a/webapp/channels/src/components/dropdown_input.tsx +++ b/webapp/channels/src/components/dropdown_input.tsx @@ -19,7 +19,7 @@ import './dropdown_input.scss'; export type ValueType = { label: string; value: string; -} +}; type Props = Omit, 'onChange'> & { value?: T; diff --git a/webapp/channels/src/components/edit_category_modal/edit_category_modal.tsx b/webapp/channels/src/components/edit_category_modal/edit_category_modal.tsx index d1896a5f594..8f2c4798e1d 100644 --- a/webapp/channels/src/components/edit_category_modal/edit_category_modal.tsx +++ b/webapp/channels/src/components/edit_category_modal/edit_category_modal.tsx @@ -29,7 +29,7 @@ type Props = { type State = { categoryName: string; -} +}; export default class EditCategoryModal extends React.PureComponent { timeoutId: NodeJS.Timeout | null = null; diff --git a/webapp/channels/src/components/edit_channel_header_modal/edit_channel_header_modal.tsx b/webapp/channels/src/components/edit_channel_header_modal/edit_channel_header_modal.tsx index e596e19e684..1ee132e034f 100644 --- a/webapp/channels/src/components/edit_channel_header_modal/edit_channel_header_modal.tsx +++ b/webapp/channels/src/components/edit_channel_header_modal/edit_channel_header_modal.tsx @@ -46,7 +46,7 @@ type State = { show: boolean; serverError?: ServerError | null; postError?: React.ReactNode; -} +}; export class EditChannelHeaderModal extends React.PureComponent { private editChannelHeaderTextboxRef: React.RefObject; diff --git a/webapp/channels/src/components/edit_channel_purpose_modal/edit_channel_purpose_modal.tsx b/webapp/channels/src/components/edit_channel_purpose_modal/edit_channel_purpose_modal.tsx index ab128c9f865..b04d6903c90 100644 --- a/webapp/channels/src/components/edit_channel_purpose_modal/edit_channel_purpose_modal.tsx +++ b/webapp/channels/src/components/edit_channel_purpose_modal/edit_channel_purpose_modal.tsx @@ -18,10 +18,10 @@ import * as Utils from 'utils/utils'; type Actions = { patchChannel: (channelId: string, patch: Partial) => Promise; -} +}; type ServerError = { message: string; -} +}; const purposeMaxLength = 250; type Props = { @@ -30,7 +30,7 @@ type Props = { ctrlSend: boolean; actions: Actions; intl: IntlShape; -} +}; type State = { purpose: string; @@ -38,7 +38,7 @@ type State = { show: boolean; submitted: boolean; requestStarted: boolean; -} +}; export class EditChannelPurposeModal extends React.PureComponent { private purpose: React.RefObject; diff --git a/webapp/channels/src/components/edit_scheduled_post/edit_post.tsx b/webapp/channels/src/components/edit_scheduled_post/edit_post.tsx index 09cc9b3f37a..662f2f169d0 100644 --- a/webapp/channels/src/components/edit_scheduled_post/edit_post.tsx +++ b/webapp/channels/src/components/edit_scheduled_post/edit_post.tsx @@ -56,7 +56,7 @@ export type Actions = { scrollPostListToBottom: () => void; runMessageWillBeUpdatedHooks: (newPost: Partial, oldPost: Post) => Promise; updateScheduledPost: (scheduledPost: ScheduledPost, connectionId: string) => Promise; -} +}; export type Props = { canEditPost?: boolean; @@ -126,7 +126,7 @@ const EditPost = ({editingPost, actions, canEditPost, config, channelId, draft, // If we would just use the editText value from the state it would be a stale since it is encapsuled in the // function closure on initial render const draftRef = useRef(draft); - const saveDraftFrame = useRef(); + const saveDraftFrame = useRef(); const id = scheduledPost ? scheduledPost.id : editingPost.postId; const draftStorageId = `${StoragePrefixes.EDIT_DRAFT}${id}`; @@ -246,7 +246,7 @@ const EditPost = ({editingPost, actions, canEditPost, config, channelId, draft, setSelectionRange({start: res.selectionStart, end: res.selectionEnd}); }; - const handleRefocusAndExit = (refocusId: string|null) => { + const handleRefocusAndExit = (refocusId: string | null) => { if (refocusId) { const element = document.getElementById(refocusId); element?.focus(); diff --git a/webapp/channels/src/components/edit_scheduled_post/edit_post_footer.tsx b/webapp/channels/src/components/edit_scheduled_post/edit_post_footer.tsx index 956d879d31a..0bfae185901 100644 --- a/webapp/channels/src/components/edit_scheduled_post/edit_post_footer.tsx +++ b/webapp/channels/src/components/edit_scheduled_post/edit_post_footer.tsx @@ -15,7 +15,7 @@ import type {GlobalState} from 'types/store'; type Props = { onSave: () => void; onCancel: () => void; -} +}; const EditPostFooter = ({onSave, onCancel}: Props) => { const ctrlSend = useSelector((state: GlobalState) => getBool(state, Preferences.CATEGORY_ADVANCED_SETTINGS, 'send_on_ctrl_enter')); diff --git a/webapp/channels/src/components/edit_scheduled_post/index.ts b/webapp/channels/src/components/edit_scheduled_post/index.ts index d23d7a91b09..8df8c9b2963 100644 --- a/webapp/channels/src/components/edit_scheduled_post/index.ts +++ b/webapp/channels/src/components/edit_scheduled_post/index.ts @@ -33,7 +33,7 @@ import EditPost from './edit_post'; type Props = { scheduledPost?: ScheduledPost; -} +}; function mapStateToProps(state: GlobalState, props: Props) { const config = getConfig(state); diff --git a/webapp/channels/src/components/emoji/emoji_list_item/delete_emoji_button.tsx b/webapp/channels/src/components/emoji/emoji_list_item/delete_emoji_button.tsx index a189a31fa38..03519f640ff 100644 --- a/webapp/channels/src/components/emoji/emoji_list_item/delete_emoji_button.tsx +++ b/webapp/channels/src/components/emoji/emoji_list_item/delete_emoji_button.tsx @@ -8,7 +8,7 @@ import DeleteIntegrationLink from 'components/integrations/delete_integration_li type Props = { onDelete: () => void; -} +}; export default function DeleteEmojiButton(props: Props) { return ( diff --git a/webapp/channels/src/components/emoji/emoji_page.tsx b/webapp/channels/src/components/emoji/emoji_page.tsx index 5414f636c90..eac97a2b144 100644 --- a/webapp/channels/src/components/emoji/emoji_page.tsx +++ b/webapp/channels/src/components/emoji/emoji_page.tsx @@ -21,7 +21,7 @@ type Props = { actions: { loadRolesIfNeeded(roles: Iterable): void; }; -} +}; const CREATE_EMOJIS_PERMISSIONS = [Permissions.CREATE_EMOJIS]; const ROLES = ['system_admin', 'team_admin', 'system_user', 'team_user']; diff --git a/webapp/channels/src/components/emoji_picker/components/emoji_picker_header.tsx b/webapp/channels/src/components/emoji_picker/components/emoji_picker_header.tsx index 5f5a93baedb..a2f6fc3d01a 100644 --- a/webapp/channels/src/components/emoji_picker/components/emoji_picker_header.tsx +++ b/webapp/channels/src/components/emoji_picker/components/emoji_picker_header.tsx @@ -7,7 +7,7 @@ import {FormattedMessage} from 'react-intl'; type Props = { handleEmojiPickerClose: MouseEventHandler; -} +}; const EmojiPickerHeader = ({handleEmojiPickerClose}: Props) => { return ( diff --git a/webapp/channels/src/components/emoji_picker/components/emoji_picker_skin.tsx b/webapp/channels/src/components/emoji_picker/components/emoji_picker_skin.tsx index c32502359f5..b264b75f48d 100644 --- a/webapp/channels/src/components/emoji_picker/components/emoji_picker_skin.tsx +++ b/webapp/channels/src/components/emoji_picker/components/emoji_picker_skin.tsx @@ -80,7 +80,7 @@ export type Props = { type State = { pickerExtended: boolean; pickerMounted: boolean; -} +}; export class EmojiPickerSkin extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/emoji_picker/types/index.ts b/webapp/channels/src/components/emoji_picker/types/index.ts index bfe120e4690..66079c7fc97 100644 --- a/webapp/channels/src/components/emoji_picker/types/index.ts +++ b/webapp/channels/src/components/emoji_picker/types/index.ts @@ -32,7 +32,7 @@ export type CategoryHeaderRow = { emojiId: ''; item: undefined; }>; -} +}; export type EmojiRow = { index: number; @@ -44,7 +44,7 @@ export type EmojiRow = { emojiId: CustomEmoji['id'] | SystemEmoji['unified']; item: Emoji; }>; -} +}; export type EmojiCursor = { rowIndex: number; @@ -56,7 +56,7 @@ export type EmojiPosition = { rowIndex: number; emojiId: CustomEmoji['id'] | SystemEmoji['unified']; categoryName: EmojiCategory; -} +}; export enum NavigationDirection { NextEmoji = 'next', diff --git a/webapp/channels/src/components/emoji_picker/use_emoji_picker.tsx b/webapp/channels/src/components/emoji_picker/use_emoji_picker.tsx index db7fd75628d..f7d9c50719f 100644 --- a/webapp/channels/src/components/emoji_picker/use_emoji_picker.tsx +++ b/webapp/channels/src/components/emoji_picker/use_emoji_picker.tsx @@ -41,13 +41,13 @@ type UseEmojiPickerOptions = { * Replaces the middleware for positioning the emoji picker in cases where we want it positioned differently. */ overrideMiddleware?: UseFloatingOptions['middleware']; -} +}; type UseEmojiPickerReturn = { emojiPicker: React.ReactNode; getReferenceProps: ReturnType['getReferenceProps']; setReference: UseFloatingReturn['refs']['setReference']; -} +}; export default function useEmojiPicker({ showEmojiPicker, diff --git a/webapp/channels/src/components/emoji_picker/utils/index.test.ts b/webapp/channels/src/components/emoji_picker/utils/index.test.ts index f3fa167f6c4..7611de9ecea 100644 --- a/webapp/channels/src/components/emoji_picker/utils/index.test.ts +++ b/webapp/channels/src/components/emoji_picker/utils/index.test.ts @@ -12,10 +12,10 @@ import { enum SkinTones { Light = '1F3FB', - MediumLight ='1F3FC', + MediumLight = '1F3FC', Medium = '1F3FD', MediumDark = '1F3FE', - Dark = '1F3FF' + Dark = '1F3FF', } const smileEmoji = { diff --git a/webapp/channels/src/components/error_page/error_link.tsx b/webapp/channels/src/components/error_page/error_link.tsx index 5f88b428d25..eba18515930 100644 --- a/webapp/channels/src/components/error_page/error_link.tsx +++ b/webapp/channels/src/components/error_page/error_link.tsx @@ -10,7 +10,7 @@ import ExternalLink from 'components/external_link'; type Props = { url: string; message: MessageDescriptor; -} +}; const ErrorLink: React.FC = ({ url = '', diff --git a/webapp/channels/src/components/error_page/error_message.tsx b/webapp/channels/src/components/error_page/error_message.tsx index e7ceb58f546..76e1cc94bbd 100644 --- a/webapp/channels/src/components/error_page/error_message.tsx +++ b/webapp/channels/src/components/error_page/error_message.tsx @@ -14,7 +14,7 @@ type Props = { message?: string; service?: string; isGuest?: boolean; -} +}; const ErrorMessage: React.FC = ({type, message, service, isGuest}: Props) => { let errorMessage = null; diff --git a/webapp/channels/src/components/error_page/error_page.tsx b/webapp/channels/src/components/error_page/error_page.tsx index b04c0ed50f0..258db3d391e 100644 --- a/webapp/channels/src/components/error_page/error_page.tsx +++ b/webapp/channels/src/components/error_page/error_page.tsx @@ -15,14 +15,14 @@ import ErrorTitle from './error_title'; type Location = { search: string; -} +}; type Props = { location: Location; asymmetricSigningPublicKey?: string; siteName?: string; isGuest?: boolean; -} +}; export default class ErrorPage extends React.PureComponent { public componentDidMount() { diff --git a/webapp/channels/src/components/error_page/error_title.tsx b/webapp/channels/src/components/error_page/error_title.tsx index 78017f9c20b..027bc203f00 100644 --- a/webapp/channels/src/components/error_page/error_title.tsx +++ b/webapp/channels/src/components/error_page/error_title.tsx @@ -9,7 +9,7 @@ import {ErrorPageTypes} from 'utils/constants'; type Props = { type?: string | null; title: string; -} +}; const ErrorTitle: React.FC = ({type, title}: Props) => { let errorTitle = null; diff --git a/webapp/channels/src/components/external_image/external_image.tsx b/webapp/channels/src/components/external_image/external_image.tsx index 36332268784..cd3520859f0 100644 --- a/webapp/channels/src/components/external_image/external_image.tsx +++ b/webapp/channels/src/components/external_image/external_image.tsx @@ -15,7 +15,7 @@ type Props = { hasImageProxy: boolean; imageMetadata?: PostImage; src: string; -} +}; const ExternalImage = (props: Props) => { const shouldRenderImage = props.enableSVGs || !isSVGImage(props.imageMetadata, props.src); diff --git a/webapp/channels/src/components/external_link/index.tsx b/webapp/channels/src/components/external_link/index.tsx index 90e93b5a3a8..7f2fc569d37 100644 --- a/webapp/channels/src/components/external_link/index.tsx +++ b/webapp/channels/src/components/external_link/index.tsx @@ -16,7 +16,7 @@ type Props = React.AnchorHTMLAttributes & { queryParams?: ExternalLinkQueryParams; location: string; children: React.ReactNode; -} +}; const ExternalLink = forwardRef((props, ref) => { const [href] = useExternalLink(props.href, props.location, props.queryParams); diff --git a/webapp/channels/src/components/feature_restricted_modal/feature_restricted_modal.tsx b/webapp/channels/src/components/feature_restricted_modal/feature_restricted_modal.tsx index fefe895d36f..e00071b82d4 100644 --- a/webapp/channels/src/components/feature_restricted_modal/feature_restricted_modal.tsx +++ b/webapp/channels/src/components/feature_restricted_modal/feature_restricted_modal.tsx @@ -35,10 +35,10 @@ type FeatureRestrictedModalProps = { messageAdminPostTrial?: string; titleEndUser?: string; messageEndUser?: string; - customSecondaryButton?: { msg: string; action: () => void }; + customSecondaryButton?: {msg: string; action: () => void}; feature?: string; minimumPlanRequiredForFeature?: string; -} +}; const FeatureRestrictedModal = ({ titleAdminPreTrial, diff --git a/webapp/channels/src/components/feedback_modal/downgrade_feedback.tsx b/webapp/channels/src/components/feedback_modal/downgrade_feedback.tsx index 1deed4eb574..c8848f970bb 100644 --- a/webapp/channels/src/components/feedback_modal/downgrade_feedback.tsx +++ b/webapp/channels/src/components/feedback_modal/downgrade_feedback.tsx @@ -12,7 +12,7 @@ import type {FeedbackOption} from 'components/feedback_modal/feedback'; type Props = { onSubmit: (downgradeFeedback: Feedback) => void; -} &WrappedComponentProps +} & WrappedComponentProps; const DowngradeFeedbackModal = (props: Props) => { const downgradeFeedbackModalTitle = props.intl.formatMessage({ diff --git a/webapp/channels/src/components/feedback_modal/feedback.tsx b/webapp/channels/src/components/feedback_modal/feedback.tsx index 4ee24e569ae..10627c8364f 100644 --- a/webapp/channels/src/components/feedback_modal/feedback.tsx +++ b/webapp/channels/src/components/feedback_modal/feedback.tsx @@ -27,7 +27,7 @@ type Props = { submitText: string; feedbackOptions: FeedbackOption[]; freeformTextPlaceholder: string; -} +}; export default function FeedbackModal(props: Props) { const intl = useIntl(); diff --git a/webapp/channels/src/components/file_attachment/filename_overlay.tsx b/webapp/channels/src/components/file_attachment/filename_overlay.tsx index c683a738bb6..6f45be2411a 100644 --- a/webapp/channels/src/components/file_attachment/filename_overlay.tsx +++ b/webapp/channels/src/components/file_attachment/filename_overlay.tsx @@ -48,7 +48,7 @@ type Props = { iconClass?: string; overrideGenerateFileDownloadUrl?: (fileId: string) => string; -} +}; export default class FilenameOverlay extends React.PureComponent { render() { diff --git a/webapp/channels/src/components/file_attachment/index.ts b/webapp/channels/src/components/file_attachment/index.ts index b2d5e911e45..d25a48e9226 100644 --- a/webapp/channels/src/components/file_attachment/index.ts +++ b/webapp/channels/src/components/file_attachment/index.ts @@ -24,7 +24,7 @@ import FileAttachment from './file_attachment'; export type OwnProps = { preventDownload?: boolean; fileInfo: FileInfo; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const config = getConfig(state); diff --git a/webapp/channels/src/components/file_attachment_list/index.ts b/webapp/channels/src/components/file_attachment_list/index.ts index f9190755a11..94dbae2e162 100644 --- a/webapp/channels/src/components/file_attachment_list/index.ts +++ b/webapp/channels/src/components/file_attachment_list/index.ts @@ -35,7 +35,7 @@ export type OwnProps = { disableActions?: boolean; usePostAsSource?: boolean; overrideGenerateFileDownloadUrl?: (fileId: string) => string; -} +}; function makeMapStateToProps() { const selectFilesForPost = makeGetFilesForPost(); diff --git a/webapp/channels/src/components/file_preview/file_preview.tsx b/webapp/channels/src/components/file_preview/file_preview.tsx index 8f745fabbed..9965b31cb11 100644 --- a/webapp/channels/src/components/file_preview/file_preview.tsx +++ b/webapp/channels/src/components/file_preview/file_preview.tsx @@ -25,7 +25,7 @@ type UploadInfo = { name: string; percent?: number; type?: string; -} +}; export type FilePreviewInfo = FileInfo & UploadInfo; type Props = { diff --git a/webapp/channels/src/components/file_preview/file_progress_preview.tsx b/webapp/channels/src/components/file_preview/file_progress_preview.tsx index f9af7e2af24..603e88c1179 100644 --- a/webapp/channels/src/components/file_preview/file_progress_preview.tsx +++ b/webapp/channels/src/components/file_preview/file_progress_preview.tsx @@ -16,7 +16,7 @@ type Props = { handleRemove: (id: string) => void; clientId: string; fileInfo: FilePreviewInfo; -} +}; export default class FileProgressPreview extends React.PureComponent { handleRemove = () => { diff --git a/webapp/channels/src/components/file_preview_modal/file_preview_modal.tsx b/webapp/channels/src/components/file_preview_modal/file_preview_modal.tsx index 8c20b0f4b05..fb8af2d6799 100644 --- a/webapp/channels/src/components/file_preview_modal/file_preview_modal.tsx +++ b/webapp/channels/src/components/file_preview_modal/file_preview_modal.tsx @@ -60,7 +60,7 @@ export type Props = { * The index number of starting image **/ startIndex: number; -} +}; type Translate = {x: number; y: number}; @@ -78,7 +78,7 @@ type State = { translate: Record; isDragging: boolean; content: string; -} +}; // Pure helper for cursor-aware zoom math. Given current scale + translate, // the cursor position relative to the wrapper's center, and the new scale, diff --git a/webapp/channels/src/components/file_preview_modal/index.ts b/webapp/channels/src/components/file_preview_modal/index.ts index bbb5a958761..64553e62058 100644 --- a/webapp/channels/src/components/file_preview_modal/index.ts +++ b/webapp/channels/src/components/file_preview_modal/index.ts @@ -24,7 +24,7 @@ const FilePreviewModal = makeAsyncComponent('FilePreviewModal', React.lazy { let overlayClass = 'file-overlay hidden'; diff --git a/webapp/channels/src/components/flag_message_modal/flag_post_modal.tsx b/webapp/channels/src/components/flag_message_modal/flag_post_modal.tsx index 094566b6c4d..3d4e83a32c5 100644 --- a/webapp/channels/src/components/flag_message_modal/flag_post_modal.tsx +++ b/webapp/channels/src/components/flag_message_modal/flag_post_modal.tsx @@ -30,12 +30,12 @@ const noop = () => {}; type SelectedOption = { value: string; label: string; -} +}; type Props = { postId: string; onExited: () => void; -} +}; export default function FlagPostModal({postId, onExited}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/formatted_markdown_message.tsx b/webapp/channels/src/components/formatted_markdown_message.tsx index b2b08d2c312..b8653ddd9b4 100644 --- a/webapp/channels/src/components/formatted_markdown_message.tsx +++ b/webapp/channels/src/components/formatted_markdown_message.tsx @@ -44,7 +44,7 @@ type Props = { disableLinks?: boolean; id?: string; values?: Record; -} +}; /** * diff --git a/webapp/channels/src/components/forward_post_modal/forward_post_channel_select.tsx b/webapp/channels/src/components/forward_post_modal/forward_post_channel_select.tsx index 2f3d5ebf0ef..47181741092 100644 --- a/webapp/channels/src/components/forward_post_modal/forward_post_channel_select.tsx +++ b/webapp/channels/src/components/forward_post_modal/forward_post_channel_select.tsx @@ -39,13 +39,13 @@ import {getBaseStyles} from './forward_post_channel_select_styles'; type ChannelTypeFromProvider = Channel & { userId?: string; -} +}; export type ChannelOption = { label: string; value: string; details: ChannelTypeFromProvider; -} +}; export const makeSelectedChannelOption = (channel: Channel): ChannelOption => ({ label: channel.display_name || channel.name, @@ -223,7 +223,7 @@ type Props = { currentBodyHeight: number; value?: O; validChannelTypes?: string[]; -} +}; function ForwardPostChannelSelect({onSelect, value, currentBodyHeight, validChannelTypes = ['O', 'P', 'D', 'G']}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/forward_post_modal/forward_post_comment_input.tsx b/webapp/channels/src/components/forward_post_modal/forward_post_comment_input.tsx index 22d6495c5a1..90b14e16665 100644 --- a/webapp/channels/src/components/forward_post_modal/forward_post_comment_input.tsx +++ b/webapp/channels/src/components/forward_post_modal/forward_post_comment_input.tsx @@ -29,7 +29,7 @@ type Props = { onChange: (comment: string) => void; onError: (error: React.ReactNode) => void; onHeightChange: (height: number, maxHeight: number) => void; -} +}; const ForwardPostCommentInput = ({channelId, canForwardPost, comment, permaLinkLength, onChange, onError, onSubmit, onHeightChange}: Props) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/get_link_modal.tsx b/webapp/channels/src/components/get_link_modal.tsx index c75cd4350a4..331a77e17f3 100644 --- a/webapp/channels/src/components/get_link_modal.tsx +++ b/webapp/channels/src/components/get_link_modal.tsx @@ -15,11 +15,11 @@ type Props = { title: string; helpText?: string; link: string; -} +}; type State = { copiedLink: boolean; -} +}; export default class GetLinkModal extends React.PureComponent { private textAreaRef = React.createRef(); diff --git a/webapp/channels/src/components/gif_picker/gif_picker.tsx b/webapp/channels/src/components/gif_picker/gif_picker.tsx index 1a3dc7af30f..ee817bf6c6c 100644 --- a/webapp/channels/src/components/gif_picker/gif_picker.tsx +++ b/webapp/channels/src/components/gif_picker/gif_picker.tsx @@ -16,7 +16,7 @@ type Props = { onGifClick?: (gif: string) => void; handleFilterChange: (filter: string) => void; getRootPickerNode: () => HTMLDivElement | null; -} +}; const GifPicker = (props: Props) => { const handleItemClick = useCallback((gif: IGif, event: SyntheticEvent) => { diff --git a/webapp/channels/src/components/global_header/center_controls/center_controls.tsx b/webapp/channels/src/components/global_header/center_controls/center_controls.tsx index e64200bd364..66c5f855f54 100644 --- a/webapp/channels/src/components/global_header/center_controls/center_controls.tsx +++ b/webapp/channels/src/components/global_header/center_controls/center_controls.tsx @@ -27,7 +27,7 @@ const CenterControlsContainer = styled.div` export type Props = { productId?: ProductIdentifier; -} +}; const CenterControls = ({productId = null}: Props): JSX.Element => { return ( diff --git a/webapp/channels/src/components/global_header/right_controls/right_controls.tsx b/webapp/channels/src/components/global_header/right_controls/right_controls.tsx index e06c09c0f75..7c372281a7d 100644 --- a/webapp/channels/src/components/global_header/right_controls/right_controls.tsx +++ b/webapp/channels/src/components/global_header/right_controls/right_controls.tsx @@ -48,7 +48,7 @@ const StyledCustomizeYourExperienceTour = styled.div` export type Props = { productId?: ProductIdentifier; -} +}; const RightControls = ({productId = null}: Props): JSX.Element => { // guest validation to see which point the messaging tour tip starts diff --git a/webapp/channels/src/components/header_footer_route/content_layouts/alternate_link.tsx b/webapp/channels/src/components/header_footer_route/content_layouts/alternate_link.tsx index a08ba2ff191..88efd841b3b 100644 --- a/webapp/channels/src/components/header_footer_route/content_layouts/alternate_link.tsx +++ b/webapp/channels/src/components/header_footer_route/content_layouts/alternate_link.tsx @@ -12,7 +12,7 @@ type AlternateLinkProps = { alternateMessage?: string; alternateLinkPath?: string; alternateLinkLabel?: string; -} +}; const AlternateLink = ({className, alternateMessage, alternateLinkPath, alternateLinkLabel}: AlternateLinkProps) => { if (!alternateMessage && !alternateLinkPath && !alternateLinkLabel) { diff --git a/webapp/channels/src/components/header_footer_route/content_layouts/column.tsx b/webapp/channels/src/components/header_footer_route/content_layouts/column.tsx index 2136c66150d..b9bec3d9494 100644 --- a/webapp/channels/src/components/header_footer_route/content_layouts/column.tsx +++ b/webapp/channels/src/components/header_footer_route/content_layouts/column.tsx @@ -13,7 +13,7 @@ type ColumnProps = { SVGElement?: React.ReactNode; extraContent?: React.ReactNode; onEnterKeyDown?: (e: React.KeyboardEvent) => void; -} +}; const Column = ({title, message, SVGElement, extraContent, onEnterKeyDown}: ColumnProps) => { const handleOnEnterKeyDown = (e: React.KeyboardEvent) => { diff --git a/webapp/channels/src/components/header_footer_route/header.tsx b/webapp/channels/src/components/header_footer_route/header.tsx index 4db9dce1462..b4b0cb84f1b 100644 --- a/webapp/channels/src/components/header_footer_route/header.tsx +++ b/webapp/channels/src/components/header_footer_route/header.tsx @@ -18,7 +18,7 @@ export type HeaderProps = { alternateLink?: React.ReactElement; backButtonURL?: string; onBackButtonClick?: React.EventHandler; -} +}; const Header = ({alternateLink, backButtonURL, onBackButtonClick}: HeaderProps) => { const {SiteName} = useSelector(getConfig); diff --git a/webapp/channels/src/components/header_footer_template/header_footer_template.tsx b/webapp/channels/src/components/header_footer_template/header_footer_template.tsx index c27a57d2d11..3bae8f55d9b 100644 --- a/webapp/channels/src/components/header_footer_template/header_footer_template.tsx +++ b/webapp/channels/src/components/header_footer_template/header_footer_template.tsx @@ -11,7 +11,7 @@ import ExternalLink from 'components/external_link'; type Props = { children?: React.ReactNode | React.ReactNodeArray; -} +}; const HeaderFooterNotLoggedIn = (props: Props) => { const intl = useIntl(); diff --git a/webapp/channels/src/components/hint-toast/hint_toast.tsx b/webapp/channels/src/components/hint-toast/hint_toast.tsx index fc1706b240b..5d9a3d8d51d 100644 --- a/webapp/channels/src/components/hint-toast/hint_toast.tsx +++ b/webapp/channels/src/components/hint-toast/hint_toast.tsx @@ -12,7 +12,7 @@ export const HINT_TOAST_TESTID = 'hint-toast'; type Props = { children: React.ReactNode; onDismiss: () => void; -} +}; export const HintToast: React.FC = ({children, onDismiss}: Props) => { const handleDismiss = () => { diff --git a/webapp/channels/src/components/icon_message_with_progress_bar/index.tsx b/webapp/channels/src/components/icon_message_with_progress_bar/index.tsx index 8576afd79de..19c5aea19ca 100644 --- a/webapp/channels/src/components/icon_message_with_progress_bar/index.tsx +++ b/webapp/channels/src/components/icon_message_with_progress_bar/index.tsx @@ -18,7 +18,7 @@ type PageCopy = { icon: JSX.Element; buttonText?: string; linkText?: string; -} +}; type Props = { processingState: ProcessState; @@ -28,7 +28,7 @@ type Props = { failedCopy: PageCopy; handleGoBack: () => void; error: boolean; -} +}; export default function IconMessageWithProgressBar({processingState, progress, successPage, handleGoBack, error, processingCopy, failedCopy}: Props) { const progressBar: JSX.Element | null = ( diff --git a/webapp/channels/src/components/info_toast/info_toast.tsx b/webapp/channels/src/components/info_toast/info_toast.tsx index d6340e48aae..6c972b855d5 100644 --- a/webapp/channels/src/components/info_toast/info_toast.tsx +++ b/webapp/channels/src/components/info_toast/info_toast.tsx @@ -21,7 +21,7 @@ type Props = { className?: string; position?: ToastPosition; onExited: () => void; -} +}; function InfoToast({content, onExited, className, position = DEFAULT_POSITION}: Props): JSX.Element { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/input_error.tsx b/webapp/channels/src/components/input_error.tsx index 49dd9664589..14ed8ffaa21 100644 --- a/webapp/channels/src/components/input_error.tsx +++ b/webapp/channels/src/components/input_error.tsx @@ -11,7 +11,7 @@ import {ItemStatus} from 'utils/constants'; type Props = { message?: string; custom?: CustomMessageInputType; -} +}; const InputError = (props: Props) => { if (props.message) { diff --git a/webapp/channels/src/components/integrations/abstract_command.tsx b/webapp/channels/src/components/integrations/abstract_command.tsx index 868937f67f9..ea3a5f56930 100644 --- a/webapp/channels/src/components/integrations/abstract_command.tsx +++ b/webapp/channels/src/components/integrations/abstract_command.tsx @@ -65,7 +65,7 @@ type Props = { * The async function to run when the action button is pressed */ action: (command: Command) => Promise; -} +}; type State = { saving: boolean; @@ -80,7 +80,7 @@ type State = { autocomplete: boolean; autocompleteHint: string; autocompleteDescription: string; -} +}; export default class AbstractCommand extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/integrations/abstract_oauth_app.tsx b/webapp/channels/src/components/integrations/abstract_oauth_app.tsx index 8f8772321e1..f585aeb2c1a 100644 --- a/webapp/channels/src/components/integrations/abstract_oauth_app.tsx +++ b/webapp/channels/src/components/integrations/abstract_oauth_app.tsx @@ -60,7 +60,7 @@ type Props = { */ action: (app: OAuthApp) => Promise; -} +}; type State = { name: string; diff --git a/webapp/channels/src/components/integrations/bots/add_bot/add_bot.tsx b/webapp/channels/src/components/integrations/bots/add_bot/add_bot.tsx index 1c767227150..1b3f653ce36 100644 --- a/webapp/channels/src/components/integrations/bots/add_bot/add_bot.tsx +++ b/webapp/channels/src/components/integrations/bots/add_bot/add_bot.tsx @@ -109,7 +109,7 @@ export type State = { error: JSX.Element | string; adding: boolean; image: string; - orientationStyles: { transform: string; transformOrigin: string }; + orientationStyles: {transform: string; transformOrigin: string}; pictureFile: File | null | string; }; diff --git a/webapp/channels/src/components/integrations/bots/add_bot/index.ts b/webapp/channels/src/components/integrations/bots/add_bot/index.ts index 35cb3ed99e3..dad38791d3b 100644 --- a/webapp/channels/src/components/integrations/bots/add_bot/index.ts +++ b/webapp/channels/src/components/integrations/bots/add_bot/index.ts @@ -24,7 +24,7 @@ type OwnProps = { * Search query for the bot */ location: RouteComponentProps['location']; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const config = getConfig(state); diff --git a/webapp/channels/src/components/integrations/bots/bot.tsx b/webapp/channels/src/components/integrations/bots/bot.tsx index 8187507af67..7ef0e0d86bd 100644 --- a/webapp/channels/src/components/integrations/bots/bot.tsx +++ b/webapp/channels/src/components/integrations/bots/bot.tsx @@ -96,14 +96,14 @@ type Props = { * Only used for routing since backstage is team based. */ team: Team; -} +}; type State = { confirmingId: string; creatingTokenState: string; token: UserAccessToken | Record; error: ReactNode; -} +}; export default class Bot extends React.PureComponent { public constructor(props: Props) { diff --git a/webapp/channels/src/components/integrations/bots/bots.tsx b/webapp/channels/src/components/integrations/bots/bots.tsx index 298e518d0e6..c101e5f08b8 100644 --- a/webapp/channels/src/components/integrations/bots/bots.tsx +++ b/webapp/channels/src/components/integrations/bots/bots.tsx @@ -99,11 +99,11 @@ type Props = { * Only used for routing since backstage is team based. */ team: Team; -} +}; type State = { loading: boolean; -} +}; export default class Bots extends React.PureComponent { public constructor(props: Props) { diff --git a/webapp/channels/src/components/integrations/confirm_integration/confirm_integration.tsx b/webapp/channels/src/components/integrations/confirm_integration/confirm_integration.tsx index 7cc9be9ac2d..5cfc7061921 100644 --- a/webapp/channels/src/components/integrations/confirm_integration/confirm_integration.tsx +++ b/webapp/channels/src/components/integrations/confirm_integration/confirm_integration.tsx @@ -27,7 +27,7 @@ type Props = { outgoingHooks: IDMappedObjects; bots: Record; outgoingOAuthConnections: Record; -} +}; const ConfirmIntegration = ({team, location, commands, oauthApps, incomingHooks, outgoingHooks, bots, outgoingOAuthConnections}: Props): JSX.Element | null => { const history = useHistory(); diff --git a/webapp/channels/src/components/integrations/edit_command/edit_command.tsx b/webapp/channels/src/components/integrations/edit_command/edit_command.tsx index bff90adf92d..d7def396f8c 100644 --- a/webapp/channels/src/components/integrations/edit_command/edit_command.tsx +++ b/webapp/channels/src/components/integrations/edit_command/edit_command.tsx @@ -65,13 +65,13 @@ type Props = { * Whether or not commands are enabled. */ enableCommands: boolean; -} +}; type State = { originalCommand: Command | null; showConfirmModal: boolean; serverError: string; -} +}; export default class EditCommand extends React.PureComponent { private newCommand?: Command; diff --git a/webapp/channels/src/components/integrations/edit_command/index.ts b/webapp/channels/src/components/integrations/edit_command/index.ts index 948dcdcf18a..5184eeb4e03 100644 --- a/webapp/channels/src/components/integrations/edit_command/index.ts +++ b/webapp/channels/src/components/integrations/edit_command/index.ts @@ -15,7 +15,7 @@ import EditCommand from './edit_command'; type Props = { location: Location; -} +}; function mapStateToProps(state: GlobalState, ownProps: Props) { const config = getConfig(state); diff --git a/webapp/channels/src/components/integrations/edit_incoming_webhook/index.ts b/webapp/channels/src/components/integrations/edit_incoming_webhook/index.ts index 9111209c6cf..99f9db7e638 100644 --- a/webapp/channels/src/components/integrations/edit_incoming_webhook/index.ts +++ b/webapp/channels/src/components/integrations/edit_incoming_webhook/index.ts @@ -16,7 +16,7 @@ import EditIncomingWebhook from './edit_incoming_webhook'; type Props = { location: Location; -} +}; function mapStateToProps(state: GlobalState, ownProps: Props) { const config = getConfig(state); diff --git a/webapp/channels/src/components/integrations/edit_outgoing_webhook/index.ts b/webapp/channels/src/components/integrations/edit_outgoing_webhook/index.ts index 92eae8c172d..15c0a59538e 100644 --- a/webapp/channels/src/components/integrations/edit_outgoing_webhook/index.ts +++ b/webapp/channels/src/components/integrations/edit_outgoing_webhook/index.ts @@ -16,7 +16,7 @@ type OwnProps = { location: { search: string | string[][] | Record | URLSearchParams | undefined; }; -} +}; function mapStateToProps(state: GlobalState, ownProps: OwnProps) { const config = getConfig(state); diff --git a/webapp/channels/src/components/integrations/installed_command.tsx b/webapp/channels/src/components/integrations/installed_command.tsx index 201cf92159e..153081bc4e1 100644 --- a/webapp/channels/src/components/integrations/installed_command.tsx +++ b/webapp/channels/src/components/integrations/installed_command.tsx @@ -49,7 +49,7 @@ type Props = { * Set to show edit link */ canChange: boolean; -} +}; export function matchesFilter(command: Command, filter?: string) { if (!filter) { diff --git a/webapp/channels/src/components/integrations/installed_commands/index.ts b/webapp/channels/src/components/integrations/installed_commands/index.ts index fa116746c93..8d42590ddea 100644 --- a/webapp/channels/src/components/integrations/installed_commands/index.ts +++ b/webapp/channels/src/components/integrations/installed_commands/index.ts @@ -17,7 +17,7 @@ type Props = { team: { id: string; }; -} +}; function mapStateToProps(state: GlobalState, ownProps: Props) { const canManageOthersSlashCommands = haveITeamPermission(state, ownProps.team.id, Permissions.MANAGE_OTHERS_SLASH_COMMANDS); diff --git a/webapp/channels/src/components/integrations/installed_commands/installed_commands.tsx b/webapp/channels/src/components/integrations/installed_commands/installed_commands.tsx index 163e212f2e6..6211420bf94 100644 --- a/webapp/channels/src/components/integrations/installed_commands/installed_commands.tsx +++ b/webapp/channels/src/components/integrations/installed_commands/installed_commands.tsx @@ -38,7 +38,7 @@ type Props = { // The function to call when Delete link is clicked deleteCommand: (id: string) => Promise; }; -} +}; export default class InstalledCommands extends React.PureComponent { public regenCommandToken = (command: Command): void => { diff --git a/webapp/channels/src/components/integrations/installed_incoming_webhook.tsx b/webapp/channels/src/components/integrations/installed_incoming_webhook.tsx index 970924bba29..cdb17816f68 100644 --- a/webapp/channels/src/components/integrations/installed_incoming_webhook.tsx +++ b/webapp/channels/src/components/integrations/installed_incoming_webhook.tsx @@ -72,7 +72,7 @@ type Props = { * Data used for filtering of webhook based on filter prop */ channel: Channel; -} +}; export default class InstalledIncomingWebhook extends React.PureComponent { handleDelete = () => { diff --git a/webapp/channels/src/components/integrations/installed_incoming_webhooks/installed_incoming_webhooks.tsx b/webapp/channels/src/components/integrations/installed_incoming_webhooks/installed_incoming_webhooks.tsx index cd8ea6a61b0..697a5b6a3ba 100644 --- a/webapp/channels/src/components/integrations/installed_incoming_webhooks/installed_incoming_webhooks.tsx +++ b/webapp/channels/src/components/integrations/installed_incoming_webhooks/installed_incoming_webhooks.tsx @@ -35,12 +35,12 @@ type Props = { loadIncomingHooksAndProfilesForTeam: (teamId: string, startPageNumber: number, pageSize: number, includeTotalCount: boolean) => Promise>; }; -} +}; type State = { page: number; loading: boolean; -} +}; export default class InstalledIncomingWebhooks extends React.PureComponent { constructor(props: Props) { diff --git a/webapp/channels/src/components/integrations/installed_oauth_app/installed_oauth_app.tsx b/webapp/channels/src/components/integrations/installed_oauth_app/installed_oauth_app.tsx index dcbe8a66767..72445c49822 100644 --- a/webapp/channels/src/components/integrations/installed_oauth_app/installed_oauth_app.tsx +++ b/webapp/channels/src/components/integrations/installed_oauth_app/installed_oauth_app.tsx @@ -45,7 +45,7 @@ export type InstalledOAuthAppProps = { /** * The function to call when Regenerate Secret link is clicked */ - onRegenerateSecret: (oauthAppId: string) => Promise<{ error?: { message: string } }>; + onRegenerateSecret: (oauthAppId: string) => Promise<{error?: {message: string}}>; /** * The function to call when Delete link is clicked @@ -56,12 +56,12 @@ export type InstalledOAuthAppProps = { * Set to filter OAuthApp */ filter?: string | null; -} +}; export type InstalleOAuthAppState = { clientSecret: string; error?: string | null; -} +}; export default class InstalledOAuthApp extends React.PureComponent { constructor(props: InstalledOAuthAppProps) { diff --git a/webapp/channels/src/components/integrations/installed_outgoing_webhook.tsx b/webapp/channels/src/components/integrations/installed_outgoing_webhook.tsx index c6ca3cf003c..60d223bf21f 100644 --- a/webapp/channels/src/components/integrations/installed_outgoing_webhook.tsx +++ b/webapp/channels/src/components/integrations/installed_outgoing_webhook.tsx @@ -58,7 +58,7 @@ type Props = { channel: Channel; canChange: boolean; filter?: string; -} +}; export default class InstalledOutgoingWebhook extends React.PureComponent { handleRegenToken = (e: React.MouseEvent) => { diff --git a/webapp/channels/src/components/integrations/installed_outgoing_webhooks/installed_outgoing_webhooks.tsx b/webapp/channels/src/components/integrations/installed_outgoing_webhooks/installed_outgoing_webhooks.tsx index 5d5eafd9756..043b2f670e5 100644 --- a/webapp/channels/src/components/integrations/installed_outgoing_webhooks/installed_outgoing_webhooks.tsx +++ b/webapp/channels/src/components/integrations/installed_outgoing_webhooks/installed_outgoing_webhooks.tsx @@ -78,7 +78,7 @@ export type Props = { * Whether or not outgoing webhooks are enabled. */ enableOutgoingWebhooks: boolean; -} +}; type State = { loading: boolean; diff --git a/webapp/channels/src/components/integrations/integration_option.tsx b/webapp/channels/src/components/integrations/integration_option.tsx index 65df7878469..8bcd2d73991 100644 --- a/webapp/channels/src/components/integrations/integration_option.tsx +++ b/webapp/channels/src/components/integrations/integration_option.tsx @@ -9,7 +9,7 @@ type Props = { title: JSX.Element; description: JSX.Element; link: string; -} +}; const IntegrationOption = ({image, title, description, link}: Props) => { return ( diff --git a/webapp/channels/src/components/integrations/integrations.tsx b/webapp/channels/src/components/integrations/integrations.tsx index 910feff65ed..0ebc97ccf87 100644 --- a/webapp/channels/src/components/integrations/integrations.tsx +++ b/webapp/channels/src/components/integrations/integrations.tsx @@ -30,7 +30,7 @@ type Props = { enableOAuthServiceProvider: boolean; enableOutgoingOAuthConnections: boolean; team: Team; -} +}; export default class Integrations extends React.PureComponent { componentDidMount() { diff --git a/webapp/channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx b/webapp/channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx index 9087525f95b..77122b98a27 100644 --- a/webapp/channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx +++ b/webapp/channels/src/components/integrations/outgoing_oauth_connections/abstract_outgoing_oauth_connection.tsx @@ -32,7 +32,7 @@ type Props = { initialConnection?: OutgoingOAuthConnection; submitAction: (connection: OutgoingOAuthConnection) => Promise; -} +}; type State = { name: string; @@ -563,7 +563,7 @@ type ValidateButtonProps = { status: ValidationStatus; onClick: (e: FormEvent) => void; setUnvalidated: (e: FormEvent) => void; -} +}; const ValidateButton = ({status, onClick, setUnvalidated}: ValidateButtonProps) => { if (status === ValidationStatus.ERROR) { diff --git a/webapp/channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connection.tsx b/webapp/channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connection.tsx index 153888dfc27..313e7f15232 100644 --- a/webapp/channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connection.tsx +++ b/webapp/channels/src/components/integrations/outgoing_oauth_connections/installed_outgoing_oauth_connection.tsx @@ -25,12 +25,12 @@ export type InstalledOutgoingOAuthConnectionProps = { filter?: string | null; onDelete: (outgoingOAuthConnection: OutgoingOAuthConnection) => void; -} +}; export type InstalledOutgoingOAuthConnectionState = { clientSecret: string; error?: string | null; -} +}; const InstalledOutgoingOAuthConnection = (props: InstalledOutgoingOAuthConnectionProps) => { const handleDelete = (): void => { diff --git a/webapp/channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx b/webapp/channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx index 99ba37a8e43..4e1e3d7abdf 100644 --- a/webapp/channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx +++ b/webapp/channels/src/components/integrations/outgoing_oauth_connections/oauth_connection_audience_input.tsx @@ -25,7 +25,7 @@ type Props = { value: string; onChange: (e: React.ChangeEvent) => void; placeholder: MessageDescriptor; -} +}; const OAuthConnectionAudienceInput = (props: Props) => { const mounted = useRef(false); diff --git a/webapp/channels/src/components/invitation_modal/add_to_channels.tsx b/webapp/channels/src/components/invitation_modal/add_to_channels.tsx index 098a21d7be8..4ff33909a8e 100644 --- a/webapp/channels/src/components/invitation_modal/add_to_channels.tsx +++ b/webapp/channels/src/components/invitation_modal/add_to_channels.tsx @@ -21,7 +21,7 @@ import './add_to_channels.scss'; export type CustomMessageProps = { message: string; open: boolean; -} +}; export const defaultInviteChannels = deepFreeze({ channels: [], @@ -31,7 +31,7 @@ export const defaultInviteChannels = deepFreeze({ export type InviteChannels = { channels: Channel[]; search: string; -} +}; export const defaultCustomMessage = deepFreeze({ message: '', @@ -54,7 +54,7 @@ export type Props = { // this prop is only sent when inviting members to channels channelToInvite?: Channel; -} +}; const RENDER_TIMEOUT_GUESS = 100; diff --git a/webapp/channels/src/components/invitation_modal/index.tsx b/webapp/channels/src/components/invitation_modal/index.tsx index f4971ca29be..0fb47f4df58 100644 --- a/webapp/channels/src/components/invitation_modal/index.tsx +++ b/webapp/channels/src/components/invitation_modal/index.tsx @@ -47,7 +47,7 @@ const searchChannels = (teamId: string, term: string) => { type OwnProps = { channelToInvite?: Channel; canInviteGuests?: boolean; -} +}; export function mapStateToProps(state: GlobalState, props: OwnProps) { const config = getConfig(state); diff --git a/webapp/channels/src/components/invitation_modal/invitation_modal.tsx b/webapp/channels/src/components/invitation_modal/invitation_modal.tsx index a12584dcbba..a37c20b2e9f 100644 --- a/webapp/channels/src/components/invitation_modal/invitation_modal.tsx +++ b/webapp/channels/src/components/invitation_modal/invitation_modal.tsx @@ -29,7 +29,7 @@ import './invitation_modal.scss'; // 'static' means backdrop clicks do not close // true means backdrop clicks do close // false means no backdrop -type Backdrop = 'static' | boolean +type Backdrop = 'static' | boolean; const messages = defineMessages({ notValidChannel: { @@ -84,7 +84,7 @@ export type Props = { initialValue?: string; inviteAsGuest?: boolean; focusOriginElement?: string; -} +}; export const View = { INVITE: 'INVITE', diff --git a/webapp/channels/src/components/invitation_modal/invite_as.tsx b/webapp/channels/src/components/invitation_modal/invite_as.tsx index 04ba324c3c7..326e856996d 100644 --- a/webapp/channels/src/components/invitation_modal/invite_as.tsx +++ b/webapp/channels/src/components/invitation_modal/invite_as.tsx @@ -35,7 +35,7 @@ export type Props = { inviteType: InviteType; titleClass?: string; canInviteGuests?: boolean; -} +}; export default function InviteAs(props: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/invitation_modal/invite_view.tsx b/webapp/channels/src/components/invitation_modal/invite_view.tsx index f756b3cc8b3..349b2d10682 100644 --- a/webapp/channels/src/components/invitation_modal/invite_view.tsx +++ b/webapp/channels/src/components/invitation_modal/invite_view.tsx @@ -73,7 +73,7 @@ export type Props = InviteState & { onPaste?: (e: ClipboardEvent) => void; useGuestMagicLink: boolean; toggleGuestMagicLink: () => void; -} +}; export default function InviteView(props: Props) { useEffect(() => { diff --git a/webapp/channels/src/components/invitation_modal/no_permissions_view.tsx b/webapp/channels/src/components/invitation_modal/no_permissions_view.tsx index fd9db26339e..06992d6979d 100644 --- a/webapp/channels/src/components/invitation_modal/no_permissions_view.tsx +++ b/webapp/channels/src/components/invitation_modal/no_permissions_view.tsx @@ -14,7 +14,7 @@ import './no_permissions_view.scss'; type Props = { footerClass: string; onDone: () => void; -} +}; export default function NoPermissionsView(props: Props) { return ( diff --git a/webapp/channels/src/components/invitation_modal/overage_users_banner_notice/index.tsx b/webapp/channels/src/components/invitation_modal/overage_users_banner_notice/index.tsx index 4ff188590ed..7d289f90ad1 100644 --- a/webapp/channels/src/components/invitation_modal/overage_users_banner_notice/index.tsx +++ b/webapp/channels/src/components/invitation_modal/overage_users_banner_notice/index.tsx @@ -29,7 +29,7 @@ import './overage_users_banner_notice.scss'; type AdminHasDismissedArgs = { preferenceName: string; overagePreferences: PreferenceType[]; -} +}; const adminHasDismissed = ({preferenceName, overagePreferences}: AdminHasDismissedArgs): boolean => { return overagePreferences.find((value) => value.name === preferenceName) !== undefined; diff --git a/webapp/channels/src/components/invitation_modal/result_table.tsx b/webapp/channels/src/components/invitation_modal/result_table.tsx index 75c4affe83b..1dad149c491 100644 --- a/webapp/channels/src/components/invitation_modal/result_table.tsx +++ b/webapp/channels/src/components/invitation_modal/result_table.tsx @@ -20,31 +20,31 @@ import './result_table.scss'; type InviteNotSent = { text: React.ReactNode | React.ReactNodeArray; -} +}; type InviteEmail = { email: string; -} +}; type InviteUser = { user: UserProfile; -} +}; type I18nLike = { id: string; defaultMessage: string; values?: Record; -} +}; export type InviteResult = (InviteNotSent | InviteEmail | InviteUser) & { reason: string | I18nLike; path?: string; -} +}; export type Props = { sent?: boolean; rows: InviteResult[]; -} +}; export default function ResultTable(props: Props) { const intl = useIntl(); diff --git a/webapp/channels/src/components/invitation_modal/result_view.tsx b/webapp/channels/src/components/invitation_modal/result_view.tsx index 6d0ce32798a..cf61bf846a7 100644 --- a/webapp/channels/src/components/invitation_modal/result_view.tsx +++ b/webapp/channels/src/components/invitation_modal/result_view.tsx @@ -17,7 +17,7 @@ import type {InviteResult} from './result_table'; export type InviteResults = { sent: InviteResult[]; notSent: InviteResult[]; -} +}; export type ResultState = { sent: InviteResult[]; diff --git a/webapp/channels/src/components/join_private_channel_modal.tsx b/webapp/channels/src/components/join_private_channel_modal.tsx index c49556fe8b2..0f92d700ab1 100644 --- a/webapp/channels/src/components/join_private_channel_modal.tsx +++ b/webapp/channels/src/components/join_private_channel_modal.tsx @@ -11,7 +11,7 @@ type Props = { onCancel: () => void; onExited: () => void; onJoin: () => void; -} +}; function JoinPrivateChannelModal({channelName, onCancel, onExited, onJoin}: Props) { const join = React.useRef(false); diff --git a/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal.tsx b/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal.tsx index 3a952120c6a..afb5e8a42a2 100644 --- a/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal.tsx +++ b/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal.tsx @@ -26,7 +26,7 @@ import StartTrialBtn from './start_trial_btn'; type Props = { onClose?: () => void; onExited: () => void; -} +}; const LearnMoreTrialModal = ( { diff --git a/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal_step.tsx b/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal_step.tsx index 91d96be3b66..fa209d74777 100644 --- a/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal_step.tsx +++ b/webapp/channels/src/components/learn_more_trial_modal/learn_more_trial_modal_step.tsx @@ -17,7 +17,7 @@ export type LearnMoreTrialModalStepProps = { pageURL?: string; buttonLabel?: string; handleOnClose?: () => void; -} +}; const LearnMoreTrialModalStep = ( { diff --git a/webapp/channels/src/components/leave_channel_modal/leave_channel_modal.tsx b/webapp/channels/src/components/leave_channel_modal/leave_channel_modal.tsx index de94d45eb83..d7c7027c98b 100644 --- a/webapp/channels/src/components/leave_channel_modal/leave_channel_modal.tsx +++ b/webapp/channels/src/components/leave_channel_modal/leave_channel_modal.tsx @@ -21,7 +21,7 @@ type Props = { leaveChannel: (channelId: string) => any; muteChannel?: (userId: string, channelId: string) => any; }; -} +}; const LeaveChannelModal = ({actions, channel, callback, currentUserId, isMuted, onExited}: Props) => { const [show, setShow] = useState(true); diff --git a/webapp/channels/src/components/linking_landing_page/linking_landing_page.tsx b/webapp/channels/src/components/linking_landing_page/linking_landing_page.tsx index 79f91b8c82a..a508c680256 100644 --- a/webapp/channels/src/components/linking_landing_page/linking_landing_page.tsx +++ b/webapp/channels/src/components/linking_landing_page/linking_landing_page.tsx @@ -24,7 +24,7 @@ type Props = { siteName?: string; brandImageUrl?: string; enableCustomBrand: boolean; -} +}; type State = { rememberChecked: boolean; @@ -33,7 +33,7 @@ type State = { nativeLocation: string; brandImageError: boolean; navigating: boolean; -} +}; function safeRedirect(path: string) { const url = new URL(path); diff --git a/webapp/channels/src/components/list_modal.tsx b/webapp/channels/src/components/list_modal.tsx index 0cb743c3b38..a55f899fee4 100644 --- a/webapp/channels/src/components/list_modal.tsx +++ b/webapp/channels/src/components/list_modal.tsx @@ -79,7 +79,7 @@ type Props = { * const renderRow = (item, listModal) =>

{item.id}
; */ renderRow: (item: Group, listModal: ListModal) => JSX.Element; -} +}; type State = { show: boolean; @@ -88,7 +88,7 @@ type State = { totalCount: number; loading: boolean; searchTerm: string; -} +}; export default class ListModal extends React.PureComponent { static defaultProps = { diff --git a/webapp/channels/src/components/loading_image_preview.tsx b/webapp/channels/src/components/loading_image_preview.tsx index ca1efa8ded8..6fe5441790d 100644 --- a/webapp/channels/src/components/loading_image_preview.tsx +++ b/webapp/channels/src/components/loading_image_preview.tsx @@ -9,7 +9,7 @@ type Props = { loading?: React.ReactNode; progress?: number; containerClass?: string; -} +}; const LoadingImagePreview: React.FC = ({ loading, diff --git a/webapp/channels/src/components/loading_screen.tsx b/webapp/channels/src/components/loading_screen.tsx index bcf31209ade..5057e6e4bf9 100644 --- a/webapp/channels/src/components/loading_screen.tsx +++ b/webapp/channels/src/components/loading_screen.tsx @@ -12,7 +12,7 @@ type Props = { message?: ReactNode; className?: string; centered?: boolean; -} +}; function LoadingScreen({message, position = 'relative', style, className = '', centered = false}: Props) { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/logged_in/logged_in.tsx b/webapp/channels/src/components/logged_in/logged_in.tsx index 6fd0d6ebf65..10ab9e8585f 100644 --- a/webapp/channels/src/components/logged_in/logged_in.tsx +++ b/webapp/channels/src/components/logged_in/logged_in.tsx @@ -46,7 +46,7 @@ export type Props = { pathname: string; search: string; }; -} +}; export default class LoggedIn extends React.PureComponent { private cleanupDesktopListeners?: () => void; diff --git a/webapp/channels/src/components/login/login.tsx b/webapp/channels/src/components/login/login.tsx index 9715345d1a8..b3f8ed37cc5 100644 --- a/webapp/channels/src/components/login/login.tsx +++ b/webapp/channels/src/components/login/login.tsx @@ -64,7 +64,7 @@ const MOBILE_SCREEN_WIDTH = 1200; type LoginProps = { onCustomizeHeader?: CustomizeHeaderType; -} +}; const Login = ({onCustomizeHeader}: LoginProps) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/login/login_mfa.tsx b/webapp/channels/src/components/login/login_mfa.tsx index a8aa61d51cb..b40ed81ae4c 100644 --- a/webapp/channels/src/components/login/login_mfa.tsx +++ b/webapp/channels/src/components/login/login_mfa.tsx @@ -18,7 +18,7 @@ type LoginMfaProps = { title?: ReactNode; subtitle?: ReactNode; onSubmit: ({loginId, password, token}: SubmitOptions) => void; -} +}; const LoginMfa = ({loginId, password, title, subtitle, onSubmit}: LoginMfaProps) => { const {formatMessage} = useIntl(); diff --git a/webapp/channels/src/components/mark_all_as_read_modal.tsx b/webapp/channels/src/components/mark_all_as_read_modal.tsx index c9cea8be315..541949dae68 100644 --- a/webapp/channels/src/components/mark_all_as_read_modal.tsx +++ b/webapp/channels/src/components/mark_all_as_read_modal.tsx @@ -15,7 +15,7 @@ export type Props = { onConfirm: (dontAskAgain: boolean) => void; onExited?: () => void; onHide?: () => void; -} +}; export default function MarkAllAsReadModal({ onConfirm, diff --git a/webapp/channels/src/components/markdown/markdown.tsx b/webapp/channels/src/components/markdown/markdown.tsx index 6239c643c8f..ccbabd058f9 100644 --- a/webapp/channels/src/components/markdown/markdown.tsx +++ b/webapp/channels/src/components/markdown/markdown.tsx @@ -76,7 +76,7 @@ export type OwnProps = { * Defaults to false. */ allowInlineActions?: boolean; -} +}; function Markdown({ options = {}, diff --git a/webapp/channels/src/components/markdown_image_expand/index.ts b/webapp/channels/src/components/markdown_image_expand/index.ts index a3931f1acda..ba7642aed5d 100644 --- a/webapp/channels/src/components/markdown_image_expand/index.ts +++ b/webapp/channels/src/components/markdown_image_expand/index.ts @@ -20,7 +20,7 @@ export type OwnProps = { alt: string; onToggle?: (visible: boolean) => void; children: ReactNode; -} +}; const mapStateToProps = (state: GlobalState, {postId, imageKey}: OwnProps) => { return { diff --git a/webapp/channels/src/components/member_list_channel/member_list_channel.tsx b/webapp/channels/src/components/member_list_channel/member_list_channel.tsx index 58f6e9d619f..5c2a1bcb0fa 100644 --- a/webapp/channels/src/components/member_list_channel/member_list_channel.tsx +++ b/webapp/channels/src/components/member_list_channel/member_list_channel.tsx @@ -50,11 +50,11 @@ export type Props = { channelId: string ) => Promise; }; -} +}; type State = { loading: boolean; -} +}; export default class MemberListChannel extends React.PureComponent { private searchTimeoutId: number; diff --git a/webapp/channels/src/components/member_list_team/index.ts b/webapp/channels/src/components/member_list_team/index.ts index 8da03e6d243..5a201402a0e 100644 --- a/webapp/channels/src/components/member_list_team/index.ts +++ b/webapp/channels/src/components/member_list_team/index.ts @@ -22,7 +22,7 @@ import MemberListTeam from './member_list_team'; type Props = { teamId?: string; -} +}; function mapStateToProps(state: GlobalState, ownProps: Props) { const canManageTeamMembers = haveITeamPermission(state, ownProps.teamId, Permissions.MANAGE_TEAM_ROLES); diff --git a/webapp/channels/src/components/member_list_team/member_list_team.tsx b/webapp/channels/src/components/member_list_team/member_list_team.tsx index c220ffb76e9..b57fbc9c1e8 100644 --- a/webapp/channels/src/components/member_list_team/member_list_team.tsx +++ b/webapp/channels/src/components/member_list_team/member_list_team.tsx @@ -35,11 +35,11 @@ type Props = { loadTeamMembersForProfilesList: (profiles: any, teamId: string, reloadAllMembers: boolean) => Promise; setModalSearchTerm: (term: string) => ActionResult; }; -} +}; type State = { loading: boolean; -} +}; export default class MemberListTeam extends React.PureComponent { private searchTimeoutId: number; diff --git a/webapp/channels/src/components/menu/menu.tsx b/webapp/channels/src/components/menu/menu.tsx index f7b99c60354..9851766bf30 100644 --- a/webapp/channels/src/components/menu/menu.tsx +++ b/webapp/channels/src/components/menu/menu.tsx @@ -48,14 +48,14 @@ type MenuButtonProps = { class?: string; as?: 'button' | 'div'; children: ReactNode; -} +}; type MenuButtonTooltipProps = { isVertical?: boolean; class?: string; text: string; disabled?: boolean; -} +}; type MenuProps = { @@ -94,7 +94,7 @@ type MenuProps = { * Defaults to true (standard MUI behavior). */ autoFocusItem?: boolean; -} +}; const defaultAnchorOrigin = {vertical: 'bottom', horizontal: 'left'} as PopoverOrigin; const defaultTransformOrigin = {vertical: 'top', horizontal: 'left'} as PopoverOrigin; diff --git a/webapp/channels/src/components/menu/menu_context_test.tsx b/webapp/channels/src/components/menu/menu_context_test.tsx index f0e9021d65f..5245abc49bf 100644 --- a/webapp/channels/src/components/menu/menu_context_test.tsx +++ b/webapp/channels/src/components/menu/menu_context_test.tsx @@ -7,7 +7,7 @@ import {MenuContext, useMenuContextValue} from './menu_context'; type Props = { children: React.ReactNode; -} +}; export function WithTestMenuContext({ children, diff --git a/webapp/channels/src/components/menu/menu_item.tsx b/webapp/channels/src/components/menu/menu_item.tsx index d1f3648295c..ed8666414ce 100644 --- a/webapp/channels/src/components/menu/menu_item.tsx +++ b/webapp/channels/src/components/menu/menu_item.tsx @@ -108,7 +108,7 @@ export interface Props extends MuiMenuItemProps { * */ export type FirstMenuItemProps = Omit< -Props, + Props, | 'onClick' | 'leadingElement' | 'labels' diff --git a/webapp/channels/src/components/menu/menu_item_link.tsx b/webapp/channels/src/components/menu/menu_item_link.tsx index ada15651681..abda2094a50 100644 --- a/webapp/channels/src/components/menu/menu_item_link.tsx +++ b/webapp/channels/src/components/menu/menu_item_link.tsx @@ -17,7 +17,7 @@ import {getNavigationBlocked} from '../../selectors/views/admin'; type Props = MenuItemProps & { to: string; onClick?: MenuItemProps['onClick']; -} +}; export function MenuItemLink({ to, diff --git a/webapp/channels/src/components/menu/menu_item_separator.tsx b/webapp/channels/src/components/menu/menu_item_separator.tsx index 283a60fd45c..ddf485e2e1b 100644 --- a/webapp/channels/src/components/menu/menu_item_separator.tsx +++ b/webapp/channels/src/components/menu/menu_item_separator.tsx @@ -14,7 +14,7 @@ import React from 'react'; * * */ -export function MenuItemSeparator(props: DividerProps & {component?: ElementType }) { +export function MenuItemSeparator(props: DividerProps & {component?: ElementType}) { return ( { }); test('should submit on enter', () => { - const map: { [key: string]: any } = { + const map: {[key: string]: any} = { keydown: null, }; document.body.addEventListener = jest.fn().mockImplementation((event: string, callback: string) => { diff --git a/webapp/channels/src/components/mfa/confirm.tsx b/webapp/channels/src/components/mfa/confirm.tsx index ffe63ee4e7f..e4863bb2ec6 100644 --- a/webapp/channels/src/components/mfa/confirm.tsx +++ b/webapp/channels/src/components/mfa/confirm.tsx @@ -18,7 +18,7 @@ const submit = (e: KeyboardEvent | React.FormEvent): void => { redirectUserToDefaultTeam(); }; -const onKeyPress = (e: React.KeyboardEvent| KeyboardEvent) => { +const onKeyPress = (e: React.KeyboardEvent | KeyboardEvent) => { if (isKeyPressed(e as KeyboardEvent, KeyCodes.ENTER)) { submit(e); } diff --git a/webapp/channels/src/components/mfa/mfa_controller/mfa_controller.tsx b/webapp/channels/src/components/mfa/mfa_controller/mfa_controller.tsx index c7728f6b92c..9f0041bd3eb 100644 --- a/webapp/channels/src/components/mfa/mfa_controller/mfa_controller.tsx +++ b/webapp/channels/src/components/mfa/mfa_controller/mfa_controller.tsx @@ -18,7 +18,7 @@ import Setup from '../setup'; type Location = { search: string; -} +}; type Props = { location: Location; @@ -33,7 +33,7 @@ type Props = { match: { url: string; }; -} +}; export default class MFAController extends React.PureComponent { public componentDidMount(): void { diff --git a/webapp/channels/src/components/mfa/setup/setup.tsx b/webapp/channels/src/components/mfa/setup/setup.tsx index 5fe1c4c097f..b8fd5d2e80d 100644 --- a/webapp/channels/src/components/mfa/setup/setup.tsx +++ b/webapp/channels/src/components/mfa/setup/setup.tsx @@ -33,14 +33,14 @@ type Props = { history: { push(path: string): void; }; -} +}; type State = { secret: string; qrCode: string; error: React.ReactNode; serverError?: string; -} +}; export default class Setup extends React.PureComponent { input: React.RefObject; diff --git a/webapp/channels/src/components/mobile_channel_header/collapse_lhs_button/collapse_lhs_button.tsx b/webapp/channels/src/components/mobile_channel_header/collapse_lhs_button/collapse_lhs_button.tsx index 9e1a1b20a96..9b9fd0b3554 100644 --- a/webapp/channels/src/components/mobile_channel_header/collapse_lhs_button/collapse_lhs_button.tsx +++ b/webapp/channels/src/components/mobile_channel_header/collapse_lhs_button/collapse_lhs_button.tsx @@ -11,7 +11,7 @@ type Props = { actions: { toggleLhs: (e?: React.MouseEvent) => void; }; -} +}; const CollapseLhsButton: React.FunctionComponent = (props: Props) => (