1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-21 09:38:01 +02:00

Chore: Mobile: Migrate global-style.js to TypeScript (#10091)

This commit is contained in:
Henry Heino 2024-03-09 03:15:13 -08:00 committed by GitHub
parent bae16f7a65
commit d7401d70a7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
31 changed files with 37 additions and 35 deletions

View File

@ -538,6 +538,7 @@ packages/app-mobile/components/biometrics/biometricAuthenticate.js
packages/app-mobile/components/biometrics/sensorInfo.js packages/app-mobile/components/biometrics/sensorInfo.js
packages/app-mobile/components/getResponsiveValue.test.js packages/app-mobile/components/getResponsiveValue.test.js
packages/app-mobile/components/getResponsiveValue.js packages/app-mobile/components/getResponsiveValue.js
packages/app-mobile/components/global-style.js
packages/app-mobile/components/screens/ConfigScreen/ConfigScreen.js packages/app-mobile/components/screens/ConfigScreen/ConfigScreen.js
packages/app-mobile/components/screens/ConfigScreen/FileSystemPathSelector.js packages/app-mobile/components/screens/ConfigScreen/FileSystemPathSelector.js
packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/ExportDebugReportButton.js packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/ExportDebugReportButton.js

1
.gitignore vendored
View File

@ -518,6 +518,7 @@ packages/app-mobile/components/biometrics/biometricAuthenticate.js
packages/app-mobile/components/biometrics/sensorInfo.js packages/app-mobile/components/biometrics/sensorInfo.js
packages/app-mobile/components/getResponsiveValue.test.js packages/app-mobile/components/getResponsiveValue.test.js
packages/app-mobile/components/getResponsiveValue.js packages/app-mobile/components/getResponsiveValue.js
packages/app-mobile/components/global-style.js
packages/app-mobile/components/screens/ConfigScreen/ConfigScreen.js packages/app-mobile/components/screens/ConfigScreen/ConfigScreen.js
packages/app-mobile/components/screens/ConfigScreen/FileSystemPathSelector.js packages/app-mobile/components/screens/ConfigScreen/FileSystemPathSelector.js
packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/ExportDebugReportButton.js packages/app-mobile/components/screens/ConfigScreen/NoteExportSection/ExportDebugReportButton.js

View File

@ -3,7 +3,7 @@ const React = require('react');
import { FunctionComponent } from 'react'; import { FunctionComponent } from 'react';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';
import Folder, { FolderEntityWithChildren } from '@joplin/lib/models/Folder'; import Folder, { FolderEntityWithChildren } from '@joplin/lib/models/Folder';
const { themeStyle } = require('./global-style.js'); import { themeStyle } from './global-style';
import Dropdown, { DropdownListItem, OnValueChangedListener } from './Dropdown'; import Dropdown, { DropdownListItem, OnValueChangedListener } from './Dropdown';
import { FolderEntity } from '@joplin/lib/services/database/types'; import { FolderEntity } from '@joplin/lib/services/database/types';

View File

@ -1,6 +1,6 @@
const React = require('react'); const React = require('react');
const { Text, View, StyleSheet, Button } = require('react-native'); const { Text, View, StyleSheet, Button } = require('react-native');
const { themeStyle } = require('./global-style.js'); const { themeStyle } = require('./global-style');
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
import Modal from './Modal'; import Modal from './Modal';

View File

@ -1,7 +1,7 @@
import { useEffect, useState, useMemo, useRef } from 'react'; import { useEffect, useState, useMemo, useRef } from 'react';
import shim from '@joplin/lib/shim'; import shim from '@joplin/lib/shim';
import Setting from '@joplin/lib/models/Setting'; import Setting from '@joplin/lib/models/Setting';
const { themeStyle } = require('../../global-style.js'); import { themeStyle } from '../../global-style';
import markupLanguageUtils from '@joplin/lib/markupLanguageUtils'; import markupLanguageUtils from '@joplin/lib/markupLanguageUtils';
import useEditPopup from './useEditPopup'; import useEditPopup from './useEditPopup';
import Logger from '@joplin/utils/Logger'; import Logger from '@joplin/utils/Logger';

View File

@ -9,7 +9,7 @@ import * as React from 'react';
import { forwardRef, useImperativeHandle } from 'react'; import { forwardRef, useImperativeHandle } from 'react';
import { useMemo, useState, useCallback, useRef } from 'react'; import { useMemo, useState, useCallback, useRef } from 'react';
import { LayoutChangeEvent, NativeSyntheticEvent, View, ViewStyle } from 'react-native'; import { LayoutChangeEvent, NativeSyntheticEvent, View, ViewStyle } from 'react-native';
const { editorFont } = require('../global-style'); import { editorFont } from '../global-style';
import { EditorControl, EditorSettings, SelectionRange } from './types'; import { EditorControl, EditorSettings, SelectionRange } from './types';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';

View File

@ -9,10 +9,10 @@ import { AppState } from '../utils/types';
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
const { NoteItem } = require('./note-item.js'); const { NoteItem } = require('./note-item.js');
const { themeStyle } = require('./global-style.js'); import { themeStyle } from './global-style';
interface NoteListProps { interface NoteListProps {
themeId: string; themeId: number;
dispatch: (action: any)=> void; dispatch: (action: any)=> void;
notesSource: string; notesSource: string;
items: NoteEntity[]; items: NoteEntity[];

View File

@ -10,7 +10,7 @@ import { Alert } from 'react-native';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';
import { deleteProfileById } from '@joplin/lib/services/profileConfig'; import { deleteProfileById } from '@joplin/lib/services/profileConfig';
import { saveProfileConfig, switchProfile } from '../../services/profiles'; import { saveProfileConfig, switchProfile } from '../../services/profiles';
const { themeStyle } = require('../global-style'); import { themeStyle } from '../global-style';
interface Props { interface Props {
themeId: number; themeId: number;

View File

@ -11,7 +11,7 @@ import { _, _n } from '@joplin/lib/locale';
import Setting from '@joplin/lib/models/Setting'; import Setting from '@joplin/lib/models/Setting';
import Note from '@joplin/lib/models/Note'; import Note from '@joplin/lib/models/Note';
import Folder from '@joplin/lib/models/Folder'; import Folder from '@joplin/lib/models/Folder';
const { themeStyle } = require('./global-style.js'); import { themeStyle } from './global-style';
import { OnValueChangedListener } from './Dropdown'; import { OnValueChangedListener } from './Dropdown';
const { dialogs } = require('../utils/dialogs.js'); const { dialogs } = require('../utils/dialogs.js');
const DialogBox = require('react-native-dialogbox').default; const DialogBox = require('react-native-dialogbox').default;

View File

@ -5,7 +5,7 @@ const { SearchScreen } = require('./screens/search.js');
import { Component } from 'react'; import { Component } from 'react';
import { KeyboardAvoidingView, Keyboard, Platform, View, KeyboardEvent, Dimensions, EmitterSubscription } from 'react-native'; import { KeyboardAvoidingView, Keyboard, Platform, View, KeyboardEvent, Dimensions, EmitterSubscription } from 'react-native';
import { AppState } from '../utils/types'; import { AppState } from '../utils/types';
const { themeStyle } = require('./global-style.js'); import { themeStyle } from './global-style';
interface State { interface State {
autoCompletionBarExtraHeight: number; autoCompletionBarExtraHeight: number;

View File

@ -1,6 +1,6 @@
import * as React from 'react'; import * as React from 'react';
import { StyleSheet } from 'react-native'; import { StyleSheet } from 'react-native';
const { themeStyle } = require('./global-style.js'); import { themeStyle } from './global-style';
const rootStyles_: Record<number, any> = {}; const rootStyles_: Record<number, any> = {};

View File

@ -14,9 +14,9 @@ const baseStyle = {
lineHeight: '1.6em', lineHeight: '1.6em',
}; };
const themeCache_ = {}; const themeCache_: any = {};
function addExtraStyles(style) { function addExtraStyles(style: any) {
style.marginRight = style.margin; style.marginRight = style.margin;
style.marginLeft = style.margin; style.marginLeft = style.margin;
style.marginTop = style.margin; style.marginTop = style.margin;
@ -75,9 +75,9 @@ function addExtraStyles(style) {
return style; return style;
} }
function editorFont(fontId) { function editorFont(fontId: any) {
// IMPORTANT: The font mapping must match the one in Setting.js // IMPORTANT: The font mapping must match the one in Setting.js
const fonts = { const fonts: any = {
[Setting.FONT_DEFAULT]: null, [Setting.FONT_DEFAULT]: null,
[Setting.FONT_MENLO]: 'Menlo', [Setting.FONT_MENLO]: 'Menlo',
[Setting.FONT_COURIER_NEW]: 'Courier New', [Setting.FONT_COURIER_NEW]: 'Courier New',
@ -91,7 +91,7 @@ function editorFont(fontId) {
return fonts[fontId]; return fonts[fontId];
} }
function themeStyle(theme) { function themeStyle(theme: number) {
if (!theme) { if (!theme) {
console.warn('Theme not set! Defaulting to Light theme.'); console.warn('Theme not set! Defaulting to Light theme.');
theme = Setting.THEME_LIGHT; theme = Setting.THEME_LIGHT;
@ -105,4 +105,4 @@ function themeStyle(theme) {
return themeCache_[cacheKey]; return themeCache_[cacheKey];
} }
module.exports = { themeStyle, editorFont }; export { themeStyle, editorFont };

View File

@ -5,7 +5,7 @@ const { Text, TouchableOpacity, View, StyleSheet } = require('react-native');
const { Checkbox } = require('./checkbox.js'); const { Checkbox } = require('./checkbox.js');
const Note = require('@joplin/lib/models/Note').default; const Note = require('@joplin/lib/models/Note').default;
const time = require('@joplin/lib/time').default; const time = require('@joplin/lib/time').default;
const { themeStyle } = require('./global-style.js'); const { themeStyle } = require('./global-style');
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
class NoteItemComponent extends Component { class NoteItemComponent extends Component {

View File

@ -13,7 +13,7 @@ import { connect } from 'react-redux';
import ScreenHeader from '../../ScreenHeader'; import ScreenHeader from '../../ScreenHeader';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';
import BaseScreenComponent from '../../base-screen'; import BaseScreenComponent from '../../base-screen';
const { themeStyle } = require('../../global-style.js'); import { themeStyle } from '../../global-style';
import * as shared from '@joplin/lib/components/shared/config/config-shared'; import * as shared from '@joplin/lib/components/shared/config/config-shared';
import SyncTargetRegistry from '@joplin/lib/SyncTargetRegistry'; import SyncTargetRegistry from '@joplin/lib/SyncTargetRegistry';
import biometricAuthenticate from '../../biometrics/biometricAuthenticate'; import biometricAuthenticate from '../../biometrics/biometricAuthenticate';

View File

@ -9,7 +9,7 @@ import Slider from '@react-native-community/slider';
import SettingsToggle from './SettingsToggle'; import SettingsToggle from './SettingsToggle';
import FileSystemPathSelector from './FileSystemPathSelector'; import FileSystemPathSelector from './FileSystemPathSelector';
import shim from '@joplin/lib/shim'; import shim from '@joplin/lib/shim';
const { themeStyle } = require('../../global-style.js'); import { themeStyle } from '../../global-style';
interface Props { interface Props {
settingId: string; settingId: string;

View File

@ -1,5 +1,5 @@
import { TextStyle, ViewStyle, StyleSheet } from 'react-native'; import { TextStyle, ViewStyle, StyleSheet } from 'react-native';
const { themeStyle } = require('../../global-style.js'); import { themeStyle } from '../../global-style';
type SidebarButtonStyle = ViewStyle & { height: number }; type SidebarButtonStyle = ViewStyle & { height: number };

View File

@ -5,7 +5,7 @@ import { connect } from 'react-redux';
import { reg } from '@joplin/lib/registry.js'; import { reg } from '@joplin/lib/registry.js';
import { ScreenHeader } from '../ScreenHeader'; import { ScreenHeader } from '../ScreenHeader';
import time from '@joplin/lib/time'; import time from '@joplin/lib/time';
const { themeStyle } = require('../global-style.js'); import { themeStyle } from '../global-style';
import Logger from '@joplin/utils/Logger'; import Logger from '@joplin/utils/Logger';
import { BaseScreenComponent } from '../base-screen'; import { BaseScreenComponent } from '../base-screen';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';

View File

@ -35,7 +35,7 @@ import { _, currentLocale } from '@joplin/lib/locale';
import { reg } from '@joplin/lib/registry'; import { reg } from '@joplin/lib/registry';
import ResourceFetcher from '@joplin/lib/services/ResourceFetcher'; import ResourceFetcher from '@joplin/lib/services/ResourceFetcher';
import { BaseScreenComponent } from '../base-screen'; import { BaseScreenComponent } from '../base-screen';
const { themeStyle, editorFont } = require('../global-style.js'); import { themeStyle, editorFont } from '../global-style';
const { dialogs } = require('../../utils/dialogs.js'); const { dialogs } = require('../../utils/dialogs.js');
const DialogBox = require('react-native-dialogbox').default; const DialogBox = require('react-native-dialogbox').default;
import ImageResizer from '@bam.tech/react-native-image-resizer'; import ImageResizer from '@bam.tech/react-native-image-resizer';

View File

@ -4,7 +4,7 @@ const { StyleSheet, View, Text, FlatList, TouchableOpacity, TextInput } = requir
const { connect } = require('react-redux'); const { connect } = require('react-redux');
const Tag = require('@joplin/lib/models/Tag').default; const Tag = require('@joplin/lib/models/Tag').default;
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
const { themeStyle } = require('../global-style.js'); const { themeStyle } = require('../global-style');
const Icon = require('react-native-vector-icons/Ionicons').default; const Icon = require('react-native-vector-icons/Ionicons').default;
const ModalDialog = require('../ModalDialog'); const ModalDialog = require('../ModalDialog');
const naturalCompare = require('string-natural-compare'); const naturalCompare = require('string-natural-compare');

View File

@ -7,7 +7,7 @@ import Folder from '@joplin/lib/models/Folder';
import Tag from '@joplin/lib/models/Tag'; import Tag from '@joplin/lib/models/Tag';
import Note from '@joplin/lib/models/Note'; import Note from '@joplin/lib/models/Note';
import Setting from '@joplin/lib/models/Setting'; import Setting from '@joplin/lib/models/Setting';
const { themeStyle } = require('../global-style.js'); import { themeStyle } from '../global-style';
import { ScreenHeader } from '../ScreenHeader'; import { ScreenHeader } from '../ScreenHeader';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';
import ActionButton from '../ActionButton'; import ActionButton from '../ActionButton';

View File

@ -4,7 +4,7 @@ import { _ } from '@joplin/lib/locale';
const { View, Text, ScrollView } = require('react-native'); const { View, Text, ScrollView } = require('react-native');
const { connect } = require('react-redux'); const { connect } = require('react-redux');
const { themeStyle } = require('../global-style.js'); import { themeStyle } from '../global-style';
import ScreenHeader from '../ScreenHeader'; import ScreenHeader from '../ScreenHeader';
function UpgradeSyncTargetScreen(props: any) { function UpgradeSyncTargetScreen(props: any) {

View File

@ -8,7 +8,7 @@ const { BaseScreenComponent } = require('../base-screen');
const DialogBox = require('react-native-dialogbox').default; const DialogBox = require('react-native-dialogbox').default;
const { dialogs } = require('../../utils/dialogs.js'); const { dialogs } = require('../../utils/dialogs.js');
const Shared = require('@joplin/lib/components/shared/dropbox-login-shared'); const Shared = require('@joplin/lib/components/shared/dropbox-login-shared');
const { themeStyle } = require('../global-style.js'); const { themeStyle } = require('../global-style');
class DropboxLoginScreenComponent extends BaseScreenComponent { class DropboxLoginScreenComponent extends BaseScreenComponent {
constructor() { constructor() {

View File

@ -2,7 +2,7 @@ const React = require('react');
const { TextInput, TouchableOpacity, Linking, View, StyleSheet, Text, Button, ScrollView } = require('react-native'); const { TextInput, TouchableOpacity, Linking, View, StyleSheet, Text, Button, ScrollView } = require('react-native');
const { connect } = require('react-redux'); const { connect } = require('react-redux');
import ScreenHeader from '../ScreenHeader'; import ScreenHeader from '../ScreenHeader';
const { themeStyle } = require('../global-style.js'); import { themeStyle } from '../global-style';
const DialogBox = require('react-native-dialogbox').default; const DialogBox = require('react-native-dialogbox').default;
const { dialogs } = require('../../utils/dialogs.js'); const { dialogs } = require('../../utils/dialogs.js');
import EncryptionService from '@joplin/lib/services/e2ee/EncryptionService'; import EncryptionService from '@joplin/lib/services/e2ee/EncryptionService';

View File

@ -9,7 +9,7 @@ const { reg } = require('@joplin/lib/registry.js');
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
const { BaseScreenComponent } = require('../base-screen'); const { BaseScreenComponent } = require('../base-screen');
const parseUri = require('@joplin/lib/parseUri'); const parseUri = require('@joplin/lib/parseUri');
const { themeStyle } = require('../global-style.js'); const { themeStyle } = require('../global-style');
const shim = require('@joplin/lib/shim').default; const shim = require('@joplin/lib/shim').default;
class OneDriveLoginScreenComponent extends BaseScreenComponent { class OneDriveLoginScreenComponent extends BaseScreenComponent {

View File

@ -8,7 +8,7 @@ import { _ } from '@joplin/lib/locale';
import Note from '@joplin/lib/models/Note'; import Note from '@joplin/lib/models/Note';
const { NoteItem } = require('../note-item.js'); const { NoteItem } = require('../note-item.js');
const { BaseScreenComponent } = require('../base-screen'); const { BaseScreenComponent } = require('../base-screen');
const { themeStyle } = require('../global-style.js'); import { themeStyle } from '../global-style';
const DialogBox = require('react-native-dialogbox').default; const DialogBox = require('react-native-dialogbox').default;
import SearchEngineUtils from '@joplin/lib/services/search/SearchEngineUtils'; import SearchEngineUtils from '@joplin/lib/services/search/SearchEngineUtils';
import SearchEngine from '@joplin/lib/services/search/SearchEngine'; import SearchEngine from '@joplin/lib/services/search/SearchEngine';

View File

@ -7,7 +7,7 @@ const { ScreenHeader } = require('../ScreenHeader');
const ReportService = require('@joplin/lib/services/ReportService').default; const ReportService = require('@joplin/lib/services/ReportService').default;
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
const { BaseScreenComponent } = require('../base-screen'); const { BaseScreenComponent } = require('../base-screen');
const { themeStyle } = require('../global-style.js'); const { themeStyle } = require('../global-style');
class StatusScreenComponent extends BaseScreenComponent { class StatusScreenComponent extends BaseScreenComponent {
static navigationOptions() { static navigationOptions() {

View File

@ -3,7 +3,7 @@ const React = require('react');
const { View, Text, FlatList, StyleSheet, TouchableOpacity } = require('react-native'); const { View, Text, FlatList, StyleSheet, TouchableOpacity } = require('react-native');
const { connect } = require('react-redux'); const { connect } = require('react-redux');
const Tag = require('@joplin/lib/models/Tag').default; const Tag = require('@joplin/lib/models/Tag').default;
const { themeStyle } = require('../global-style.js'); const { themeStyle } = require('../global-style');
const { ScreenHeader } = require('../ScreenHeader'); const { ScreenHeader } = require('../ScreenHeader');
const { _ } = require('@joplin/lib/locale'); const { _ } = require('@joplin/lib/locale');
const { BaseScreenComponent } = require('../base-screen'); const { BaseScreenComponent } = require('../base-screen');

View File

@ -3,7 +3,7 @@ const Component = React.Component;
const { TouchableOpacity, Text, StyleSheet, ScrollView, View } = require('react-native'); const { TouchableOpacity, Text, StyleSheet, ScrollView, View } = require('react-native');
const { connect } = require('react-redux'); const { connect } = require('react-redux');
const Icon = require('react-native-vector-icons/Ionicons').default; const Icon = require('react-native-vector-icons/Ionicons').default;
const { themeStyle } = require('./global-style.js'); const { themeStyle } = require('./global-style');
// We need this to suppress the useless warning // We need this to suppress the useless warning
// https://github.com/oblador/react-native-vector-icons/issues/1465 // https://github.com/oblador/react-native-vector-icons/issues/1465

View File

@ -7,7 +7,7 @@ import Folder from '@joplin/lib/models/Folder';
import Synchronizer from '@joplin/lib/Synchronizer'; import Synchronizer from '@joplin/lib/Synchronizer';
import NavService from '@joplin/lib/services/NavService'; import NavService from '@joplin/lib/services/NavService';
import { _ } from '@joplin/lib/locale'; import { _ } from '@joplin/lib/locale';
const { themeStyle } = require('./global-style.js'); import { themeStyle } from './global-style';
import { renderFolders } from '@joplin/lib/components/shared/side-menu-shared'; import { renderFolders } from '@joplin/lib/components/shared/side-menu-shared';
import { FolderEntity, FolderIcon, FolderIconType } from '@joplin/lib/services/database/types'; import { FolderEntity, FolderIcon, FolderIconType } from '@joplin/lib/services/database/types';
import { AppState } from '../utils/types'; import { AppState } from '../utils/types';

View File

@ -76,7 +76,7 @@ const { FileApiDriverLocal } = require('@joplin/lib/file-api-driver-local');
import ResourceFetcher from '@joplin/lib/services/ResourceFetcher'; import ResourceFetcher from '@joplin/lib/services/ResourceFetcher';
import SearchEngine from '@joplin/lib/services/search/SearchEngine'; import SearchEngine from '@joplin/lib/services/search/SearchEngine';
import WelcomeUtils from '@joplin/lib/WelcomeUtils'; import WelcomeUtils from '@joplin/lib/WelcomeUtils';
const { themeStyle } = require('./components/global-style.js'); import { themeStyle } from './components/global-style';
import SyncTargetRegistry from '@joplin/lib/SyncTargetRegistry'; import SyncTargetRegistry from '@joplin/lib/SyncTargetRegistry';
const SyncTargetFilesystem = require('@joplin/lib/SyncTargetFilesystem.js'); const SyncTargetFilesystem = require('@joplin/lib/SyncTargetFilesystem.js');
const SyncTargetNextcloud = require('@joplin/lib/SyncTargetNextcloud.js'); const SyncTargetNextcloud = require('@joplin/lib/SyncTargetNextcloud.js');

View File

@ -1,4 +1,4 @@
const { themeStyle } = require('../components/global-style'); import { themeStyle } from '../components/global-style';
export default (themeId: number) => { export default (themeId: number) => {
const theme = themeStyle(themeId); const theme = themeStyle(themeId);