ref: Convert Theme to TS (#11926)

This commit is contained in:
Robert Pintilii 2022-08-01 10:04:23 +03:00 committed by GitHub
parent 69365d7e1f
commit 2cea6c7b98
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 23 additions and 21 deletions

View File

@ -5,7 +5,7 @@ import React from 'react';
import { DialogContainer } from '../../base/dialog';
import GlobalStyles from '../../base/ui/components/GlobalStyles';
import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider';
import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider.web';
import { ChromeExtensionBanner } from '../../chrome-extension-banner';
import { AbstractApp } from './AbstractApp';

View File

@ -1,7 +1,5 @@
// @flow
import { font, colors, colorMap, spacing, shape, typography, breakpoints } from '../Tokens';
import { createWebTheme } from '../functions';
import { createWebTheme } from '../functions.web';
export default createWebTheme({
font,

View File

@ -1,11 +1,8 @@
// @flow
import { ThemeProvider } from '@material-ui/core/styles';
import * as React from 'react';
import { connect } from 'react-redux';
import { connect } from '../../../base/redux';
import BaseTheme from './BaseTheme';
import BaseTheme from './BaseTheme.web';
type Props = {
@ -14,10 +11,10 @@ type Props = {
*/
_theme: Object,
/**
/**
* The children of the component.
*/
children: React.ChildrenArray<any>
children: React.ReactNode
}
/**
@ -36,7 +33,7 @@ function JitsiThemeProvider(props: Props) {
* @param {Object} state - The Redux state.
* @returns {Props}
*/
function _mapStateToProps(state) {
function _mapStateToProps(state: any) {
const { muiBrandedTheme } = state['features/dynamic-branding'];
return {

View File

@ -1,16 +1,25 @@
// @flow
import { createMuiTheme } from '@material-ui/core/styles';
import { Theme } from './types';
import { createColorTokens } from './utils';
interface ThemeProps {
breakpoints: Object;
colorMap: Object;
colors: Object;
font: Object;
shape: Object;
spacing: Array<number>;
typography: Object;
}
/**
* Creates a MUI theme based on local UI tokens.
*
* @param {Object} arg - The ui tokens.
* @returns {Object}
*/
export function createWebTheme({ font, colors, colorMap, shape, spacing, typography, breakpoints }: Object) {
export function createWebTheme({ font, colors, colorMap, shape, spacing, typography, breakpoints }: ThemeProps): Theme {
return createMuiTheme({
props: {
// disable ripple effect on buttons globally
@ -29,7 +38,7 @@ export function createWebTheme({ font, colors, colorMap, shape, spacing, typogra
...typography
},
breakpoints
});
}) as unknown as Theme;
}
/**
@ -39,7 +48,7 @@ export function createWebTheme({ font, colors, colorMap, shape, spacing, typogra
* @returns {Object}
*/
export function formatCommonClasses(stylesObj: Object) {
const formatted = {};
const formatted: any = {};
for (const [ key, value ] of Object.entries(stylesObj)) {
formatted[`.${key}`] = value;

View File

@ -1,5 +1,3 @@
// @flow
/**
* Creates the color tokens based on the color theme and the association map.
* If a key is not found in the association map it defaults to the current value.
@ -10,6 +8,6 @@
*/
export function createColorTokens(colorMap: Object, colors: Object): Object {
return Object.entries(colorMap)
.reduce((result, [ token, value ]) =>
.reduce((result, [ token, value ]: [any, keyof Object]) =>
Object.assign(result, { [token]: colors[value] || value }), {});
}

View File

@ -10,7 +10,7 @@ import { setConfig } from '../../base/config';
import { DialogContainer } from '../../base/dialog';
import { createPrejoinTracks } from '../../base/tracks';
import GlobalStyles from '../../base/ui/components/GlobalStyles';
import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider';
import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider.web';
import { initPrejoin, makePrecallTest } from '../actions';
import PrejoinThirdParty from './PrejoinThirdParty';