diff --git a/.oxlintrc.json b/.oxlintrc.json index 65cd1532f3..6917f1bd55 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -101,6 +101,7 @@ "typescript/no-var-requires": "warn", // Import rules + "import/consistent-type-specifier-style": "warn", "import/first": "error", "import/no-amd": "error", "import/no-default-export": "warn", @@ -111,7 +112,7 @@ "import/no-duplicates": [ "warn", { - "prefer-inline": true + "prefer-inline": false } ], diff --git a/packages/api/methods.test.ts b/packages/api/methods.test.ts index db7180e44b..d6b6bc2207 100644 --- a/packages/api/methods.test.ts +++ b/packages/api/methods.test.ts @@ -1,7 +1,7 @@ import * as fs from 'fs/promises'; import * as path from 'path'; -import { type RuleEntity } from 'loot-core/types/models'; +import type { RuleEntity } from 'loot-core/types/models'; import * as api from './index'; diff --git a/packages/component-library/src/AlignedText.tsx b/packages/component-library/src/AlignedText.tsx index 4094a58a9e..a8d55357d3 100644 --- a/packages/component-library/src/AlignedText.tsx +++ b/packages/component-library/src/AlignedText.tsx @@ -1,4 +1,4 @@ -import { type ComponentProps, type CSSProperties, type ReactNode } from 'react'; +import type { ComponentProps, CSSProperties, ReactNode } from 'react'; import { Block } from './Block'; import { View } from './View'; diff --git a/packages/component-library/src/Block.tsx b/packages/component-library/src/Block.tsx index a803510f9a..52c6a01865 100644 --- a/packages/component-library/src/Block.tsx +++ b/packages/component-library/src/Block.tsx @@ -1,8 +1,8 @@ -import { type HTMLProps, type Ref } from 'react'; +import type { HTMLProps, Ref } from 'react'; import { css, cx } from '@emotion/css'; -import { type CSSProperties } from './styles'; +import type { CSSProperties } from './styles'; type BlockProps = HTMLProps & { innerRef?: Ref; diff --git a/packages/component-library/src/Button.tsx b/packages/component-library/src/Button.tsx index 5639d7a2fb..c03cd3fc4b 100644 --- a/packages/component-library/src/Button.tsx +++ b/packages/component-library/src/Button.tsx @@ -1,10 +1,5 @@ -import React, { - forwardRef, - useMemo, - type ComponentPropsWithoutRef, - type CSSProperties, - type ReactNode, -} from 'react'; +import React, { forwardRef, useMemo } from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties, ReactNode } from 'react'; import { Button as ReactAriaButton } from 'react-aria-components'; import { css, cx } from '@emotion/css'; diff --git a/packages/component-library/src/Card.tsx b/packages/component-library/src/Card.tsx index 6897996caa..3a6463bfff 100644 --- a/packages/component-library/src/Card.tsx +++ b/packages/component-library/src/Card.tsx @@ -1,4 +1,5 @@ -import { forwardRef, type ComponentProps } from 'react'; +import { forwardRef } from 'react'; +import type { ComponentProps } from 'react'; import { theme } from './theme'; import { View } from './View'; diff --git a/packages/component-library/src/ColorPicker.tsx b/packages/component-library/src/ColorPicker.tsx index 445c13b962..f1182ff8d0 100644 --- a/packages/component-library/src/ColorPicker.tsx +++ b/packages/component-library/src/ColorPicker.tsx @@ -1,4 +1,4 @@ -import { type ChangeEvent, type ReactNode } from 'react'; +import type { ChangeEvent, ReactNode } from 'react'; import { ColorPicker as AriaColorPicker, ColorSwatch as AriaColorSwatch, @@ -8,8 +8,10 @@ import { Dialog, DialogTrigger, parseColor, - type ColorPickerProps as AriaColorPickerProps, - type ColorSwatchProps, +} from 'react-aria-components'; +import type { + ColorPickerProps as AriaColorPickerProps, + ColorSwatchProps, } from 'react-aria-components'; import { css } from '@emotion/css'; diff --git a/packages/component-library/src/FormError.tsx b/packages/component-library/src/FormError.tsx index b9ad7cf145..7e124cd2de 100644 --- a/packages/component-library/src/FormError.tsx +++ b/packages/component-library/src/FormError.tsx @@ -1,4 +1,4 @@ -import { type CSSProperties, type ReactNode } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { View } from './View'; diff --git a/packages/component-library/src/InitialFocus.ts b/packages/component-library/src/InitialFocus.ts index a0d13ba2d3..7cf0625b5e 100644 --- a/packages/component-library/src/InitialFocus.ts +++ b/packages/component-library/src/InitialFocus.ts @@ -4,10 +4,8 @@ import { isValidElement, useEffect, useRef, - type ReactElement, - type Ref, - type RefObject, } from 'react'; +import type { ReactElement, Ref, RefObject } from 'react'; type InitialFocusProps = { /** diff --git a/packages/component-library/src/InitialFocus.web.test.tsx b/packages/component-library/src/InitialFocus.web.test.tsx index b316431c4e..2ed2b67d51 100644 --- a/packages/component-library/src/InitialFocus.web.test.tsx +++ b/packages/component-library/src/InitialFocus.web.test.tsx @@ -1,5 +1,6 @@ import * as React from 'react'; -import { forwardRef, type Ref } from 'react'; +import { forwardRef } from 'react'; +import type { Ref } from 'react'; import { render } from '@testing-library/react'; diff --git a/packages/component-library/src/InlineField.tsx b/packages/component-library/src/InlineField.tsx index 2a36845637..e2d941143c 100644 --- a/packages/component-library/src/InlineField.tsx +++ b/packages/component-library/src/InlineField.tsx @@ -1,8 +1,8 @@ -import { type ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { css } from '@emotion/css'; -import { type CSSProperties } from './styles'; +import type { CSSProperties } from './styles'; type InlineFieldProps = { label: ReactNode; diff --git a/packages/component-library/src/Input.tsx b/packages/component-library/src/Input.tsx index 7197dfce8b..9ca1f4f3ad 100644 --- a/packages/component-library/src/Input.tsx +++ b/packages/component-library/src/Input.tsx @@ -1,8 +1,9 @@ -import React, { - type ChangeEvent, - type ComponentPropsWithRef, - type FocusEvent, - type KeyboardEvent, +import React from 'react'; +import type { + ChangeEvent, + ComponentPropsWithRef, + FocusEvent, + KeyboardEvent, } from 'react'; import { Input as ReactAriaInput } from 'react-aria-components'; diff --git a/packages/component-library/src/Label.tsx b/packages/component-library/src/Label.tsx index f0a60a2d23..263f49e8d5 100644 --- a/packages/component-library/src/Label.tsx +++ b/packages/component-library/src/Label.tsx @@ -1,4 +1,5 @@ -import { forwardRef, type CSSProperties, type ReactNode } from 'react'; +import { forwardRef } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { styles } from './styles'; import { Text } from './Text'; diff --git a/packages/component-library/src/Menu.tsx b/packages/component-library/src/Menu.tsx index be15bf6a62..c66a59fbc9 100644 --- a/packages/component-library/src/Menu.tsx +++ b/packages/component-library/src/Menu.tsx @@ -1,13 +1,11 @@ -import { - useEffect, - useRef, - useState, - type ComponentProps, - type ComponentType, - type CSSProperties, - type KeyboardEvent, - type ReactNode, - type SVGProps, +import { useEffect, useRef, useState } from 'react'; +import type { + ComponentProps, + ComponentType, + CSSProperties, + KeyboardEvent, + ReactNode, + SVGProps, } from 'react'; import { Button } from './Button'; diff --git a/packages/component-library/src/Paragraph.tsx b/packages/component-library/src/Paragraph.tsx index 980424f651..22f3e5e993 100644 --- a/packages/component-library/src/Paragraph.tsx +++ b/packages/component-library/src/Paragraph.tsx @@ -1,8 +1,8 @@ -import { type HTMLProps } from 'react'; +import type { HTMLProps } from 'react'; import { css } from '@emotion/css'; -import { type CSSProperties } from './styles'; +import type { CSSProperties } from './styles'; type ParagraphProps = HTMLProps & { style?: CSSProperties; diff --git a/packages/component-library/src/Popover.tsx b/packages/component-library/src/Popover.tsx index e26751869e..6fdbe94f22 100644 --- a/packages/component-library/src/Popover.tsx +++ b/packages/component-library/src/Popover.tsx @@ -1,4 +1,5 @@ -import { useCallback, useEffect, useRef, type ComponentProps } from 'react'; +import { useCallback, useEffect, useRef } from 'react'; +import type { ComponentProps } from 'react'; import { Popover as ReactAriaPopover } from 'react-aria-components'; import { css } from '@emotion/css'; diff --git a/packages/component-library/src/Select.tsx b/packages/component-library/src/Select.tsx index 547e84e867..4389f7a66b 100644 --- a/packages/component-library/src/Select.tsx +++ b/packages/component-library/src/Select.tsx @@ -1,4 +1,5 @@ -import { useRef, useState, type CSSProperties } from 'react'; +import { useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Button } from './Button'; import { SvgExpandArrow } from './icons/v0'; diff --git a/packages/component-library/src/SpaceBetween.tsx b/packages/component-library/src/SpaceBetween.tsx index af7521bdd8..0a6d226d60 100644 --- a/packages/component-library/src/SpaceBetween.tsx +++ b/packages/component-library/src/SpaceBetween.tsx @@ -1,6 +1,7 @@ -import React, { type ReactNode } from 'react'; +import React from 'react'; +import type { ReactNode } from 'react'; -import { type CSSProperties } from './styles'; +import type { CSSProperties } from './styles'; import { View } from './View'; type SpaceBetweenProps = { diff --git a/packages/component-library/src/Text.tsx b/packages/component-library/src/Text.tsx index e551dada17..cfaff66a5e 100644 --- a/packages/component-library/src/Text.tsx +++ b/packages/component-library/src/Text.tsx @@ -1,13 +1,9 @@ -import React, { - forwardRef, - type HTMLProps, - type ReactNode, - type Ref, -} from 'react'; +import React, { forwardRef } from 'react'; +import type { HTMLProps, ReactNode, Ref } from 'react'; import { css, cx } from '@emotion/css'; -import { type CSSProperties } from './styles'; +import type { CSSProperties } from './styles'; type TextProps = HTMLProps & { innerRef?: Ref; diff --git a/packages/component-library/src/TextOneLine.tsx b/packages/component-library/src/TextOneLine.tsx index 27212254ab..b42b1f47c6 100644 --- a/packages/component-library/src/TextOneLine.tsx +++ b/packages/component-library/src/TextOneLine.tsx @@ -1,4 +1,4 @@ -import { type ComponentProps } from 'react'; +import type { ComponentProps } from 'react'; import { Text } from './Text'; diff --git a/packages/component-library/src/Toggle.tsx b/packages/component-library/src/Toggle.tsx index 97d43d9dff..a8295366f6 100644 --- a/packages/component-library/src/Toggle.tsx +++ b/packages/component-library/src/Toggle.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { css } from '@emotion/css'; diff --git a/packages/component-library/src/Tooltip.tsx b/packages/component-library/src/Tooltip.tsx index 3e2a3cca3f..3d87c13a75 100644 --- a/packages/component-library/src/Tooltip.tsx +++ b/packages/component-library/src/Tooltip.tsx @@ -1,11 +1,5 @@ -import React, { - useCallback, - useEffect, - useRef, - useState, - type ComponentProps, - type ReactNode, -} from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import type { ComponentProps, ReactNode } from 'react'; import { Tooltip as AriaTooltip, TooltipTrigger } from 'react-aria-components'; import { styles } from './styles'; diff --git a/packages/component-library/src/View.tsx b/packages/component-library/src/View.tsx index 1831c2792d..67b2e96bc5 100644 --- a/packages/component-library/src/View.tsx +++ b/packages/component-library/src/View.tsx @@ -1,8 +1,9 @@ -import React, { forwardRef, type HTMLProps, type Ref } from 'react'; +import React, { forwardRef } from 'react'; +import type { HTMLProps, Ref } from 'react'; import { css, cx } from '@emotion/css'; -import { type CSSProperties } from './styles'; +import type { CSSProperties } from './styles'; type ViewProps = HTMLProps & { className?: string; diff --git a/packages/component-library/src/icons/AnimatedLoading.tsx b/packages/component-library/src/icons/AnimatedLoading.tsx index e6272195ce..e53adeb0e9 100644 --- a/packages/component-library/src/icons/AnimatedLoading.tsx +++ b/packages/component-library/src/icons/AnimatedLoading.tsx @@ -1,4 +1,5 @@ -import React, { type SVGProps } from 'react'; +import React from 'react'; +import type { SVGProps } from 'react'; import { css, keyframes } from '@emotion/css'; diff --git a/packages/component-library/src/icons/Loading.tsx b/packages/component-library/src/icons/Loading.tsx index 353e33603b..9a18842c7f 100644 --- a/packages/component-library/src/icons/Loading.tsx +++ b/packages/component-library/src/icons/Loading.tsx @@ -1,4 +1,5 @@ -import React, { useState, type SVGProps } from 'react'; +import React, { useState } from 'react'; +import type { SVGProps } from 'react'; export const SvgLoading = (props: SVGProps) => { const { color = 'currentColor' } = props; diff --git a/packages/component-library/src/icons/template.ts b/packages/component-library/src/icons/template.ts index a59856a92d..e64df977e3 100644 --- a/packages/component-library/src/icons/template.ts +++ b/packages/component-library/src/icons/template.ts @@ -1,4 +1,4 @@ -import { type Config } from '@svgr/core'; +import type { Config } from '@svgr/core'; const tmpl: Config['template'] = ( { imports, interfaces, componentName, props, jsx }, diff --git a/packages/crdt/src/crdt/merkle.ts b/packages/crdt/src/crdt/merkle.ts index a3451f5c00..715f4efdc1 100644 --- a/packages/crdt/src/crdt/merkle.ts +++ b/packages/crdt/src/crdt/merkle.ts @@ -7,7 +7,7 @@ // * Need to check to make sure if account exists when handling // * transaction changes in syncing -import { type Timestamp } from './timestamp'; +import type { Timestamp } from './timestamp'; /** * Represents a node within a trinary radix trie. diff --git a/packages/crdt/src/crdt/timestamp.ts b/packages/crdt/src/crdt/timestamp.ts index 5e53756d79..19d760c51a 100644 --- a/packages/crdt/src/crdt/timestamp.ts +++ b/packages/crdt/src/crdt/timestamp.ts @@ -1,7 +1,7 @@ import murmurhash from 'murmurhash'; import { v4 as uuidv4 } from 'uuid'; -import { type TrieNode } from './merkle'; +import type { TrieNode } from './merkle'; /** * Hybrid Unique Logical Clock (HULC) timestamp generator diff --git a/packages/desktop-client/e2e/accounts.mobile.test.ts b/packages/desktop-client/e2e/accounts.mobile.test.ts index f484f323c5..93ddc086be 100644 --- a/packages/desktop-client/e2e/accounts.mobile.test.ts +++ b/packages/desktop-client/e2e/accounts.mobile.test.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; diff --git a/packages/desktop-client/e2e/accounts.test.ts b/packages/desktop-client/e2e/accounts.test.ts index b0d9b86885..08ca9302b7 100644 --- a/packages/desktop-client/e2e/accounts.test.ts +++ b/packages/desktop-client/e2e/accounts.test.ts @@ -1,9 +1,9 @@ import { join } from 'path'; -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; -import { type AccountPage } from './page-models/account-page'; +import type { AccountPage } from './page-models/account-page'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; diff --git a/packages/desktop-client/e2e/bank-sync.mobile.test.ts b/packages/desktop-client/e2e/bank-sync.mobile.test.ts index 5f971b10ea..8e77bc609e 100644 --- a/packages/desktop-client/e2e/bank-sync.mobile.test.ts +++ b/packages/desktop-client/e2e/bank-sync.mobile.test.ts @@ -1,8 +1,8 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; -import { type MobileBankSyncPage } from './page-models/mobile-bank-sync-page'; +import type { MobileBankSyncPage } from './page-models/mobile-bank-sync-page'; import { MobileNavigation } from './page-models/mobile-navigation'; test.describe('Mobile Bank Sync', () => { diff --git a/packages/desktop-client/e2e/bank-sync.test.ts b/packages/desktop-client/e2e/bank-sync.test.ts index 1d98a6a485..207975263e 100644 --- a/packages/desktop-client/e2e/bank-sync.test.ts +++ b/packages/desktop-client/e2e/bank-sync.test.ts @@ -1,7 +1,7 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; -import { type BankSyncPage } from './page-models/bank-sync-page'; +import type { BankSyncPage } from './page-models/bank-sync-page'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; diff --git a/packages/desktop-client/e2e/budget.mobile.test.ts b/packages/desktop-client/e2e/budget.mobile.test.ts index f3c5bd06e7..120b4ae66b 100644 --- a/packages/desktop-client/e2e/budget.mobile.test.ts +++ b/packages/desktop-client/e2e/budget.mobile.test.ts @@ -1,11 +1,11 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import * as monthUtils from 'loot-core/shared/months'; import { amountToCurrency, currencyToAmount } from 'loot-core/shared/util'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; -import { type MobileBudgetPage } from './page-models/mobile-budget-page'; +import type { MobileBudgetPage } from './page-models/mobile-budget-page'; import { MobileNavigation } from './page-models/mobile-navigation'; const copyLastMonthBudget = async ( diff --git a/packages/desktop-client/e2e/budget.test.ts b/packages/desktop-client/e2e/budget.test.ts index 598c347da1..1385f7a155 100644 --- a/packages/desktop-client/e2e/budget.test.ts +++ b/packages/desktop-client/e2e/budget.test.ts @@ -1,7 +1,7 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; -import { type BudgetPage } from './page-models/budget-page'; +import type { BudgetPage } from './page-models/budget-page'; import { ConfigurationPage } from './page-models/configuration-page'; test.describe('Budget', () => { diff --git a/packages/desktop-client/e2e/command-bar.test.ts b/packages/desktop-client/e2e/command-bar.test.ts index bfde3d132c..c01d12abe2 100644 --- a/packages/desktop-client/e2e/command-bar.test.ts +++ b/packages/desktop-client/e2e/command-bar.test.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; diff --git a/packages/desktop-client/e2e/fixtures.ts b/packages/desktop-client/e2e/fixtures.ts index 924ac2541f..2e98f092f4 100644 --- a/packages/desktop-client/e2e/fixtures.ts +++ b/packages/desktop-client/e2e/fixtures.ts @@ -1,4 +1,5 @@ -import { expect as baseExpect, type Locator } from '@playwright/test'; +import { expect as baseExpect } from '@playwright/test'; +import type { Locator } from '@playwright/test'; export { test } from '@playwright/test'; diff --git a/packages/desktop-client/e2e/help-menu.test.ts b/packages/desktop-client/e2e/help-menu.test.ts index 2c6c2c3c07..544b1a2a6b 100644 --- a/packages/desktop-client/e2e/help-menu.test.ts +++ b/packages/desktop-client/e2e/help-menu.test.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; diff --git a/packages/desktop-client/e2e/onboarding.test.ts b/packages/desktop-client/e2e/onboarding.test.ts index 964310c9dc..8a4db3b06c 100644 --- a/packages/desktop-client/e2e/onboarding.test.ts +++ b/packages/desktop-client/e2e/onboarding.test.ts @@ -1,6 +1,6 @@ import path from 'path'; -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { AccountPage } from './page-models/account-page'; diff --git a/packages/desktop-client/e2e/page-models/account-page.ts b/packages/desktop-client/e2e/page-models/account-page.ts index 7085b5632a..efa785be10 100644 --- a/packages/desktop-client/e2e/page-models/account-page.ts +++ b/packages/desktop-client/e2e/page-models/account-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { CloseAccountModal } from './close-account-modal'; diff --git a/packages/desktop-client/e2e/page-models/bank-sync-page.ts b/packages/desktop-client/e2e/page-models/bank-sync-page.ts index 076662e259..c8865fac62 100644 --- a/packages/desktop-client/e2e/page-models/bank-sync-page.ts +++ b/packages/desktop-client/e2e/page-models/bank-sync-page.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; export class BankSyncPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/budget-page.ts b/packages/desktop-client/e2e/page-models/budget-page.ts index 99f9024295..ecb33b8584 100644 --- a/packages/desktop-client/e2e/page-models/budget-page.ts +++ b/packages/desktop-client/e2e/page-models/budget-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { AccountPage } from './account-page'; diff --git a/packages/desktop-client/e2e/page-models/close-account-modal.ts b/packages/desktop-client/e2e/page-models/close-account-modal.ts index 36b2a062e3..4c9859c68a 100644 --- a/packages/desktop-client/e2e/page-models/close-account-modal.ts +++ b/packages/desktop-client/e2e/page-models/close-account-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class CloseAccountModal { readonly locator: Locator; diff --git a/packages/desktop-client/e2e/page-models/configuration-page.ts b/packages/desktop-client/e2e/page-models/configuration-page.ts index 376de36e64..f3c08fcf85 100644 --- a/packages/desktop-client/e2e/page-models/configuration-page.ts +++ b/packages/desktop-client/e2e/page-models/configuration-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { AccountPage } from './account-page'; import { BudgetPage } from './budget-page'; diff --git a/packages/desktop-client/e2e/page-models/custom-report-page.ts b/packages/desktop-client/e2e/page-models/custom-report-page.ts index 84de912e8a..885e9bd947 100644 --- a/packages/desktop-client/e2e/page-models/custom-report-page.ts +++ b/packages/desktop-client/e2e/page-models/custom-report-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class CustomReportPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/edit-rule-modal.ts b/packages/desktop-client/e2e/page-models/edit-rule-modal.ts index d9bcccdee8..98bf449501 100644 --- a/packages/desktop-client/e2e/page-models/edit-rule-modal.ts +++ b/packages/desktop-client/e2e/page-models/edit-rule-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; type ConditionsEntry = { field: string; diff --git a/packages/desktop-client/e2e/page-models/mobile-account-page.ts b/packages/desktop-client/e2e/page-models/mobile-account-page.ts index 4c7e312e77..aa1687c727 100644 --- a/packages/desktop-client/e2e/page-models/mobile-account-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-account-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { MobileTransactionEntryPage } from './mobile-transaction-entry-page'; diff --git a/packages/desktop-client/e2e/page-models/mobile-accounts-page.ts b/packages/desktop-client/e2e/page-models/mobile-accounts-page.ts index 571244535f..0fab6f0fc0 100644 --- a/packages/desktop-client/e2e/page-models/mobile-accounts-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-accounts-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { MobileAccountPage } from './mobile-account-page'; diff --git a/packages/desktop-client/e2e/page-models/mobile-balance-menu-modal.ts b/packages/desktop-client/e2e/page-models/mobile-balance-menu-modal.ts index e238b9b519..b81a19a7bf 100644 --- a/packages/desktop-client/e2e/page-models/mobile-balance-menu-modal.ts +++ b/packages/desktop-client/e2e/page-models/mobile-balance-menu-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class BalanceMenuModal { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-bank-sync-page.ts b/packages/desktop-client/e2e/page-models/mobile-bank-sync-page.ts index 95502eb33c..d323d6035d 100644 --- a/packages/desktop-client/e2e/page-models/mobile-bank-sync-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-bank-sync-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class MobileBankSyncPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-budget-menu-modal.ts b/packages/desktop-client/e2e/page-models/mobile-budget-menu-modal.ts index 6fe1286a66..66a0ca8e23 100644 --- a/packages/desktop-client/e2e/page-models/mobile-budget-menu-modal.ts +++ b/packages/desktop-client/e2e/page-models/mobile-budget-menu-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class BudgetMenuModal { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-budget-page.ts b/packages/desktop-client/e2e/page-models/mobile-budget-page.ts index 7a6bc03eb7..5aa6a91ee2 100644 --- a/packages/desktop-client/e2e/page-models/mobile-budget-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-budget-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { MobileAccountPage } from './mobile-account-page'; import { BalanceMenuModal } from './mobile-balance-menu-modal'; diff --git a/packages/desktop-client/e2e/page-models/mobile-category-menu-modal.ts b/packages/desktop-client/e2e/page-models/mobile-category-menu-modal.ts index 01f2d2358b..77d22b68be 100644 --- a/packages/desktop-client/e2e/page-models/mobile-category-menu-modal.ts +++ b/packages/desktop-client/e2e/page-models/mobile-category-menu-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { EditNotesModal } from './mobile-edit-notes-modal'; diff --git a/packages/desktop-client/e2e/page-models/mobile-edit-notes-modal.ts b/packages/desktop-client/e2e/page-models/mobile-edit-notes-modal.ts index 845c8dbfc3..fdb9104f10 100644 --- a/packages/desktop-client/e2e/page-models/mobile-edit-notes-modal.ts +++ b/packages/desktop-client/e2e/page-models/mobile-edit-notes-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class EditNotesModal { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-envelope-budget-summary-modal.ts b/packages/desktop-client/e2e/page-models/mobile-envelope-budget-summary-modal.ts index 2f6efed0ea..213e69bf42 100644 --- a/packages/desktop-client/e2e/page-models/mobile-envelope-budget-summary-modal.ts +++ b/packages/desktop-client/e2e/page-models/mobile-envelope-budget-summary-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class EnvelopeBudgetSummaryModal { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-navigation.ts b/packages/desktop-client/e2e/page-models/mobile-navigation.ts index f30ba3a46b..3652ee22dd 100644 --- a/packages/desktop-client/e2e/page-models/mobile-navigation.ts +++ b/packages/desktop-client/e2e/page-models/mobile-navigation.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { MobileAccountPage } from './mobile-account-page'; import { MobileAccountsPage } from './mobile-accounts-page'; diff --git a/packages/desktop-client/e2e/page-models/mobile-payees-page.ts b/packages/desktop-client/e2e/page-models/mobile-payees-page.ts index 6f06bdb5c3..8247733c3b 100644 --- a/packages/desktop-client/e2e/page-models/mobile-payees-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-payees-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class MobilePayeesPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-reports-page.ts b/packages/desktop-client/e2e/page-models/mobile-reports-page.ts index 74b5684426..b47370fb39 100644 --- a/packages/desktop-client/e2e/page-models/mobile-reports-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-reports-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class MobileReportsPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-rules-page.ts b/packages/desktop-client/e2e/page-models/mobile-rules-page.ts index b4762ca5ea..bc47e0cb47 100644 --- a/packages/desktop-client/e2e/page-models/mobile-rules-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-rules-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class MobileRulesPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-schedules-page.ts b/packages/desktop-client/e2e/page-models/mobile-schedules-page.ts index 200e378bcb..a5e6b41d59 100644 --- a/packages/desktop-client/e2e/page-models/mobile-schedules-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-schedules-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class MobileSchedulesPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-tracking-budget-summary-modal.ts b/packages/desktop-client/e2e/page-models/mobile-tracking-budget-summary-modal.ts index 0a4de8bf28..c4ae152870 100644 --- a/packages/desktop-client/e2e/page-models/mobile-tracking-budget-summary-modal.ts +++ b/packages/desktop-client/e2e/page-models/mobile-tracking-budget-summary-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class TrackingBudgetSummaryModal { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/mobile-transaction-entry-page.ts b/packages/desktop-client/e2e/page-models/mobile-transaction-entry-page.ts index 8937fd0d18..302d6113f5 100644 --- a/packages/desktop-client/e2e/page-models/mobile-transaction-entry-page.ts +++ b/packages/desktop-client/e2e/page-models/mobile-transaction-entry-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { MobileAccountPage } from './mobile-account-page'; diff --git a/packages/desktop-client/e2e/page-models/navigation.ts b/packages/desktop-client/e2e/page-models/navigation.ts index f13ffcdeea..94792451ed 100644 --- a/packages/desktop-client/e2e/page-models/navigation.ts +++ b/packages/desktop-client/e2e/page-models/navigation.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { AccountPage } from './account-page'; import { BankSyncPage } from './bank-sync-page'; diff --git a/packages/desktop-client/e2e/page-models/payees-page.ts b/packages/desktop-client/e2e/page-models/payees-page.ts index 7075afdc6f..2eb78c3933 100644 --- a/packages/desktop-client/e2e/page-models/payees-page.ts +++ b/packages/desktop-client/e2e/page-models/payees-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class PayeesPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/page-models/reports-page.ts b/packages/desktop-client/e2e/page-models/reports-page.ts index a499c8692c..765b9c39c6 100644 --- a/packages/desktop-client/e2e/page-models/reports-page.ts +++ b/packages/desktop-client/e2e/page-models/reports-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { CustomReportPage } from './custom-report-page'; diff --git a/packages/desktop-client/e2e/page-models/rules-page.ts b/packages/desktop-client/e2e/page-models/rules-page.ts index 8612301588..2e17a9f774 100644 --- a/packages/desktop-client/e2e/page-models/rules-page.ts +++ b/packages/desktop-client/e2e/page-models/rules-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { EditRuleModal } from './edit-rule-modal'; diff --git a/packages/desktop-client/e2e/page-models/schedule-edit-modal.ts b/packages/desktop-client/e2e/page-models/schedule-edit-modal.ts index f4fb3d6f67..1bc365aeda 100644 --- a/packages/desktop-client/e2e/page-models/schedule-edit-modal.ts +++ b/packages/desktop-client/e2e/page-models/schedule-edit-modal.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; type ScheduleEntry = { scheduleName?: string; diff --git a/packages/desktop-client/e2e/page-models/schedules-page.ts b/packages/desktop-client/e2e/page-models/schedules-page.ts index 54ffb0b245..195862e779 100644 --- a/packages/desktop-client/e2e/page-models/schedules-page.ts +++ b/packages/desktop-client/e2e/page-models/schedules-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; import { ScheduleEditModal } from './schedule-edit-modal'; diff --git a/packages/desktop-client/e2e/page-models/settings-page.ts b/packages/desktop-client/e2e/page-models/settings-page.ts index 42c1f32919..5ef6e56fc9 100644 --- a/packages/desktop-client/e2e/page-models/settings-page.ts +++ b/packages/desktop-client/e2e/page-models/settings-page.ts @@ -1,4 +1,4 @@ -import { type Locator, type Page } from '@playwright/test'; +import type { Locator, Page } from '@playwright/test'; export class SettingsPage { readonly page: Page; diff --git a/packages/desktop-client/e2e/payees.mobile.test.ts b/packages/desktop-client/e2e/payees.mobile.test.ts index 7529360f4c..14a782b053 100644 --- a/packages/desktop-client/e2e/payees.mobile.test.ts +++ b/packages/desktop-client/e2e/payees.mobile.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { MobileNavigation } from './page-models/mobile-navigation'; -import { type MobilePayeesPage } from './page-models/mobile-payees-page'; +import type { MobilePayeesPage } from './page-models/mobile-payees-page'; test.describe('Mobile Payees', () => { let page: Page; diff --git a/packages/desktop-client/e2e/payees.test.ts b/packages/desktop-client/e2e/payees.test.ts index 36c9158dc2..ef3d656ea4 100644 --- a/packages/desktop-client/e2e/payees.test.ts +++ b/packages/desktop-client/e2e/payees.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; -import { type PayeesPage } from './page-models/payees-page'; +import type { PayeesPage } from './page-models/payees-page'; test.describe('Payees', () => { let page: Page; diff --git a/packages/desktop-client/e2e/reports.test.ts b/packages/desktop-client/e2e/reports.test.ts index d06cea3dea..ddb01722b1 100644 --- a/packages/desktop-client/e2e/reports.test.ts +++ b/packages/desktop-client/e2e/reports.test.ts @@ -1,10 +1,10 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; -import { type CustomReportPage } from './page-models/custom-report-page'; +import type { CustomReportPage } from './page-models/custom-report-page'; import { Navigation } from './page-models/navigation'; -import { type ReportsPage } from './page-models/reports-page'; +import type { ReportsPage } from './page-models/reports-page'; test.describe.parallel('Reports', () => { let page: Page; diff --git a/packages/desktop-client/e2e/rules.mobile.test.ts b/packages/desktop-client/e2e/rules.mobile.test.ts index b8d7b689eb..249c10d6c4 100644 --- a/packages/desktop-client/e2e/rules.mobile.test.ts +++ b/packages/desktop-client/e2e/rules.mobile.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { MobileNavigation } from './page-models/mobile-navigation'; -import { type MobileRulesPage } from './page-models/mobile-rules-page'; +import type { MobileRulesPage } from './page-models/mobile-rules-page'; test.describe('Mobile Rules', () => { let page: Page; diff --git a/packages/desktop-client/e2e/rules.test.ts b/packages/desktop-client/e2e/rules.test.ts index 86cc44c300..212ce0d0ae 100644 --- a/packages/desktop-client/e2e/rules.test.ts +++ b/packages/desktop-client/e2e/rules.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; -import { type RulesPage } from './page-models/rules-page'; +import type { RulesPage } from './page-models/rules-page'; test.describe('Rules', () => { let page: Page; diff --git a/packages/desktop-client/e2e/schedules.mobile.test.ts b/packages/desktop-client/e2e/schedules.mobile.test.ts index ef36bc5f8c..cd248838c0 100644 --- a/packages/desktop-client/e2e/schedules.mobile.test.ts +++ b/packages/desktop-client/e2e/schedules.mobile.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { MobileNavigation } from './page-models/mobile-navigation'; -import { type MobileSchedulesPage } from './page-models/mobile-schedules-page'; +import type { MobileSchedulesPage } from './page-models/mobile-schedules-page'; test.describe('Mobile Schedules', () => { let page: Page; diff --git a/packages/desktop-client/e2e/schedules.test.ts b/packages/desktop-client/e2e/schedules.test.ts index 72a84ee805..581badb0da 100644 --- a/packages/desktop-client/e2e/schedules.test.ts +++ b/packages/desktop-client/e2e/schedules.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; -import { type SchedulesPage } from './page-models/schedules-page'; +import type { SchedulesPage } from './page-models/schedules-page'; test.describe('Schedules', () => { let page: Page; diff --git a/packages/desktop-client/e2e/settings.mobile.test.ts b/packages/desktop-client/e2e/settings.mobile.test.ts index 3b28230855..979c310091 100644 --- a/packages/desktop-client/e2e/settings.mobile.test.ts +++ b/packages/desktop-client/e2e/settings.mobile.test.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; diff --git a/packages/desktop-client/e2e/settings.test.ts b/packages/desktop-client/e2e/settings.test.ts index 49f263b0b5..59c8218287 100644 --- a/packages/desktop-client/e2e/settings.test.ts +++ b/packages/desktop-client/e2e/settings.test.ts @@ -1,9 +1,9 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; -import { type SettingsPage } from './page-models/settings-page'; +import type { SettingsPage } from './page-models/settings-page'; test.describe('Settings', () => { let page: Page; diff --git a/packages/desktop-client/e2e/transactions.mobile.test.ts b/packages/desktop-client/e2e/transactions.mobile.test.ts index 2b6884c8c0..bb400884ee 100644 --- a/packages/desktop-client/e2e/transactions.mobile.test.ts +++ b/packages/desktop-client/e2e/transactions.mobile.test.ts @@ -1,4 +1,4 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; import { ConfigurationPage } from './page-models/configuration-page'; diff --git a/packages/desktop-client/e2e/transactions.test.ts b/packages/desktop-client/e2e/transactions.test.ts index 00653a231f..1517e9a520 100644 --- a/packages/desktop-client/e2e/transactions.test.ts +++ b/packages/desktop-client/e2e/transactions.test.ts @@ -1,7 +1,7 @@ -import { type Page } from '@playwright/test'; +import type { Page } from '@playwright/test'; import { expect, test } from './fixtures'; -import { type AccountPage } from './page-models/account-page'; +import type { AccountPage } from './page-models/account-page'; import { ConfigurationPage } from './page-models/configuration-page'; import { Navigation } from './page-models/navigation'; diff --git a/packages/desktop-client/src/accounts/accountsSlice.ts b/packages/desktop-client/src/accounts/accountsSlice.ts index 6620881cfd..fa1c184782 100644 --- a/packages/desktop-client/src/accounts/accountsSlice.ts +++ b/packages/desktop-client/src/accounts/accountsSlice.ts @@ -1,23 +1,24 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import memoizeOne from 'memoize-one'; import { send } from 'loot-core/platform/client/fetch'; -import { type SyncResponseWithErrors } from 'loot-core/server/accounts/app'; +import type { SyncResponseWithErrors } from 'loot-core/server/accounts/app'; import { groupById } from 'loot-core/shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type SyncServerGoCardlessAccount, - type SyncServerPluggyAiAccount, - type SyncServerSimpleFinAccount, - type TransactionEntity, +import type { + AccountEntity, + CategoryEntity, + SyncServerGoCardlessAccount, + SyncServerPluggyAiAccount, + SyncServerSimpleFinAccount, + TransactionEntity, } from 'loot-core/types/models'; import { resetApp } from '@desktop-client/app/appSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { markPayeesDirty } from '@desktop-client/payees/payeesSlice'; import { createAppAsyncThunk } from '@desktop-client/redux'; -import { type AppDispatch } from '@desktop-client/redux/store'; +import type { AppDispatch } from '@desktop-client/redux/store'; import { setNewTransactions } from '@desktop-client/transactions/transactionsSlice'; const sliceName = 'account'; diff --git a/packages/desktop-client/src/app/appSlice.ts b/packages/desktop-client/src/app/appSlice.ts index 22d9a4b525..febb78bdc8 100644 --- a/packages/desktop-client/src/app/appSlice.ts +++ b/packages/desktop-client/src/app/appSlice.ts @@ -1,13 +1,10 @@ -import { - createAction, - createSlice, - type PayloadAction, -} from '@reduxjs/toolkit'; +import { createAction, createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { send } from 'loot-core/platform/client/fetch'; import { getUploadError } from 'loot-core/shared/errors'; -import { type AccountEntity } from 'loot-core/types/models'; -import { type AtLeastOne } from 'loot-core/types/util'; +import type { AccountEntity } from 'loot-core/types/models'; +import type { AtLeastOne } from 'loot-core/types/util'; import { syncAccounts } from '@desktop-client/accounts/accountsSlice'; import { pushModal } from '@desktop-client/modals/modalsSlice'; diff --git a/packages/desktop-client/src/auth/AuthProvider.tsx b/packages/desktop-client/src/auth/AuthProvider.tsx index 9a3086efc9..b823c05cba 100644 --- a/packages/desktop-client/src/auth/AuthProvider.tsx +++ b/packages/desktop-client/src/auth/AuthProvider.tsx @@ -1,6 +1,7 @@ -import React, { createContext, useContext, type ReactNode } from 'react'; +import React, { createContext, useContext } from 'react'; +import type { ReactNode } from 'react'; -import { type Permissions } from './types'; +import type { Permissions } from './types'; import { useServerURL } from '@desktop-client/components/ServerContext'; import { useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/auth/ProtectedRoute.tsx b/packages/desktop-client/src/auth/ProtectedRoute.tsx index 664ab1e055..caddc14929 100644 --- a/packages/desktop-client/src/auth/ProtectedRoute.tsx +++ b/packages/desktop-client/src/auth/ProtectedRoute.tsx @@ -1,12 +1,13 @@ -import { useEffect, useState, type ReactElement } from 'react'; +import { useEffect, useState } from 'react'; +import type { ReactElement } from 'react'; import { Trans } from 'react-i18next'; import { View } from '@actual-app/components/view'; -import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; +import type { RemoteFile, SyncedLocalFile } from 'loot-core/types/file'; import { useAuth } from './AuthProvider'; -import { type Permissions } from './types'; +import type { Permissions } from './types'; import { useMetadataPref } from '@desktop-client/hooks/useMetadataPref'; import { useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/budget/mutations.ts b/packages/desktop-client/src/budget/mutations.ts index 50a65f2d95..a19fefc344 100644 --- a/packages/desktop-client/src/budget/mutations.ts +++ b/packages/desktop-client/src/budget/mutations.ts @@ -1,20 +1,17 @@ import { useTranslation } from 'react-i18next'; -import { - useMutation, - useQueryClient, - type QueryClient, - type QueryKey, -} from '@tanstack/react-query'; -import { type TFunction } from 'i18next'; +import { useMutation, useQueryClient } from '@tanstack/react-query'; +import type { QueryClient, QueryKey } from '@tanstack/react-query'; +import type { TFunction } from 'i18next'; import { v4 as uuidv4 } from 'uuid'; -import { sendCatch, type send } from 'loot-core/platform/client/fetch'; +import { sendCatch } from 'loot-core/platform/client/fetch'; +import type { send } from 'loot-core/platform/client/fetch'; import { logger } from 'loot-core/platform/server/log'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { categoryQueries } from '.'; @@ -22,7 +19,7 @@ import { categoryQueries } from '.'; import { pushModal } from '@desktop-client/modals/modalsSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; -import { type AppDispatch } from '@desktop-client/redux/store'; +import type { AppDispatch } from '@desktop-client/redux/store'; const sendThrow: typeof send = async (name, args) => { const { error, data } = await sendCatch(name, args); diff --git a/packages/desktop-client/src/budget/queries.ts b/packages/desktop-client/src/budget/queries.ts index 4b5d33951d..c1dd4da8d5 100644 --- a/packages/desktop-client/src/budget/queries.ts +++ b/packages/desktop-client/src/budget/queries.ts @@ -2,9 +2,9 @@ import { queryOptions } from '@tanstack/react-query'; import i18n from 'i18next'; import { send } from 'loot-core/platform/client/fetch'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; type CategoryViews = { diff --git a/packages/desktop-client/src/budgetfiles/budgetfilesSlice.ts b/packages/desktop-client/src/budgetfiles/budgetfilesSlice.ts index b379b4c424..37087d7c3d 100644 --- a/packages/desktop-client/src/budgetfiles/budgetfilesSlice.ts +++ b/packages/desktop-client/src/budgetfiles/budgetfilesSlice.ts @@ -1,12 +1,13 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { t } from 'i18next'; import { send } from 'loot-core/platform/client/fetch'; -import { type RemoteFile } from 'loot-core/server/cloud-storage'; +import type { RemoteFile } from 'loot-core/server/cloud-storage'; import { getDownloadError, getSyncError } from 'loot-core/shared/errors'; -import { type Budget } from 'loot-core/types/budget'; -import { type File } from 'loot-core/types/file'; -import { type Handlers } from 'loot-core/types/handlers'; +import type { Budget } from 'loot-core/types/budget'; +import type { File } from 'loot-core/types/file'; +import type { Handlers } from 'loot-core/types/handlers'; import { resetApp, setAppState } from '@desktop-client/app/appSlice'; import { closeModal, pushModal } from '@desktop-client/modals/modalsSlice'; diff --git a/packages/desktop-client/src/components/AnimatedRefresh.tsx b/packages/desktop-client/src/components/AnimatedRefresh.tsx index e85cbb34a1..d5ac370d8c 100644 --- a/packages/desktop-client/src/components/AnimatedRefresh.tsx +++ b/packages/desktop-client/src/components/AnimatedRefresh.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { SvgRefresh } from '@actual-app/components/icons/v1'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/App.tsx b/packages/desktop-client/src/components/App.tsx index 80a67c2c16..c68c251f88 100644 --- a/packages/desktop-client/src/components/App.tsx +++ b/packages/desktop-client/src/components/App.tsx @@ -2,11 +2,8 @@ import React, { useEffect, useState } from 'react'; import { DndProvider } from 'react-dnd'; import { HTML5Backend } from 'react-dnd-html5-backend'; -import { - ErrorBoundary, - useErrorBoundary, - type FallbackProps, -} from 'react-error-boundary'; +import { ErrorBoundary, useErrorBoundary } from 'react-error-boundary'; +import type { FallbackProps } from 'react-error-boundary'; import { HotkeysProvider } from 'react-hotkeys-hook'; import { useTranslation } from 'react-i18next'; import { BrowserRouter } from 'react-router'; diff --git a/packages/desktop-client/src/components/CommandBar.tsx b/packages/desktop-client/src/components/CommandBar.tsx index 02b21815ff..a85bdd6a1a 100644 --- a/packages/desktop-client/src/components/CommandBar.tsx +++ b/packages/desktop-client/src/components/CommandBar.tsx @@ -1,12 +1,5 @@ -import { - useCallback, - useEffect, - useMemo, - useState, - type ComponentType, - type ReactNode, - type SVGProps, -} from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; +import type { ComponentType, ReactNode, SVGProps } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { diff --git a/packages/desktop-client/src/components/FatalError.tsx b/packages/desktop-client/src/components/FatalError.tsx index d41b2249f5..96698bf584 100644 --- a/packages/desktop-client/src/components/FatalError.tsx +++ b/packages/desktop-client/src/components/FatalError.tsx @@ -1,4 +1,5 @@ -import React, { useState, type ReactNode } from 'react'; +import React, { useState } from 'react'; +import type { ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Block } from '@actual-app/components/block'; diff --git a/packages/desktop-client/src/components/FinancesApp.tsx b/packages/desktop-client/src/components/FinancesApp.tsx index 70af5c4d89..eb8e3f2255 100644 --- a/packages/desktop-client/src/components/FinancesApp.tsx +++ b/packages/desktop-client/src/components/FinancesApp.tsx @@ -1,10 +1,6 @@ // @ts-strict-ignore -import React, { - useEffect, - useEffectEvent, - useRef, - type ReactElement, -} from 'react'; +import React, { useEffect, useEffectEvent, useRef } from 'react'; +import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { Navigate, Route, Routes, useHref, useLocation } from 'react-router'; diff --git a/packages/desktop-client/src/components/FinancialText.tsx b/packages/desktop-client/src/components/FinancialText.tsx index 98fa1391f6..1bf657ae91 100644 --- a/packages/desktop-client/src/components/FinancialText.tsx +++ b/packages/desktop-client/src/components/FinancialText.tsx @@ -1,6 +1,8 @@ -import React, { type ComponentPropsWithoutRef, type ElementType } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef, ElementType } from 'react'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; type FinancialTextProps = { diff --git a/packages/desktop-client/src/components/FixedSizeList.tsx b/packages/desktop-client/src/components/FixedSizeList.tsx index 3f8da5f5e8..65dbf570a0 100644 --- a/packages/desktop-client/src/components/FixedSizeList.tsx +++ b/packages/desktop-client/src/components/FixedSizeList.tsx @@ -1,13 +1,6 @@ // @ts-strict-ignore -import { - createRef, - PureComponent, - type CSSProperties, - type ReactNode, - type Ref, - type RefObject, - type UIEvent, -} from 'react'; +import { createRef, PureComponent } from 'react'; +import type { CSSProperties, ReactNode, Ref, RefObject, UIEvent } from 'react'; import { View } from '@actual-app/components/view'; import memoizeOne from 'memoize-one'; diff --git a/packages/desktop-client/src/components/LoggedInUser.tsx b/packages/desktop-client/src/components/LoggedInUser.tsx index e01141d80b..139715fbec 100644 --- a/packages/desktop-client/src/components/LoggedInUser.tsx +++ b/packages/desktop-client/src/components/LoggedInUser.tsx @@ -1,10 +1,5 @@ -import React, { - useCallback, - useEffect, - useRef, - useState, - type CSSProperties, -} from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useLocation } from 'react-router'; @@ -17,8 +12,8 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { listen } from 'loot-core/platform/client/fetch'; -import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { RemoteFile, SyncedLocalFile } from 'loot-core/types/file'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { PrivacyFilter } from './PrivacyFilter'; import { useMultiuserEnabled, useServerURL } from './ServerContext'; diff --git a/packages/desktop-client/src/components/ManageRules.tsx b/packages/desktop-client/src/components/ManageRules.tsx index d02a07035d..d4092adb74 100644 --- a/packages/desktop-client/src/components/ManageRules.tsx +++ b/packages/desktop-client/src/components/ManageRules.tsx @@ -1,12 +1,6 @@ // @ts-strict-ignore -import React, { - useEffect, - useEffectEvent, - useMemo, - useState, - type Dispatch, - type SetStateAction, -} from 'react'; +import React, { useEffect, useEffectEvent, useMemo, useState } from 'react'; +import type { Dispatch, SetStateAction } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -22,10 +16,10 @@ import { getNormalisedString } from 'loot-core/shared/normalisation'; import { q } from 'loot-core/shared/query'; import { friendlyOp, mapField } from 'loot-core/shared/rules'; import { describeSchedule } from 'loot-core/shared/schedules'; -import { - type NewRuleEntity, - type RuleEntity, - type ScheduleEntity, +import type { + NewRuleEntity, + RuleEntity, + ScheduleEntity, } from 'loot-core/types/models'; import { InfiniteScrollWrapper } from './common/InfiniteScrollWrapper'; diff --git a/packages/desktop-client/src/components/Notes.tsx b/packages/desktop-client/src/components/Notes.tsx index 61638630a1..75a4ce4026 100644 --- a/packages/desktop-client/src/components/Notes.tsx +++ b/packages/desktop-client/src/components/Notes.tsx @@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next'; import ReactMarkdown from 'react-markdown'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; diff --git a/packages/desktop-client/src/components/NotesButton.tsx b/packages/desktop-client/src/components/NotesButton.tsx index 48a8870b21..37df698738 100644 --- a/packages/desktop-client/src/components/NotesButton.tsx +++ b/packages/desktop-client/src/components/NotesButton.tsx @@ -1,11 +1,5 @@ -import React, { - useCallback, - useEffect, - useRef, - useState, - type ComponentProps, - type CSSProperties, -} from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import type { ComponentProps, CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/Notifications.tsx b/packages/desktop-client/src/components/Notifications.tsx index 1d709b6eec..098d71fbb1 100644 --- a/packages/desktop-client/src/components/Notifications.tsx +++ b/packages/desktop-client/src/components/Notifications.tsx @@ -1,12 +1,6 @@ // @ts-strict-ignore -import React, { - useEffect, - useEffectEvent, - useMemo, - useState, - type CSSProperties, - type SetStateAction, -} from 'react'; +import React, { useEffect, useEffectEvent, useMemo, useState } from 'react'; +import type { CSSProperties, SetStateAction } from 'react'; import { useTranslation } from 'react-i18next'; import { animated, to, useSpring } from 'react-spring'; import { useSwipeable } from 'react-swipeable'; @@ -25,10 +19,8 @@ import { css } from '@emotion/css'; import { Link } from './common/Link'; import { MODAL_Z_INDEX } from './common/Modal'; -import { - removeNotification, - type NotificationWithId, -} from '@desktop-client/notifications/notificationsSlice'; +import { removeNotification } from '@desktop-client/notifications/notificationsSlice'; +import type { NotificationWithId } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; // Notification stacking configuration diff --git a/packages/desktop-client/src/components/Page.tsx b/packages/desktop-client/src/components/Page.tsx index 06bffa16c6..425845a19f 100644 --- a/packages/desktop-client/src/components/Page.tsx +++ b/packages/desktop-client/src/components/Page.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties, type ReactNode } from 'react'; +import React from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; import { styles } from '@actual-app/components/styles'; diff --git a/packages/desktop-client/src/components/PrivacyFilter.tsx b/packages/desktop-client/src/components/PrivacyFilter.tsx index 0b9d0806b5..c525d47fff 100644 --- a/packages/desktop-client/src/components/PrivacyFilter.tsx +++ b/packages/desktop-client/src/components/PrivacyFilter.tsx @@ -1,11 +1,6 @@ // @ts-strict-ignore -import { - Children, - useLayoutEffect, - useRef, - type ComponentPropsWithRef, - type ReactNode, -} from 'react'; +import { Children, useLayoutEffect, useRef } from 'react'; +import type { ComponentPropsWithRef, ReactNode } from 'react'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/ServerContext.tsx b/packages/desktop-client/src/components/ServerContext.tsx index f6854e2a44..f74c4945b5 100644 --- a/packages/desktop-client/src/components/ServerContext.tsx +++ b/packages/desktop-client/src/components/ServerContext.tsx @@ -4,13 +4,13 @@ import React, { useContext, useEffect, useState, - type ReactNode, } from 'react'; +import type { ReactNode } from 'react'; import { t } from 'i18next'; import { send } from 'loot-core/platform/client/fetch'; -import { type Handlers } from 'loot-core/types/handlers'; +import type { Handlers } from 'loot-core/types/handlers'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/SyncRefresh.tsx b/packages/desktop-client/src/components/SyncRefresh.tsx index d41ef5bcc5..01ed13e6f4 100644 --- a/packages/desktop-client/src/components/SyncRefresh.tsx +++ b/packages/desktop-client/src/components/SyncRefresh.tsx @@ -1,4 +1,5 @@ -import React, { useState, type ReactNode } from 'react'; +import React, { useState } from 'react'; +import type { ReactNode } from 'react'; type ChildrenProps = { refreshing: boolean; diff --git a/packages/desktop-client/src/components/ThemeSelector.tsx b/packages/desktop-client/src/components/ThemeSelector.tsx index 5c6913ef04..9afeaf9215 100644 --- a/packages/desktop-client/src/components/ThemeSelector.tsx +++ b/packages/desktop-client/src/components/ThemeSelector.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useState, type CSSProperties } from 'react'; +import React, { useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/Titlebar.tsx b/packages/desktop-client/src/components/Titlebar.tsx index f9129dda71..39894268f2 100644 --- a/packages/desktop-client/src/components/Titlebar.tsx +++ b/packages/desktop-client/src/components/Titlebar.tsx @@ -13,7 +13,8 @@ import { SvgViewShow, } from '@actual-app/components/icons/v2'; import { SpaceBetween } from '@actual-app/components/space-between'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/accounts/Account.tsx b/packages/desktop-client/src/components/accounts/Account.tsx index 837af6dcd3..a3b0a6da83 100644 --- a/packages/desktop-client/src/components/accounts/Account.tsx +++ b/packages/desktop-client/src/components/accounts/Account.tsx @@ -1,11 +1,5 @@ -import React, { - createRef, - PureComponent, - useEffect, - useMemo, - type ReactElement, - type RefObject, -} from 'react'; +import React, { createRef, PureComponent, useEffect, useMemo } from 'react'; +import type { ReactElement, RefObject } from 'react'; import { Trans } from 'react-i18next'; import { Navigate, useLocation, useParams } from 'react-router'; @@ -19,9 +13,10 @@ import { v4 as uuidv4 } from 'uuid'; import { listen, send } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; -import { type UndoState } from 'loot-core/server/undo'; +import type { UndoState } from 'loot-core/server/undo'; import { currentDay } from 'loot-core/shared/months'; -import { q, type Query } from 'loot-core/shared/query'; +import { q } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { makeAsNonChildTransactions, makeChild, @@ -30,14 +25,15 @@ import { ungroupTransactions, updateTransaction, } from 'loot-core/shared/transactions'; -import { applyChanges, type IntegerAmount } from 'loot-core/shared/util'; -import { - type AccountEntity, - type NewRuleEntity, - type RuleActionEntity, - type RuleConditionEntity, - type TransactionEntity, - type TransactionFilterEntity, +import { applyChanges } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { + AccountEntity, + NewRuleEntity, + RuleActionEntity, + RuleConditionEntity, + TransactionEntity, + TransactionFilterEntity, } from 'loot-core/types/models'; import { AccountEmptyMessage } from './AccountEmptyMessage'; @@ -50,7 +46,7 @@ import { updateAccount, } from '@desktop-client/accounts/accountsSlice'; import { syncAndDownload } from '@desktop-client/app/appSlice'; -import { type SavedFilter } from '@desktop-client/components/filters/SavedFilterMenuButton'; +import type { SavedFilter } from '@desktop-client/components/filters/SavedFilterMenuButton'; import { TransactionList } from '@desktop-client/components/transactions/TransactionList'; import { validateAccountName } from '@desktop-client/components/util/accountValidation'; import { useAccountPreviewTransactions } from '@desktop-client/hooks/useAccountPreviewTransactions'; @@ -62,10 +58,8 @@ import { useFailedAccounts } from '@desktop-client/hooks/useFailedAccounts'; import { useLocalPref } from '@desktop-client/hooks/useLocalPref'; import { usePayees } from '@desktop-client/hooks/usePayees'; import { getSchedulesQuery } from '@desktop-client/hooks/useSchedules'; -import { - SelectedProviderWithItems, - type Actions, -} from '@desktop-client/hooks/useSelected'; +import { SelectedProviderWithItems } from '@desktop-client/hooks/useSelected'; +import type { Actions } from '@desktop-client/hooks/useSelected'; import { SplitsExpandedProvider, useSplitsExpanded, @@ -83,12 +77,10 @@ import { addNotification } from '@desktop-client/notifications/notificationsSlic import { createPayee, getPayees } from '@desktop-client/payees/payeesSlice'; import * as queries from '@desktop-client/queries'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; -import { - pagedQuery, - type PagedQuery, -} from '@desktop-client/queries/pagedQuery'; +import { pagedQuery } from '@desktop-client/queries/pagedQuery'; +import type { PagedQuery } from '@desktop-client/queries/pagedQuery'; import { useDispatch, useSelector } from '@desktop-client/redux'; -import { type AppDispatch } from '@desktop-client/redux/store'; +import type { AppDispatch } from '@desktop-client/redux/store'; import { updateNewTransactions } from '@desktop-client/transactions/transactionsSlice'; type ConditionEntity = Partial | TransactionFilterEntity; diff --git a/packages/desktop-client/src/components/accounts/AccountSyncCheck.tsx b/packages/desktop-client/src/components/accounts/AccountSyncCheck.tsx index a0164a93bb..7485ed5801 100644 --- a/packages/desktop-client/src/components/accounts/AccountSyncCheck.tsx +++ b/packages/desktop-client/src/components/accounts/AccountSyncCheck.tsx @@ -8,7 +8,7 @@ import { Popover } from '@actual-app/components/popover'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { unlinkAccount } from '@desktop-client/accounts/accountsSlice'; import { Link } from '@desktop-client/components/common/Link'; diff --git a/packages/desktop-client/src/components/accounts/Balance.tsx b/packages/desktop-client/src/components/accounts/Balance.tsx index 6292cf2e40..b48caf4d52 100644 --- a/packages/desktop-client/src/components/accounts/Balance.tsx +++ b/packages/desktop-client/src/components/accounts/Balance.tsx @@ -1,4 +1,5 @@ -import React, { useRef, type RefObject } from 'react'; +import React, { useRef } from 'react'; +import type { RefObject } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -8,10 +9,11 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { useHover } from 'usehooks-ts'; -import { q, type Query } from 'loot-core/shared/query'; +import { q } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { getScheduledAmount } from 'loot-core/shared/schedules'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; @@ -23,7 +25,7 @@ import { useCachedSchedules } from '@desktop-client/hooks/useCachedSchedules'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { useSelectedItems } from '@desktop-client/hooks/useSelected'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; -import { type Binding } from '@desktop-client/spreadsheet'; +import type { Binding } from '@desktop-client/spreadsheet'; type DetailedBalanceProps = { name: string; diff --git a/packages/desktop-client/src/components/accounts/BalanceHistoryGraph.tsx b/packages/desktop-client/src/components/accounts/BalanceHistoryGraph.tsx index bd63716162..c43396f4f1 100644 --- a/packages/desktop-client/src/components/accounts/BalanceHistoryGraph.tsx +++ b/packages/desktop-client/src/components/accounts/BalanceHistoryGraph.tsx @@ -1,10 +1,5 @@ -import React, { - useEffect, - useMemo, - useState, - type CSSProperties, - type Ref, -} from 'react'; +import React, { useEffect, useMemo, useState } from 'react'; +import type { CSSProperties, Ref } from 'react'; import { AutoSizer } from 'react-virtualized-auto-sizer'; import { SpaceBetween } from '@actual-app/components/space-between'; diff --git a/packages/desktop-client/src/components/accounts/Header.tsx b/packages/desktop-client/src/components/accounts/Header.tsx index 3374edba77..09a8aee498 100644 --- a/packages/desktop-client/src/components/accounts/Header.tsx +++ b/packages/desktop-client/src/components/accounts/Header.tsx @@ -1,9 +1,5 @@ -import React, { - useRef, - useState, - type ComponentProps, - type ReactNode, -} from 'react'; +import React, { useRef, useState } from 'react'; +import type { ComponentProps, ReactNode } from 'react'; import { Dialog, DialogTrigger } from 'react-aria-components'; import { useHotkeys } from 'react-hotkeys-hook'; import { Trans, useTranslation } from 'react-i18next'; @@ -33,14 +29,14 @@ import { View } from '@actual-app/components/view'; import { format as formatDate } from 'date-fns'; import { tsToRelativeTime } from 'loot-core/shared/util'; -import { - type AccountEntity, - type RuleConditionEntity, - type TransactionEntity, - type TransactionFilterEntity, +import type { + AccountEntity, + RuleConditionEntity, + TransactionEntity, + TransactionFilterEntity, } from 'loot-core/types/models'; -import { type TableRef } from './Account'; +import type { TableRef } from './Account'; import { Balances } from './Balance'; import { BalanceHistoryGraph } from './BalanceHistoryGraph'; import { ReconcileMenu, ReconcilingMessage } from './Reconcile'; @@ -49,7 +45,7 @@ import { AnimatedRefresh } from '@desktop-client/components/AnimatedRefresh'; import { Search } from '@desktop-client/components/common/Search'; import { FilterButton } from '@desktop-client/components/filters/FiltersMenu'; import { FiltersStack } from '@desktop-client/components/filters/FiltersStack'; -import { type SavedFilter } from '@desktop-client/components/filters/SavedFilterMenuButton'; +import type { SavedFilter } from '@desktop-client/components/filters/SavedFilterMenuButton'; import { NotesButton } from '@desktop-client/components/NotesButton'; import { SelectedTransactionsButton } from '@desktop-client/components/transactions/SelectedTransactionsButton'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; diff --git a/packages/desktop-client/src/components/accounts/Reconcile.test.tsx b/packages/desktop-client/src/components/accounts/Reconcile.test.tsx index cc89c20563..37dbfee0ab 100644 --- a/packages/desktop-client/src/components/accounts/Reconcile.test.tsx +++ b/packages/desktop-client/src/components/accounts/Reconcile.test.tsx @@ -5,7 +5,7 @@ import userEvent from '@testing-library/user-event'; import { generateAccount } from 'loot-core/mocks'; import { q } from 'loot-core/shared/query'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { ReconcileMenu, ReconcilingMessage } from './Reconcile'; diff --git a/packages/desktop-client/src/components/accounts/Reconcile.tsx b/packages/desktop-client/src/components/accounts/Reconcile.tsx index c65c1b77bd..87205be82f 100644 --- a/packages/desktop-client/src/components/accounts/Reconcile.tsx +++ b/packages/desktop-client/src/components/accounts/Reconcile.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState, type FormEvent } from 'react'; +import React, { useEffect, useState } from 'react'; +import type { FormEvent } from 'react'; import { Form } from 'react-aria-components'; import { Trans } from 'react-i18next'; @@ -13,10 +14,10 @@ import { View } from '@actual-app/components/view'; import { format as formatDate } from 'date-fns'; import { t } from 'i18next'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { tsToRelativeTime } from 'loot-core/shared/util'; -import { type AccountEntity } from 'loot-core/types/models'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { AccountEntity } from 'loot-core/types/models'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; import { useFormat } from '@desktop-client/hooks/useFormat'; diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx index 66253f4634..7479e0b508 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccess.tsx @@ -1,11 +1,6 @@ // @ts-strict-ignore -import React, { - useCallback, - useEffect, - useMemo, - useState, - type CSSProperties, -} from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -18,11 +13,8 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; -import { type Handlers } from 'loot-core/types/handlers'; -import { - type UserAccessEntity, - type UserAvailable, -} from 'loot-core/types/models'; +import type { Handlers } from 'loot-core/types/handlers'; +import type { UserAccessEntity, UserAvailable } from 'loot-core/types/models'; import { UserAccessHeader } from './UserAccessHeader'; import { UserAccessRow } from './UserAccessRow'; diff --git a/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx b/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx index ae1241ee37..8c7134595e 100644 --- a/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx +++ b/packages/desktop-client/src/components/admin/UserAccess/UserAccessRow.tsx @@ -7,7 +7,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { getUserAccessErrors } from 'loot-core/shared/errors'; -import { type UserAvailable } from 'loot-core/types/models'; +import type { UserAvailable } from 'loot-core/types/models'; import { Checkbox } from '@desktop-client/components/forms'; import { Cell, Row } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx index 0963971c1a..f706fec93f 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectory.tsx @@ -1,11 +1,6 @@ // @ts-strict-ignore -import { - useCallback, - useEffect, - useMemo, - useState, - type CSSProperties, -} from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -17,7 +12,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; -import { type NewUserEntity, type UserEntity } from 'loot-core/types/models'; +import type { NewUserEntity, UserEntity } from 'loot-core/types/models'; import { UserDirectoryHeader } from './UserDirectoryHeader'; import { UserDirectoryRow } from './UserDirectoryRow'; diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx index a5e6859174..d54d77ab4c 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryPage.tsx @@ -1,4 +1,5 @@ -import React, { type ReactNode } from 'react'; +import React from 'react'; +import type { ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx index 6e1dc845b7..7b1fc0b636 100644 --- a/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx +++ b/packages/desktop-client/src/components/admin/UserDirectory/UserDirectoryRow.tsx @@ -7,7 +7,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { PossibleRoles } from 'loot-core/shared/user'; -import { type UserEntity } from 'loot-core/types/models'; +import type { UserEntity } from 'loot-core/types/models'; import { Checkbox } from '@desktop-client/components/forms'; import { Cell, Row, SelectCell } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/alerts.tsx b/packages/desktop-client/src/components/alerts.tsx index 985f7eadb2..738366b1e5 100644 --- a/packages/desktop-client/src/components/alerts.tsx +++ b/packages/desktop-client/src/components/alerts.tsx @@ -1,9 +1,6 @@ // @ts-strict-ignore -import React, { - type ComponentType, - type CSSProperties, - type ReactNode, -} from 'react'; +import React from 'react'; +import type { ComponentType, CSSProperties, ReactNode } from 'react'; import { SvgExclamationOutline, diff --git a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx index 15559b59f4..4982ba8d13 100644 --- a/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/AccountAutocomplete.tsx @@ -1,11 +1,10 @@ // @ts-strict-ignore -import React, { - Fragment, - useMemo, - type ComponentProps, - type ComponentPropsWithoutRef, - type CSSProperties, - type ReactElement, +import React, { Fragment, useMemo } from 'react'; +import type { + ComponentProps, + ComponentPropsWithoutRef, + CSSProperties, + ReactElement, } from 'react'; import { useTranslation } from 'react-i18next'; @@ -16,7 +15,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { Autocomplete } from './Autocomplete'; import { ItemHeader } from './ItemHeader'; diff --git a/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx b/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx index ccd201902d..2e5f0cc820 100644 --- a/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/Autocomplete.tsx @@ -1,13 +1,10 @@ // @ts-strict-ignore -import React, { - useEffect, - useMemo, - useRef, - useState, - type ComponentProps, - type HTMLProps, - type KeyboardEvent, - type ReactNode, +import React, { useEffect, useMemo, useRef, useState } from 'react'; +import type { + ComponentProps, + HTMLProps, + KeyboardEvent, + ReactNode, } from 'react'; import { Button } from '@actual-app/components/button'; @@ -19,7 +16,8 @@ import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; -import Downshift, { type StateChangeTypes } from 'downshift'; +import Downshift from 'downshift'; +import type { StateChangeTypes } from 'downshift'; import { getNormalisedString } from 'loot-core/shared/normalisation'; diff --git a/packages/desktop-client/src/components/autocomplete/CategoryAutocomplete.tsx b/packages/desktop-client/src/components/autocomplete/CategoryAutocomplete.tsx index f994fc620f..39a71c8c8d 100644 --- a/packages/desktop-client/src/components/autocomplete/CategoryAutocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/CategoryAutocomplete.tsx @@ -1,14 +1,12 @@ -import React, { - Fragment, - useCallback, - useMemo, - type ComponentProps, - type ComponentPropsWithoutRef, - type ComponentType, - type CSSProperties, - type ReactElement, - type ReactNode, - type SVGProps, +import React, { Fragment, useCallback, useMemo } from 'react'; +import type { + ComponentProps, + ComponentPropsWithoutRef, + ComponentType, + CSSProperties, + ReactElement, + ReactNode, + SVGProps, } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -23,9 +21,9 @@ import { css, cx } from '@emotion/css'; import { getNormalisedString } from 'loot-core/shared/normalisation'; import { integerToCurrency } from 'loot-core/shared/util'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { Autocomplete, defaultFilterSuggestion } from './Autocomplete'; diff --git a/packages/desktop-client/src/components/autocomplete/FilterAutocomplete.tsx b/packages/desktop-client/src/components/autocomplete/FilterAutocomplete.tsx index b12ea79518..244a0f7c46 100644 --- a/packages/desktop-client/src/components/autocomplete/FilterAutocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/FilterAutocomplete.tsx @@ -1,6 +1,7 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; -import { type TransactionFilterEntity } from 'loot-core/types/models'; +import type { TransactionFilterEntity } from 'loot-core/types/models'; import { Autocomplete } from './Autocomplete'; import { FilterList } from './FilterList'; diff --git a/packages/desktop-client/src/components/autocomplete/FilterList.tsx b/packages/desktop-client/src/components/autocomplete/FilterList.tsx index 642181b9ee..4f0dbc40d2 100644 --- a/packages/desktop-client/src/components/autocomplete/FilterList.tsx +++ b/packages/desktop-client/src/components/autocomplete/FilterList.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/autocomplete/ItemHeader.tsx b/packages/desktop-client/src/components/autocomplete/ItemHeader.tsx index 9c4d2bc85f..adadbf378b 100644 --- a/packages/desktop-client/src/components/autocomplete/ItemHeader.tsx +++ b/packages/desktop-client/src/components/autocomplete/ItemHeader.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; import { styles } from '@actual-app/components/styles'; diff --git a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx index e606432cc0..7b50e9a5ab 100644 --- a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx +++ b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.test.tsx @@ -1,14 +1,13 @@ -import { render, screen, type Screen } from '@testing-library/react'; +import { render, screen } from '@testing-library/react'; +import type { Screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { vi } from 'vitest'; import { generateAccount } from 'loot-core/mocks'; import type { AccountEntity, PayeeEntity } from 'loot-core/types/models'; -import { - PayeeAutocomplete, - type PayeeAutocompleteProps, -} from './PayeeAutocomplete'; +import { PayeeAutocomplete } from './PayeeAutocomplete'; +import type { PayeeAutocompleteProps } from './PayeeAutocomplete'; import { AuthProvider } from '@desktop-client/auth/AuthProvider'; import { useCommonPayees } from '@desktop-client/hooks/usePayees'; diff --git a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.tsx b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.tsx index 3efd1008ce..cdf329804e 100644 --- a/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/PayeeAutocomplete.tsx @@ -1,15 +1,13 @@ // @ts-strict-ignore -import React, { - Fragment, - useMemo, - useState, - type ComponentProps, - type ComponentPropsWithoutRef, - type ComponentType, - type CSSProperties, - type ReactElement, - type ReactNode, - type SVGProps, +import React, { Fragment, useMemo, useState } from 'react'; +import type { + ComponentProps, + ComponentPropsWithoutRef, + ComponentType, + CSSProperties, + ReactElement, + ReactNode, + SVGProps, } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -23,7 +21,7 @@ import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; import { getNormalisedString } from 'loot-core/shared/normalisation'; -import { type AccountEntity, type PayeeEntity } from 'loot-core/types/models'; +import type { AccountEntity, PayeeEntity } from 'loot-core/types/models'; import { Autocomplete, diff --git a/packages/desktop-client/src/components/autocomplete/ReportAutocomplete.tsx b/packages/desktop-client/src/components/autocomplete/ReportAutocomplete.tsx index c5bd533e71..39e663e464 100644 --- a/packages/desktop-client/src/components/autocomplete/ReportAutocomplete.tsx +++ b/packages/desktop-client/src/components/autocomplete/ReportAutocomplete.tsx @@ -1,6 +1,7 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; -import { type CustomReportEntity } from 'loot-core/types/models'; +import type { CustomReportEntity } from 'loot-core/types/models'; import { Autocomplete } from './Autocomplete'; import { ReportList } from './ReportList'; diff --git a/packages/desktop-client/src/components/autocomplete/ReportList.tsx b/packages/desktop-client/src/components/autocomplete/ReportList.tsx index 60c82d7dd0..ac68e98e51 100644 --- a/packages/desktop-client/src/components/autocomplete/ReportList.tsx +++ b/packages/desktop-client/src/components/autocomplete/ReportList.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/banksync/AccountRow.tsx b/packages/desktop-client/src/components/banksync/AccountRow.tsx index 587db777a2..426d8e36e4 100644 --- a/packages/desktop-client/src/components/banksync/AccountRow.tsx +++ b/packages/desktop-client/src/components/banksync/AccountRow.tsx @@ -5,10 +5,11 @@ import { Button } from '@actual-app/components/button'; import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { Tooltip } from '@actual-app/components/tooltip'; -import { format as formatDate, type Locale } from 'date-fns'; +import { format as formatDate } from 'date-fns'; +import type { Locale } from 'date-fns'; import { tsToRelativeTime } from 'loot-core/shared/util'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { Cell, Row } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/banksync/AccountsList.tsx b/packages/desktop-client/src/components/banksync/AccountsList.tsx index 17b40f9819..ab342d47fa 100644 --- a/packages/desktop-client/src/components/banksync/AccountsList.tsx +++ b/packages/desktop-client/src/components/banksync/AccountsList.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { AccountRow } from './AccountRow'; diff --git a/packages/desktop-client/src/components/banksync/BankSyncCheckboxOptions.tsx b/packages/desktop-client/src/components/banksync/BankSyncCheckboxOptions.tsx index 45e312f092..fbd5d1de14 100644 --- a/packages/desktop-client/src/components/banksync/BankSyncCheckboxOptions.tsx +++ b/packages/desktop-client/src/components/banksync/BankSyncCheckboxOptions.tsx @@ -1,4 +1,5 @@ -import React, { useState, type ReactNode } from 'react'; +import React, { useState } from 'react'; +import type { ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/banksync/EditSyncAccount.tsx b/packages/desktop-client/src/components/banksync/EditSyncAccount.tsx index 9cff66388c..c221122449 100644 --- a/packages/desktop-client/src/components/banksync/EditSyncAccount.tsx +++ b/packages/desktop-client/src/components/banksync/EditSyncAccount.tsx @@ -7,7 +7,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { BankSyncCheckboxOptions } from './BankSyncCheckboxOptions'; import { FieldMapping } from './FieldMapping'; diff --git a/packages/desktop-client/src/components/banksync/FieldMapping.tsx b/packages/desktop-client/src/components/banksync/FieldMapping.tsx index 2c6f45dbc1..b48d25087d 100644 --- a/packages/desktop-client/src/components/banksync/FieldMapping.tsx +++ b/packages/desktop-client/src/components/banksync/FieldMapping.tsx @@ -9,9 +9,9 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type MappableFieldWithExample, - type TransactionDirection, +import type { + MappableFieldWithExample, + TransactionDirection, } from './EditSyncAccount'; import { Cell, Row, TableHeader } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/banksync/index.tsx b/packages/desktop-client/src/components/banksync/index.tsx index 15850e5033..d095052ac9 100644 --- a/packages/desktop-client/src/components/banksync/index.tsx +++ b/packages/desktop-client/src/components/banksync/index.tsx @@ -6,10 +6,7 @@ import { styles } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { View } from '@actual-app/components/view'; -import { - type AccountEntity, - type BankSyncProviders, -} from 'loot-core/types/models'; +import type { AccountEntity, BankSyncProviders } from 'loot-core/types/models'; import { AccountsHeader } from './AccountsHeader'; import { AccountsList } from './AccountsList'; diff --git a/packages/desktop-client/src/components/banksync/useBankSyncAccountSettings.ts b/packages/desktop-client/src/components/banksync/useBankSyncAccountSettings.ts index 48c7a23fae..cb1bb87181 100644 --- a/packages/desktop-client/src/components/banksync/useBankSyncAccountSettings.ts +++ b/packages/desktop-client/src/components/banksync/useBankSyncAccountSettings.ts @@ -4,14 +4,14 @@ import { defaultMappings, mappingsFromString, mappingsToString, - type Mappings, } from 'loot-core/server/util/custom-sync-mapping'; +import type { Mappings } from 'loot-core/server/util/custom-sync-mapping'; import { q } from 'loot-core/shared/query'; -import { - getFields, - type MappableFieldWithExample, - type TransactionDirection, +import { getFields } from './EditSyncAccount'; +import type { + MappableFieldWithExample, + TransactionDirection, } from './EditSyncAccount'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; diff --git a/packages/desktop-client/src/components/budget/BalanceWithCarryover.tsx b/packages/desktop-client/src/components/budget/BalanceWithCarryover.tsx index d02354a13a..37efa00397 100644 --- a/packages/desktop-client/src/components/budget/BalanceWithCarryover.tsx +++ b/packages/desktop-client/src/components/budget/BalanceWithCarryover.tsx @@ -1,9 +1,9 @@ // @ts-strict-ignore -import React, { - useCallback, - type ComponentPropsWithoutRef, - type ComponentType, - type CSSProperties, +import React, { useCallback } from 'react'; +import type { + ComponentPropsWithoutRef, + ComponentType, + CSSProperties, } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -15,7 +15,7 @@ import { Tooltip } from '@actual-app/components/tooltip'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { makeBalanceAmountStyle } from './util'; @@ -26,7 +26,7 @@ import { import { useFeatureFlag } from '@desktop-client/hooks/useFeatureFlag'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; -import { type Binding } from '@desktop-client/spreadsheet'; +import type { Binding } from '@desktop-client/spreadsheet'; type CarryoverIndicatorProps = { style?: CSSProperties; diff --git a/packages/desktop-client/src/components/budget/BudgetCategories.tsx b/packages/desktop-client/src/components/budget/BudgetCategories.tsx index 32c7a6cce6..fd21888cd9 100644 --- a/packages/desktop-client/src/components/budget/BudgetCategories.tsx +++ b/packages/desktop-client/src/components/budget/BudgetCategories.tsx @@ -4,9 +4,9 @@ import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { ExpenseCategory } from './ExpenseCategory'; @@ -18,10 +18,10 @@ import { SidebarCategory } from './SidebarCategory'; import { SidebarGroup } from './SidebarGroup'; import { separateGroups } from './util'; -import { - DropHighlightPosContext, - type DragState, - type OnDropCallback, +import { DropHighlightPosContext } from '@desktop-client/components/sort'; +import type { + DragState, + OnDropCallback, } from '@desktop-client/components/sort'; import { Row } from '@desktop-client/components/table'; import { useLocalPref } from '@desktop-client/hooks/useLocalPref'; diff --git a/packages/desktop-client/src/components/budget/BudgetMonthCountContext.tsx b/packages/desktop-client/src/components/budget/BudgetMonthCountContext.tsx index 858375d5cc..7c3e7b0bbb 100644 --- a/packages/desktop-client/src/components/budget/BudgetMonthCountContext.tsx +++ b/packages/desktop-client/src/components/budget/BudgetMonthCountContext.tsx @@ -1,12 +1,6 @@ // @ts-strict-ignore -import React, { - createContext, - useContext, - useState, - type Dispatch, - type ReactNode, - type SetStateAction, -} from 'react'; +import React, { createContext, useContext, useState } from 'react'; +import type { Dispatch, ReactNode, SetStateAction } from 'react'; type BudgetMonthCountContextValue = { displayMax: number; diff --git a/packages/desktop-client/src/components/budget/BudgetPageHeader.tsx b/packages/desktop-client/src/components/budget/BudgetPageHeader.tsx index 25f96ae0fd..a42d4922aa 100644 --- a/packages/desktop-client/src/components/budget/BudgetPageHeader.tsx +++ b/packages/desktop-client/src/components/budget/BudgetPageHeader.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { memo, type ComponentProps } from 'react'; +import React, { memo } from 'react'; +import type { ComponentProps } from 'react'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/budget/BudgetTable.tsx b/packages/desktop-client/src/components/budget/BudgetTable.tsx index f22aeba93b..2263f826b4 100644 --- a/packages/desktop-client/src/components/budget/BudgetTable.tsx +++ b/packages/desktop-client/src/components/budget/BudgetTable.tsx @@ -1,19 +1,21 @@ -import React, { useMemo, useState, type KeyboardEvent } from 'react'; +import React, { useMemo, useState } from 'react'; +import type { KeyboardEvent } from 'react'; import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { q } from 'loot-core/shared/query'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { BudgetCategories } from './BudgetCategories'; import { BudgetSummaries } from './BudgetSummaries'; import { BudgetTotals } from './BudgetTotals'; -import { MonthsProvider, type MonthBounds } from './MonthsContext'; +import { MonthsProvider } from './MonthsContext'; +import type { MonthBounds } from './MonthsContext'; import { findSortDown, findSortUp, @@ -21,7 +23,7 @@ import { separateGroups, } from './util'; -import { type DropPosition } from '@desktop-client/components/sort'; +import type { DropPosition } from '@desktop-client/components/sort'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; import { useCategories } from '@desktop-client/hooks/useCategories'; import { useGlobalPref } from '@desktop-client/hooks/useGlobalPref'; diff --git a/packages/desktop-client/src/components/budget/DynamicBudgetTable.tsx b/packages/desktop-client/src/components/budget/DynamicBudgetTable.tsx index f31e7e560a..bb1b5a7136 100644 --- a/packages/desktop-client/src/components/budget/DynamicBudgetTable.tsx +++ b/packages/desktop-client/src/components/budget/DynamicBudgetTable.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useEffect, type ComponentProps } from 'react'; +import React, { useEffect } from 'react'; +import type { ComponentProps } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; import { AutoSizer } from 'react-virtualized-auto-sizer'; diff --git a/packages/desktop-client/src/components/budget/ExpenseCategory.tsx b/packages/desktop-client/src/components/budget/ExpenseCategory.tsx index 21fbbab0c4..0afc324e40 100644 --- a/packages/desktop-client/src/components/budget/ExpenseCategory.tsx +++ b/packages/desktop-client/src/components/budget/ExpenseCategory.tsx @@ -1,12 +1,13 @@ // @ts-strict-ignore -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { RenderMonths } from './RenderMonths'; @@ -18,9 +19,11 @@ import { DropHighlight, useDraggable, useDroppable, - type DragState, - type OnDragChangeCallback, - type OnDropCallback, +} from '@desktop-client/components/sort'; +import type { + DragState, + OnDragChangeCallback, + OnDropCallback, } from '@desktop-client/components/sort'; import { Row } from '@desktop-client/components/table'; import { useDragRef } from '@desktop-client/hooks/useDragRef'; diff --git a/packages/desktop-client/src/components/budget/ExpenseGroup.tsx b/packages/desktop-client/src/components/budget/ExpenseGroup.tsx index 1c5ca09cf2..492f0abd50 100644 --- a/packages/desktop-client/src/components/budget/ExpenseGroup.tsx +++ b/packages/desktop-client/src/components/budget/ExpenseGroup.tsx @@ -1,12 +1,13 @@ // @ts-strict-ignore -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { RenderMonths } from './RenderMonths'; @@ -18,9 +19,11 @@ import { DropHighlight, useDraggable, useDroppable, - type DragState, - type OnDragChangeCallback, - type OnDropCallback, +} from '@desktop-client/components/sort'; +import type { + DragState, + OnDragChangeCallback, + OnDropCallback, } from '@desktop-client/components/sort'; import { Row, ROW_HEIGHT } from '@desktop-client/components/table'; import { useDragRef } from '@desktop-client/hooks/useDragRef'; diff --git a/packages/desktop-client/src/components/budget/IncomeCategory.tsx b/packages/desktop-client/src/components/budget/IncomeCategory.tsx index 64e067ffa6..ac8b8cd1f8 100644 --- a/packages/desktop-client/src/components/budget/IncomeCategory.tsx +++ b/packages/desktop-client/src/components/budget/IncomeCategory.tsx @@ -1,7 +1,8 @@ // @ts-strict-ignore -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { RenderMonths } from './RenderMonths'; import { SidebarCategory } from './SidebarCategory'; @@ -12,8 +13,10 @@ import { DropHighlight, useDraggable, useDroppable, - type OnDragChangeCallback, - type OnDropCallback, +} from '@desktop-client/components/sort'; +import type { + OnDragChangeCallback, + OnDropCallback, } from '@desktop-client/components/sort'; import { Row } from '@desktop-client/components/table'; import { useDragRef } from '@desktop-client/hooks/useDragRef'; diff --git a/packages/desktop-client/src/components/budget/IncomeGroup.tsx b/packages/desktop-client/src/components/budget/IncomeGroup.tsx index 0b56d50c07..b43fad4da1 100644 --- a/packages/desktop-client/src/components/budget/IncomeGroup.tsx +++ b/packages/desktop-client/src/components/budget/IncomeGroup.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { theme } from '@actual-app/components/theme'; -import { type CategoryGroupEntity } from 'loot-core/types/models'; +import type { CategoryGroupEntity } from 'loot-core/types/models'; import { RenderMonths } from './RenderMonths'; import { SidebarGroup } from './SidebarGroup'; diff --git a/packages/desktop-client/src/components/budget/MonthPicker.tsx b/packages/desktop-client/src/components/budget/MonthPicker.tsx index 9bfd8458cf..52ccd238cc 100644 --- a/packages/desktop-client/src/components/budget/MonthPicker.tsx +++ b/packages/desktop-client/src/components/budget/MonthPicker.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useState, type CSSProperties } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { @@ -13,7 +14,7 @@ import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { type MonthBounds } from './MonthsContext'; +import type { MonthBounds } from './MonthsContext'; import { Link } from '@desktop-client/components/common/Link'; import { useLocale } from '@desktop-client/hooks/useLocale'; diff --git a/packages/desktop-client/src/components/budget/MonthsContext.tsx b/packages/desktop-client/src/components/budget/MonthsContext.tsx index f731869d4e..8fd22e075b 100644 --- a/packages/desktop-client/src/components/budget/MonthsContext.tsx +++ b/packages/desktop-client/src/components/budget/MonthsContext.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { createContext, type ReactNode } from 'react'; +import React, { createContext } from 'react'; +import type { ReactNode } from 'react'; import * as monthUtils from 'loot-core/shared/months'; diff --git a/packages/desktop-client/src/components/budget/RenderMonths.tsx b/packages/desktop-client/src/components/budget/RenderMonths.tsx index 1d74eaf76e..c9cc2c1edf 100644 --- a/packages/desktop-client/src/components/budget/RenderMonths.tsx +++ b/packages/desktop-client/src/components/budget/RenderMonths.tsx @@ -1,4 +1,5 @@ -import React, { useContext, type CSSProperties, type ReactNode } from 'react'; +import React, { useContext } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/budget/SidebarCategory.tsx b/packages/desktop-client/src/components/budget/SidebarCategory.tsx index 93b6b97dcf..c6b4cae875 100644 --- a/packages/desktop-client/src/components/budget/SidebarCategory.tsx +++ b/packages/desktop-client/src/components/budget/SidebarCategory.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useRef, type CSSProperties, type Ref } from 'react'; +import React, { useRef } from 'react'; +import type { CSSProperties, Ref } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -10,9 +11,9 @@ import { TextOneLine } from '@actual-app/components/text-one-line'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { SidebarCategoryButtons } from './SidebarCategoryButtons'; diff --git a/packages/desktop-client/src/components/budget/SidebarCategoryButtons.tsx b/packages/desktop-client/src/components/budget/SidebarCategoryButtons.tsx index 8b549c09f1..1e9a2e91d7 100644 --- a/packages/desktop-client/src/components/budget/SidebarCategoryButtons.tsx +++ b/packages/desktop-client/src/components/budget/SidebarCategoryButtons.tsx @@ -1,7 +1,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type CategoryEntity } from 'loot-core/types/models/category'; +import type { CategoryEntity } from 'loot-core/types/models/category'; import { CategoryAutomationButton } from './goals/CategoryAutomationButton'; diff --git a/packages/desktop-client/src/components/budget/SidebarGroup.tsx b/packages/desktop-client/src/components/budget/SidebarGroup.tsx index b0bfc9dbec..c80d0d9aa1 100644 --- a/packages/desktop-client/src/components/budget/SidebarGroup.tsx +++ b/packages/desktop-client/src/components/budget/SidebarGroup.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useRef, type CSSProperties, type RefCallback } from 'react'; +import React, { useRef } from 'react'; +import type { CSSProperties, RefCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -13,9 +14,9 @@ import { Tooltip } from '@actual-app/components/tooltip'; import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { NotesButton } from '@desktop-client/components/NotesButton'; diff --git a/packages/desktop-client/src/components/budget/envelope/BalanceMenu.tsx b/packages/desktop-client/src/components/budget/envelope/BalanceMenu.tsx index 188066827c..a845156f71 100644 --- a/packages/desktop-client/src/components/budget/envelope/BalanceMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/BalanceMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/envelope/BudgetMenu.tsx b/packages/desktop-client/src/components/budget/envelope/BudgetMenu.tsx index 742b18ad86..3416bde64c 100644 --- a/packages/desktop-client/src/components/budget/envelope/BudgetMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/BudgetMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/envelope/CoverMenu.tsx b/packages/desktop-client/src/components/budget/envelope/CoverMenu.tsx index 01ea2f26e3..796b7f6dc2 100644 --- a/packages/desktop-client/src/components/budget/envelope/CoverMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/CoverMenu.tsx @@ -9,12 +9,9 @@ import { styles } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; import { evalArithmetic } from 'loot-core/shared/arithmetic'; -import { - amountToInteger, - integerToCurrency, - type IntegerAmount, -} from 'loot-core/shared/util'; -import { type CategoryEntity } from 'loot-core/types/models'; +import { amountToInteger, integerToCurrency } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { CategoryEntity } from 'loot-core/types/models'; import { CategoryAutocomplete } from '@desktop-client/components/autocomplete/CategoryAutocomplete'; import { diff --git a/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetComponents.tsx b/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetComponents.tsx index 5c0b40a1f3..17e9d11e52 100644 --- a/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetComponents.tsx +++ b/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetComponents.tsx @@ -1,9 +1,5 @@ -import React, { - memo, - useRef, - type ComponentProps, - type CSSProperties, -} from 'react'; +import React, { memo, useRef } from 'react'; +import type { ComponentProps, CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -21,7 +17,7 @@ import { css } from '@emotion/css'; import * as monthUtils from 'loot-core/shared/months'; -import { type CategoryGroupMonthProps, type CategoryMonthProps } from '..'; +import type { CategoryGroupMonthProps, CategoryMonthProps } from '..'; import { BalanceMovementMenu } from './BalanceMovementMenu'; import { BudgetMenu } from './BudgetMenu'; @@ -33,12 +29,8 @@ import { CellValue, CellValueText, } from '@desktop-client/components/spreadsheet/CellValue'; -import { - Field, - Row, - SheetCell, - type SheetCellProps, -} from '@desktop-client/components/table'; +import { Field, Row, SheetCell } from '@desktop-client/components/table'; +import type { SheetCellProps } from '@desktop-client/components/table'; import { useCategoryScheduleGoalTemplateIndicator } from '@desktop-client/hooks/useCategoryScheduleGoalTemplateIndicator'; import { useContextMenu } from '@desktop-client/hooks/useContextMenu'; import { useFormat } from '@desktop-client/hooks/useFormat'; @@ -46,7 +38,7 @@ import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { useSheetName } from '@desktop-client/hooks/useSheetName'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; import { useUndo } from '@desktop-client/hooks/useUndo'; -import { type Binding, type SheetFields } from '@desktop-client/spreadsheet'; +import type { Binding, SheetFields } from '@desktop-client/spreadsheet'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; export function useEnvelopeSheetName< diff --git a/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetContext.tsx b/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetContext.tsx index c34e90e285..a080c84ca2 100644 --- a/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetContext.tsx +++ b/packages/desktop-client/src/components/budget/envelope/EnvelopeBudgetContext.tsx @@ -1,4 +1,5 @@ -import React, { createContext, useContext, type ReactNode } from 'react'; +import React, { createContext, useContext } from 'react'; +import type { ReactNode } from 'react'; import * as monthUtils from 'loot-core/shared/months'; diff --git a/packages/desktop-client/src/components/budget/envelope/HoldMenu.tsx b/packages/desktop-client/src/components/budget/envelope/HoldMenu.tsx index 71c33daf3a..f6a040b40e 100644 --- a/packages/desktop-client/src/components/budget/envelope/HoldMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/HoldMenu.tsx @@ -6,7 +6,7 @@ import { Button } from '@actual-app/components/button'; import { InitialFocus } from '@actual-app/components/initial-focus'; import { View } from '@actual-app/components/view'; -import { type IntegerAmount } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; import { FinancialInput } from '@desktop-client/components/util/FinancialInput'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; diff --git a/packages/desktop-client/src/components/budget/envelope/IncomeMenu.tsx b/packages/desktop-client/src/components/budget/envelope/IncomeMenu.tsx index 3c75388d70..ac1377043e 100644 --- a/packages/desktop-client/src/components/budget/envelope/IncomeMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/IncomeMenu.tsx @@ -2,7 +2,7 @@ import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { useEnvelopeSheetValue } from './EnvelopeBudgetComponents'; diff --git a/packages/desktop-client/src/components/budget/envelope/TransferMenu.tsx b/packages/desktop-client/src/components/budget/envelope/TransferMenu.tsx index 1ecfbb5fd3..2c90b068f0 100644 --- a/packages/desktop-client/src/components/budget/envelope/TransferMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/TransferMenu.tsx @@ -6,8 +6,8 @@ import { Button } from '@actual-app/components/button'; import { InitialFocus } from '@actual-app/components/initial-focus'; import { View } from '@actual-app/components/view'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { CategoryEntity } from 'loot-core/types/models'; import { CategoryAutocomplete } from '@desktop-client/components/autocomplete/CategoryAutocomplete'; import { diff --git a/packages/desktop-client/src/components/budget/envelope/budgetsummary/BudgetMonthMenu.tsx b/packages/desktop-client/src/components/budget/envelope/budgetsummary/BudgetMonthMenu.tsx index 8cdd0be6ad..9cbea4c3e4 100644 --- a/packages/desktop-client/src/components/budget/envelope/budgetsummary/BudgetMonthMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/budgetsummary/BudgetMonthMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudget.tsx b/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudget.tsx index e344d939db..0993a5ed2e 100644 --- a/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudget.tsx +++ b/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudget.tsx @@ -1,9 +1,5 @@ -import React, { - useCallback, - useRef, - useState, - type CSSProperties, -} from 'react'; +import React, { useCallback, useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Popover } from '@actual-app/components/popover'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetAmount.tsx b/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetAmount.tsx index a7358c58d2..a8d3dc0fe1 100644 --- a/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetAmount.tsx +++ b/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetAmount.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties, type MouseEventHandler } from 'react'; +import React from 'react'; +import type { CSSProperties, MouseEventHandler } from 'react'; import { useTranslation } from 'react-i18next'; import { Block } from '@actual-app/components/block'; diff --git a/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetMenu.tsx b/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetMenu.tsx index b53be784b6..fb2305b59b 100644 --- a/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetMenu.tsx +++ b/packages/desktop-client/src/components/budget/envelope/budgetsummary/ToBudgetMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/envelope/budgetsummary/TotalsList.tsx b/packages/desktop-client/src/components/budget/envelope/budgetsummary/TotalsList.tsx index 8c8f4ccc84..d4fdcf16f7 100644 --- a/packages/desktop-client/src/components/budget/envelope/budgetsummary/TotalsList.tsx +++ b/packages/desktop-client/src/components/budget/envelope/budgetsummary/TotalsList.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -9,7 +10,8 @@ import { View } from '@actual-app/components/view'; import { EnvelopeCellValue } from '@desktop-client/components/budget/envelope/EnvelopeBudgetComponents'; import { CellValueText } from '@desktop-client/components/spreadsheet/CellValue'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; /** diff --git a/packages/desktop-client/src/components/budget/goals/BudgetAutomation.tsx b/packages/desktop-client/src/components/budget/goals/BudgetAutomation.tsx index 2a40adeb64..7f1adfb214 100644 --- a/packages/desktop-client/src/components/budget/goals/BudgetAutomation.tsx +++ b/packages/desktop-client/src/components/budget/goals/BudgetAutomation.tsx @@ -1,13 +1,13 @@ import { useMemo, useReducer, useRef, useState } from 'react'; import { SpaceBetween } from '@actual-app/components/space-between'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; -import { - type CategoryGroupEntity, - type ScheduleEntity, +import type { + CategoryGroupEntity, + ScheduleEntity, } from 'loot-core/types/models'; -import { type Template } from 'loot-core/types/models/templates'; +import type { Template } from 'loot-core/types/models/templates'; import { BudgetAutomationEditor } from './BudgetAutomationEditor'; import { BudgetAutomationReadOnly } from './BudgetAutomationReadOnly'; diff --git a/packages/desktop-client/src/components/budget/goals/BudgetAutomationEditor.tsx b/packages/desktop-client/src/components/budget/goals/BudgetAutomationEditor.tsx index 80a9095f98..8d4bdd45d5 100644 --- a/packages/desktop-client/src/components/budget/goals/BudgetAutomationEditor.tsx +++ b/packages/desktop-client/src/components/budget/goals/BudgetAutomationEditor.tsx @@ -1,4 +1,4 @@ -import { type ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { InitialFocus } from '@actual-app/components/initial-focus'; @@ -13,8 +13,10 @@ import type { ScheduleEntity, } from 'loot-core/types/models'; -import { setType, type Action } from './actions'; -import { displayTemplateTypes, type ReducerState } from './constants'; +import { setType } from './actions'; +import type { Action } from './actions'; +import { displayTemplateTypes } from './constants'; +import type { ReducerState } from './constants'; import { HistoricalAutomation } from './editor/HistoricalAutomation'; import { PercentageAutomation } from './editor/PercentageAutomation'; import { ScheduleAutomation } from './editor/ScheduleAutomation'; diff --git a/packages/desktop-client/src/components/budget/goals/BudgetAutomationReadOnly.tsx b/packages/desktop-client/src/components/budget/goals/BudgetAutomationReadOnly.tsx index e2e64eacc9..72862f4875 100644 --- a/packages/desktop-client/src/components/budget/goals/BudgetAutomationReadOnly.tsx +++ b/packages/desktop-client/src/components/budget/goals/BudgetAutomationReadOnly.tsx @@ -1,4 +1,4 @@ -import { type Dispatch, type SetStateAction } from 'react'; +import type { Dispatch, SetStateAction } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -8,12 +8,12 @@ import { SvgCheveronUp, } from '@actual-app/components/icons/v1'; import { SpaceBetween } from '@actual-app/components/space-between'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type ReducerState } from './constants'; +import type { ReducerState } from './constants'; import { HistoricalAutomationReadOnly } from './editor/HistoricalAutomationReadOnly'; import { PercentageAutomationReadOnly } from './editor/PercentageAutomationReadOnly'; import { ScheduleAutomationReadOnly } from './editor/ScheduleAutomationReadOnly'; diff --git a/packages/desktop-client/src/components/budget/goals/CategoryAutomationButton.tsx b/packages/desktop-client/src/components/budget/goals/CategoryAutomationButton.tsx index 6277c9cd21..f56e73e1cf 100644 --- a/packages/desktop-client/src/components/budget/goals/CategoryAutomationButton.tsx +++ b/packages/desktop-client/src/components/budget/goals/CategoryAutomationButton.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -6,7 +7,7 @@ import { SvgChartPie } from '@actual-app/components/icons/v1'; import { theme } from '@actual-app/components/theme'; import { css, cx } from '@emotion/css'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { useFeatureFlag } from '@desktop-client/hooks/useFeatureFlag'; import { pushModal } from '@desktop-client/modals/modalsSlice'; diff --git a/packages/desktop-client/src/components/budget/goals/actions.ts b/packages/desktop-client/src/components/budget/goals/actions.ts index f100085496..ac1538e58f 100644 --- a/packages/desktop-client/src/components/budget/goals/actions.ts +++ b/packages/desktop-client/src/components/budget/goals/actions.ts @@ -1,6 +1,6 @@ -import { type Template } from 'loot-core/types/models/templates'; +import type { Template } from 'loot-core/types/models/templates'; -import { type DisplayTemplateType } from './constants'; +import type { DisplayTemplateType } from './constants'; type SET_TYPE = { type: 'set-type'; diff --git a/packages/desktop-client/src/components/budget/goals/constants.ts b/packages/desktop-client/src/components/budget/goals/constants.ts index f9e52f5034..b8af0ab5b4 100644 --- a/packages/desktop-client/src/components/budget/goals/constants.ts +++ b/packages/desktop-client/src/components/budget/goals/constants.ts @@ -1,10 +1,10 @@ -import { - type AverageTemplate, - type CopyTemplate, - type PercentageTemplate, - type PeriodicTemplate, - type ScheduleTemplate, - type SimpleTemplate, +import type { + AverageTemplate, + CopyTemplate, + PercentageTemplate, + PeriodicTemplate, + ScheduleTemplate, + SimpleTemplate, } from 'loot-core/types/models/templates'; export const displayTemplateTypes = [ diff --git a/packages/desktop-client/src/components/budget/goals/editor/HistoricalAutomation.tsx b/packages/desktop-client/src/components/budget/goals/editor/HistoricalAutomation.tsx index 533306c9be..44604d7311 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/HistoricalAutomation.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/HistoricalAutomation.tsx @@ -8,10 +8,8 @@ import type { CopyTemplate, } from 'loot-core/types/models/templates'; -import { - updateTemplate, - type Action, -} from '@desktop-client/components/budget/goals/actions'; +import { updateTemplate } from '@desktop-client/components/budget/goals/actions'; +import type { Action } from '@desktop-client/components/budget/goals/actions'; import { FormField, FormLabel } from '@desktop-client/components/forms'; import { GenericInput } from '@desktop-client/components/util/GenericInput'; diff --git a/packages/desktop-client/src/components/budget/goals/editor/PercentageAutomation.tsx b/packages/desktop-client/src/components/budget/goals/editor/PercentageAutomation.tsx index e97b93f9d7..1180104264 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/PercentageAutomation.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/PercentageAutomation.tsx @@ -11,10 +11,8 @@ import type { import type { PercentageTemplate } from 'loot-core/types/models/templates'; import { CategoryAutocomplete } from '@desktop-client/components/autocomplete/CategoryAutocomplete'; -import { - updateTemplate, - type Action, -} from '@desktop-client/components/budget/goals/actions'; +import { updateTemplate } from '@desktop-client/components/budget/goals/actions'; +import type { Action } from '@desktop-client/components/budget/goals/actions'; import { FormField, FormLabel } from '@desktop-client/components/forms'; import { PercentInput } from '@desktop-client/components/util/PercentInput'; diff --git a/packages/desktop-client/src/components/budget/goals/editor/ScheduleAutomation.tsx b/packages/desktop-client/src/components/budget/goals/editor/ScheduleAutomation.tsx index fd5b1f5182..56f8830b3d 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/ScheduleAutomation.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/ScheduleAutomation.tsx @@ -7,10 +7,8 @@ import { Text } from '@actual-app/components/text'; import type { ScheduleEntity } from 'loot-core/types/models'; import type { ScheduleTemplate } from 'loot-core/types/models/templates'; -import { - updateTemplate, - type Action, -} from '@desktop-client/components/budget/goals/actions'; +import { updateTemplate } from '@desktop-client/components/budget/goals/actions'; +import type { Action } from '@desktop-client/components/budget/goals/actions'; import { Link } from '@desktop-client/components/common/Link'; import { FormField, FormLabel } from '@desktop-client/components/forms'; diff --git a/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomation.tsx b/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomation.tsx index a7efd9f970..f6fac8595d 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomation.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomation.tsx @@ -2,10 +2,8 @@ import { useTranslation } from 'react-i18next'; import type { SimpleTemplate } from 'loot-core/types/models/templates'; -import { - updateTemplate, - type Action, -} from '@desktop-client/components/budget/goals/actions'; +import { updateTemplate } from '@desktop-client/components/budget/goals/actions'; +import type { Action } from '@desktop-client/components/budget/goals/actions'; import { FormField, FormLabel } from '@desktop-client/components/forms'; import { AmountInput } from '@desktop-client/components/util/AmountInput'; diff --git a/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomationReadOnly.tsx b/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomationReadOnly.tsx index 0e9069839d..eabca674ad 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomationReadOnly.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/SimpleAutomationReadOnly.tsx @@ -1,7 +1,7 @@ import { Trans } from 'react-i18next'; import type { SimpleTemplate } from 'loot-core/types/models/templates'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { useFormat } from '@desktop-client/hooks/useFormat'; diff --git a/packages/desktop-client/src/components/budget/goals/editor/WeekAutomation.tsx b/packages/desktop-client/src/components/budget/goals/editor/WeekAutomation.tsx index e9135b8913..704bf8d7bc 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/WeekAutomation.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/WeekAutomation.tsx @@ -2,10 +2,8 @@ import { useTranslation } from 'react-i18next'; import type { PeriodicTemplate } from 'loot-core/types/models/templates'; -import { - updateTemplate, - type Action, -} from '@desktop-client/components/budget/goals/actions'; +import { updateTemplate } from '@desktop-client/components/budget/goals/actions'; +import type { Action } from '@desktop-client/components/budget/goals/actions'; import { FormField, FormLabel } from '@desktop-client/components/forms'; import { AmountInput } from '@desktop-client/components/util/AmountInput'; diff --git a/packages/desktop-client/src/components/budget/goals/editor/WeekAutomationReadOnly.tsx b/packages/desktop-client/src/components/budget/goals/editor/WeekAutomationReadOnly.tsx index f68562492c..5285930fbf 100644 --- a/packages/desktop-client/src/components/budget/goals/editor/WeekAutomationReadOnly.tsx +++ b/packages/desktop-client/src/components/budget/goals/editor/WeekAutomationReadOnly.tsx @@ -1,7 +1,7 @@ import { Trans } from 'react-i18next'; import type { PeriodicTemplate } from 'loot-core/types/models/templates'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { useFormat } from '@desktop-client/hooks/useFormat'; diff --git a/packages/desktop-client/src/components/budget/goals/reducer.ts b/packages/desktop-client/src/components/budget/goals/reducer.ts index 8d9821f59a..2f7ae6feed 100644 --- a/packages/desktop-client/src/components/budget/goals/reducer.ts +++ b/packages/desktop-client/src/components/budget/goals/reducer.ts @@ -1,7 +1,7 @@ -import { type Template } from 'loot-core/types/models/templates'; +import type { Template } from 'loot-core/types/models/templates'; -import { type Action } from './actions'; -import { type DisplayTemplateType, type ReducerState } from './constants'; +import type { Action } from './actions'; +import type { DisplayTemplateType, ReducerState } from './constants'; export const DEFAULT_PRIORITY = 1; diff --git a/packages/desktop-client/src/components/budget/index.tsx b/packages/desktop-client/src/components/budget/index.tsx index ce41a7f764..ce94c0400a 100644 --- a/packages/desktop-client/src/components/budget/index.tsx +++ b/packages/desktop-client/src/components/budget/index.tsx @@ -1,20 +1,15 @@ // @ts-strict-ignore -import React, { - useEffect, - useEffectEvent, - useMemo, - useState, - type ComponentType, -} from 'react'; +import React, { useEffect, useEffectEvent, useMemo, useState } from 'react'; +import type { ComponentType } from 'react'; import { styles } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { AutoSizingBudgetTable } from './DynamicBudgetTable'; diff --git a/packages/desktop-client/src/components/budget/tracking/BalanceMenu.tsx b/packages/desktop-client/src/components/budget/tracking/BalanceMenu.tsx index 106a87363f..9903296ef7 100644 --- a/packages/desktop-client/src/components/budget/tracking/BalanceMenu.tsx +++ b/packages/desktop-client/src/components/budget/tracking/BalanceMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/tracking/BudgetMenu.tsx b/packages/desktop-client/src/components/budget/tracking/BudgetMenu.tsx index 47fdea84e5..88ed173025 100644 --- a/packages/desktop-client/src/components/budget/tracking/BudgetMenu.tsx +++ b/packages/desktop-client/src/components/budget/tracking/BudgetMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/tracking/TrackingBudgetComponents.tsx b/packages/desktop-client/src/components/budget/tracking/TrackingBudgetComponents.tsx index d93a4feeb4..916be13810 100644 --- a/packages/desktop-client/src/components/budget/tracking/TrackingBudgetComponents.tsx +++ b/packages/desktop-client/src/components/budget/tracking/TrackingBudgetComponents.tsx @@ -1,11 +1,6 @@ // @ts-strict-ignore -import React, { - memo, - useRef, - useState, - type ComponentProps, - type CSSProperties, -} from 'react'; +import React, { memo, useRef, useState } from 'react'; +import type { ComponentProps, CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -23,7 +18,7 @@ import { css } from '@emotion/css'; import * as monthUtils from 'loot-core/shared/months'; -import { type CategoryGroupMonthProps, type CategoryMonthProps } from '..'; +import type { CategoryGroupMonthProps, CategoryMonthProps } from '..'; import { BalanceMenu } from './BalanceMenu'; import { BudgetMenu } from './BudgetMenu'; @@ -34,17 +29,14 @@ import { CellValue, CellValueText, } from '@desktop-client/components/spreadsheet/CellValue'; -import { - Field, - SheetCell, - type SheetCellProps, -} from '@desktop-client/components/table'; +import { Field, SheetCell } from '@desktop-client/components/table'; +import type { SheetCellProps } from '@desktop-client/components/table'; import { useCategoryScheduleGoalTemplateIndicator } from '@desktop-client/hooks/useCategoryScheduleGoalTemplateIndicator'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; import { useUndo } from '@desktop-client/hooks/useUndo'; -import { type Binding, type SheetFields } from '@desktop-client/spreadsheet'; +import type { Binding, SheetFields } from '@desktop-client/spreadsheet'; import { trackingBudget } from '@desktop-client/spreadsheet/bindings'; export const useTrackingSheetValue = < diff --git a/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx b/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx index d6d86a4ea5..54ec9eaf87 100644 --- a/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx +++ b/packages/desktop-client/src/components/budget/tracking/TrackingBudgetContext.tsx @@ -1,4 +1,5 @@ -import React, { createContext, useContext, type ReactNode } from 'react'; +import React, { createContext, useContext } from 'react'; +import type { ReactNode } from 'react'; import * as monthUtils from 'loot-core/shared/months'; diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetMonthMenu.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetMonthMenu.tsx index e6e8083d3a..cc9386fbd6 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetMonthMenu.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetMonthMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetTotal.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetTotal.tsx index 6a7612610d..0d69d281b7 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetTotal.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/BudgetTotal.tsx @@ -1,9 +1,6 @@ // @ts-strict-ignore -import React, { - type ComponentType, - type CSSProperties, - type ReactNode, -} from 'react'; +import React from 'react'; +import type { ComponentType, CSSProperties, ReactNode } from 'react'; import { Trans } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; @@ -12,7 +9,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { CellValue } from '@desktop-client/components/spreadsheet/CellValue'; -import { type Binding, type SheetFields } from '@desktop-client/spreadsheet'; +import type { Binding, SheetFields } from '@desktop-client/spreadsheet'; type BudgetTotalProps< CurrentField extends SheetFields<'tracking-budget'>, diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseProgress.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseProgress.tsx index 4f1e8efa98..a668e6deae 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseProgress.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseProgress.tsx @@ -6,7 +6,7 @@ import { fraction } from './fraction'; import { PieProgress } from './PieProgress'; import { useTrackingSheetValue } from '@desktop-client/components/budget/tracking/TrackingBudgetComponents'; -import { type Binding } from '@desktop-client/spreadsheet'; +import type { Binding } from '@desktop-client/spreadsheet'; type ExpenseProgressProps = { current: Binding<'tracking-budget', 'total-spent'>; diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseTotal.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseTotal.tsx index 7c953e5ecd..e4338866e4 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseTotal.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/ExpenseTotal.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { BudgetTotal } from './BudgetTotal'; diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeProgress.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeProgress.tsx index d11d37f4ec..dd8a7e6e64 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeProgress.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeProgress.tsx @@ -1,11 +1,12 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { theme } from '@actual-app/components/theme'; import { fraction } from './fraction'; import { PieProgress } from './PieProgress'; -import { type CellValue } from '@desktop-client/components/spreadsheet/CellValue'; +import type { CellValue } from '@desktop-client/components/spreadsheet/CellValue'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; type IncomeProgressProps = { diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeTotal.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeTotal.tsx index 99e6f9a9db..d21282a4b2 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeTotal.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/IncomeTotal.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { BudgetTotal } from './BudgetTotal'; diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/PieProgress.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/PieProgress.tsx index 2214133866..ec18836591 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/PieProgress.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/PieProgress.tsx @@ -1,4 +1,5 @@ -import React, { type SVGProps } from 'react'; +import React from 'react'; +import type { SVGProps } from 'react'; type PieProgressProps = { style?: SVGProps['style']; diff --git a/packages/desktop-client/src/components/budget/tracking/budgetsummary/Saved.tsx b/packages/desktop-client/src/components/budget/tracking/budgetsummary/Saved.tsx index 27c32316da..53bb8006b9 100644 --- a/packages/desktop-client/src/components/budget/tracking/budgetsummary/Saved.tsx +++ b/packages/desktop-client/src/components/budget/tracking/budgetsummary/Saved.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; diff --git a/packages/desktop-client/src/components/budget/util.ts b/packages/desktop-client/src/components/budget/util.ts index 7891e1595d..0909dd3c44 100644 --- a/packages/desktop-client/src/components/budget/util.ts +++ b/packages/desktop-client/src/components/budget/util.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type CSSProperties } from 'react'; +import type { CSSProperties } from 'react'; import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; @@ -8,17 +8,17 @@ import { t } from 'i18next'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { currencyToAmount, integerToCurrency } from 'loot-core/shared/util'; -import { type Handlers } from 'loot-core/types/handlers'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { Handlers } from 'loot-core/types/handlers'; +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { getValidMonthBounds } from './MonthsContext'; -import { type DropPosition } from '@desktop-client/components/sort'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { DropPosition } from '@desktop-client/components/sort'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; export function addToBeBudgetedGroup(groups: CategoryGroupEntity[]) { return [ diff --git a/packages/desktop-client/src/components/common/InfiniteScrollWrapper.tsx b/packages/desktop-client/src/components/common/InfiniteScrollWrapper.tsx index ad18f2dbb5..b642c5f839 100644 --- a/packages/desktop-client/src/components/common/InfiniteScrollWrapper.tsx +++ b/packages/desktop-client/src/components/common/InfiniteScrollWrapper.tsx @@ -1,4 +1,5 @@ -import React, { useRef, type ReactNode, type UIEvent } from 'react'; +import React, { useRef } from 'react'; +import type { ReactNode, UIEvent } from 'react'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/common/Link.tsx b/packages/desktop-client/src/components/common/Link.tsx index c0447a3f1f..232202f0c3 100644 --- a/packages/desktop-client/src/components/common/Link.tsx +++ b/packages/desktop-client/src/components/common/Link.tsx @@ -1,12 +1,10 @@ -import React, { - type ComponentProps, - type MouseEventHandler, - type ReactNode, -} from 'react'; +import React from 'react'; +import type { ComponentProps, MouseEventHandler, ReactNode } from 'react'; import { NavLink, useMatch } from 'react-router'; import { Button } from '@actual-app/components/button'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; diff --git a/packages/desktop-client/src/components/common/Modal.tsx b/packages/desktop-client/src/components/common/Modal.tsx index 9e1f442e00..2b8922cdb4 100644 --- a/packages/desktop-client/src/components/common/Modal.tsx +++ b/packages/desktop-client/src/components/common/Modal.tsx @@ -1,12 +1,9 @@ -import React, { - useEffect, - useLayoutEffect, - useRef, - useState, - type ComponentPropsWithoutRef, - type ComponentPropsWithRef, - type CSSProperties, - type ReactNode, +import React, { useEffect, useLayoutEffect, useRef, useState } from 'react'; +import type { + ComponentPropsWithoutRef, + ComponentPropsWithRef, + CSSProperties, + ReactNode, } from 'react'; import { Dialog, diff --git a/packages/desktop-client/src/components/common/Search.tsx b/packages/desktop-client/src/components/common/Search.tsx index eca1b1b974..eb5ef5326d 100644 --- a/packages/desktop-client/src/components/common/Search.tsx +++ b/packages/desktop-client/src/components/common/Search.tsx @@ -1,10 +1,11 @@ -import { useState, type Ref } from 'react'; +import { useState } from 'react'; +import type { Ref } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; import { SvgRemove, SvgSearchAlternate } from '@actual-app/components/icons/v2'; import { baseInputStyle, Input } from '@actual-app/components/input'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; diff --git a/packages/desktop-client/src/components/filters/AppliedFilters.tsx b/packages/desktop-client/src/components/filters/AppliedFilters.tsx index 547f4c579c..b42e5023ff 100644 --- a/packages/desktop-client/src/components/filters/AppliedFilters.tsx +++ b/packages/desktop-client/src/components/filters/AppliedFilters.tsx @@ -1,9 +1,9 @@ import React from 'react'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; import { ConditionsOpMenu } from './ConditionsOpMenu'; import { FilterExpression } from './FilterExpression'; diff --git a/packages/desktop-client/src/components/filters/ConditionsOpMenu.tsx b/packages/desktop-client/src/components/filters/ConditionsOpMenu.tsx index 537db20b8f..19a60beff9 100644 --- a/packages/desktop-client/src/components/filters/ConditionsOpMenu.tsx +++ b/packages/desktop-client/src/components/filters/ConditionsOpMenu.tsx @@ -4,7 +4,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; import { FieldSelect } from '@desktop-client/components/rules/RuleEditor'; diff --git a/packages/desktop-client/src/components/filters/FilterExpression.tsx b/packages/desktop-client/src/components/filters/FilterExpression.tsx index da516038b5..f791020ae9 100644 --- a/packages/desktop-client/src/components/filters/FilterExpression.tsx +++ b/packages/desktop-client/src/components/filters/FilterExpression.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useState, type CSSProperties } from 'react'; +import React, { useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -9,7 +10,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { friendlyOp, mapField } from 'loot-core/shared/rules'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; import { FilterEditor } from './FiltersMenu'; import { subfieldFromFilter } from './subfieldFromFilter'; diff --git a/packages/desktop-client/src/components/filters/FilterMenu.tsx b/packages/desktop-client/src/components/filters/FilterMenu.tsx index b414235470..d61e1ba107 100644 --- a/packages/desktop-client/src/components/filters/FilterMenu.tsx +++ b/packages/desktop-client/src/components/filters/FilterMenu.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; -import { type SavedFilter } from './SavedFilterMenuButton'; +import type { SavedFilter } from './SavedFilterMenuButton'; export function FilterMenu({ filterId, diff --git a/packages/desktop-client/src/components/filters/FiltersMenu.tsx b/packages/desktop-client/src/components/filters/FiltersMenu.tsx index adaf6e5cf4..66bc18b092 100644 --- a/packages/desktop-client/src/components/filters/FiltersMenu.tsx +++ b/packages/desktop-client/src/components/filters/FiltersMenu.tsx @@ -30,8 +30,9 @@ import { mapField, unparse, } from 'loot-core/shared/rules'; -import { titleFirst, type IntegerAmount } from 'loot-core/shared/util'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import { titleFirst } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { RuleConditionEntity } from 'loot-core/types/models'; import { CompactFiltersButton } from './CompactFiltersButton'; import { FiltersButton } from './FiltersButton'; diff --git a/packages/desktop-client/src/components/filters/FiltersStack.tsx b/packages/desktop-client/src/components/filters/FiltersStack.tsx index f6e4c9c961..68ad2b7241 100644 --- a/packages/desktop-client/src/components/filters/FiltersStack.tsx +++ b/packages/desktop-client/src/components/filters/FiltersStack.tsx @@ -3,16 +3,14 @@ import React from 'react'; import { SpaceBetween } from '@actual-app/components/space-between'; import { View } from '@actual-app/components/view'; -import { - type RuleConditionEntity, - type TransactionFilterEntity, +import type { + RuleConditionEntity, + TransactionFilterEntity, } from 'loot-core/types/models'; import { AppliedFilters } from './AppliedFilters'; -import { - SavedFilterMenuButton, - type SavedFilter, -} from './SavedFilterMenuButton'; +import { SavedFilterMenuButton } from './SavedFilterMenuButton'; +import type { SavedFilter } from './SavedFilterMenuButton'; export function FiltersStack({ conditions, diff --git a/packages/desktop-client/src/components/filters/OpButton.tsx b/packages/desktop-client/src/components/filters/OpButton.tsx index d1dc8572c0..1644e8e679 100644 --- a/packages/desktop-client/src/components/filters/OpButton.tsx +++ b/packages/desktop-client/src/components/filters/OpButton.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Button } from '@actual-app/components/button'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/filters/PayeeFilter.tsx b/packages/desktop-client/src/components/filters/PayeeFilter.tsx index 9899a417da..4dff583cbc 100644 --- a/packages/desktop-client/src/components/filters/PayeeFilter.tsx +++ b/packages/desktop-client/src/components/filters/PayeeFilter.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { useTranslation } from 'react-i18next'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { PayeeAutocomplete } from '@desktop-client/components/autocomplete/PayeeAutocomplete'; diff --git a/packages/desktop-client/src/components/filters/SavedFilterMenuButton.tsx b/packages/desktop-client/src/components/filters/SavedFilterMenuButton.tsx index 591dc8f63c..eff3df2b6c 100644 --- a/packages/desktop-client/src/components/filters/SavedFilterMenuButton.tsx +++ b/packages/desktop-client/src/components/filters/SavedFilterMenuButton.tsx @@ -8,9 +8,9 @@ import { Text } from '@actual-app/components/text'; import { View } from '@actual-app/components/view'; import { send, sendCatch } from 'loot-core/platform/client/fetch'; -import { - type RuleConditionEntity, - type TransactionFilterEntity, +import type { + RuleConditionEntity, + TransactionFilterEntity, } from 'loot-core/types/models'; import { FilterMenu } from './FilterMenu'; diff --git a/packages/desktop-client/src/components/filters/subfieldFromFilter.ts b/packages/desktop-client/src/components/filters/subfieldFromFilter.ts index 078a634ec7..d68d4dbdc4 100644 --- a/packages/desktop-client/src/components/filters/subfieldFromFilter.ts +++ b/packages/desktop-client/src/components/filters/subfieldFromFilter.ts @@ -1,4 +1,4 @@ -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; export function subfieldFromFilter({ field, diff --git a/packages/desktop-client/src/components/filters/subfieldToOptions.ts b/packages/desktop-client/src/components/filters/subfieldToOptions.ts index e2ada0f0c2..5119544c43 100644 --- a/packages/desktop-client/src/components/filters/subfieldToOptions.ts +++ b/packages/desktop-client/src/components/filters/subfieldToOptions.ts @@ -1,4 +1,4 @@ -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; export function subfieldToOptions(field: string, subfield: string) { let setOptions: RuleConditionEntity['options']; diff --git a/packages/desktop-client/src/components/filters/updateFilterReducer.ts b/packages/desktop-client/src/components/filters/updateFilterReducer.ts index 2cb2bf2273..14652cbc1d 100644 --- a/packages/desktop-client/src/components/filters/updateFilterReducer.ts +++ b/packages/desktop-client/src/components/filters/updateFilterReducer.ts @@ -1,5 +1,5 @@ import { FIELD_TYPES, makeValue } from 'loot-core/shared/rules'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; export function updateFilterReducer( state: Pick & { value: T['value'] | null }, diff --git a/packages/desktop-client/src/components/forms/LabeledCheckbox.tsx b/packages/desktop-client/src/components/forms/LabeledCheckbox.tsx index b3d966c374..9121292afd 100644 --- a/packages/desktop-client/src/components/forms/LabeledCheckbox.tsx +++ b/packages/desktop-client/src/components/forms/LabeledCheckbox.tsx @@ -1,8 +1,5 @@ -import React, { - type ComponentProps, - type CSSProperties, - type ReactNode, -} from 'react'; +import React from 'react'; +import type { ComponentProps, CSSProperties, ReactNode } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/forms/index.tsx b/packages/desktop-client/src/components/forms/index.tsx index fb38eb02b3..ba0f9c9e56 100644 --- a/packages/desktop-client/src/components/forms/index.tsx +++ b/packages/desktop-client/src/components/forms/index.tsx @@ -1,6 +1,7 @@ -import React, { type ComponentProps, type ReactNode } from 'react'; +import React from 'react'; +import type { ComponentProps, ReactNode } from 'react'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/formula/FormulaEditor.tsx b/packages/desktop-client/src/components/formula/FormulaEditor.tsx index d14a123f5a..c421a0c79f 100644 --- a/packages/desktop-client/src/components/formula/FormulaEditor.tsx +++ b/packages/desktop-client/src/components/formula/FormulaEditor.tsx @@ -1,10 +1,8 @@ import { useMemo } from 'react'; import { EditorView } from '@codemirror/view'; -import CodeMirror, { - EditorState, - type ReactCodeMirrorProps, -} from '@uiw/react-codemirror'; +import CodeMirror, { EditorState } from '@uiw/react-codemirror'; +import type { ReactCodeMirrorProps } from '@uiw/react-codemirror'; import { excelFormulaExtension } from './codeMirror-excelLanguage'; diff --git a/packages/desktop-client/src/components/formula/QueryManager.tsx b/packages/desktop-client/src/components/formula/QueryManager.tsx index f696ba3b64..196c901423 100644 --- a/packages/desktop-client/src/components/formula/QueryManager.tsx +++ b/packages/desktop-client/src/components/formula/QueryManager.tsx @@ -16,10 +16,7 @@ import { parseISO } from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type RuleConditionEntity, - type TimeFrame, -} from 'loot-core/types/models'; +import type { RuleConditionEntity, TimeFrame } from 'loot-core/types/models'; import { normalizeQueryTimeFrameEnd, @@ -40,7 +37,7 @@ import { useLocale } from '@desktop-client/hooks/useLocale'; import { useRuleConditionFilters } from '@desktop-client/hooks/useRuleConditionFilters'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; -import { type AppDispatch } from '@desktop-client/redux/store'; +import type { AppDispatch } from '@desktop-client/redux/store'; type QueryConfig = { conditions?: RuleConditionEntity[]; diff --git a/packages/desktop-client/src/components/formula/codeMirror-excelLanguage.tsx b/packages/desktop-client/src/components/formula/codeMirror-excelLanguage.tsx index 88afe02cb8..c4debfbddc 100644 --- a/packages/desktop-client/src/components/formula/codeMirror-excelLanguage.tsx +++ b/packages/desktop-client/src/components/formula/codeMirror-excelLanguage.tsx @@ -4,28 +4,22 @@ import { Trans } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; -import { - autocompletion, - type Completion, - type CompletionContext, -} from '@codemirror/autocomplete'; +import { autocompletion } from '@codemirror/autocomplete'; +import type { Completion, CompletionContext } from '@codemirror/autocomplete'; import { HighlightStyle, StreamLanguage, syntaxHighlighting, - type StreamParser, } from '@codemirror/language'; -import { type Extension } from '@codemirror/state'; -import { - EditorView, - hoverTooltip, - tooltips, - type Tooltip, -} from '@codemirror/view'; +import type { StreamParser } from '@codemirror/language'; +import type { Extension } from '@codemirror/state'; +import { EditorView, hoverTooltip, tooltips } from '@codemirror/view'; +import type { Tooltip } from '@codemirror/view'; import { tags } from '@lezer/highlight'; import { t } from 'i18next'; -import { queryModeFunctions, type FunctionDef } from './queryModeFunctions'; +import { queryModeFunctions } from './queryModeFunctions'; +import type { FunctionDef } from './queryModeFunctions'; import { transactionModeFunctions } from './transactionModeFunctions'; // Tooltip components using the same styles as Tooltip.tsx diff --git a/packages/desktop-client/src/components/manager/BudgetFileSelection.tsx b/packages/desktop-client/src/components/manager/BudgetFileSelection.tsx index f0ea4e0c48..8955a079b2 100644 --- a/packages/desktop-client/src/components/manager/BudgetFileSelection.tsx +++ b/packages/desktop-client/src/components/manager/BudgetFileSelection.tsx @@ -1,11 +1,5 @@ -import React, { - useCallback, - useEffect, - useRef, - useState, - type ComponentPropsWithoutRef, - type CSSProperties, -} from 'react'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties } from 'react'; import { GridList, GridListItem } from 'react-aria-components'; import { Trans, useTranslation } from 'react-i18next'; @@ -40,12 +34,12 @@ import { isElectron, isNonProductionEnvironment, } from 'loot-core/shared/environment'; -import { - type File, - type LocalFile, - type RemoteFile, - type SyncableLocalFile, - type SyncedLocalFile, +import type { + File, + LocalFile, + RemoteFile, + SyncableLocalFile, + SyncedLocalFile, } from 'loot-core/types/file'; import { diff --git a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx index af21776792..9877a7b8a9 100644 --- a/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/ConfirmPasswordForm.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useState, type ChangeEvent, type ReactNode } from 'react'; +import React, { useState } from 'react'; +import type { ChangeEvent, ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { ButtonWithLoading } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/manager/subscribe/Login.tsx b/packages/desktop-client/src/components/manager/subscribe/Login.tsx index 052f772677..2e72ccc9c3 100644 --- a/packages/desktop-client/src/components/manager/subscribe/Login.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/Login.tsx @@ -17,7 +17,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { isElectron } from 'loot-core/shared/environment'; -import { type OpenIdConfig } from 'loot-core/types/models'; +import type { OpenIdConfig } from 'loot-core/types/models'; import { Title, useBootstrapped } from './common'; import { OpenIdForm } from './OpenIdForm'; diff --git a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx index 0966cf1168..4b881fa95c 100644 --- a/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/OpenIdForm.tsx @@ -1,6 +1,8 @@ -import { useEffect, useState, type ReactNode } from 'react'; +import { useEffect, useState } from 'react'; +import type { ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; -import { useLocation, type Location } from 'react-router'; +import { useLocation } from 'react-router'; +import type { Location } from 'react-router'; import { ButtonWithLoading } from '@actual-app/components/button'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; @@ -13,7 +15,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type OpenIdConfig } from 'loot-core/types/models'; +import type { OpenIdConfig } from 'loot-core/types/models'; import { Link } from '@desktop-client/components/common/Link'; import { FormField, FormLabel } from '@desktop-client/components/forms'; diff --git a/packages/desktop-client/src/components/manager/subscribe/common.tsx b/packages/desktop-client/src/components/manager/subscribe/common.tsx index 3950ae5d7d..9bac26d7f7 100644 --- a/packages/desktop-client/src/components/manager/subscribe/common.tsx +++ b/packages/desktop-client/src/components/manager/subscribe/common.tsx @@ -5,7 +5,7 @@ import { useLocation } from 'react-router'; import { theme } from '@actual-app/components/theme'; import { send } from 'loot-core/platform/client/fetch'; -import { type Handlers } from 'loot-core/types/handlers'; +import type { Handlers } from 'loot-core/types/handlers'; import { useSetLoginMethods, diff --git a/packages/desktop-client/src/components/mobile/ActionableGridListItem.tsx b/packages/desktop-client/src/components/mobile/ActionableGridListItem.tsx index dc3ae23d82..babe9bdf37 100644 --- a/packages/desktop-client/src/components/mobile/ActionableGridListItem.tsx +++ b/packages/desktop-client/src/components/mobile/ActionableGridListItem.tsx @@ -1,5 +1,7 @@ -import React, { useRef, useState, type ReactNode } from 'react'; -import { GridListItem, type GridListItemProps } from 'react-aria-components'; +import React, { useRef, useState } from 'react'; +import type { ReactNode } from 'react'; +import { GridListItem } from 'react-aria-components'; +import type { GridListItemProps } from 'react-aria-components'; import { animated, config, useSpring } from 'react-spring'; import { Button } from '@actual-app/components/button'; @@ -7,7 +9,7 @@ import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { useDrag } from '@use-gesture/react'; -import { type WithRequired } from 'loot-core/types/util'; +import type { WithRequired } from 'loot-core/types/util'; type ActionableGridListItemProps = { actions?: ReactNode | ((params: { close: () => void }) => ReactNode); diff --git a/packages/desktop-client/src/components/mobile/FloatingActionBar.tsx b/packages/desktop-client/src/components/mobile/FloatingActionBar.tsx index 7f4fa1c107..601bc71f42 100644 --- a/packages/desktop-client/src/components/mobile/FloatingActionBar.tsx +++ b/packages/desktop-client/src/components/mobile/FloatingActionBar.tsx @@ -1,4 +1,4 @@ -import { type CSSProperties, type PropsWithChildren } from 'react'; +import type { CSSProperties, PropsWithChildren } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/mobile/MobileBackButton.tsx b/packages/desktop-client/src/components/mobile/MobileBackButton.tsx index 63b36e1034..0724267922 100644 --- a/packages/desktop-client/src/components/mobile/MobileBackButton.tsx +++ b/packages/desktop-client/src/components/mobile/MobileBackButton.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { Trans } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/mobile/MobileForms.tsx b/packages/desktop-client/src/components/mobile/MobileForms.tsx index ceb5869bd4..4266e30739 100644 --- a/packages/desktop-client/src/components/mobile/MobileForms.tsx +++ b/packages/desktop-client/src/components/mobile/MobileForms.tsx @@ -1,8 +1,9 @@ -import React, { - type ComponentPropsWithoutRef, - type ComponentPropsWithRef, - type CSSProperties, - type ReactNode, +import React from 'react'; +import type { + ComponentPropsWithoutRef, + ComponentPropsWithRef, + CSSProperties, + ReactNode, } from 'react'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/mobile/MobileNavTabs.tsx b/packages/desktop-client/src/components/mobile/MobileNavTabs.tsx index 4da730b127..66cda82ff7 100644 --- a/packages/desktop-client/src/components/mobile/MobileNavTabs.tsx +++ b/packages/desktop-client/src/components/mobile/MobileNavTabs.tsx @@ -1,10 +1,5 @@ -import React, { - useCallback, - useState, - type ComponentProps, - type ComponentType, - type CSSProperties, -} from 'react'; +import React, { useCallback, useState } from 'react'; +import type { ComponentProps, ComponentType, CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { NavLink } from 'react-router'; import { animated, config, useSpring } from 'react-spring'; diff --git a/packages/desktop-client/src/components/mobile/PullToRefresh.tsx b/packages/desktop-client/src/components/mobile/PullToRefresh.tsx index 2fa8e819f0..0bea99dafe 100644 --- a/packages/desktop-client/src/components/mobile/PullToRefresh.tsx +++ b/packages/desktop-client/src/components/mobile/PullToRefresh.tsx @@ -1,7 +1,8 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import BasePullToRefresh from 'react-simple-pull-to-refresh'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { css } from '@emotion/css'; type PullToRefreshProps = ComponentProps & { diff --git a/packages/desktop-client/src/components/mobile/accounts/AccountPage.tsx b/packages/desktop-client/src/components/mobile/accounts/AccountPage.tsx index 94c2d53e81..4879c85e5c 100644 --- a/packages/desktop-client/src/components/mobile/accounts/AccountPage.tsx +++ b/packages/desktop-client/src/components/mobile/accounts/AccountPage.tsx @@ -3,13 +3,14 @@ import { useTranslation } from 'react-i18next'; import { useParams } from 'react-router'; import { Button } from '@actual-app/components/button'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { AccountTransactions } from './AccountTransactions'; import { AllAccountTransactions } from './AllAccountTransactions'; diff --git a/packages/desktop-client/src/components/mobile/accounts/AccountTransactions.tsx b/packages/desktop-client/src/components/mobile/accounts/AccountTransactions.tsx index b8852d9d23..18277c8dba 100644 --- a/packages/desktop-client/src/components/mobile/accounts/AccountTransactions.tsx +++ b/packages/desktop-client/src/components/mobile/accounts/AccountTransactions.tsx @@ -2,13 +2,10 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { listen, send } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { - type AccountEntity, - type TransactionEntity, -} from 'loot-core/types/models'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { AccountEntity, TransactionEntity } from 'loot-core/types/models'; import { markAccountRead } from '@desktop-client/accounts/accountsSlice'; import { syncAndDownload } from '@desktop-client/app/appSlice'; diff --git a/packages/desktop-client/src/components/mobile/accounts/AccountsPage.tsx b/packages/desktop-client/src/components/mobile/accounts/AccountsPage.tsx index 3689d11008..503f835239 100644 --- a/packages/desktop-client/src/components/mobile/accounts/AccountsPage.tsx +++ b/packages/desktop-client/src/components/mobile/accounts/AccountsPage.tsx @@ -1,11 +1,6 @@ -import React, { - forwardRef, - useCallback, - useRef, - type ComponentPropsWithoutRef, - type CSSProperties, -} from 'react'; -import { type DragItem } from 'react-aria'; +import React, { forwardRef, useCallback, useRef } from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties } from 'react'; +import type { DragItem } from 'react-aria'; import { DropIndicator, ListBox, @@ -27,7 +22,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { moveAccount } from '@desktop-client/accounts/accountsSlice'; import { syncAndDownload } from '@desktop-client/app/appSlice'; @@ -46,7 +41,7 @@ import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; import { replaceModal } from '@desktop-client/modals/modalsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; -import { type Binding, type SheetFields } from '@desktop-client/spreadsheet'; +import type { Binding, SheetFields } from '@desktop-client/spreadsheet'; import * as bindings from '@desktop-client/spreadsheet/bindings'; const ROW_HEIGHT = 60; diff --git a/packages/desktop-client/src/components/mobile/accounts/AllAccountTransactions.tsx b/packages/desktop-client/src/components/mobile/accounts/AllAccountTransactions.tsx index 8e6fe90bf1..d37d90338b 100644 --- a/packages/desktop-client/src/components/mobile/accounts/AllAccountTransactions.tsx +++ b/packages/desktop-client/src/components/mobile/accounts/AllAccountTransactions.tsx @@ -2,9 +2,9 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { listen, send } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { TransactionEntity } from 'loot-core/types/models'; import { TransactionListWithBalances } from '@desktop-client/components/mobile/transactions/TransactionListWithBalances'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; diff --git a/packages/desktop-client/src/components/mobile/accounts/OffBudgetAccountTransactions.tsx b/packages/desktop-client/src/components/mobile/accounts/OffBudgetAccountTransactions.tsx index 11952f3b3a..c7f4b565f2 100644 --- a/packages/desktop-client/src/components/mobile/accounts/OffBudgetAccountTransactions.tsx +++ b/packages/desktop-client/src/components/mobile/accounts/OffBudgetAccountTransactions.tsx @@ -2,12 +2,9 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { listen, send } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { - type ScheduleEntity, - type TransactionEntity, -} from 'loot-core/types/models'; +import type { ScheduleEntity, TransactionEntity } from 'loot-core/types/models'; import { TransactionListWithBalances } from '@desktop-client/components/mobile/transactions/TransactionListWithBalances'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; diff --git a/packages/desktop-client/src/components/mobile/accounts/OnBudgetAccountTransactions.tsx b/packages/desktop-client/src/components/mobile/accounts/OnBudgetAccountTransactions.tsx index 021f7079b2..314fd70d3e 100644 --- a/packages/desktop-client/src/components/mobile/accounts/OnBudgetAccountTransactions.tsx +++ b/packages/desktop-client/src/components/mobile/accounts/OnBudgetAccountTransactions.tsx @@ -2,12 +2,9 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { listen, send } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { - type ScheduleEntity, - type TransactionEntity, -} from 'loot-core/types/models'; +import type { ScheduleEntity, TransactionEntity } from 'loot-core/types/models'; import { TransactionListWithBalances } from '@desktop-client/components/mobile/transactions/TransactionListWithBalances'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; diff --git a/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsList.tsx b/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsList.tsx index 1e8c875d17..3c897522c8 100644 --- a/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsList.tsx +++ b/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsList.tsx @@ -4,7 +4,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { BankSyncAccountsListItem } from './BankSyncAccountsListItem'; diff --git a/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsListItem.tsx b/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsListItem.tsx index 367752328f..46cf7d1ca5 100644 --- a/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsListItem.tsx +++ b/packages/desktop-client/src/components/mobile/banksync/BankSyncAccountsListItem.tsx @@ -6,7 +6,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { tsToRelativeTime } from 'loot-core/shared/util'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { useLocale } from '@desktop-client/hooks/useLocale'; diff --git a/packages/desktop-client/src/components/mobile/banksync/MobileBankSyncPage.tsx b/packages/desktop-client/src/components/mobile/banksync/MobileBankSyncPage.tsx index 0197a297f6..97d0e14c29 100644 --- a/packages/desktop-client/src/components/mobile/banksync/MobileBankSyncPage.tsx +++ b/packages/desktop-client/src/components/mobile/banksync/MobileBankSyncPage.tsx @@ -6,10 +6,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type AccountEntity, - type BankSyncProviders, -} from 'loot-core/types/models'; +import type { AccountEntity, BankSyncProviders } from 'loot-core/types/models'; import { BankSyncAccountsList } from './BankSyncAccountsList'; diff --git a/packages/desktop-client/src/components/mobile/budget/BalanceCell.tsx b/packages/desktop-client/src/components/mobile/budget/BalanceCell.tsx index 6af9dc2ed7..c65660d42a 100644 --- a/packages/desktop-client/src/components/mobile/budget/BalanceCell.tsx +++ b/packages/desktop-client/src/components/mobile/budget/BalanceCell.tsx @@ -1,4 +1,4 @@ -import { type CSSProperties } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -10,7 +10,7 @@ import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; import { AutoTextSize } from 'auto-text-size'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { getColumnWidth, PILL_STYLE } from './BudgetTable'; @@ -18,7 +18,7 @@ import { BalanceWithCarryover } from '@desktop-client/components/budget/BalanceW import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; -import { type Binding } from '@desktop-client/spreadsheet'; +import type { Binding } from '@desktop-client/spreadsheet'; import { envelopeBudget, trackingBudget, diff --git a/packages/desktop-client/src/components/mobile/budget/BudgetCell.tsx b/packages/desktop-client/src/components/mobile/budget/BudgetCell.tsx index 95d907f728..c447dba690 100644 --- a/packages/desktop-client/src/components/mobile/budget/BudgetCell.tsx +++ b/packages/desktop-client/src/components/mobile/budget/BudgetCell.tsx @@ -1,4 +1,5 @@ -import { useCallback, type ComponentPropsWithoutRef } from 'react'; +import { useCallback } from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -6,7 +7,7 @@ import { styles } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { AutoTextSize } from 'auto-text-size'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { getColumnWidth, PILL_STYLE } from './BudgetTable'; @@ -19,7 +20,7 @@ import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; import { useUndo } from '@desktop-client/hooks/useUndo'; import { pushModal } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; -import { type SheetFields } from '@desktop-client/spreadsheet'; +import type { SheetFields } from '@desktop-client/spreadsheet'; type BudgetCellProps< SheetFieldName extends SheetFields<'envelope-budget' | 'tracking-budget'>, diff --git a/packages/desktop-client/src/components/mobile/budget/BudgetPage.tsx b/packages/desktop-client/src/components/mobile/budget/BudgetPage.tsx index 01f0b3d070..ac522b46cb 100644 --- a/packages/desktop-client/src/components/mobile/budget/BudgetPage.tsx +++ b/packages/desktop-client/src/components/mobile/budget/BudgetPage.tsx @@ -30,7 +30,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { groupById } from 'loot-core/shared/util'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { BudgetTable, PILL_STYLE } from './BudgetTable'; diff --git a/packages/desktop-client/src/components/mobile/budget/BudgetTable.tsx b/packages/desktop-client/src/components/mobile/budget/BudgetTable.tsx index 2654f75d1e..79b740e755 100644 --- a/packages/desktop-client/src/components/mobile/budget/BudgetTable.tsx +++ b/packages/desktop-client/src/components/mobile/budget/BudgetTable.tsx @@ -1,4 +1,5 @@ -import React, { useCallback, useMemo, type CSSProperties } from 'react'; +import React, { useCallback, useMemo } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -14,9 +15,9 @@ import { AutoTextSize } from 'auto-text-size'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { ExpenseGroupList } from './ExpenseGroupList'; @@ -31,7 +32,7 @@ import { useFormat } from '@desktop-client/hooks/useFormat'; import { useLocalPref } from '@desktop-client/hooks/useLocalPref'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; -import { type Binding } from '@desktop-client/spreadsheet'; +import type { Binding } from '@desktop-client/spreadsheet'; import { envelopeBudget, trackingBudget, diff --git a/packages/desktop-client/src/components/mobile/budget/CategoryGroupActionMenu.tsx b/packages/desktop-client/src/components/mobile/budget/CategoryGroupActionMenu.tsx index ceeb57573e..b74e963e90 100644 --- a/packages/desktop-client/src/components/mobile/budget/CategoryGroupActionMenu.tsx +++ b/packages/desktop-client/src/components/mobile/budget/CategoryGroupActionMenu.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentPropsWithoutRef } from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; diff --git a/packages/desktop-client/src/components/mobile/budget/CategoryTransactions.tsx b/packages/desktop-client/src/components/mobile/budget/CategoryTransactions.tsx index 7b77383fc7..5205979813 100644 --- a/packages/desktop-client/src/components/mobile/budget/CategoryTransactions.tsx +++ b/packages/desktop-client/src/components/mobile/budget/CategoryTransactions.tsx @@ -3,10 +3,7 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { listen } from 'loot-core/platform/client/fetch'; import { q } from 'loot-core/shared/query'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { - type CategoryEntity, - type TransactionEntity, -} from 'loot-core/types/models'; +import type { CategoryEntity, TransactionEntity } from 'loot-core/types/models'; import { TransactionListWithBalances } from '@desktop-client/components/mobile/transactions/TransactionListWithBalances'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; diff --git a/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryList.tsx b/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryList.tsx index 51aed36e60..1ec7c1dd81 100644 --- a/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryList.tsx +++ b/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryList.tsx @@ -1,13 +1,13 @@ -import { type DragItem } from 'react-aria'; +import type { DragItem } from 'react-aria'; import { DropIndicator, GridList, useDragAndDrop } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { ExpenseCategoryListItem } from './ExpenseCategoryListItem'; diff --git a/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryListItem.tsx b/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryListItem.tsx index 7680bf24b3..d77c2667e9 100644 --- a/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryListItem.tsx +++ b/packages/desktop-client/src/components/mobile/budget/ExpenseCategoryListItem.tsx @@ -1,18 +1,20 @@ -import { useCallback, type ComponentPropsWithoutRef } from 'react'; +import { useCallback } from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { GridListItem } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; import { SvgCheveronRight } from '@actual-app/components/icons/v1'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type BudgetType } from 'loot-core/server/prefs'; +import type { BudgetType } from 'loot-core/server/prefs'; import * as monthUtils from 'loot-core/shared/months'; import { groupById } from 'loot-core/shared/util'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { BalanceCell } from './BalanceCell'; import { BudgetCell } from './BudgetCell'; diff --git a/packages/desktop-client/src/components/mobile/budget/ExpenseGroupList.tsx b/packages/desktop-client/src/components/mobile/budget/ExpenseGroupList.tsx index aa114db131..94eb8ceccd 100644 --- a/packages/desktop-client/src/components/mobile/budget/ExpenseGroupList.tsx +++ b/packages/desktop-client/src/components/mobile/budget/ExpenseGroupList.tsx @@ -1,13 +1,13 @@ -import { type DragItem } from 'react-aria'; +import type { DragItem } from 'react-aria'; import { DropIndicator, GridList, useDragAndDrop } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { diff --git a/packages/desktop-client/src/components/mobile/budget/ExpenseGroupListItem.tsx b/packages/desktop-client/src/components/mobile/budget/ExpenseGroupListItem.tsx index d5d8a65060..74f275dc5d 100644 --- a/packages/desktop-client/src/components/mobile/budget/ExpenseGroupListItem.tsx +++ b/packages/desktop-client/src/components/mobile/budget/ExpenseGroupListItem.tsx @@ -1,11 +1,13 @@ -import { useCallback, useMemo, type ComponentPropsWithoutRef } from 'react'; +import { useCallback, useMemo } from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { GridListItem } from 'react-aria-components'; import { Button } from '@actual-app/components/button'; import { Card } from '@actual-app/components/card'; import { SvgExpandArrow } from '@actual-app/components/icons/v0'; import { SvgCheveronRight } from '@actual-app/components/icons/v1'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; @@ -13,9 +15,9 @@ import { css } from '@emotion/css'; import { AutoTextSize } from 'auto-text-size'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { getColumnWidth, ROW_HEIGHT } from './BudgetTable'; diff --git a/packages/desktop-client/src/components/mobile/budget/IncomeCategoryList.tsx b/packages/desktop-client/src/components/mobile/budget/IncomeCategoryList.tsx index 7c97f23ef5..4143a1f678 100644 --- a/packages/desktop-client/src/components/mobile/budget/IncomeCategoryList.tsx +++ b/packages/desktop-client/src/components/mobile/budget/IncomeCategoryList.tsx @@ -1,11 +1,11 @@ -import { type DragItem } from 'react-aria'; +import type { DragItem } from 'react-aria'; import { DropIndicator, GridList, useDragAndDrop } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { IncomeCategoryListItem } from './IncomeCategoryListItem'; diff --git a/packages/desktop-client/src/components/mobile/budget/IncomeCategoryListItem.tsx b/packages/desktop-client/src/components/mobile/budget/IncomeCategoryListItem.tsx index 6dd6a26143..e84bcbe424 100644 --- a/packages/desktop-client/src/components/mobile/budget/IncomeCategoryListItem.tsx +++ b/packages/desktop-client/src/components/mobile/budget/IncomeCategoryListItem.tsx @@ -1,4 +1,5 @@ -import { useCallback, type ComponentPropsWithoutRef } from 'react'; +import { useCallback } from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { GridListItem } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; @@ -10,7 +11,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { BalanceCell } from './BalanceCell'; import { BudgetCell } from './BudgetCell'; diff --git a/packages/desktop-client/src/components/mobile/budget/IncomeGroup.tsx b/packages/desktop-client/src/components/mobile/budget/IncomeGroup.tsx index 5c6491a8d8..b46ce395f6 100644 --- a/packages/desktop-client/src/components/mobile/budget/IncomeGroup.tsx +++ b/packages/desktop-client/src/components/mobile/budget/IncomeGroup.tsx @@ -6,7 +6,8 @@ import { Card } from '@actual-app/components/card'; import { SvgExpandArrow } from '@actual-app/components/icons/v0'; import { SvgCheveronRight } from '@actual-app/components/icons/v1'; import { Label } from '@actual-app/components/label'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; @@ -14,7 +15,7 @@ import { css } from '@emotion/css'; import { AutoTextSize } from 'auto-text-size'; import * as monthUtils from 'loot-core/shared/months'; -import { type CategoryGroupEntity } from 'loot-core/types/models'; +import type { CategoryGroupEntity } from 'loot-core/types/models'; import { getColumnWidth, ROW_HEIGHT } from './BudgetTable'; import { IncomeCategoryList } from './IncomeCategoryList'; diff --git a/packages/desktop-client/src/components/mobile/budget/SpentCell.tsx b/packages/desktop-client/src/components/mobile/budget/SpentCell.tsx index 7323a585b8..1cd8005638 100644 --- a/packages/desktop-client/src/components/mobile/budget/SpentCell.tsx +++ b/packages/desktop-client/src/components/mobile/budget/SpentCell.tsx @@ -11,7 +11,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { AutoTextSize } from 'auto-text-size'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { getColumnWidth, PILL_STYLE } from './BudgetTable'; @@ -20,7 +20,7 @@ import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; import { CellValue } from '@desktop-client/components/spreadsheet/CellValue'; import { useCategoryScheduleGoalTemplateIndicator } from '@desktop-client/hooks/useCategoryScheduleGoalTemplateIndicator'; import { useFormat } from '@desktop-client/hooks/useFormat'; -import { type Binding } from '@desktop-client/spreadsheet'; +import type { Binding } from '@desktop-client/spreadsheet'; type SpentCellProps = { binding: Binding<'envelope-budget' | 'tracking-budget', 'sum-amount'>; diff --git a/packages/desktop-client/src/components/mobile/budget/UncategorizedTransactions.tsx b/packages/desktop-client/src/components/mobile/budget/UncategorizedTransactions.tsx index 4b26b7bd4b..379f15049f 100644 --- a/packages/desktop-client/src/components/mobile/budget/UncategorizedTransactions.tsx +++ b/packages/desktop-client/src/components/mobile/budget/UncategorizedTransactions.tsx @@ -2,7 +2,7 @@ import React, { useCallback, useEffect, useState } from 'react'; import { listen } from 'loot-core/platform/client/fetch'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { TransactionEntity } from 'loot-core/types/models'; import { TransactionListWithBalances } from '@desktop-client/components/mobile/transactions/TransactionListWithBalances'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; diff --git a/packages/desktop-client/src/components/mobile/payees/MobilePayeeEditPage.tsx b/packages/desktop-client/src/components/mobile/payees/MobilePayeeEditPage.tsx index af60161640..949037a7ad 100644 --- a/packages/desktop-client/src/components/mobile/payees/MobilePayeeEditPage.tsx +++ b/packages/desktop-client/src/components/mobile/payees/MobilePayeeEditPage.tsx @@ -9,7 +9,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { MobileBackButton } from '@desktop-client/components/mobile/MobileBackButton'; import { InputField } from '@desktop-client/components/mobile/MobileForms'; diff --git a/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.test.tsx b/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.test.tsx index 414e2764e1..7942eed72a 100644 --- a/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.test.tsx +++ b/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.test.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { MobilePayeesPage } from './MobilePayeesPage'; diff --git a/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.tsx b/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.tsx index 5d4f4299fb..5e05e234ea 100644 --- a/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.tsx +++ b/packages/desktop-client/src/components/mobile/payees/MobilePayeesPage.tsx @@ -7,7 +7,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { getNormalisedString } from 'loot-core/shared/normalisation'; -import { type PayeeEntity, type RuleEntity } from 'loot-core/types/models'; +import type { PayeeEntity, RuleEntity } from 'loot-core/types/models'; import { PayeesList } from './PayeesList'; diff --git a/packages/desktop-client/src/components/mobile/payees/PayeesList.tsx b/packages/desktop-client/src/components/mobile/payees/PayeesList.tsx index 7503bf2c7d..3d758d164a 100644 --- a/packages/desktop-client/src/components/mobile/payees/PayeesList.tsx +++ b/packages/desktop-client/src/components/mobile/payees/PayeesList.tsx @@ -6,7 +6,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { PayeesListItem } from './PayeesListItem'; diff --git a/packages/desktop-client/src/components/mobile/payees/PayeesListItem.tsx b/packages/desktop-client/src/components/mobile/payees/PayeesListItem.tsx index 938cf73f82..7a4668c338 100644 --- a/packages/desktop-client/src/components/mobile/payees/PayeesListItem.tsx +++ b/packages/desktop-client/src/components/mobile/payees/PayeesListItem.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { type GridListItemProps } from 'react-aria-components'; +import type { GridListItemProps } from 'react-aria-components'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -8,8 +8,8 @@ import { SpaceBetween } from '@actual-app/components/space-between'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type PayeeEntity } from 'loot-core/types/models'; -import { type WithRequired } from 'loot-core/types/util'; +import type { PayeeEntity } from 'loot-core/types/models'; +import type { WithRequired } from 'loot-core/types/util'; import { ActionableGridListItem } from '@desktop-client/components/mobile/ActionableGridListItem'; import { PayeeRuleCountLabel } from '@desktop-client/components/payees/PayeeRuleCountLabel'; diff --git a/packages/desktop-client/src/components/mobile/rules/MobileRuleEditPage.tsx b/packages/desktop-client/src/components/mobile/rules/MobileRuleEditPage.tsx index 95cf97eaf3..25652d8b07 100644 --- a/packages/desktop-client/src/components/mobile/rules/MobileRuleEditPage.tsx +++ b/packages/desktop-client/src/components/mobile/rules/MobileRuleEditPage.tsx @@ -8,7 +8,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { q } from 'loot-core/shared/query'; -import { type NewRuleEntity, type RuleEntity } from 'loot-core/types/models'; +import type { NewRuleEntity, RuleEntity } from 'loot-core/types/models'; import { MobileBackButton } from '@desktop-client/components/mobile/MobileBackButton'; import { MobilePageHeader, Page } from '@desktop-client/components/Page'; diff --git a/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx b/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx index 3031186205..3b017ffbe8 100644 --- a/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx +++ b/packages/desktop-client/src/components/mobile/rules/MobileRulesPage.tsx @@ -9,7 +9,7 @@ import { listen, send } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; import { getNormalisedString } from 'loot-core/shared/normalisation'; import { q } from 'loot-core/shared/query'; -import { type RuleEntity } from 'loot-core/types/models'; +import type { RuleEntity } from 'loot-core/types/models'; import { AddRuleButton } from './AddRuleButton'; import { RulesList } from './RulesList'; diff --git a/packages/desktop-client/src/components/mobile/rules/RulesList.tsx b/packages/desktop-client/src/components/mobile/rules/RulesList.tsx index 29afc92fd7..90918fb241 100644 --- a/packages/desktop-client/src/components/mobile/rules/RulesList.tsx +++ b/packages/desktop-client/src/components/mobile/rules/RulesList.tsx @@ -6,7 +6,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type RuleEntity } from 'loot-core/types/models'; +import type { RuleEntity } from 'loot-core/types/models'; import { RulesListItem } from './RulesListItem'; diff --git a/packages/desktop-client/src/components/mobile/rules/RulesListItem.tsx b/packages/desktop-client/src/components/mobile/rules/RulesListItem.tsx index bf0d7ce01a..b237d9fa20 100644 --- a/packages/desktop-client/src/components/mobile/rules/RulesListItem.tsx +++ b/packages/desktop-client/src/components/mobile/rules/RulesListItem.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { type GridListItemProps } from 'react-aria-components'; +import type { GridListItemProps } from 'react-aria-components'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -8,8 +8,8 @@ import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type RuleEntity } from 'loot-core/types/models'; -import { type WithRequired } from 'loot-core/types/util'; +import type { RuleEntity } from 'loot-core/types/models'; +import type { WithRequired } from 'loot-core/types/util'; import { ActionableGridListItem } from '@desktop-client/components/mobile/ActionableGridListItem'; import { ActionExpression } from '@desktop-client/components/rules/ActionExpression'; diff --git a/packages/desktop-client/src/components/mobile/schedules/MobileScheduleEditPage.tsx b/packages/desktop-client/src/components/mobile/schedules/MobileScheduleEditPage.tsx index 10c0e6b3c9..3b9b5e1996 100644 --- a/packages/desktop-client/src/components/mobile/schedules/MobileScheduleEditPage.tsx +++ b/packages/desktop-client/src/components/mobile/schedules/MobileScheduleEditPage.tsx @@ -12,7 +12,7 @@ import { View } from '@actual-app/components/view'; import { send, sendCatch } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { type RecurConfig, type ScheduleEntity } from 'loot-core/types/models'; +import type { RecurConfig, ScheduleEntity } from 'loot-core/types/models'; import { MobileBackButton } from '@desktop-client/components/mobile/MobileBackButton'; import { MobilePageHeader, Page } from '@desktop-client/components/Page'; diff --git a/packages/desktop-client/src/components/mobile/schedules/MobileSchedulesPage.tsx b/packages/desktop-client/src/components/mobile/schedules/MobileSchedulesPage.tsx index 79158b647f..39ca90bf6f 100644 --- a/packages/desktop-client/src/components/mobile/schedules/MobileSchedulesPage.tsx +++ b/packages/desktop-client/src/components/mobile/schedules/MobileSchedulesPage.tsx @@ -11,7 +11,7 @@ import { format as monthUtilFormat } from 'loot-core/shared/months'; import { getNormalisedString } from 'loot-core/shared/normalisation'; import { q } from 'loot-core/shared/query'; import { getScheduledAmount } from 'loot-core/shared/schedules'; -import { type ScheduleEntity } from 'loot-core/types/models'; +import type { ScheduleEntity } from 'loot-core/types/models'; import { AddScheduleButton } from './AddScheduleButton'; import { SchedulesList } from './SchedulesList'; diff --git a/packages/desktop-client/src/components/mobile/schedules/SchedulesList.tsx b/packages/desktop-client/src/components/mobile/schedules/SchedulesList.tsx index 95792c8aa8..cddc4c60ec 100644 --- a/packages/desktop-client/src/components/mobile/schedules/SchedulesList.tsx +++ b/packages/desktop-client/src/components/mobile/schedules/SchedulesList.tsx @@ -6,13 +6,13 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type ScheduleEntity } from 'loot-core/types/models'; +import type { ScheduleEntity } from 'loot-core/types/models'; import { SchedulesListItem } from './SchedulesListItem'; import { ActionableGridListItem } from '@desktop-client/components/mobile/ActionableGridListItem'; import { MOBILE_NAV_HEIGHT } from '@desktop-client/components/mobile/MobileNavTabs'; -import { type ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; +import type { ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; type CompletedSchedulesItem = { id: 'show-completed' }; type SchedulesListEntry = ScheduleEntity | CompletedSchedulesItem; diff --git a/packages/desktop-client/src/components/mobile/schedules/SchedulesListItem.tsx b/packages/desktop-client/src/components/mobile/schedules/SchedulesListItem.tsx index 376e827514..e5649e9cad 100644 --- a/packages/desktop-client/src/components/mobile/schedules/SchedulesListItem.tsx +++ b/packages/desktop-client/src/components/mobile/schedules/SchedulesListItem.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import { type GridListItemProps } from 'react-aria-components'; +import type { GridListItemProps } from 'react-aria-components'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -11,15 +11,15 @@ import { View } from '@actual-app/components/view'; import { format as monthUtilFormat } from 'loot-core/shared/months'; import { getScheduledAmount } from 'loot-core/shared/schedules'; -import { type ScheduleEntity } from 'loot-core/types/models'; -import { type WithRequired } from 'loot-core/types/util'; +import type { ScheduleEntity } from 'loot-core/types/models'; +import type { WithRequired } from 'loot-core/types/util'; import { ActionableGridListItem } from '@desktop-client/components/mobile/ActionableGridListItem'; import { StatusBadge } from '@desktop-client/components/schedules/StatusBadge'; import { DisplayId } from '@desktop-client/components/util/DisplayId'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; import { useFormat } from '@desktop-client/hooks/useFormat'; -import { type ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; +import type { ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; type SchedulesListItemProps = { onDelete: () => void; diff --git a/packages/desktop-client/src/components/mobile/transactions/FocusableAmountInput.tsx b/packages/desktop-client/src/components/mobile/transactions/FocusableAmountInput.tsx index 841928a25d..266621bb40 100644 --- a/packages/desktop-client/src/components/mobile/transactions/FocusableAmountInput.tsx +++ b/packages/desktop-client/src/components/mobile/transactions/FocusableAmountInput.tsx @@ -1,12 +1,9 @@ -import React, { - memo, - useEffect, - useRef, - useState, - type ComponentPropsWithRef, - type CSSProperties, - type HTMLProps, - type Ref, +import React, { memo, useEffect, useRef, useState } from 'react'; +import type { + ComponentPropsWithRef, + CSSProperties, + HTMLProps, + Ref, } from 'react'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx b/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx index f36a3f18a4..584d96b023 100644 --- a/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx +++ b/packages/desktop-client/src/components/mobile/transactions/TransactionEdit.tsx @@ -54,11 +54,11 @@ import { integerToCurrency, titleFirst, } from 'loot-core/shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type PayeeEntity, - type TransactionEntity, +import type { + AccountEntity, + CategoryEntity, + PayeeEntity, + TransactionEntity, } from 'loot-core/types/models'; import { FocusableAmountInput } from './FocusableAmountInput'; diff --git a/packages/desktop-client/src/components/mobile/transactions/TransactionList.tsx b/packages/desktop-client/src/components/mobile/transactions/TransactionList.tsx index 6669421c12..e6816aaa68 100644 --- a/packages/desktop-client/src/components/mobile/transactions/TransactionList.tsx +++ b/packages/desktop-client/src/components/mobile/transactions/TransactionList.tsx @@ -4,8 +4,8 @@ import React, { useMemo, useRef, useState, - type CSSProperties, } from 'react'; +import type { CSSProperties } from 'react'; import { Collection, Header, @@ -21,11 +21,8 @@ import { Button } from '@actual-app/components/button'; import { AnimatedLoading } from '@actual-app/components/icons/AnimatedLoading'; import { SvgDelete } from '@actual-app/components/icons/v0'; import { SvgDotsHorizontalTriple } from '@actual-app/components/icons/v1'; -import { - Menu, - type MenuItem, - type MenuItemObject, -} from '@actual-app/components/menu'; +import { Menu } from '@actual-app/components/menu'; +import type { MenuItem, MenuItemObject } from '@actual-app/components/menu'; import { Popover } from '@actual-app/components/popover'; import { styles } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; @@ -35,12 +32,9 @@ import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; import { isPreviewId } from 'loot-core/shared/transactions'; import { validForTransfer } from 'loot-core/shared/transfer'; -import { - groupById, - integerToCurrency, - type IntegerAmount, -} from 'loot-core/shared/util'; -import { type TransactionEntity } from 'loot-core/types/models'; +import { groupById, integerToCurrency } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { TransactionEntity } from 'loot-core/types/models'; import { ROW_HEIGHT, TransactionListItem } from './TransactionListItem'; diff --git a/packages/desktop-client/src/components/mobile/transactions/TransactionListItem.tsx b/packages/desktop-client/src/components/mobile/transactions/TransactionListItem.tsx index 9887c5db86..1db2854a71 100644 --- a/packages/desktop-client/src/components/mobile/transactions/TransactionListItem.tsx +++ b/packages/desktop-client/src/components/mobile/transactions/TransactionListItem.tsx @@ -1,6 +1,7 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { mergeProps } from 'react-aria'; -import { type ListBoxItemRenderProps } from 'react-aria-components'; +import type { ListBoxItemRenderProps } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -27,11 +28,9 @@ import { } from '@react-aria/interactions'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { integerToCurrency, type IntegerAmount } from 'loot-core/shared/util'; -import { - type AccountEntity, - type TransactionEntity, -} from 'loot-core/types/models'; +import { integerToCurrency } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { AccountEntity, TransactionEntity } from 'loot-core/types/models'; import { lookupName, Status } from './TransactionEdit'; diff --git a/packages/desktop-client/src/components/mobile/transactions/TransactionListWithBalances.tsx b/packages/desktop-client/src/components/mobile/transactions/TransactionListWithBalances.tsx index ac45bd7999..c849995f1b 100644 --- a/packages/desktop-client/src/components/mobile/transactions/TransactionListWithBalances.tsx +++ b/packages/desktop-client/src/components/mobile/transactions/TransactionListWithBalances.tsx @@ -1,4 +1,5 @@ -import React, { useState, type ComponentProps } from 'react'; +import React, { useState } from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; import { Label } from '@actual-app/components/label'; @@ -6,8 +7,8 @@ import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { TransactionEntity } from 'loot-core/types/models'; import { TransactionList } from './TransactionList'; diff --git a/packages/desktop-client/src/components/mobile/utils.ts b/packages/desktop-client/src/components/mobile/utils.ts index 43719f063f..0ee3af7b28 100644 --- a/packages/desktop-client/src/components/mobile/utils.ts +++ b/packages/desktop-client/src/components/mobile/utils.ts @@ -1,9 +1,9 @@ -import { type useTranslation } from 'react-i18next'; +import type { useTranslation } from 'react-i18next'; -import { - type AccountEntity, - type PayeeEntity, - type TransactionEntity, +import type { + AccountEntity, + PayeeEntity, + TransactionEntity, } from 'loot-core/types/models'; type GetPrettyPayeeProps = { diff --git a/packages/desktop-client/src/components/modals/AccountAutocompleteModal.tsx b/packages/desktop-client/src/components/modals/AccountAutocompleteModal.tsx index 4075b011b3..e45f6ff120 100644 --- a/packages/desktop-client/src/components/modals/AccountAutocompleteModal.tsx +++ b/packages/desktop-client/src/components/modals/AccountAutocompleteModal.tsx @@ -13,7 +13,7 @@ import { ModalTitle, } from '@desktop-client/components/common/Modal'; import { SectionLabel } from '@desktop-client/components/forms'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type AccountAutocompleteModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/AccountMenuModal.tsx b/packages/desktop-client/src/components/modals/AccountMenuModal.tsx index 7c6f2c8fb7..55e9585f31 100644 --- a/packages/desktop-client/src/components/modals/AccountMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/AccountMenuModal.tsx @@ -1,10 +1,5 @@ -import { - Fragment, - useRef, - useState, - type ComponentProps, - type CSSProperties, -} from 'react'; +import { Fragment, useRef, useState } from 'react'; +import type { ComponentProps, CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -20,7 +15,7 @@ import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { Modal, @@ -34,7 +29,7 @@ import { useAccount } from '@desktop-client/hooks/useAccount'; import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { useNotes } from '@desktop-client/hooks/useNotes'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type AccountMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/BudgetAutomationsModal.tsx b/packages/desktop-client/src/components/modals/BudgetAutomationsModal.tsx index 7e0098fe97..a9095d1574 100644 --- a/packages/desktop-client/src/components/modals/BudgetAutomationsModal.tsx +++ b/packages/desktop-client/src/components/modals/BudgetAutomationsModal.tsx @@ -1,4 +1,5 @@ -import { useCallback, useMemo, useState, type CSSProperties } from 'react'; +import { useCallback, useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -10,9 +11,9 @@ import uniqueId from 'lodash/uniqueId'; import { send } from 'loot-core/platform/client/fetch'; import { q } from 'loot-core/shared/query'; -import { - type CategoryGroupEntity, - type ScheduleEntity, +import type { + CategoryGroupEntity, + ScheduleEntity, } from 'loot-core/types/models'; import type { Template } from 'loot-core/types/models/templates'; diff --git a/packages/desktop-client/src/components/modals/BudgetPageMenuModal.tsx b/packages/desktop-client/src/components/modals/BudgetPageMenuModal.tsx index 737ca53546..df15a7888d 100644 --- a/packages/desktop-client/src/components/modals/BudgetPageMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/BudgetPageMenuModal.tsx @@ -1,7 +1,5 @@ -import React, { - type ComponentPropsWithoutRef, - type CSSProperties, -} from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; @@ -14,7 +12,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { useLocalPref } from '@desktop-client/hooks/useLocalPref'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type BudgetPageMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/CategoryAutocompleteModal.tsx b/packages/desktop-client/src/components/modals/CategoryAutocompleteModal.tsx index 06f6db4bab..aa773d50a7 100644 --- a/packages/desktop-client/src/components/modals/CategoryAutocompleteModal.tsx +++ b/packages/desktop-client/src/components/modals/CategoryAutocompleteModal.tsx @@ -16,7 +16,7 @@ import { } from '@desktop-client/components/common/Modal'; import { SectionLabel } from '@desktop-client/components/forms'; import { SheetNameProvider } from '@desktop-client/hooks/useSheetName'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type CategoryAutocompleteModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/CategoryGroupMenuModal.tsx b/packages/desktop-client/src/components/modals/CategoryGroupMenuModal.tsx index 17f7389a66..9ca56eb037 100644 --- a/packages/desktop-client/src/components/modals/CategoryGroupMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/CategoryGroupMenuModal.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useRef, useState, type ComponentProps } from 'react'; +import React, { useRef, useState } from 'react'; +import type { ComponentProps } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -17,7 +18,8 @@ import { } from '@actual-app/components/icons/v2'; import { Menu } from '@actual-app/components/menu'; import { Popover } from '@actual-app/components/popover'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; @@ -34,7 +36,7 @@ import { useCategories } from '@desktop-client/hooks/useCategories'; import { useFeatureFlag } from '@desktop-client/hooks/useFeatureFlag'; import { useNotes } from '@desktop-client/hooks/useNotes'; import { useUndo } from '@desktop-client/hooks/useUndo'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type CategoryGroupMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/CategoryMenuModal.tsx b/packages/desktop-client/src/components/modals/CategoryMenuModal.tsx index a999110ed0..4cfa2df51d 100644 --- a/packages/desktop-client/src/components/modals/CategoryMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/CategoryMenuModal.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useRef, useState, type CSSProperties } from 'react'; +import React, { useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -28,7 +29,7 @@ import { Notes } from '@desktop-client/components/Notes'; import { useCategory } from '@desktop-client/hooks/useCategory'; import { useCategoryGroup } from '@desktop-client/hooks/useCategoryGroup'; import { useNotes } from '@desktop-client/hooks/useNotes'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type CategoryMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/CloseAccountModal.tsx b/packages/desktop-client/src/components/modals/CloseAccountModal.tsx index b13ad631ef..b07f89cc46 100644 --- a/packages/desktop-client/src/components/modals/CloseAccountModal.tsx +++ b/packages/desktop-client/src/components/modals/CloseAccountModal.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useState, type CSSProperties, type FormEvent } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties, FormEvent } from 'react'; import { Form } from 'react-aria-components'; import { Trans, useTranslation } from 'react-i18next'; @@ -13,8 +14,8 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { integerToCurrency } from 'loot-core/shared/util'; -import { type AccountEntity } from 'loot-core/types/models'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { AccountEntity } from 'loot-core/types/models'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { closeAccount } from '@desktop-client/accounts/accountsSlice'; import { AccountAutocomplete } from '@desktop-client/components/autocomplete/AccountAutocomplete'; @@ -27,10 +28,8 @@ import { } from '@desktop-client/components/common/Modal'; import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { useCategories } from '@desktop-client/hooks/useCategories'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; function needsCategory( diff --git a/packages/desktop-client/src/components/modals/ConfirmCategoryDeleteModal.tsx b/packages/desktop-client/src/components/modals/ConfirmCategoryDeleteModal.tsx index 51bf74d728..c356b3bc40 100644 --- a/packages/desktop-client/src/components/modals/ConfirmCategoryDeleteModal.tsx +++ b/packages/desktop-client/src/components/modals/ConfirmCategoryDeleteModal.tsx @@ -8,7 +8,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { CategoryAutocomplete } from '@desktop-client/components/autocomplete/CategoryAutocomplete'; import { @@ -17,7 +17,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { useCategories } from '@desktop-client/hooks/useCategories'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ConfirmCategoryDeleteModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/ConfirmDeleteModal.tsx b/packages/desktop-client/src/components/modals/ConfirmDeleteModal.tsx index 4a8f1064a8..e3adb860b4 100644 --- a/packages/desktop-client/src/components/modals/ConfirmDeleteModal.tsx +++ b/packages/desktop-client/src/components/modals/ConfirmDeleteModal.tsx @@ -13,7 +13,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ConfirmDeleteModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/ConfirmTransactionEditModal.tsx b/packages/desktop-client/src/components/modals/ConfirmTransactionEditModal.tsx index d80b5c6664..c7bef8663b 100644 --- a/packages/desktop-client/src/components/modals/ConfirmTransactionEditModal.tsx +++ b/packages/desktop-client/src/components/modals/ConfirmTransactionEditModal.tsx @@ -14,7 +14,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ConfirmTransactionEditModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/ConfirmUnlinkAccountModal.tsx b/packages/desktop-client/src/components/modals/ConfirmUnlinkAccountModal.tsx index a4c81d13de..0263437dd4 100644 --- a/packages/desktop-client/src/components/modals/ConfirmUnlinkAccountModal.tsx +++ b/packages/desktop-client/src/components/modals/ConfirmUnlinkAccountModal.tsx @@ -11,7 +11,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ConfirmUnlinkAccountModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/ConvertToScheduleModal.tsx b/packages/desktop-client/src/components/modals/ConvertToScheduleModal.tsx index ab711dbdca..febd4ebc27 100644 --- a/packages/desktop-client/src/components/modals/ConvertToScheduleModal.tsx +++ b/packages/desktop-client/src/components/modals/ConvertToScheduleModal.tsx @@ -14,7 +14,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ConvertToScheduleModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/CopyWidgetToDashboardModal.tsx b/packages/desktop-client/src/components/modals/CopyWidgetToDashboardModal.tsx index b887da465f..91bf440dc9 100644 --- a/packages/desktop-client/src/components/modals/CopyWidgetToDashboardModal.tsx +++ b/packages/desktop-client/src/components/modals/CopyWidgetToDashboardModal.tsx @@ -1,4 +1,5 @@ -import { useMemo, type ComponentProps } from 'react'; +import { useMemo } from 'react'; +import type { ComponentProps } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -11,7 +12,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { useDashboardPages } from '@desktop-client/hooks/useDashboard'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type CopyWidgetToDashboardModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/CoverModal.tsx b/packages/desktop-client/src/components/modals/CoverModal.tsx index 739f6036a7..1f8c413bdf 100644 --- a/packages/desktop-client/src/components/modals/CoverModal.tsx +++ b/packages/desktop-client/src/components/modals/CoverModal.tsx @@ -6,7 +6,7 @@ import { InitialFocus } from '@actual-app/components/initial-focus'; import { styles } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; -import { type IntegerAmount } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; import { addToBeBudgetedGroup, @@ -24,10 +24,8 @@ import { import { AmountInput } from '@desktop-client/components/util/AmountInput'; import { useCategories } from '@desktop-client/hooks/useCategories'; import { useInitialMount } from '@desktop-client/hooks/useInitialMount'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; type CoverModalProps = Extract['options']; diff --git a/packages/desktop-client/src/components/modals/CreateAccountModal.tsx b/packages/desktop-client/src/components/modals/CreateAccountModal.tsx index 094a6f972b..5fd3a46e51 100644 --- a/packages/desktop-client/src/components/modals/CreateAccountModal.tsx +++ b/packages/desktop-client/src/components/modals/CreateAccountModal.tsx @@ -29,10 +29,8 @@ import { useGoCardlessStatus } from '@desktop-client/hooks/useGoCardlessStatus'; import { usePluggyAiStatus } from '@desktop-client/hooks/usePluggyAiStatus'; import { useSimpleFinStatus } from '@desktop-client/hooks/useSimpleFinStatus'; import { useSyncServerStatus } from '@desktop-client/hooks/useSyncServerStatus'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/modals/CreateEncryptionKeyModal.tsx b/packages/desktop-client/src/components/modals/CreateEncryptionKeyModal.tsx index 5b30577999..078719263f 100644 --- a/packages/desktop-client/src/components/modals/CreateEncryptionKeyModal.tsx +++ b/packages/desktop-client/src/components/modals/CreateEncryptionKeyModal.tsx @@ -26,7 +26,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { loadGlobalPrefs } from '@desktop-client/prefs/prefsSlice'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/modals/CreateLocalAccountModal.tsx b/packages/desktop-client/src/components/modals/CreateLocalAccountModal.tsx index 513f8f1732..f9e7c62d7a 100644 --- a/packages/desktop-client/src/components/modals/CreateLocalAccountModal.tsx +++ b/packages/desktop-client/src/components/modals/CreateLocalAccountModal.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import { useState, type FormEvent } from 'react'; +import { useState } from 'react'; +import type { FormEvent } from 'react'; import { Form } from 'react-aria-components'; import { Trans, useTranslation } from 'react-i18next'; diff --git a/packages/desktop-client/src/components/modals/EditAccess.tsx b/packages/desktop-client/src/components/modals/EditAccess.tsx index 0596e09e1e..f95c551ac5 100644 --- a/packages/desktop-client/src/components/modals/EditAccess.tsx +++ b/packages/desktop-client/src/components/modals/EditAccess.tsx @@ -18,10 +18,8 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { FormField, FormLabel } from '@desktop-client/components/forms'; -import { - popModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { popModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; import { signOut } from '@desktop-client/users/usersSlice'; diff --git a/packages/desktop-client/src/components/modals/EditFieldModal.tsx b/packages/desktop-client/src/components/modals/EditFieldModal.tsx index adfce8ebc3..014b998fb8 100644 --- a/packages/desktop-client/src/components/modals/EditFieldModal.tsx +++ b/packages/desktop-client/src/components/modals/EditFieldModal.tsx @@ -1,4 +1,5 @@ -import { useRef, useState, type CSSProperties, type ReactNode } from 'react'; +import { useRef, useState } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -20,7 +21,7 @@ import { SectionLabel } from '@desktop-client/components/forms'; import { LabeledCheckbox } from '@desktop-client/components/forms/LabeledCheckbox'; import { DateSelect } from '@desktop-client/components/select/DateSelect'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; const itemStyle: CSSProperties = { fontSize: 17, diff --git a/packages/desktop-client/src/components/modals/EditUser.tsx b/packages/desktop-client/src/components/modals/EditUser.tsx index 2cae8f9665..cf98b6b27d 100644 --- a/packages/desktop-client/src/components/modals/EditUser.tsx +++ b/packages/desktop-client/src/components/modals/EditUser.tsx @@ -12,7 +12,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { PossibleRoles } from 'loot-core/shared/user'; -import { type NewUserEntity, type UserEntity } from 'loot-core/types/models'; +import type { NewUserEntity, UserEntity } from 'loot-core/types/models'; import { Modal, @@ -24,10 +24,8 @@ import { FormField, FormLabel, } from '@desktop-client/components/forms'; -import { - popModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { popModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; import { signOut } from '@desktop-client/users/usersSlice'; diff --git a/packages/desktop-client/src/components/modals/EnvelopeBalanceMenuModal.tsx b/packages/desktop-client/src/components/modals/EnvelopeBalanceMenuModal.tsx index 44ad20e3a1..aeae5e0160 100644 --- a/packages/desktop-client/src/components/modals/EnvelopeBalanceMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/EnvelopeBalanceMenuModal.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; @@ -19,7 +20,7 @@ import { } from '@desktop-client/components/common/Modal'; import { CellValueText } from '@desktop-client/components/spreadsheet/CellValue'; import { useCategory } from '@desktop-client/hooks/useCategory'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; type EnvelopeBalanceMenuModalProps = Omit< diff --git a/packages/desktop-client/src/components/modals/EnvelopeBudgetMenuModal.tsx b/packages/desktop-client/src/components/modals/EnvelopeBudgetMenuModal.tsx index d0b2db4c33..9496c39998 100644 --- a/packages/desktop-client/src/components/modals/EnvelopeBudgetMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/EnvelopeBudgetMenuModal.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState, type CSSProperties } from 'react'; +import React, { useEffect, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; @@ -19,7 +20,7 @@ import { } from '@desktop-client/components/common/Modal'; import { FocusableAmountInput } from '@desktop-client/components/mobile/transactions/FocusableAmountInput'; import { useCategory } from '@desktop-client/hooks/useCategory'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; type EnvelopeBudgetMenuModalProps = Omit< diff --git a/packages/desktop-client/src/components/modals/EnvelopeBudgetMonthMenuModal.tsx b/packages/desktop-client/src/components/modals/EnvelopeBudgetMonthMenuModal.tsx index 2b81be24b7..eec79fa2b0 100644 --- a/packages/desktop-client/src/components/modals/EnvelopeBudgetMonthMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/EnvelopeBudgetMonthMenuModal.tsx @@ -8,7 +8,8 @@ import { SvgCheveronUp, } from '@actual-app/components/icons/v1'; import { SvgNotesPaper } from '@actual-app/components/icons/v2'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; @@ -25,7 +26,7 @@ import { Notes } from '@desktop-client/components/Notes'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { useNotes } from '@desktop-client/hooks/useNotes'; import { useUndo } from '@desktop-client/hooks/useUndo'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type EnvelopeBudgetMonthMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/EnvelopeBudgetSummaryModal.tsx b/packages/desktop-client/src/components/modals/EnvelopeBudgetSummaryModal.tsx index 4fa2daf7d2..122cc69a3e 100644 --- a/packages/desktop-client/src/components/modals/EnvelopeBudgetSummaryModal.tsx +++ b/packages/desktop-client/src/components/modals/EnvelopeBudgetSummaryModal.tsx @@ -23,11 +23,8 @@ import { useFormat } from '@desktop-client/hooks/useFormat'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { SheetNameProvider } from '@desktop-client/hooks/useSheetName'; import { useUndo } from '@desktop-client/hooks/useUndo'; -import { - collapseModals, - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { collapseModals, pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; diff --git a/packages/desktop-client/src/components/modals/EnvelopeIncomeBalanceMenuModal.tsx b/packages/desktop-client/src/components/modals/EnvelopeIncomeBalanceMenuModal.tsx index 880803f257..f538c388f6 100644 --- a/packages/desktop-client/src/components/modals/EnvelopeIncomeBalanceMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/EnvelopeIncomeBalanceMenuModal.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; @@ -20,7 +21,7 @@ import { } from '@desktop-client/components/common/Modal'; import { CellValueText } from '@desktop-client/components/spreadsheet/CellValue'; import { useCategory } from '@desktop-client/hooks/useCategory'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; type EnvelopeIncomeBalanceMenuModalProps = Omit< diff --git a/packages/desktop-client/src/components/modals/EnvelopeToBudgetMenuModal.tsx b/packages/desktop-client/src/components/modals/EnvelopeToBudgetMenuModal.tsx index ce5a3f79c8..4931fe3454 100644 --- a/packages/desktop-client/src/components/modals/EnvelopeToBudgetMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/EnvelopeToBudgetMenuModal.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; @@ -9,7 +10,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type EnvelopeToBudgetMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/FixEncryptionKeyModal.tsx b/packages/desktop-client/src/components/modals/FixEncryptionKeyModal.tsx index 3981aa6f59..893e3eb530 100644 --- a/packages/desktop-client/src/components/modals/FixEncryptionKeyModal.tsx +++ b/packages/desktop-client/src/components/modals/FixEncryptionKeyModal.tsx @@ -23,7 +23,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type FixEncryptionKeyModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/GoCardlessExternalMsgModal.tsx b/packages/desktop-client/src/components/modals/GoCardlessExternalMsgModal.tsx index 8ef02844a9..8312cb8b28 100644 --- a/packages/desktop-client/src/components/modals/GoCardlessExternalMsgModal.tsx +++ b/packages/desktop-client/src/components/modals/GoCardlessExternalMsgModal.tsx @@ -9,9 +9,9 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { sendCatch } from 'loot-core/platform/client/fetch'; -import { - type GoCardlessInstitution, - type GoCardlessToken, +import type { + GoCardlessInstitution, + GoCardlessToken, } from 'loot-core/types/models'; import { Error, Warning } from '@desktop-client/components/alerts'; @@ -27,10 +27,8 @@ import { COUNTRY_OPTIONS } from '@desktop-client/components/util/countries'; import { getCountryFromBrowser } from '@desktop-client/components/util/localeToCountry'; import { useGlobalPref } from '@desktop-client/hooks/useGlobalPref'; import { useGoCardlessStatus } from '@desktop-client/hooks/useGoCardlessStatus'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; function useAvailableBanks(country: string) { diff --git a/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx b/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx index 83f8560cde..b887919995 100644 --- a/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/GoCardlessInitialiseModal.tsx @@ -20,7 +20,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { FormField, FormLabel } from '@desktop-client/components/forms'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type GoCardlessInitialiseModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/HoldBufferModal.tsx b/packages/desktop-client/src/components/modals/HoldBufferModal.tsx index cbe705595c..60c5af4c0f 100644 --- a/packages/desktop-client/src/components/modals/HoldBufferModal.tsx +++ b/packages/desktop-client/src/components/modals/HoldBufferModal.tsx @@ -14,7 +14,7 @@ import { } from '@desktop-client/components/common/Modal'; import { FieldLabel } from '@desktop-client/components/mobile/MobileForms'; import { AmountInput } from '@desktop-client/components/util/AmountInput'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { envelopeBudget } from '@desktop-client/spreadsheet/bindings'; type HoldBufferModalProps = Extract< diff --git a/packages/desktop-client/src/components/modals/ImportTransactionsModal/DateFormatSelect.tsx b/packages/desktop-client/src/components/modals/ImportTransactionsModal/DateFormatSelect.tsx index 1ac6c0e857..03e640c336 100644 --- a/packages/desktop-client/src/components/modals/ImportTransactionsModal/DateFormatSelect.tsx +++ b/packages/desktop-client/src/components/modals/ImportTransactionsModal/DateFormatSelect.tsx @@ -4,12 +4,8 @@ import { useTranslation } from 'react-i18next'; import { Select } from '@actual-app/components/select'; import { View } from '@actual-app/components/view'; -import { - dateFormats, - type DateFormat, - type FieldMapping, - type ImportTransaction, -} from './utils'; +import { dateFormats } from './utils'; +import type { DateFormat, FieldMapping, ImportTransaction } from './utils'; import { SectionLabel } from '@desktop-client/components/forms'; diff --git a/packages/desktop-client/src/components/modals/ImportTransactionsModal/FieldMappings.tsx b/packages/desktop-client/src/components/modals/ImportTransactionsModal/FieldMappings.tsx index 5294663da4..f117616431 100644 --- a/packages/desktop-client/src/components/modals/ImportTransactionsModal/FieldMappings.tsx +++ b/packages/desktop-client/src/components/modals/ImportTransactionsModal/FieldMappings.tsx @@ -6,11 +6,8 @@ import { View } from '@actual-app/components/view'; import { SelectField } from './SelectField'; import { SubLabel } from './SubLabel'; -import { - stripCsvImportTransaction, - type FieldMapping, - type ImportTransaction, -} from './utils'; +import { stripCsvImportTransaction } from './utils'; +import type { FieldMapping, ImportTransaction } from './utils'; import { SectionLabel } from '@desktop-client/components/forms'; diff --git a/packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx b/packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx index 15d282decb..30d2da822e 100644 --- a/packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx +++ b/packages/desktop-client/src/components/modals/ImportTransactionsModal/ImportTransactionsModal.tsx @@ -1,11 +1,6 @@ // @ts-strict-ignore -import React, { - useCallback, - useEffect, - useEffectEvent, - useState, - type ComponentProps, -} from 'react'; +import React, { useCallback, useEffect, useEffectEvent, useState } from 'react'; +import type { ComponentProps } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button, ButtonWithLoading } from '@actual-app/components/button'; @@ -18,7 +13,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type ParseFileOptions } from 'loot-core/server/transactions/import/parse-file'; +import type { ParseFileOptions } from 'loot-core/server/transactions/import/parse-file'; import { amountToInteger } from 'loot-core/shared/util'; import { DateFormatSelect } from './DateFormatSelect'; @@ -33,10 +28,8 @@ import { parseAmountFields, parseDate, stripCsvImportTransaction, - type DateFormat, - type FieldMapping, - type ImportTransaction, } from './utils'; +import type { DateFormat, FieldMapping, ImportTransaction } from './utils'; import { importPreviewTransactions, diff --git a/packages/desktop-client/src/components/modals/ImportTransactionsModal/MultiplierOption.tsx b/packages/desktop-client/src/components/modals/ImportTransactionsModal/MultiplierOption.tsx index 7175c0e2f4..1a7861efa9 100644 --- a/packages/desktop-client/src/components/modals/ImportTransactionsModal/MultiplierOption.tsx +++ b/packages/desktop-client/src/components/modals/ImportTransactionsModal/MultiplierOption.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Input } from '@actual-app/components/input'; diff --git a/packages/desktop-client/src/components/modals/ImportTransactionsModal/SelectField.tsx b/packages/desktop-client/src/components/modals/ImportTransactionsModal/SelectField.tsx index 1c7fb5defb..e7f3c253d4 100644 --- a/packages/desktop-client/src/components/modals/ImportTransactionsModal/SelectField.tsx +++ b/packages/desktop-client/src/components/modals/ImportTransactionsModal/SelectField.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Select } from '@actual-app/components/select'; diff --git a/packages/desktop-client/src/components/modals/ImportTransactionsModal/Transaction.tsx b/packages/desktop-client/src/components/modals/ImportTransactionsModal/Transaction.tsx index 283011c765..e32094a15b 100644 --- a/packages/desktop-client/src/components/modals/ImportTransactionsModal/Transaction.tsx +++ b/packages/desktop-client/src/components/modals/ImportTransactionsModal/Transaction.tsx @@ -1,4 +1,5 @@ -import React, { useMemo, type ComponentProps } from 'react'; +import React, { useMemo } from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; import { SvgDownAndRightArrow } from '@actual-app/components/icons/v2'; @@ -9,16 +10,11 @@ import { Tooltip } from '@actual-app/components/tooltip'; import { View } from '@actual-app/components/view'; import { amountToCurrency } from 'loot-core/shared/util'; -import { type CategoryEntity } from 'loot-core/types/models'; +import type { CategoryEntity } from 'loot-core/types/models'; import { ParsedDate } from './ParsedDate'; -import { - applyFieldMappings, - formatDate, - parseAmountFields, - type FieldMapping, - type ImportTransaction, -} from './utils'; +import { applyFieldMappings, formatDate, parseAmountFields } from './utils'; +import type { FieldMapping, ImportTransaction } from './utils'; import { Checkbox } from '@desktop-client/components/forms'; import { Field, Row } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/modals/KeyboardShortcutModal.tsx b/packages/desktop-client/src/components/modals/KeyboardShortcutModal.tsx index a78b25ff41..b4486fc30e 100644 --- a/packages/desktop-client/src/components/modals/KeyboardShortcutModal.tsx +++ b/packages/desktop-client/src/components/modals/KeyboardShortcutModal.tsx @@ -1,4 +1,5 @@ -import { useMemo, useState, type CSSProperties, type ReactNode } from 'react'; +import { useMemo, useState } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/modals/LoadBackupModal.tsx b/packages/desktop-client/src/components/modals/LoadBackupModal.tsx index ad984067c8..cbf0edda03 100644 --- a/packages/desktop-client/src/components/modals/LoadBackupModal.tsx +++ b/packages/desktop-client/src/components/modals/LoadBackupModal.tsx @@ -8,7 +8,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { listen, send } from 'loot-core/platform/client/fetch'; -import { type Backup } from 'loot-core/server/budgetfiles/backups'; +import type { Backup } from 'loot-core/server/budgetfiles/backups'; import { loadBackup, @@ -21,7 +21,7 @@ import { } from '@desktop-client/components/common/Modal'; import { Cell, Row } from '@desktop-client/components/table'; import { useMetadataPref } from '@desktop-client/hooks/useMetadataPref'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; type BackupTableProps = { diff --git a/packages/desktop-client/src/components/modals/ManageRulesModal.tsx b/packages/desktop-client/src/components/modals/ManageRulesModal.tsx index 006c6df964..5f3074f48b 100644 --- a/packages/desktop-client/src/components/modals/ManageRulesModal.tsx +++ b/packages/desktop-client/src/components/modals/ManageRulesModal.tsx @@ -8,7 +8,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { ManageRules } from '@desktop-client/components/ManageRules'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ManageRulesModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx b/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx index 71d8d5f805..45f6e5be6c 100644 --- a/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx +++ b/packages/desktop-client/src/components/modals/MergeUnusedPayeesModal.tsx @@ -8,16 +8,14 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type PayeeEntity } from 'loot-core/types/models'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { PayeeEntity } from 'loot-core/types/models'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { Information } from '@desktop-client/components/alerts'; import { Modal, ModalButtons } from '@desktop-client/components/common/Modal'; import { usePayees } from '@desktop-client/hooks/usePayees'; -import { - replaceModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { replaceModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; const highlightStyle = { color: theme.pageTextPositive }; diff --git a/packages/desktop-client/src/components/modals/NewCategoryGroupModal.tsx b/packages/desktop-client/src/components/modals/NewCategoryGroupModal.tsx index 2e3c4acbcd..5b98010a59 100644 --- a/packages/desktop-client/src/components/modals/NewCategoryGroupModal.tsx +++ b/packages/desktop-client/src/components/modals/NewCategoryGroupModal.tsx @@ -6,7 +6,7 @@ import { ModalHeader, ModalTitle, } from '@desktop-client/components/common/Modal'; -import { type Modal } from '@desktop-client/modals/modalsSlice'; +import type { Modal } from '@desktop-client/modals/modalsSlice'; type NewCategoryGroupModalProps = Extract< Modal, diff --git a/packages/desktop-client/src/components/modals/NewCategoryModal.tsx b/packages/desktop-client/src/components/modals/NewCategoryModal.tsx index 749f9ccd89..996ab6a59f 100644 --- a/packages/desktop-client/src/components/modals/NewCategoryModal.tsx +++ b/packages/desktop-client/src/components/modals/NewCategoryModal.tsx @@ -6,7 +6,7 @@ import { ModalHeader, ModalTitle, } from '@desktop-client/components/common/Modal'; -import { type Modal } from '@desktop-client/modals/modalsSlice'; +import type { Modal } from '@desktop-client/modals/modalsSlice'; type NewCategoryModalProps = Extract< Modal, diff --git a/packages/desktop-client/src/components/modals/NotesModal.tsx b/packages/desktop-client/src/components/modals/NotesModal.tsx index 4839b1e073..d10ca57ca7 100644 --- a/packages/desktop-client/src/components/modals/NotesModal.tsx +++ b/packages/desktop-client/src/components/modals/NotesModal.tsx @@ -13,7 +13,7 @@ import { } from '@desktop-client/components/common/Modal'; import { Notes } from '@desktop-client/components/Notes'; import { useNotes } from '@desktop-client/hooks/useNotes'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type NotesModalProps = Extract['options']; diff --git a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx index 4409b8e0f3..1d5e5cad1c 100644 --- a/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/OpenIDEnableModal.tsx @@ -10,7 +10,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as asyncStorage from 'loot-core/platform/server/asyncStorage'; import { getOpenIdErrors } from 'loot-core/shared/errors'; -import { type OpenIdConfig } from 'loot-core/types/models'; +import type { OpenIdConfig } from 'loot-core/types/models'; import { closeBudget } from '@desktop-client/budgetfiles/budgetfilesSlice'; import { Error } from '@desktop-client/components/alerts'; @@ -21,10 +21,8 @@ import { } from '@desktop-client/components/common/Modal'; import { OpenIdForm } from '@desktop-client/components/manager/subscribe/OpenIdForm'; import { useRefreshLoginMethods } from '@desktop-client/components/ServerContext'; -import { - popModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { popModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; type OpenIDEnableModalProps = Extract< diff --git a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx index 6b2fd1b148..85856d5894 100644 --- a/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx +++ b/packages/desktop-client/src/components/modals/PasswordEnableModal.tsx @@ -27,10 +27,8 @@ import { useMultiuserEnabled, useRefreshLoginMethods, } from '@desktop-client/components/ServerContext'; -import { - popModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { popModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; type PasswordEnableModalProps = Extract< diff --git a/packages/desktop-client/src/components/modals/PayeeAutocompleteModal.tsx b/packages/desktop-client/src/components/modals/PayeeAutocompleteModal.tsx index a40a6df216..bdfdce2d70 100644 --- a/packages/desktop-client/src/components/modals/PayeeAutocompleteModal.tsx +++ b/packages/desktop-client/src/components/modals/PayeeAutocompleteModal.tsx @@ -14,7 +14,7 @@ import { import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { usePayees } from '@desktop-client/hooks/usePayees'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type PayeeAutocompleteModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/PluggyAiInitialiseModal.tsx b/packages/desktop-client/src/components/modals/PluggyAiInitialiseModal.tsx index f14659c25e..b050f8d017 100644 --- a/packages/desktop-client/src/components/modals/PluggyAiInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/PluggyAiInitialiseModal.tsx @@ -20,7 +20,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { FormField, FormLabel } from '@desktop-client/components/forms'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type PluggyAiInitialiseProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/ScheduledTransactionMenuModal.tsx b/packages/desktop-client/src/components/modals/ScheduledTransactionMenuModal.tsx index d155a4c8ba..c69d68800f 100644 --- a/packages/desktop-client/src/components/modals/ScheduledTransactionMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/ScheduledTransactionMenuModal.tsx @@ -1,8 +1,5 @@ -import React, { - useMemo, - type ComponentPropsWithoutRef, - type CSSProperties, -} from 'react'; +import React, { useMemo } from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; @@ -26,7 +23,7 @@ import { } from '@desktop-client/components/common/Modal'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { useSchedules } from '@desktop-client/hooks/useSchedules'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type ScheduledTransactionMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/SelectLinkedAccountsModal.tsx b/packages/desktop-client/src/components/modals/SelectLinkedAccountsModal.tsx index 1e0f88bad2..dafaba8eef 100644 --- a/packages/desktop-client/src/components/modals/SelectLinkedAccountsModal.tsx +++ b/packages/desktop-client/src/components/modals/SelectLinkedAccountsModal.tsx @@ -13,11 +13,11 @@ import { View } from '@actual-app/components/view'; import { format as formatDate, parseISO } from 'date-fns'; import { currentDay, subDays } from 'loot-core/shared/months'; -import { - type AccountEntity, - type SyncServerGoCardlessAccount, - type SyncServerPluggyAiAccount, - type SyncServerSimpleFinAccount, +import type { + AccountEntity, + SyncServerGoCardlessAccount, + SyncServerPluggyAiAccount, + SyncServerSimpleFinAccount, } from 'loot-core/types/models'; import { @@ -26,10 +26,8 @@ import { linkAccountSimpleFin, unlinkAccount, } from '@desktop-client/accounts/accountsSlice'; -import { - Autocomplete, - type AutocompleteItem, -} from '@desktop-client/components/autocomplete/Autocomplete'; +import { Autocomplete } from '@desktop-client/components/autocomplete/Autocomplete'; +import type { AutocompleteItem } from '@desktop-client/components/autocomplete/Autocomplete'; import { Modal, ModalCloseButton, diff --git a/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx b/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx index eb96af28d9..bd0fd9f693 100644 --- a/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx +++ b/packages/desktop-client/src/components/modals/SimpleFinInitialiseModal.tsx @@ -19,7 +19,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { FormField, FormLabel } from '@desktop-client/components/forms'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type SimpleFinInitialiseModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/SingleInputModal.tsx b/packages/desktop-client/src/components/modals/SingleInputModal.tsx index a1510b2534..14922e43d1 100644 --- a/packages/desktop-client/src/components/modals/SingleInputModal.tsx +++ b/packages/desktop-client/src/components/modals/SingleInputModal.tsx @@ -1,10 +1,6 @@ // @ts-strict-ignore -import React, { - useState, - type ComponentPropsWithoutRef, - type ComponentType, - type FormEvent, -} from 'react'; +import React, { useState } from 'react'; +import type { ComponentPropsWithoutRef, ComponentType, FormEvent } from 'react'; import { Form } from 'react-aria-components'; import { Button } from '@actual-app/components/button'; @@ -16,8 +12,8 @@ import { View } from '@actual-app/components/view'; import { Modal, ModalCloseButton, - type ModalHeader, } from '@desktop-client/components/common/Modal'; +import type { ModalHeader } from '@desktop-client/components/common/Modal'; import { InputField } from '@desktop-client/components/mobile/MobileForms'; type SingleInputModalProps = { diff --git a/packages/desktop-client/src/components/modals/TrackingBalanceMenuModal.tsx b/packages/desktop-client/src/components/modals/TrackingBalanceMenuModal.tsx index a61eb19520..c2f108a728 100644 --- a/packages/desktop-client/src/components/modals/TrackingBalanceMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/TrackingBalanceMenuModal.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; @@ -19,7 +20,7 @@ import { } from '@desktop-client/components/common/Modal'; import { CellValueText } from '@desktop-client/components/spreadsheet/CellValue'; import { useCategory } from '@desktop-client/hooks/useCategory'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { trackingBudget } from '@desktop-client/spreadsheet/bindings'; type TrackingBalanceMenuModalProps = Omit< diff --git a/packages/desktop-client/src/components/modals/TrackingBudgetMenuModal.tsx b/packages/desktop-client/src/components/modals/TrackingBudgetMenuModal.tsx index 9a51b913a1..971e1b8da8 100644 --- a/packages/desktop-client/src/components/modals/TrackingBudgetMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/TrackingBudgetMenuModal.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useState, type CSSProperties } from 'react'; +import React, { useEffect, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; @@ -19,7 +20,7 @@ import { } from '@desktop-client/components/common/Modal'; import { FocusableAmountInput } from '@desktop-client/components/mobile/transactions/FocusableAmountInput'; import { useCategory } from '@desktop-client/hooks/useCategory'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { trackingBudget } from '@desktop-client/spreadsheet/bindings'; type TrackingBudgetMenuModalProps = Omit< diff --git a/packages/desktop-client/src/components/modals/TrackingBudgetMonthMenuModal.tsx b/packages/desktop-client/src/components/modals/TrackingBudgetMonthMenuModal.tsx index 7704e165b0..003b89d4ce 100644 --- a/packages/desktop-client/src/components/modals/TrackingBudgetMonthMenuModal.tsx +++ b/packages/desktop-client/src/components/modals/TrackingBudgetMonthMenuModal.tsx @@ -8,7 +8,8 @@ import { SvgCheveronUp, } from '@actual-app/components/icons/v1'; import { SvgNotesPaper } from '@actual-app/components/icons/v2'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; @@ -25,7 +26,7 @@ import { Notes } from '@desktop-client/components/Notes'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { useNotes } from '@desktop-client/hooks/useNotes'; import { useUndo } from '@desktop-client/hooks/useUndo'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type TrackingBudgetMonthMenuModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/TrackingBudgetSummaryModal.tsx b/packages/desktop-client/src/components/modals/TrackingBudgetSummaryModal.tsx index c5cf637f4f..5033984944 100644 --- a/packages/desktop-client/src/components/modals/TrackingBudgetSummaryModal.tsx +++ b/packages/desktop-client/src/components/modals/TrackingBudgetSummaryModal.tsx @@ -16,7 +16,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { SheetNameProvider } from '@desktop-client/hooks/useSheetName'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; type TrackingBudgetSummaryModalProps = Extract< ModalType, diff --git a/packages/desktop-client/src/components/modals/TransferModal.tsx b/packages/desktop-client/src/components/modals/TransferModal.tsx index e625024640..9dcd6f35a9 100644 --- a/packages/desktop-client/src/components/modals/TransferModal.tsx +++ b/packages/desktop-client/src/components/modals/TransferModal.tsx @@ -6,7 +6,7 @@ import { InitialFocus } from '@actual-app/components/initial-focus'; import { styles } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; -import { type IntegerAmount } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; import { addToBeBudgetedGroup, @@ -23,10 +23,8 @@ import { } from '@desktop-client/components/mobile/MobileForms'; import { AmountInput } from '@desktop-client/components/util/AmountInput'; import { useCategories } from '@desktop-client/hooks/useCategories'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; type TransferModalProps = Extract['options']; diff --git a/packages/desktop-client/src/components/modals/TransferOwnership.tsx b/packages/desktop-client/src/components/modals/TransferOwnership.tsx index 6fe6da8d79..8d206b5324 100644 --- a/packages/desktop-client/src/components/modals/TransferOwnership.tsx +++ b/packages/desktop-client/src/components/modals/TransferOwnership.tsx @@ -11,9 +11,9 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { getUserAccessErrors } from 'loot-core/shared/errors'; -import { type Budget } from 'loot-core/types/budget'; -import { type RemoteFile, type SyncedLocalFile } from 'loot-core/types/file'; -import { type Handlers } from 'loot-core/types/handlers'; +import type { Budget } from 'loot-core/types/budget'; +import type { RemoteFile, SyncedLocalFile } from 'loot-core/types/file'; +import type { Handlers } from 'loot-core/types/handlers'; import { closeAndLoadBudget } from '@desktop-client/budgetfiles/budgetfilesSlice'; import { @@ -23,10 +23,8 @@ import { } from '@desktop-client/components/common/Modal'; import { FormField, FormLabel } from '@desktop-client/components/forms'; import { useMetadataPref } from '@desktop-client/hooks/useMetadataPref'; -import { - popModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { popModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/modals/manager/DeleteFileModal.tsx b/packages/desktop-client/src/components/modals/manager/DeleteFileModal.tsx index be209a5915..ffcec9ba50 100644 --- a/packages/desktop-client/src/components/modals/manager/DeleteFileModal.tsx +++ b/packages/desktop-client/src/components/modals/manager/DeleteFileModal.tsx @@ -13,7 +13,7 @@ import { ModalHeader, } from '@desktop-client/components/common/Modal'; import { useSyncServerStatus } from '@desktop-client/hooks/useSyncServerStatus'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; type DeleteFileModalProps = Extract< diff --git a/packages/desktop-client/src/components/modals/manager/DuplicateFileModal.tsx b/packages/desktop-client/src/components/modals/manager/DuplicateFileModal.tsx index 1ae3b0ec6e..95b0f2c0d1 100644 --- a/packages/desktop-client/src/components/modals/manager/DuplicateFileModal.tsx +++ b/packages/desktop-client/src/components/modals/manager/DuplicateFileModal.tsx @@ -19,7 +19,7 @@ import { ModalCloseButton, ModalHeader, } from '@desktop-client/components/common/Modal'; -import { type Modal as ModalType } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/payees/ManagePayees.tsx b/packages/desktop-client/src/components/payees/ManagePayees.tsx index ed35f104f3..40bf490983 100644 --- a/packages/desktop-client/src/components/payees/ManagePayees.tsx +++ b/packages/desktop-client/src/components/payees/ManagePayees.tsx @@ -1,10 +1,5 @@ -import { - useCallback, - useMemo, - useRef, - useState, - type ComponentProps, -} from 'react'; +import { useCallback, useMemo, useRef, useState } from 'react'; +import type { ComponentProps } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -16,8 +11,9 @@ import { View } from '@actual-app/components/view'; import memoizeOne from 'memoize-one'; import { getNormalisedString } from 'loot-core/shared/normalisation'; -import { groupById, type Diff } from 'loot-core/shared/util'; -import { type PayeeEntity } from 'loot-core/types/models'; +import { groupById } from 'loot-core/shared/util'; +import type { Diff } from 'loot-core/shared/util'; +import type { PayeeEntity } from 'loot-core/types/models'; import { PayeeMenu } from './PayeeMenu'; import { PayeeTable } from './PayeeTable'; diff --git a/packages/desktop-client/src/components/payees/ManagePayeesPage.tsx b/packages/desktop-client/src/components/payees/ManagePayeesPage.tsx index 53621dc5aa..a6d94165b6 100644 --- a/packages/desktop-client/src/components/payees/ManagePayeesPage.tsx +++ b/packages/desktop-client/src/components/payees/ManagePayeesPage.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { useTranslation } from 'react-i18next'; import { useLocation } from 'react-router'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { ManagePayeesWithData } from './ManagePayeesWithData'; diff --git a/packages/desktop-client/src/components/payees/ManagePayeesWithData.tsx b/packages/desktop-client/src/components/payees/ManagePayeesWithData.tsx index afd66b9341..19b805230c 100644 --- a/packages/desktop-client/src/components/payees/ManagePayeesWithData.tsx +++ b/packages/desktop-client/src/components/payees/ManagePayeesWithData.tsx @@ -2,9 +2,10 @@ import React, { useCallback, useEffect, useState } from 'react'; import { listen, send } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; -import { type UndoState } from 'loot-core/server/undo'; -import { applyChanges, type Diff } from 'loot-core/shared/util'; -import { type NewRuleEntity, type PayeeEntity } from 'loot-core/types/models'; +import type { UndoState } from 'loot-core/server/undo'; +import { applyChanges } from 'loot-core/shared/util'; +import type { Diff } from 'loot-core/shared/util'; +import type { NewRuleEntity, PayeeEntity } from 'loot-core/types/models'; import { ManagePayees } from './ManagePayees'; diff --git a/packages/desktop-client/src/components/payees/PayeeMenu.tsx b/packages/desktop-client/src/components/payees/PayeeMenu.tsx index f9161313d5..d01321fecc 100644 --- a/packages/desktop-client/src/components/payees/PayeeMenu.tsx +++ b/packages/desktop-client/src/components/payees/PayeeMenu.tsx @@ -2,11 +2,12 @@ import { Trans, useTranslation } from 'react-i18next'; import { SvgDelete, SvgMerge } from '@actual-app/components/icons/v0'; import { SvgBookmark, SvgLightBulb } from '@actual-app/components/icons/v1'; -import { Menu, type MenuItem } from '@actual-app/components/menu'; +import { Menu } from '@actual-app/components/menu'; +import type { MenuItem } from '@actual-app/components/menu'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; diff --git a/packages/desktop-client/src/components/payees/PayeeRuleCountLabel.tsx b/packages/desktop-client/src/components/payees/PayeeRuleCountLabel.tsx index af2fd03079..2c5319a051 100644 --- a/packages/desktop-client/src/components/payees/PayeeRuleCountLabel.tsx +++ b/packages/desktop-client/src/components/payees/PayeeRuleCountLabel.tsx @@ -1,4 +1,4 @@ -import { type CSSProperties } from 'react'; +import type { CSSProperties } from 'react'; import { Trans } from 'react-i18next'; import { AnimatedLoading } from '@actual-app/components/icons/AnimatedLoading'; diff --git a/packages/desktop-client/src/components/payees/PayeeTable.tsx b/packages/desktop-client/src/components/payees/PayeeTable.tsx index 9a28ec8a4e..084dbb26fd 100644 --- a/packages/desktop-client/src/components/payees/PayeeTable.tsx +++ b/packages/desktop-client/src/components/payees/PayeeTable.tsx @@ -5,14 +5,13 @@ import { useEffectEvent, useLayoutEffect, useState, - type ComponentProps, - type ComponentRef, } from 'react'; +import type { ComponentProps, ComponentRef } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { PayeeTableRow } from './PayeeTableRow'; diff --git a/packages/desktop-client/src/components/payees/PayeeTableRow.tsx b/packages/desktop-client/src/components/payees/PayeeTableRow.tsx index 676d797664..28c3efe680 100644 --- a/packages/desktop-client/src/components/payees/PayeeTableRow.tsx +++ b/packages/desktop-client/src/components/payees/PayeeTableRow.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import { memo, useMemo, useRef, type CSSProperties } from 'react'; +import { memo, useMemo, useRef } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { @@ -12,7 +13,7 @@ import { Popover } from '@actual-app/components/popover'; import { theme } from '@actual-app/components/theme'; import { Tooltip } from '@actual-app/components/tooltip'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { PayeeRuleCountLabel } from './PayeeRuleCountLabel'; diff --git a/packages/desktop-client/src/components/reports/AccountSelector.tsx b/packages/desktop-client/src/components/reports/AccountSelector.tsx index 857c5c9125..f1a05b0a90 100644 --- a/packages/desktop-client/src/components/reports/AccountSelector.tsx +++ b/packages/desktop-client/src/components/reports/AccountSelector.tsx @@ -11,7 +11,7 @@ import { import { Text } from '@actual-app/components/text'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { GraphButton } from './GraphButton'; diff --git a/packages/desktop-client/src/components/reports/CategorySelector.tsx b/packages/desktop-client/src/components/reports/CategorySelector.tsx index 90175a7d84..9656399cf9 100644 --- a/packages/desktop-client/src/components/reports/CategorySelector.tsx +++ b/packages/desktop-client/src/components/reports/CategorySelector.tsx @@ -12,9 +12,9 @@ import { import { Text } from '@actual-app/components/text'; import { View } from '@actual-app/components/view'; -import { - type CategoryEntity, - type CategoryGroupEntity, +import type { + CategoryEntity, + CategoryGroupEntity, } from 'loot-core/types/models'; import { GraphButton } from './GraphButton'; diff --git a/packages/desktop-client/src/components/reports/Change.tsx b/packages/desktop-client/src/components/reports/Change.tsx index fc0a62dae8..9374443ed3 100644 --- a/packages/desktop-client/src/components/reports/Change.tsx +++ b/packages/desktop-client/src/components/reports/Change.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Block } from '@actual-app/components/block'; import { styles } from '@actual-app/components/styles'; diff --git a/packages/desktop-client/src/components/reports/ChooseGraph.tsx b/packages/desktop-client/src/components/reports/ChooseGraph.tsx index ff3df77df1..5778d60eb2 100644 --- a/packages/desktop-client/src/components/reports/ChooseGraph.tsx +++ b/packages/desktop-client/src/components/reports/ChooseGraph.tsx @@ -1,11 +1,9 @@ -import React, { useRef, type CSSProperties, type UIEvent } from 'react'; +import React, { useRef } from 'react'; +import type { CSSProperties, UIEvent } from 'react'; import { styles } from '@actual-app/components/styles'; -import { - type DataEntity, - type RuleConditionEntity, -} from 'loot-core/types/models'; +import type { DataEntity, RuleConditionEntity } from 'loot-core/types/models'; import { AreaGraph } from './graphs/AreaGraph'; import { BarGraph } from './graphs/BarGraph'; diff --git a/packages/desktop-client/src/components/reports/Container.tsx b/packages/desktop-client/src/components/reports/Container.tsx index 01aebc9f03..a37863f3d2 100644 --- a/packages/desktop-client/src/components/reports/Container.tsx +++ b/packages/desktop-client/src/components/reports/Container.tsx @@ -1,4 +1,5 @@ -import React, { useRef, type CSSProperties, type ReactNode } from 'react'; +import React, { useRef } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { AutoSizer } from 'react-virtualized-auto-sizer'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/reports/DashboardHeader.tsx b/packages/desktop-client/src/components/reports/DashboardHeader.tsx index b2f91942f9..84f6785869 100644 --- a/packages/desktop-client/src/components/reports/DashboardHeader.tsx +++ b/packages/desktop-client/src/components/reports/DashboardHeader.tsx @@ -9,7 +9,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type DashboardEntity } from 'loot-core/types/models'; +import type { DashboardEntity } from 'loot-core/types/models'; type DashboardHeaderProps = { dashboard: DashboardEntity; diff --git a/packages/desktop-client/src/components/reports/DashboardSelector.tsx b/packages/desktop-client/src/components/reports/DashboardSelector.tsx index e74464964e..21e2572b6c 100644 --- a/packages/desktop-client/src/components/reports/DashboardSelector.tsx +++ b/packages/desktop-client/src/components/reports/DashboardSelector.tsx @@ -9,7 +9,7 @@ import { Popover } from '@actual-app/components/popover'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type DashboardEntity } from 'loot-core/types/models'; +import type { DashboardEntity } from 'loot-core/types/models'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; diff --git a/packages/desktop-client/src/components/reports/DateRange.tsx b/packages/desktop-client/src/components/reports/DateRange.tsx index 8fba95d226..c30149c6b5 100644 --- a/packages/desktop-client/src/components/reports/DateRange.tsx +++ b/packages/desktop-client/src/components/reports/DateRange.tsx @@ -1,4 +1,5 @@ -import React, { type ReactElement } from 'react'; +import React from 'react'; +import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Block } from '@actual-app/components/block'; diff --git a/packages/desktop-client/src/components/reports/FormulaResult.tsx b/packages/desktop-client/src/components/reports/FormulaResult.tsx index 5ee4d88158..05e1a1726c 100644 --- a/packages/desktop-client/src/components/reports/FormulaResult.tsx +++ b/packages/desktop-client/src/components/reports/FormulaResult.tsx @@ -4,9 +4,8 @@ import React, { useMemo, useRef, useState, - type Ref, - type RefObject, } from 'react'; +import type { Ref, RefObject } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/reports/GraphButton.tsx b/packages/desktop-client/src/components/reports/GraphButton.tsx index 60da7d4ea5..4de0ac9b67 100644 --- a/packages/desktop-client/src/components/reports/GraphButton.tsx +++ b/packages/desktop-client/src/components/reports/GraphButton.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties, type HTMLProps } from 'react'; +import React from 'react'; +import type { CSSProperties, HTMLProps } from 'react'; import { Button } from '@actual-app/components/button'; import { styles } from '@actual-app/components/styles'; diff --git a/packages/desktop-client/src/components/reports/Header.tsx b/packages/desktop-client/src/components/reports/Header.tsx index 2b5c330da5..52c8e29251 100644 --- a/packages/desktop-client/src/components/reports/Header.tsx +++ b/packages/desktop-client/src/components/reports/Header.tsx @@ -1,4 +1,4 @@ -import { type ComponentProps, type ReactNode } from 'react'; +import type { ComponentProps, ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -8,11 +8,8 @@ import { SpaceBetween } from '@actual-app/components/space-between'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { - type RuleConditionEntity, - type TimeFrame, -} from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { RuleConditionEntity, TimeFrame } from 'loot-core/types/models'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { getLiveRange } from './getLiveRange'; import { diff --git a/packages/desktop-client/src/components/reports/LegendItem.tsx b/packages/desktop-client/src/components/reports/LegendItem.tsx index 5a2506415d..32ceb75222 100644 --- a/packages/desktop-client/src/components/reports/LegendItem.tsx +++ b/packages/desktop-client/src/components/reports/LegendItem.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Text } from '@actual-app/components/text'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/reports/ModeButton.tsx b/packages/desktop-client/src/components/reports/ModeButton.tsx index cb768766e2..61392240b4 100644 --- a/packages/desktop-client/src/components/reports/ModeButton.tsx +++ b/packages/desktop-client/src/components/reports/ModeButton.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties, type ReactNode } from 'react'; +import React from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { Button } from '@actual-app/components/button'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/reports/Overview.tsx b/packages/desktop-client/src/components/reports/Overview.tsx index f592893665..3b06b5980f 100644 --- a/packages/desktop-client/src/components/reports/Overview.tsx +++ b/packages/desktop-client/src/components/reports/Overview.tsx @@ -1,6 +1,7 @@ import { useCallback, useMemo, useState } from 'react'; import { Dialog, DialogTrigger } from 'react-aria-components'; -import ReactGridLayout, { type Layout } from 'react-grid-layout'; +import ReactGridLayout from 'react-grid-layout'; +import type { Layout } from 'react-grid-layout'; import { useHotkeys } from 'react-hotkeys-hook'; import { Trans, useTranslation } from 'react-i18next'; import { useLocation } from 'react-router'; diff --git a/packages/desktop-client/src/components/reports/ReportCard.tsx b/packages/desktop-client/src/components/reports/ReportCard.tsx index ef6a48a8e0..deabbfd41b 100644 --- a/packages/desktop-client/src/components/reports/ReportCard.tsx +++ b/packages/desktop-client/src/components/reports/ReportCard.tsx @@ -1,11 +1,5 @@ -import React, { - useEffect, - useRef, - useState, - type ComponentProps, - type CSSProperties, - type ReactNode, -} from 'react'; +import React, { useEffect, useRef, useState } from 'react'; +import type { ComponentProps, CSSProperties, ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/reports/ReportOptions.ts b/packages/desktop-client/src/components/reports/ReportOptions.ts index cc08060705..3d582ca723 100644 --- a/packages/desktop-client/src/components/reports/ReportOptions.ts +++ b/packages/desktop-client/src/components/reports/ReportOptions.ts @@ -1,11 +1,11 @@ import { t } from 'i18next'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type CategoryGroupEntity, - type CustomReportEntity, - type sortByOpType, +import type { + CategoryEntity, + CategoryGroupEntity, + CustomReportEntity, + sortByOpType, } from 'loot-core/types/models'; const startDate = monthUtils.subMonths(monthUtils.currentMonth(), 5) + '-01'; diff --git a/packages/desktop-client/src/components/reports/ReportSidebar.tsx b/packages/desktop-client/src/components/reports/ReportSidebar.tsx index aee5f528ee..424addc13e 100644 --- a/packages/desktop-client/src/components/reports/ReportSidebar.tsx +++ b/packages/desktop-client/src/components/reports/ReportSidebar.tsx @@ -4,7 +4,8 @@ import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; import { Menu } from '@actual-app/components/menu'; import { Popover } from '@actual-app/components/popover'; -import { Select, type SelectOption } from '@actual-app/components/select'; +import { Select } from '@actual-app/components/select'; +import type { SelectOption } from '@actual-app/components/select'; import { SpaceBetween } from '@actual-app/components/space-between'; import { styles } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; @@ -13,21 +14,22 @@ import { Tooltip } from '@actual-app/components/tooltip'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type CategoryGroupEntity, - type CustomReportEntity, - type sortByOpType, - type TimeFrame, - type TransactionEntity, +import type { + CategoryEntity, + CategoryGroupEntity, + CustomReportEntity, + sortByOpType, + TimeFrame, + TransactionEntity, } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { CategorySelector } from './CategorySelector'; import { defaultsList, disabledList } from './disabledList'; import { getLiveRange } from './getLiveRange'; import { ModeButton } from './ModeButton'; -import { ReportOptions, type dateRangeProps } from './ReportOptions'; +import { ReportOptions } from './ReportOptions'; +import type { dateRangeProps } from './ReportOptions'; import { validateEnd, validateStart } from './reportRanges'; import { setSessionReport } from './setSessionReport'; diff --git a/packages/desktop-client/src/components/reports/ReportSummary.tsx b/packages/desktop-client/src/components/reports/ReportSummary.tsx index 4c3e4220ef..73fdc9387d 100644 --- a/packages/desktop-client/src/components/reports/ReportSummary.tsx +++ b/packages/desktop-client/src/components/reports/ReportSummary.tsx @@ -7,10 +7,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { - type balanceTypeOpType, - type DataEntity, -} from 'loot-core/types/models'; +import type { balanceTypeOpType, DataEntity } from 'loot-core/types/models'; import { ReportOptions } from './ReportOptions'; diff --git a/packages/desktop-client/src/components/reports/ReportTopbar.tsx b/packages/desktop-client/src/components/reports/ReportTopbar.tsx index e460b29cce..0f376f23af 100644 --- a/packages/desktop-client/src/components/reports/ReportTopbar.tsx +++ b/packages/desktop-client/src/components/reports/ReportTopbar.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentProps } from 'react'; +import React from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; import { @@ -18,14 +19,14 @@ import { View } from '@actual-app/components/view'; import { toPng } from 'html-to-image'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CustomReportEntity, - type RuleConditionEntity, +import type { + CustomReportEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { GraphButton } from './GraphButton'; import { SaveReportWrapper } from './SaveReport'; -import { type SavedStatus } from './SaveReportMenu'; +import type { SavedStatus } from './SaveReportMenu'; import { setSessionReport } from './setSessionReport'; import { SnapshotButton } from './SnapshotButton'; diff --git a/packages/desktop-client/src/components/reports/SaveReport.tsx b/packages/desktop-client/src/components/reports/SaveReport.tsx index e6c0e18530..667afe03ce 100644 --- a/packages/desktop-client/src/components/reports/SaveReport.tsx +++ b/packages/desktop-client/src/components/reports/SaveReport.tsx @@ -10,15 +10,16 @@ import { Text } from '@actual-app/components/text'; import { View } from '@actual-app/components/view'; import { send, sendCatch } from 'loot-core/platform/client/fetch'; -import { - type CustomReportEntity, - type DashboardEntity, +import type { + CustomReportEntity, + DashboardEntity, } from 'loot-core/types/models'; import { LoadingIndicator } from './LoadingIndicator'; import { SaveReportChoose } from './SaveReportChoose'; import { SaveReportDelete } from './SaveReportDelete'; -import { SaveReportMenu, type SavedStatus } from './SaveReportMenu'; +import { SaveReportMenu } from './SaveReportMenu'; +import type { SavedStatus } from './SaveReportMenu'; import { SaveReportName } from './SaveReportName'; import { FormField, FormLabel } from '@desktop-client/components/forms'; diff --git a/packages/desktop-client/src/components/reports/SaveReportDelete.tsx b/packages/desktop-client/src/components/reports/SaveReportDelete.tsx index 722c0213f0..eaea95b2bd 100644 --- a/packages/desktop-client/src/components/reports/SaveReportDelete.tsx +++ b/packages/desktop-client/src/components/reports/SaveReportDelete.tsx @@ -7,7 +7,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; type SaveReportDeleteProps = { onDelete: () => void; diff --git a/packages/desktop-client/src/components/reports/SaveReportMenu.tsx b/packages/desktop-client/src/components/reports/SaveReportMenu.tsx index 07605d31a3..b5e287522e 100644 --- a/packages/desktop-client/src/components/reports/SaveReportMenu.tsx +++ b/packages/desktop-client/src/components/reports/SaveReportMenu.tsx @@ -1,7 +1,8 @@ import React from 'react'; import { useTranslation } from 'react-i18next'; -import { Menu, type MenuItem } from '@actual-app/components/menu'; +import { Menu } from '@actual-app/components/menu'; +import type { MenuItem } from '@actual-app/components/menu'; export type SavedStatus = 'saved' | 'new' | 'modified'; diff --git a/packages/desktop-client/src/components/reports/SaveReportName.tsx b/packages/desktop-client/src/components/reports/SaveReportName.tsx index 45bbdff1ce..804548c4d3 100644 --- a/packages/desktop-client/src/components/reports/SaveReportName.tsx +++ b/packages/desktop-client/src/components/reports/SaveReportName.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, type RefObject } from 'react'; +import React, { useEffect } from 'react'; +import type { RefObject } from 'react'; import { Form } from 'react-aria-components'; import { useTranslation } from 'react-i18next'; @@ -9,7 +10,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type CustomReportEntity } from 'loot-core/types/models'; +import type { CustomReportEntity } from 'loot-core/types/models'; import { FormField, FormLabel } from '@desktop-client/components/forms'; diff --git a/packages/desktop-client/src/components/reports/SnapshotButton.tsx b/packages/desktop-client/src/components/reports/SnapshotButton.tsx index fe2921d343..54c137bb09 100644 --- a/packages/desktop-client/src/components/reports/SnapshotButton.tsx +++ b/packages/desktop-client/src/components/reports/SnapshotButton.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties, type ReactNode } from 'react'; +import React from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { Button } from '@actual-app/components/button'; import { styles } from '@actual-app/components/styles'; diff --git a/packages/desktop-client/src/components/reports/SummaryNumber.tsx b/packages/desktop-client/src/components/reports/SummaryNumber.tsx index 6dc49b85f2..e4fc7ad4ca 100644 --- a/packages/desktop-client/src/components/reports/SummaryNumber.tsx +++ b/packages/desktop-client/src/components/reports/SummaryNumber.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useState, type Ref } from 'react'; +import React, { useRef, useState } from 'react'; +import type { Ref } from 'react'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/reports/disabledList.ts b/packages/desktop-client/src/components/reports/disabledList.ts index 9c9aea8ee8..f5c07a0dcd 100644 --- a/packages/desktop-client/src/components/reports/disabledList.ts +++ b/packages/desktop-client/src/components/reports/disabledList.ts @@ -1,6 +1,6 @@ import { t } from 'i18next'; -import { type sortByOpType } from 'loot-core/types/models'; +import type { sortByOpType } from 'loot-core/types/models'; const intervalOptions = [ { diff --git a/packages/desktop-client/src/components/reports/getLiveRange.ts b/packages/desktop-client/src/components/reports/getLiveRange.ts index 9122877f44..91634e88b3 100644 --- a/packages/desktop-client/src/components/reports/getLiveRange.ts +++ b/packages/desktop-client/src/components/reports/getLiveRange.ts @@ -1,6 +1,6 @@ import * as monthUtils from 'loot-core/shared/months'; -import { type TimeFrame } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { TimeFrame } from 'loot-core/types/models'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { ReportOptions } from './ReportOptions'; import { getSpecificRange, validateRange } from './reportRanges'; diff --git a/packages/desktop-client/src/components/reports/graphs/AreaGraph.tsx b/packages/desktop-client/src/components/reports/graphs/AreaGraph.tsx index 7172f212b4..6e9f9e8148 100644 --- a/packages/desktop-client/src/components/reports/graphs/AreaGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/AreaGraph.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties, type SVGAttributes } from 'react'; +import React from 'react'; +import type { CSSProperties, SVGAttributes } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -12,13 +13,10 @@ import { Tooltip, XAxis, YAxis, - type LabelProps, } from 'recharts'; +import type { LabelProps } from 'recharts'; -import { - type balanceTypeOpType, - type DataEntity, -} from 'loot-core/types/models'; +import type { balanceTypeOpType, DataEntity } from 'loot-core/types/models'; import { adjustTextSize } from './adjustTextSize'; import { renderCustomLabel } from './renderCustomLabel'; @@ -26,7 +24,8 @@ import { renderCustomLabel } from './renderCustomLabel'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { useRechartsAnimation } from '@desktop-client/components/reports/chart-theme'; import { Container } from '@desktop-client/components/reports/Container'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; type PayloadItem = { diff --git a/packages/desktop-client/src/components/reports/graphs/BarGraph.tsx b/packages/desktop-client/src/components/reports/graphs/BarGraph.tsx index 17206e71de..d3e00f1b0b 100644 --- a/packages/desktop-client/src/components/reports/graphs/BarGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/BarGraph.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useState, type CSSProperties } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -17,10 +18,10 @@ import { YAxis, } from 'recharts'; -import { - type balanceTypeOpType, - type DataEntity, - type RuleConditionEntity, +import type { + balanceTypeOpType, + DataEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { adjustTextSize } from './adjustTextSize'; @@ -34,7 +35,8 @@ import { getCustomTick } from '@desktop-client/components/reports/getCustomTick' import { numberFormatterTooltip } from '@desktop-client/components/reports/numberFormatter'; import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { useCategories } from '@desktop-client/hooks/useCategories'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; diff --git a/packages/desktop-client/src/components/reports/graphs/BarLineGraph.tsx b/packages/desktop-client/src/components/reports/graphs/BarLineGraph.tsx index b91c0a8eb1..1601a63d71 100644 --- a/packages/desktop-client/src/components/reports/graphs/BarLineGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/BarLineGraph.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; diff --git a/packages/desktop-client/src/components/reports/graphs/BudgetAnalysisGraph.tsx b/packages/desktop-client/src/components/reports/graphs/BudgetAnalysisGraph.tsx index 971fe76774..ee7574b718 100644 --- a/packages/desktop-client/src/components/reports/graphs/BudgetAnalysisGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/BudgetAnalysisGraph.tsx @@ -2,7 +2,7 @@ import React, { useState } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; import { @@ -20,7 +20,8 @@ import * as monthUtils from 'loot-core/shared/months'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { Container } from '@desktop-client/components/reports/Container'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; diff --git a/packages/desktop-client/src/components/reports/graphs/CalendarGraph.tsx b/packages/desktop-client/src/components/reports/graphs/CalendarGraph.tsx index fac6960bec..e62ed94253 100644 --- a/packages/desktop-client/src/components/reports/graphs/CalendarGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/CalendarGraph.tsx @@ -1,4 +1,5 @@ -import { useEffect, useState, type Ref } from 'react'; +import { useEffect, useState } from 'react'; +import type { Ref } from 'react'; import { Trans } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -15,7 +16,7 @@ import { startOfWeek, } from 'date-fns'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; diff --git a/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.tsx b/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.tsx index a395cd63df..23fcfc6df8 100644 --- a/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/CashFlowGraph.tsx @@ -1,4 +1,5 @@ -import React, { useState, type CSSProperties } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -19,7 +20,8 @@ import { import { FinancialText } from '@desktop-client/components/FinancialText'; import { useRechartsAnimation } from '@desktop-client/components/reports/chart-theme'; import { Container } from '@desktop-client/components/reports/Container'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; diff --git a/packages/desktop-client/src/components/reports/graphs/CrossoverGraph.tsx b/packages/desktop-client/src/components/reports/graphs/CrossoverGraph.tsx index eae330cc84..099c274c01 100644 --- a/packages/desktop-client/src/components/reports/graphs/CrossoverGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/CrossoverGraph.tsx @@ -1,6 +1,6 @@ import { Trans, useTranslation } from 'react-i18next'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; diff --git a/packages/desktop-client/src/components/reports/graphs/DonutGraph.tsx b/packages/desktop-client/src/components/reports/graphs/DonutGraph.tsx index 03c6c950ca..24447d4ec0 100644 --- a/packages/desktop-client/src/components/reports/graphs/DonutGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/DonutGraph.tsx @@ -1,15 +1,16 @@ // @ts-strict-ignore -import React, { useState, type CSSProperties } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties } from 'react'; import { theme } from '@actual-app/components/theme'; import { Cell, Pie, PieChart, Sector, Tooltip } from 'recharts'; -import { - type balanceTypeOpType, - type DataEntity, - type GroupedEntity, - type IntervalEntity, - type RuleConditionEntity, +import type { + balanceTypeOpType, + DataEntity, + GroupedEntity, + IntervalEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { adjustTextSize } from './adjustTextSize'; diff --git a/packages/desktop-client/src/components/reports/graphs/LineGraph.tsx b/packages/desktop-client/src/components/reports/graphs/LineGraph.tsx index becece5b60..b861b7cf4f 100644 --- a/packages/desktop-client/src/components/reports/graphs/LineGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/LineGraph.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useMemo, useState, type CSSProperties } from 'react'; +import React, { useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -14,11 +15,11 @@ import { YAxis, } from 'recharts'; -import { - type balanceTypeOpType, - type DataEntity, - type LegendEntity, - type RuleConditionEntity, +import type { + balanceTypeOpType, + DataEntity, + LegendEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { showActivity } from './showActivity'; @@ -30,7 +31,8 @@ import { getCustomTick } from '@desktop-client/components/reports/getCustomTick' import { numberFormatterTooltip } from '@desktop-client/components/reports/numberFormatter'; import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { useCategories } from '@desktop-client/hooks/useCategories'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; diff --git a/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.tsx b/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.tsx index d231c3dda1..f018eff98b 100644 --- a/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/NetWorthGraph.tsx @@ -4,7 +4,7 @@ import { Trans, useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { css } from '@emotion/css'; import { getDay, parse } from 'date-fns'; @@ -15,8 +15,8 @@ import { Tooltip, XAxis, YAxis, - type TooltipContentProps, } from 'recharts'; +import type { TooltipContentProps } from 'recharts'; import { computePadding } from './util/computePadding'; diff --git a/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx b/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx index 7919dae552..d271d7b780 100644 --- a/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/SpendingGraph.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { type ComponentProps, type CSSProperties } from 'react'; +import React from 'react'; +import type { ComponentProps, CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -14,7 +15,7 @@ import { YAxis, } from 'recharts'; -import { type SpendingEntity } from 'loot-core/types/models'; +import type { SpendingEntity } from 'loot-core/types/models'; import { computePadding } from './util/computePadding'; @@ -22,7 +23,8 @@ import { FinancialText } from '@desktop-client/components/FinancialText'; import { useRechartsAnimation } from '@desktop-client/components/reports/chart-theme'; import { Container } from '@desktop-client/components/reports/Container'; import { numberFormatterTooltip } from '@desktop-client/components/reports/numberFormatter'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; type PayloadItem = { diff --git a/packages/desktop-client/src/components/reports/graphs/StackedBarGraph.tsx b/packages/desktop-client/src/components/reports/graphs/StackedBarGraph.tsx index 2f001c4572..4e6fdbc8e2 100644 --- a/packages/desktop-client/src/components/reports/graphs/StackedBarGraph.tsx +++ b/packages/desktop-client/src/components/reports/graphs/StackedBarGraph.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useMemo, useState, type CSSProperties } from 'react'; +import React, { useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -15,11 +16,11 @@ import { YAxis, } from 'recharts'; -import { - type balanceTypeOpType, - type DataEntity, - type LegendEntity, - type RuleConditionEntity, +import type { + balanceTypeOpType, + DataEntity, + LegendEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { renderCustomLabel } from './renderCustomLabel'; @@ -32,7 +33,8 @@ import { getCustomTick } from '@desktop-client/components/reports/getCustomTick' import { numberFormatterTooltip } from '@desktop-client/components/reports/numberFormatter'; import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { useCategories } from '@desktop-client/hooks/useCategories'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { usePrivacyMode } from '@desktop-client/hooks/usePrivacyMode'; diff --git a/packages/desktop-client/src/components/reports/graphs/renderCustomLabel.tsx b/packages/desktop-client/src/components/reports/graphs/renderCustomLabel.tsx index 18d83e7662..35287e2a32 100644 --- a/packages/desktop-client/src/components/reports/graphs/renderCustomLabel.tsx +++ b/packages/desktop-client/src/components/reports/graphs/renderCustomLabel.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { type SVGAttributes } from 'react'; +import React from 'react'; +import type { SVGAttributes } from 'react'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/reports/graphs/showActivity.ts b/packages/desktop-client/src/components/reports/graphs/showActivity.ts index 869eddca2e..a48d813742 100644 --- a/packages/desktop-client/src/components/reports/graphs/showActivity.ts +++ b/packages/desktop-client/src/components/reports/graphs/showActivity.ts @@ -1,12 +1,12 @@ -import { type NavigateFunction } from 'react-router'; +import type { NavigateFunction } from 'react-router'; import * as monthUtils from 'loot-core/shared/months'; -import { - type AccountEntity, - type balanceTypeOpType, - type CategoryEntity, - type CategoryGroupEntity, - type RuleConditionEntity, +import type { + AccountEntity, + balanceTypeOpType, + CategoryEntity, + CategoryGroupEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { ReportOptions } from '@desktop-client/components/reports/ReportOptions'; diff --git a/packages/desktop-client/src/components/reports/graphs/tableGraph/RenderTableRow.tsx b/packages/desktop-client/src/components/reports/graphs/tableGraph/RenderTableRow.tsx index 32b43d7853..e25520b5f2 100644 --- a/packages/desktop-client/src/components/reports/graphs/tableGraph/RenderTableRow.tsx +++ b/packages/desktop-client/src/components/reports/graphs/tableGraph/RenderTableRow.tsx @@ -1,10 +1,11 @@ -import React, { type CSSProperties, type ReactNode } from 'react'; +import React from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { View } from '@actual-app/components/view'; -import { type GroupedEntity } from 'loot-core/types/models'; +import type { GroupedEntity } from 'loot-core/types/models'; -import { type renderRowProps } from './ReportTable'; +import type { renderRowProps } from './ReportTable'; type RenderTableRowProps = { index: number; diff --git a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTable.tsx b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTable.tsx index 93e0c438ad..5590b2b4a8 100644 --- a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTable.tsx +++ b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTable.tsx @@ -1,19 +1,15 @@ -import React, { - useLayoutEffect, - useRef, - type RefObject, - type UIEventHandler, -} from 'react'; +import React, { useLayoutEffect, useRef } from 'react'; +import type { RefObject, UIEventHandler } from 'react'; import { Block } from '@actual-app/components/block'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; -import { - type balanceTypeOpType, - type DataEntity, - type GroupedEntity, - type RuleConditionEntity, +import type { + balanceTypeOpType, + DataEntity, + GroupedEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { ReportTableHeader } from './ReportTableHeader'; diff --git a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableHeader.tsx b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableHeader.tsx index bd48df0a00..54854747ed 100644 --- a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableHeader.tsx +++ b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableHeader.tsx @@ -1,17 +1,11 @@ -import React, { - type CSSProperties, - type RefObject, - type UIEventHandler, -} from 'react'; +import React from 'react'; +import type { CSSProperties, RefObject, UIEventHandler } from 'react'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type balanceTypeOpType, - type IntervalEntity, -} from 'loot-core/types/models'; +import type { balanceTypeOpType, IntervalEntity } from 'loot-core/types/models'; import { ReportOptions } from '@desktop-client/components/reports/ReportOptions'; import { Cell, Row } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableList.tsx b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableList.tsx index 64e769ca20..4cc6ff2f08 100644 --- a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableList.tsx +++ b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableList.tsx @@ -1,12 +1,13 @@ -import React, { type CSSProperties, type ReactNode } from 'react'; +import React from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type DataEntity, type GroupedEntity } from 'loot-core/types/models'; +import type { DataEntity, GroupedEntity } from 'loot-core/types/models'; import { RenderTableRow } from './RenderTableRow'; -import { type renderRowProps } from './ReportTable'; +import type { renderRowProps } from './ReportTable'; import { Row } from '@desktop-client/components/table'; diff --git a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableRow.tsx b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableRow.tsx index 025985e480..3dc538e6db 100644 --- a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableRow.tsx +++ b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableRow.tsx @@ -1,18 +1,14 @@ -import React, { - memo, - type CSSProperties, - type RefObject, - type UIEventHandler, -} from 'react'; +import React, { memo } from 'react'; +import type { CSSProperties, RefObject, UIEventHandler } from 'react'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { - type balanceTypeOpType, - type GroupedEntity, - type RuleConditionEntity, +import type { + balanceTypeOpType, + GroupedEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; diff --git a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableTotals.tsx b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableTotals.tsx index 13de1cb2ae..f6174d1928 100644 --- a/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableTotals.tsx +++ b/packages/desktop-client/src/components/reports/graphs/tableGraph/ReportTableTotals.tsx @@ -1,19 +1,14 @@ -import React, { - useLayoutEffect, - useState, - type CSSProperties, - type ReactNode, - type RefObject, -} from 'react'; +import React, { useLayoutEffect, useState } from 'react'; +import type { CSSProperties, ReactNode, RefObject } from 'react'; import { useTranslation } from 'react-i18next'; import { styles } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type DataEntity, type GroupedEntity } from 'loot-core/types/models'; +import type { DataEntity, GroupedEntity } from 'loot-core/types/models'; -import { type renderTotalsProps } from './ReportTable'; +import type { renderTotalsProps } from './ReportTable'; type RenderTotalsRowProps = { metadata: GroupedEntity; diff --git a/packages/desktop-client/src/components/reports/reportRanges.ts b/packages/desktop-client/src/components/reports/reportRanges.ts index 27d5be0710..9ab793789e 100644 --- a/packages/desktop-client/src/components/reports/reportRanges.ts +++ b/packages/desktop-client/src/components/reports/reportRanges.ts @@ -1,6 +1,6 @@ import * as monthUtils from 'loot-core/shared/months'; -import { type TimeFrame } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { TimeFrame } from 'loot-core/types/models'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; export function validateStart( earliest: string, diff --git a/packages/desktop-client/src/components/reports/reports/BudgetAnalysis.tsx b/packages/desktop-client/src/components/reports/reports/BudgetAnalysis.tsx index d46e52ffc3..8945856889 100644 --- a/packages/desktop-client/src/components/reports/reports/BudgetAnalysis.tsx +++ b/packages/desktop-client/src/components/reports/reports/BudgetAnalysis.tsx @@ -15,10 +15,10 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type BudgetAnalysisWidget, - type RuleConditionEntity, - type TimeFrame, +import type { + BudgetAnalysisWidget, + RuleConditionEntity, + TimeFrame, } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; diff --git a/packages/desktop-client/src/components/reports/reports/BudgetAnalysisCard.tsx b/packages/desktop-client/src/components/reports/reports/BudgetAnalysisCard.tsx index 2fbfafbaf6..7000d7a266 100644 --- a/packages/desktop-client/src/components/reports/reports/BudgetAnalysisCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/BudgetAnalysisCard.tsx @@ -7,7 +7,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { type BudgetAnalysisWidget } from 'loot-core/types/models'; +import type { BudgetAnalysisWidget } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; diff --git a/packages/desktop-client/src/components/reports/reports/Calendar.tsx b/packages/desktop-client/src/components/reports/reports/Calendar.tsx index 1e6fc0de82..86be29e138 100644 --- a/packages/desktop-client/src/components/reports/reports/Calendar.tsx +++ b/packages/desktop-client/src/components/reports/reports/Calendar.tsx @@ -1,11 +1,5 @@ -import { - useCallback, - useEffect, - useMemo, - useRef, - useState, - type Ref, -} from 'react'; +import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; +import type { Ref } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useParams, useSearchParams } from 'react-router'; import { animated, config, useSpring } from 'react-spring'; @@ -27,13 +21,14 @@ import { format as formatDate, parseISO } from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { q, type Query } from 'loot-core/shared/query'; +import { q } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { ungroupTransactions } from 'loot-core/shared/transactions'; -import { - type CalendarWidget, - type RuleConditionEntity, - type TimeFrame, - type TransactionEntity, +import type { + CalendarWidget, + RuleConditionEntity, + TimeFrame, + TransactionEntity, } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; @@ -51,20 +46,19 @@ import { CalendarGraph } from '@desktop-client/components/reports/graphs/Calenda import { Header } from '@desktop-client/components/reports/Header'; import { LoadingIndicator } from '@desktop-client/components/reports/LoadingIndicator'; import { calculateTimeRange } from '@desktop-client/components/reports/reportRanges'; -import { - calendarSpreadsheet, - type CalendarDataType, -} from '@desktop-client/components/reports/spreadsheets/calendar-spreadsheet'; +import { calendarSpreadsheet } from '@desktop-client/components/reports/spreadsheets/calendar-spreadsheet'; +import type { CalendarDataType } from '@desktop-client/components/reports/spreadsheets/calendar-spreadsheet'; import { useReport } from '@desktop-client/components/reports/useReport'; import { fromDateRepr } from '@desktop-client/components/reports/util'; -import { type TableHandleRef } from '@desktop-client/components/table'; +import type { TableHandleRef } from '@desktop-client/components/table'; import { TransactionList } from '@desktop-client/components/transactions/TransactionList'; import { useAccounts } from '@desktop-client/hooks/useAccounts'; import { SchedulesProvider } from '@desktop-client/hooks/useCachedSchedules'; import { useCategories } from '@desktop-client/hooks/useCategories'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; import { DisplayPayeeProvider } from '@desktop-client/hooks/useDisplayPayee'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { useMergedRefs } from '@desktop-client/hooks/useMergedRefs'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; diff --git a/packages/desktop-client/src/components/reports/reports/CalendarCard.tsx b/packages/desktop-client/src/components/reports/reports/CalendarCard.tsx index eabf856120..9974d1fc0c 100644 --- a/packages/desktop-client/src/components/reports/reports/CalendarCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/CalendarCard.tsx @@ -4,10 +4,8 @@ import React, { useMemo, useRef, useState, - type Dispatch, - type Ref, - type SetStateAction, } from 'react'; +import type { Dispatch, Ref, SetStateAction } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Block } from '@actual-app/components/block'; @@ -26,8 +24,8 @@ import debounce from 'lodash/debounce'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { type CalendarWidget } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { CalendarWidget } from 'loot-core/types/models'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; @@ -37,13 +35,12 @@ import { LoadingIndicator } from '@desktop-client/components/reports/LoadingIndi import { ReportCard } from '@desktop-client/components/reports/ReportCard'; import { ReportCardName } from '@desktop-client/components/reports/ReportCardName'; import { calculateTimeRange } from '@desktop-client/components/reports/reportRanges'; -import { - calendarSpreadsheet, - type CalendarDataType, -} from '@desktop-client/components/reports/spreadsheets/calendar-spreadsheet'; +import { calendarSpreadsheet } from '@desktop-client/components/reports/spreadsheets/calendar-spreadsheet'; +import type { CalendarDataType } from '@desktop-client/components/reports/spreadsheets/calendar-spreadsheet'; import { useReport } from '@desktop-client/components/reports/useReport'; import { useWidgetCopyMenu } from '@desktop-client/components/reports/useWidgetCopyMenu'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useMergedRefs } from '@desktop-client/hooks/useMergedRefs'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { useResizeObserver } from '@desktop-client/hooks/useResizeObserver'; diff --git a/packages/desktop-client/src/components/reports/reports/CashFlow.tsx b/packages/desktop-client/src/components/reports/reports/CashFlow.tsx index ce469db120..a051e3d303 100644 --- a/packages/desktop-client/src/components/reports/reports/CashFlow.tsx +++ b/packages/desktop-client/src/components/reports/reports/CashFlow.tsx @@ -14,10 +14,10 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CashFlowWidget, - type RuleConditionEntity, - type TimeFrame, +import type { + CashFlowWidget, + RuleConditionEntity, + TimeFrame, } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; diff --git a/packages/desktop-client/src/components/reports/reports/CashFlowCard.tsx b/packages/desktop-client/src/components/reports/reports/CashFlowCard.tsx index 13b7bc5b89..5a405a14b8 100644 --- a/packages/desktop-client/src/components/reports/reports/CashFlowCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/CashFlowCard.tsx @@ -1,10 +1,5 @@ -import React, { - useCallback, - useEffect, - useMemo, - useState, - type SVGAttributes, -} from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import type { SVGAttributes } from 'react'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; @@ -13,7 +8,7 @@ import { Bar, BarChart, LabelList } from 'recharts'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { type CashFlowWidget } from 'loot-core/types/models'; +import type { CashFlowWidget } from 'loot-core/types/models'; import { defaultTimeFrame } from './CashFlow'; diff --git a/packages/desktop-client/src/components/reports/reports/Crossover.tsx b/packages/desktop-client/src/components/reports/reports/Crossover.tsx index 7e3bb408c0..7192e6e0cc 100644 --- a/packages/desktop-client/src/components/reports/reports/Crossover.tsx +++ b/packages/desktop-client/src/components/reports/reports/Crossover.tsx @@ -17,10 +17,10 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type CrossoverWidget, - type TimeFrame, +import type { + CategoryEntity, + CrossoverWidget, + TimeFrame, } from 'loot-core/types/models'; import { Link } from '@desktop-client/components/common/Link'; @@ -47,7 +47,7 @@ import { useCategories } from '@desktop-client/hooks/useCategories'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { useLocale } from '@desktop-client/hooks/useLocale'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { useWidget } from '@desktop-client/hooks/useWidget'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/reports/reports/CrossoverCard.tsx b/packages/desktop-client/src/components/reports/reports/CrossoverCard.tsx index aaecb78cdf..f5789b06f6 100644 --- a/packages/desktop-client/src/components/reports/reports/CrossoverCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/CrossoverCard.tsx @@ -9,10 +9,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type AccountEntity, - type CrossoverWidget, -} from 'loot-core/types/models'; +import type { AccountEntity, CrossoverWidget } from 'loot-core/types/models'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; import { CrossoverGraph } from '@desktop-client/components/reports/graphs/CrossoverGraph'; diff --git a/packages/desktop-client/src/components/reports/reports/CustomReport.tsx b/packages/desktop-client/src/components/reports/reports/CustomReport.tsx index aabc1ffc62..54091cebdf 100644 --- a/packages/desktop-client/src/components/reports/reports/CustomReport.tsx +++ b/packages/desktop-client/src/components/reports/reports/CustomReport.tsx @@ -13,16 +13,16 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type balanceTypeOpType, - type CategoryEntity, - type CustomReportEntity, - type DataEntity, - type RuleConditionEntity, - type sortByOpType, - type TransactionEntity, +import type { + balanceTypeOpType, + CategoryEntity, + CustomReportEntity, + DataEntity, + RuleConditionEntity, + sortByOpType, + TransactionEntity, } from 'loot-core/types/models'; -import { type TransObjectLiteral } from 'loot-core/types/util'; +import type { TransObjectLiteral } from 'loot-core/types/util'; import { Warning } from '@desktop-client/components/alerts'; import { AppliedFilters } from '@desktop-client/components/filters/AppliedFilters'; @@ -48,12 +48,12 @@ import { ReportLegend } from '@desktop-client/components/reports/ReportLegend'; import { defaultReport, ReportOptions, - type dateRangeProps, } from '@desktop-client/components/reports/ReportOptions'; +import type { dateRangeProps } from '@desktop-client/components/reports/ReportOptions'; import { ReportSidebar } from '@desktop-client/components/reports/ReportSidebar'; import { ReportSummary } from '@desktop-client/components/reports/ReportSummary'; import { ReportTopbar } from '@desktop-client/components/reports/ReportTopbar'; -import { type SavedStatus } from '@desktop-client/components/reports/SaveReportMenu'; +import type { SavedStatus } from '@desktop-client/components/reports/SaveReportMenu'; import { setSessionReport } from '@desktop-client/components/reports/setSessionReport'; import { createCustomSpreadsheet } from '@desktop-client/components/reports/spreadsheets/custom-spreadsheet'; import { createGroupedSpreadsheet } from '@desktop-client/components/reports/spreadsheets/grouped-spreadsheet'; diff --git a/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx b/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx index 83d34b5a48..62ab6b2e40 100644 --- a/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx +++ b/packages/desktop-client/src/components/reports/reports/CustomReportListCards.tsx @@ -10,7 +10,7 @@ import { View } from '@actual-app/components/view'; import { send, sendCatch } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { type CustomReportEntity } from 'loot-core/types/models'; +import type { CustomReportEntity } from 'loot-core/types/models'; import { GetCardData } from './GetCardData'; import { MissingReportCard } from './MissingReportCard'; diff --git a/packages/desktop-client/src/components/reports/reports/Formula.tsx b/packages/desktop-client/src/components/reports/reports/Formula.tsx index 52d58eb01c..591916ce37 100644 --- a/packages/desktop-client/src/components/reports/reports/Formula.tsx +++ b/packages/desktop-client/src/components/reports/reports/Formula.tsx @@ -1,12 +1,5 @@ -import { - lazy, - Suspense, - useCallback, - useMemo, - useRef, - useState, - type ChangeEvent, -} from 'react'; +import { lazy, Suspense, useCallback, useMemo, useRef, useState } from 'react'; +import type { ChangeEvent } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useParams } from 'react-router'; @@ -19,7 +12,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type FormulaWidget } from 'loot-core/types/models'; +import type { FormulaWidget } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; import { QueryManager } from '@desktop-client/components/formula/QueryManager'; diff --git a/packages/desktop-client/src/components/reports/reports/FormulaCard.tsx b/packages/desktop-client/src/components/reports/reports/FormulaCard.tsx index 2ec9414183..9d4983092e 100644 --- a/packages/desktop-client/src/components/reports/reports/FormulaCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/FormulaCard.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { View } from '@actual-app/components/view'; -import { type FormulaWidget } from 'loot-core/types/models'; +import type { FormulaWidget } from 'loot-core/types/models'; import { FormulaResult } from '@desktop-client/components/reports/FormulaResult'; import { ReportCard } from '@desktop-client/components/reports/ReportCard'; diff --git a/packages/desktop-client/src/components/reports/reports/GetCardData.tsx b/packages/desktop-client/src/components/reports/reports/GetCardData.tsx index 571af41504..23c48f5a81 100644 --- a/packages/desktop-client/src/components/reports/reports/GetCardData.tsx +++ b/packages/desktop-client/src/components/reports/reports/GetCardData.tsx @@ -8,14 +8,14 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import * as monthUtils from 'loot-core/shared/months'; -import { - type AccountEntity, - type CategoryEntity, - type CategoryGroupEntity, - type CustomReportEntity, - type PayeeEntity, +import type { + AccountEntity, + CategoryEntity, + CategoryGroupEntity, + CustomReportEntity, + PayeeEntity, } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { ChooseGraph } from '@desktop-client/components/reports/ChooseGraph'; import { getLiveRange } from '@desktop-client/components/reports/getLiveRange'; diff --git a/packages/desktop-client/src/components/reports/reports/MarkdownCard.tsx b/packages/desktop-client/src/components/reports/reports/MarkdownCard.tsx index 81c3a16187..c0cb545d97 100644 --- a/packages/desktop-client/src/components/reports/reports/MarkdownCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/MarkdownCard.tsx @@ -11,7 +11,7 @@ import { css } from '@emotion/css'; import rehypeExternalLinks from 'rehype-external-links'; import remarkGfm from 'remark-gfm'; -import { type MarkdownWidget } from 'loot-core/types/models'; +import type { MarkdownWidget } from 'loot-core/types/models'; import { NON_DRAGGABLE_AREA_CLASS_NAME } from '@desktop-client/components/reports/constants'; import { ReportCard } from '@desktop-client/components/reports/ReportCard'; diff --git a/packages/desktop-client/src/components/reports/reports/MissingReportCard.tsx b/packages/desktop-client/src/components/reports/reports/MissingReportCard.tsx index 7d9553473b..9d70066d6c 100644 --- a/packages/desktop-client/src/components/reports/reports/MissingReportCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/MissingReportCard.tsx @@ -1,4 +1,5 @@ -import React, { type ReactNode } from 'react'; +import React from 'react'; +import type { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/reports/reports/NetWorth.tsx b/packages/desktop-client/src/components/reports/reports/NetWorth.tsx index 8cdf3d66f2..1f4af9efd7 100644 --- a/packages/desktop-client/src/components/reports/reports/NetWorth.tsx +++ b/packages/desktop-client/src/components/reports/reports/NetWorth.tsx @@ -21,7 +21,7 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { type NetWorthWidget, type TimeFrame } from 'loot-core/types/models'; +import type { NetWorthWidget, TimeFrame } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; import { FinancialText } from '@desktop-client/components/FinancialText'; diff --git a/packages/desktop-client/src/components/reports/reports/NetWorthCard.tsx b/packages/desktop-client/src/components/reports/reports/NetWorthCard.tsx index a1c84350dc..594e21ecce 100644 --- a/packages/desktop-client/src/components/reports/reports/NetWorthCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/NetWorthCard.tsx @@ -8,10 +8,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type AccountEntity, - type NetWorthWidget, -} from 'loot-core/types/models'; +import type { AccountEntity, NetWorthWidget } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; diff --git a/packages/desktop-client/src/components/reports/reports/Spending.tsx b/packages/desktop-client/src/components/reports/reports/Spending.tsx index 9d488a3d3a..8c07c5dd00 100644 --- a/packages/desktop-client/src/components/reports/reports/Spending.tsx +++ b/packages/desktop-client/src/components/reports/reports/Spending.tsx @@ -18,9 +18,9 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type RuleConditionEntity, - type SpendingWidget, +import type { + RuleConditionEntity, + SpendingWidget, } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; diff --git a/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx b/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx index c777bc1e1e..beeacd5592 100644 --- a/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/SpendingCard.tsx @@ -7,7 +7,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { type SpendingWidget } from 'loot-core/types/models'; +import type { SpendingWidget } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; diff --git a/packages/desktop-client/src/components/reports/reports/Summary.tsx b/packages/desktop-client/src/components/reports/reports/Summary.tsx index aeb3496023..cb73830f60 100644 --- a/packages/desktop-client/src/components/reports/reports/Summary.tsx +++ b/packages/desktop-client/src/components/reports/reports/Summary.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, useMemo, useState, type CSSProperties } from 'react'; +import React, { useEffect, useMemo, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { useParams } from 'react-router'; @@ -17,10 +18,10 @@ import { parseISO } from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type SummaryContent, - type SummaryWidget, - type TimeFrame, +import type { + SummaryContent, + SummaryWidget, + TimeFrame, } from 'loot-core/types/models'; import { EditablePageHeaderTitle } from '@desktop-client/components/EditablePageHeaderTitle'; diff --git a/packages/desktop-client/src/components/reports/reports/SummaryCard.tsx b/packages/desktop-client/src/components/reports/reports/SummaryCard.tsx index 4527a76c71..521b974726 100644 --- a/packages/desktop-client/src/components/reports/reports/SummaryCard.tsx +++ b/packages/desktop-client/src/components/reports/reports/SummaryCard.tsx @@ -5,10 +5,7 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type SummaryContent, - type SummaryWidget, -} from 'loot-core/types/models'; +import type { SummaryContent, SummaryWidget } from 'loot-core/types/models'; import { DateRange } from '@desktop-client/components/reports/DateRange'; import { LoadingIndicator } from '@desktop-client/components/reports/LoadingIndicator'; diff --git a/packages/desktop-client/src/components/reports/setSessionReport.ts b/packages/desktop-client/src/components/reports/setSessionReport.ts index 508861937c..16fdcbbe87 100644 --- a/packages/desktop-client/src/components/reports/setSessionReport.ts +++ b/packages/desktop-client/src/components/reports/setSessionReport.ts @@ -1,4 +1,4 @@ -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; export const setSessionReport = ( propName: string, diff --git a/packages/desktop-client/src/components/reports/spreadsheets/budget-analysis-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/budget-analysis-spreadsheet.ts index 94c79d51c8..681be70ec6 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/budget-analysis-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/budget-analysis-spreadsheet.ts @@ -1,12 +1,12 @@ // @ts-strict-ignore import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type RuleConditionEntity, +import type { + CategoryEntity, + RuleConditionEntity, } from 'loot-core/types/models'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; type BudgetAnalysisIntervalData = { date: string; diff --git a/packages/desktop-client/src/components/reports/spreadsheets/calculateLegend.ts b/packages/desktop-client/src/components/reports/spreadsheets/calculateLegend.ts index e32f1c9709..cfae8a9a9c 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/calculateLegend.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/calculateLegend.ts @@ -1,10 +1,10 @@ import { theme } from '@actual-app/components/theme'; -import { - type balanceTypeOpType, - type GroupedEntity, - type IntervalEntity, - type LegendEntity, +import type { + balanceTypeOpType, + GroupedEntity, + IntervalEntity, + LegendEntity, } from 'loot-core/types/models'; import { getColorScale } from '@desktop-client/components/reports/chart-theme'; diff --git a/packages/desktop-client/src/components/reports/spreadsheets/calendar-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/calendar-spreadsheet.ts index fa2617cb1d..21ca8395c5 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/calendar-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/calendar-spreadsheet.ts @@ -3,10 +3,10 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { type RuleConditionEntity } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { RuleConditionEntity } from 'loot-core/types/models'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; export type CalendarDataType = { diff --git a/packages/desktop-client/src/components/reports/spreadsheets/cash-flow-spreadsheet.tsx b/packages/desktop-client/src/components/reports/spreadsheets/cash-flow-spreadsheet.tsx index cc2a04b83c..ebb0418e9e 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/cash-flow-spreadsheet.tsx +++ b/packages/desktop-client/src/components/reports/spreadsheets/cash-flow-spreadsheet.tsx @@ -1,19 +1,20 @@ -import React, { type JSX } from 'react'; +import React from 'react'; +import type { JSX } from 'react'; import { AlignedText } from '@actual-app/components/aligned-text'; -import { type Locale } from 'date-fns'; +import type { Locale } from 'date-fns'; import * as d from 'date-fns'; import { t } from 'i18next'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { indexCashFlow, runAll } from '@desktop-client/components/reports/util'; -import { type FormatType } from '@desktop-client/hooks/useFormat'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; export function simpleCashFlow( startMonth: string, diff --git a/packages/desktop-client/src/components/reports/spreadsheets/crossover-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/crossover-spreadsheet.ts index f6d4b8c29f..0bd035d885 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/crossover-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/crossover-spreadsheet.ts @@ -2,9 +2,9 @@ import * as d from 'date-fns'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; type MonthlyAgg = { date: string; amount: number }; diff --git a/packages/desktop-client/src/components/reports/spreadsheets/custom-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/custom-spreadsheet.ts index 06d846bdf9..5928a4be08 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/custom-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/custom-spreadsheet.ts @@ -2,19 +2,19 @@ import * as d from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { - type AccountEntity, - type balanceTypeOpType, - type CategoryEntity, - type CategoryGroupEntity, - type DataEntity, - type GroupedEntity, - type IntervalEntity, - type PayeeEntity, - type RuleConditionEntity, - type sortByOpType, +import type { + AccountEntity, + balanceTypeOpType, + CategoryEntity, + CategoryGroupEntity, + DataEntity, + GroupedEntity, + IntervalEntity, + PayeeEntity, + RuleConditionEntity, + sortByOpType, } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { calculateLegend } from './calculateLegend'; import { filterEmptyRows } from './filterEmptyRows'; @@ -32,10 +32,12 @@ import { categoryLists, groupBySelections, ReportOptions, - type QueryDataEntity, - type UncategorizedEntity, } from '@desktop-client/components/reports/ReportOptions'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { + QueryDataEntity, + UncategorizedEntity, +} from '@desktop-client/components/reports/ReportOptions'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; export type createCustomSpreadsheetProps = { diff --git a/packages/desktop-client/src/components/reports/spreadsheets/filterEmptyRows.ts b/packages/desktop-client/src/components/reports/spreadsheets/filterEmptyRows.ts index ae880fae5e..6846d7a7be 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/filterEmptyRows.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/filterEmptyRows.ts @@ -1,7 +1,4 @@ -import { - type balanceTypeOpType, - type GroupedEntity, -} from 'loot-core/types/models'; +import type { balanceTypeOpType, GroupedEntity } from 'loot-core/types/models'; export function filterEmptyRows({ showEmpty, diff --git a/packages/desktop-client/src/components/reports/spreadsheets/filterHiddenItems.ts b/packages/desktop-client/src/components/reports/spreadsheets/filterHiddenItems.ts index 6d8a2d0409..1f59bea546 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/filterHiddenItems.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/filterHiddenItems.ts @@ -1,6 +1,6 @@ -import { - type QueryDataEntity, - type UncategorizedEntity, +import type { + QueryDataEntity, + UncategorizedEntity, } from '@desktop-client/components/reports/ReportOptions'; export function filterHiddenItems( diff --git a/packages/desktop-client/src/components/reports/spreadsheets/grouped-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/grouped-spreadsheet.ts index 009acc5047..1371a31c67 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/grouped-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/grouped-spreadsheet.ts @@ -1,8 +1,8 @@ import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { type GroupedEntity } from 'loot-core/types/models'; +import type { GroupedEntity } from 'loot-core/types/models'; -import { type createCustomSpreadsheetProps } from './custom-spreadsheet'; +import type { createCustomSpreadsheetProps } from './custom-spreadsheet'; import { filterEmptyRows } from './filterEmptyRows'; import { makeQuery } from './makeQuery'; import { recalculate } from './recalculate'; @@ -15,9 +15,9 @@ import { import { categoryLists, ReportOptions, - type QueryDataEntity, } from '@desktop-client/components/reports/ReportOptions'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { QueryDataEntity } from '@desktop-client/components/reports/ReportOptions'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; export function createGroupedSpreadsheet({ diff --git a/packages/desktop-client/src/components/reports/spreadsheets/net-worth-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/net-worth-spreadsheet.ts index 0bcc60b91f..f9f97d21bf 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/net-worth-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/net-worth-spreadsheet.ts @@ -1,18 +1,18 @@ import * as d from 'date-fns'; -import { type Locale } from 'date-fns'; +import type { Locale } from 'date-fns'; import keyBy from 'lodash/keyBy'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { - type AccountEntity, - type RuleConditionEntity, +import type { + AccountEntity, + RuleConditionEntity, } from 'loot-core/types/models'; import { ReportOptions } from '@desktop-client/components/reports/ReportOptions'; -import { type FormatType } from '@desktop-client/hooks/useFormat'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; type Balance = { diff --git a/packages/desktop-client/src/components/reports/spreadsheets/recalculate.ts b/packages/desktop-client/src/components/reports/spreadsheets/recalculate.ts index 932604a346..0be73a5d52 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/recalculate.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/recalculate.ts @@ -1,14 +1,11 @@ import * as monthUtils from 'loot-core/shared/months'; -import { - type GroupedEntity, - type IntervalEntity, -} from 'loot-core/types/models'; +import type { GroupedEntity, IntervalEntity } from 'loot-core/types/models'; import { filterHiddenItems } from './filterHiddenItems'; -import { - type QueryDataEntity, - type UncategorizedEntity, +import type { + QueryDataEntity, + UncategorizedEntity, } from '@desktop-client/components/reports/ReportOptions'; type recalculateProps = { diff --git a/packages/desktop-client/src/components/reports/spreadsheets/sortData.ts b/packages/desktop-client/src/components/reports/spreadsheets/sortData.ts index f4893c3d20..0725924458 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/sortData.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/sortData.ts @@ -1,7 +1,7 @@ -import { - type balanceTypeOpType, - type GroupedEntity, - type sortByOpType, +import type { + balanceTypeOpType, + GroupedEntity, + sortByOpType, } from 'loot-core/types/models'; const reverseSort: Partial> = { diff --git a/packages/desktop-client/src/components/reports/spreadsheets/spending-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/spending-spreadsheet.ts index f9db145e50..eafdced74f 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/spending-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/spending-spreadsheet.ts @@ -4,15 +4,15 @@ import keyBy from 'lodash/keyBy'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { - type RuleConditionEntity, - type SpendingEntity, - type SpendingMonthEntity, +import type { + RuleConditionEntity, + SpendingEntity, + SpendingMonthEntity, } from 'loot-core/types/models'; import { makeQuery } from './makeQuery'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; type createSpendingSpreadsheetProps = { diff --git a/packages/desktop-client/src/components/reports/spreadsheets/summary-spreadsheet.ts b/packages/desktop-client/src/components/reports/spreadsheets/summary-spreadsheet.ts index a958e7417d..feb5a65c33 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/summary-spreadsheet.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/summary-spreadsheet.ts @@ -1,15 +1,15 @@ import * as d from 'date-fns'; -import { type Locale } from 'date-fns'; +import type { Locale } from 'date-fns'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { - type RuleConditionEntity, - type SummaryContent, +import type { + RuleConditionEntity, + SummaryContent, } from 'loot-core/types/models'; -import { type useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; +import type { useSpreadsheet } from '@desktop-client/hooks/useSpreadsheet'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; export function summarySpreadsheet( diff --git a/packages/desktop-client/src/components/reports/spreadsheets/trimIntervals.ts b/packages/desktop-client/src/components/reports/spreadsheets/trimIntervals.ts index 5d1d8b5e79..9191b58ee8 100644 --- a/packages/desktop-client/src/components/reports/spreadsheets/trimIntervals.ts +++ b/packages/desktop-client/src/components/reports/spreadsheets/trimIntervals.ts @@ -1,7 +1,7 @@ -import { - type balanceTypeOpType, - type GroupedEntity, - type IntervalEntity, +import type { + balanceTypeOpType, + GroupedEntity, + IntervalEntity, } from 'loot-core/types/models'; function isEmptyForMetric( diff --git a/packages/desktop-client/src/components/reports/useWidgetCopyMenu.ts b/packages/desktop-client/src/components/reports/useWidgetCopyMenu.ts index c050d34f46..9cb15afa6f 100644 --- a/packages/desktop-client/src/components/reports/useWidgetCopyMenu.ts +++ b/packages/desktop-client/src/components/reports/useWidgetCopyMenu.ts @@ -1,7 +1,7 @@ -import { type ComponentProps } from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; -import { type Menu } from '@actual-app/components/menu'; +import type { Menu } from '@actual-app/components/menu'; import { pushModal } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/rules/ActionExpression.tsx b/packages/desktop-client/src/components/rules/ActionExpression.tsx index aeba30a8cb..fe50097883 100644 --- a/packages/desktop-client/src/components/rules/ActionExpression.tsx +++ b/packages/desktop-client/src/components/rules/ActionExpression.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Text } from '@actual-app/components/text'; @@ -10,14 +11,14 @@ import { getAllocationMethods, mapField, } from 'loot-core/shared/rules'; -import { - type AppendNoteRuleActionEntity, - type DeleteTransactionRuleActionEntity, - type LinkScheduleRuleActionEntity, - type PrependNoteRuleActionEntity, - type RuleActionEntity, - type SetRuleActionEntity, - type SetSplitAmountRuleActionEntity, +import type { + AppendNoteRuleActionEntity, + DeleteTransactionRuleActionEntity, + LinkScheduleRuleActionEntity, + PrependNoteRuleActionEntity, + RuleActionEntity, + SetRuleActionEntity, + SetSplitAmountRuleActionEntity, } from 'loot-core/types/models'; import { ScheduleValue } from './ScheduleValue'; diff --git a/packages/desktop-client/src/components/rules/ConditionExpression.tsx b/packages/desktop-client/src/components/rules/ConditionExpression.tsx index 4f178e44d9..9c7e972338 100644 --- a/packages/desktop-client/src/components/rules/ConditionExpression.tsx +++ b/packages/desktop-client/src/components/rules/ConditionExpression.tsx @@ -1,4 +1,5 @@ -import React, { type CSSProperties } from 'react'; +import React from 'react'; +import type { CSSProperties } from 'react'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/rules/RuleEditor.tsx b/packages/desktop-client/src/components/rules/RuleEditor.tsx index cb5589546f..53c838c62e 100644 --- a/packages/desktop-client/src/components/rules/RuleEditor.tsx +++ b/packages/desktop-client/src/components/rules/RuleEditor.tsx @@ -1,12 +1,6 @@ // @ts-strict-ignore -import { - useEffect, - useMemo, - useRef, - useState, - type CSSProperties, - type ReactNode, -} from 'react'; +import { useEffect, useMemo, useRef, useState } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -46,10 +40,10 @@ import { parse, unparse, } from 'loot-core/shared/rules'; -import { - type NewRuleEntity, - type RuleActionEntity, - type RuleEntity, +import type { + NewRuleEntity, + RuleActionEntity, + RuleEntity, } from 'loot-core/types/models'; import { FormulaActionEditor } from './FormulaActionEditor'; @@ -63,10 +57,8 @@ import { GenericInput } from '@desktop-client/components/util/GenericInput'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; import { useFeatureFlag } from '@desktop-client/hooks/useFeatureFlag'; import { useFormat } from '@desktop-client/hooks/useFormat'; -import { - useSchedules, - type ScheduleStatusType, -} from '@desktop-client/hooks/useSchedules'; +import { useSchedules } from '@desktop-client/hooks/useSchedules'; +import type { ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; import { SelectedProvider, useSelected, diff --git a/packages/desktop-client/src/components/rules/RuleRow.tsx b/packages/desktop-client/src/components/rules/RuleRow.tsx index 48baca18af..1cb76dd5a8 100644 --- a/packages/desktop-client/src/components/rules/RuleRow.tsx +++ b/packages/desktop-client/src/components/rules/RuleRow.tsx @@ -13,7 +13,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { friendlyOp, translateRuleStage } from 'loot-core/shared/rules'; -import { type RuleEntity } from 'loot-core/types/models'; +import type { RuleEntity } from 'loot-core/types/models'; import { ActionExpression } from './ActionExpression'; import { ConditionExpression } from './ConditionExpression'; diff --git a/packages/desktop-client/src/components/rules/RulesList.tsx b/packages/desktop-client/src/components/rules/RulesList.tsx index 9df971d281..553fbd4932 100644 --- a/packages/desktop-client/src/components/rules/RulesList.tsx +++ b/packages/desktop-client/src/components/rules/RulesList.tsx @@ -3,7 +3,7 @@ import React from 'react'; import { View } from '@actual-app/components/view'; -import { type RuleEntity } from 'loot-core/types/models'; +import type { RuleEntity } from 'loot-core/types/models'; import { RuleRow } from './RuleRow'; diff --git a/packages/desktop-client/src/components/rules/ScheduleValue.tsx b/packages/desktop-client/src/components/rules/ScheduleValue.tsx index dc8bce6a89..fb2ab404e2 100644 --- a/packages/desktop-client/src/components/rules/ScheduleValue.tsx +++ b/packages/desktop-client/src/components/rules/ScheduleValue.tsx @@ -6,7 +6,7 @@ import { View } from '@actual-app/components/view'; import { q } from 'loot-core/shared/query'; import { describeSchedule } from 'loot-core/shared/schedules'; -import { type ScheduleEntity } from 'loot-core/types/models'; +import type { ScheduleEntity } from 'loot-core/types/models'; import { Value } from './Value'; diff --git a/packages/desktop-client/src/components/rules/Value.tsx b/packages/desktop-client/src/components/rules/Value.tsx index cff848878f..b4baf7ec05 100644 --- a/packages/desktop-client/src/components/rules/Value.tsx +++ b/packages/desktop-client/src/components/rules/Value.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useState, type CSSProperties } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Text } from '@actual-app/components/text'; diff --git a/packages/desktop-client/src/components/schedules/PostsOfflineNotification.tsx b/packages/desktop-client/src/components/schedules/PostsOfflineNotification.tsx index 987fa11041..d4b49178f4 100644 --- a/packages/desktop-client/src/components/schedules/PostsOfflineNotification.tsx +++ b/packages/desktop-client/src/components/schedules/PostsOfflineNotification.tsx @@ -9,7 +9,7 @@ import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { send } from 'loot-core/platform/client/fetch'; -import { type PayeeEntity } from 'loot-core/types/models'; +import type { PayeeEntity } from 'loot-core/types/models'; import { Modal, diff --git a/packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx b/packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx index d4304a1c8d..7ccbe8ebd8 100644 --- a/packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx +++ b/packages/desktop-client/src/components/schedules/ScheduleEditForm.tsx @@ -13,10 +13,10 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import * as monthUtils from 'loot-core/shared/months'; -import { - type RecurConfig, - type ScheduleEntity, - type TransactionEntity, +import type { + RecurConfig, + ScheduleEntity, + TransactionEntity, } from 'loot-core/types/models'; import { @@ -36,10 +36,8 @@ import { import { GenericInput } from '@desktop-client/components/util/GenericInput'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; import { useLocale } from '@desktop-client/hooks/useLocale'; -import { - SelectedProvider, - type Actions, -} from '@desktop-client/hooks/useSelected'; +import { SelectedProvider } from '@desktop-client/hooks/useSelected'; +import type { Actions } from '@desktop-client/hooks/useSelected'; export type ScheduleFormFields = { payee: null | string; diff --git a/packages/desktop-client/src/components/schedules/ScheduleEditModal.tsx b/packages/desktop-client/src/components/schedules/ScheduleEditModal.tsx index 32138c798a..fa5d6467c5 100644 --- a/packages/desktop-client/src/components/schedules/ScheduleEditModal.tsx +++ b/packages/desktop-client/src/components/schedules/ScheduleEditModal.tsx @@ -8,7 +8,7 @@ import { SpaceBetween } from '@actual-app/components/space-between'; import { send, sendCatch } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { q } from 'loot-core/shared/query'; -import { type RecurConfig, type ScheduleEntity } from 'loot-core/types/models'; +import type { RecurConfig, ScheduleEntity } from 'loot-core/types/models'; import { updateScheduleConditions } from './schedule-edit-utils'; import { ScheduleEditForm } from './ScheduleEditForm'; @@ -21,10 +21,8 @@ import { import { usePayees } from '@desktop-client/hooks/usePayees'; import { useScheduleEdit } from '@desktop-client/hooks/useScheduleEdit'; import { useSelected } from '@desktop-client/hooks/useSelected'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { getPayeesById } from '@desktop-client/payees/payeesSlice'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/schedules/ScheduleLink.tsx b/packages/desktop-client/src/components/schedules/ScheduleLink.tsx index 9938e6cbee..0e11395114 100644 --- a/packages/desktop-client/src/components/schedules/ScheduleLink.tsx +++ b/packages/desktop-client/src/components/schedules/ScheduleLink.tsx @@ -20,10 +20,8 @@ import { } from '@desktop-client/components/common/Modal'; import { Search } from '@desktop-client/components/common/Search'; import { useSchedules } from '@desktop-client/hooks/useSchedules'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; type ScheduleLinkProps = Extract< diff --git a/packages/desktop-client/src/components/schedules/SchedulesTable.tsx b/packages/desktop-client/src/components/schedules/SchedulesTable.tsx index 43a1e69045..547b7a74be 100644 --- a/packages/desktop-client/src/components/schedules/SchedulesTable.tsx +++ b/packages/desktop-client/src/components/schedules/SchedulesTable.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useMemo, useRef, useState, type CSSProperties } from 'react'; +import React, { useMemo, useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -15,7 +16,7 @@ import { View } from '@actual-app/components/view'; import { format as monthUtilFormat } from 'loot-core/shared/months'; import { getNormalisedString } from 'loot-core/shared/normalisation'; import { getScheduledAmount } from 'loot-core/shared/schedules'; -import { type ScheduleEntity } from 'loot-core/types/models'; +import type { ScheduleEntity } from 'loot-core/types/models'; import { StatusBadge } from './StatusBadge'; @@ -34,9 +35,9 @@ import { useContextMenu } from '@desktop-client/hooks/useContextMenu'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { usePayees } from '@desktop-client/hooks/usePayees'; -import { - type ScheduleStatuses, - type ScheduleStatusType, +import type { + ScheduleStatuses, + ScheduleStatusType, } from '@desktop-client/hooks/useSchedules'; type SchedulesTableProps = { diff --git a/packages/desktop-client/src/components/schedules/StatusBadge.tsx b/packages/desktop-client/src/components/schedules/StatusBadge.tsx index f0c6df84f2..eb38cdc213 100644 --- a/packages/desktop-client/src/components/schedules/StatusBadge.tsx +++ b/packages/desktop-client/src/components/schedules/StatusBadge.tsx @@ -17,7 +17,7 @@ import { View } from '@actual-app/components/view'; import { getStatusLabel } from 'loot-core/shared/schedules'; import { titleFirst } from 'loot-core/shared/util'; -import { type ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; +import type { ScheduleStatusType } from '@desktop-client/hooks/useSchedules'; // Consists of Schedule Statuses + Transaction statuses export type StatusTypes = diff --git a/packages/desktop-client/src/components/schedules/UpcomingLength.tsx b/packages/desktop-client/src/components/schedules/UpcomingLength.tsx index 2e0eccda70..bb0d4b9e1c 100644 --- a/packages/desktop-client/src/components/schedules/UpcomingLength.tsx +++ b/packages/desktop-client/src/components/schedules/UpcomingLength.tsx @@ -6,7 +6,7 @@ import { Paragraph } from '@actual-app/components/paragraph'; import { Select } from '@actual-app/components/select'; import { View } from '@actual-app/components/view'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { CustomUpcomingLength } from './CustomUpcomingLength'; diff --git a/packages/desktop-client/src/components/schedules/index.tsx b/packages/desktop-client/src/components/schedules/index.tsx index b93ad87942..8512979733 100644 --- a/packages/desktop-client/src/components/schedules/index.tsx +++ b/packages/desktop-client/src/components/schedules/index.tsx @@ -7,9 +7,10 @@ import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; import { q } from 'loot-core/shared/query'; -import { type ScheduleEntity } from 'loot-core/types/models'; +import type { ScheduleEntity } from 'loot-core/types/models'; -import { SchedulesTable, type ScheduleItemAction } from './SchedulesTable'; +import { SchedulesTable } from './SchedulesTable'; +import type { ScheduleItemAction } from './SchedulesTable'; import { Search } from '@desktop-client/components/common/Search'; import { Page } from '@desktop-client/components/Page'; diff --git a/packages/desktop-client/src/components/schedules/schedule-edit-utils.ts b/packages/desktop-client/src/components/schedules/schedule-edit-utils.ts index 8301e7723a..b277e644cf 100644 --- a/packages/desktop-client/src/components/schedules/schedule-edit-utils.ts +++ b/packages/desktop-client/src/components/schedules/schedule-edit-utils.ts @@ -1,12 +1,9 @@ import { t } from 'i18next'; import { extractScheduleConds } from 'loot-core/shared/schedules'; -import { - type RuleConditionOp, - type ScheduleEntity, -} from 'loot-core/types/models'; +import type { RuleConditionOp, ScheduleEntity } from 'loot-core/types/models'; -import { type ScheduleFormFields } from './ScheduleEditForm'; +import type { ScheduleFormFields } from './ScheduleEditForm'; export function updateScheduleConditions( schedule: Partial, diff --git a/packages/desktop-client/src/components/select/DateSelect.tsx b/packages/desktop-client/src/components/select/DateSelect.tsx index d1a62a8a6f..449ac3d4d4 100644 --- a/packages/desktop-client/src/components/select/DateSelect.tsx +++ b/packages/desktop-client/src/components/select/DateSelect.tsx @@ -8,27 +8,19 @@ import React, { useMemo, useRef, useState, - type ComponentProps, - type KeyboardEvent, - type Ref, } from 'react'; +import type { ComponentProps, KeyboardEvent, Ref } from 'react'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; import { Input } from '@actual-app/components/input'; import { Popover } from '@actual-app/components/popover'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; -import { - addDays, - format, - isValid, - parse, - parseISO, - subDays, - type Locale, -} from 'date-fns'; +import { addDays, format, isValid, parse, parseISO, subDays } from 'date-fns'; +import type { Locale } from 'date-fns'; import Pikaday from 'pikaday'; import { diff --git a/packages/desktop-client/src/components/select/RecurringSchedulePicker.tsx b/packages/desktop-client/src/components/select/RecurringSchedulePicker.tsx index 27e0d80dad..e14a455041 100644 --- a/packages/desktop-client/src/components/select/RecurringSchedulePicker.tsx +++ b/packages/desktop-client/src/components/select/RecurringSchedulePicker.tsx @@ -1,12 +1,5 @@ -import { - useEffect, - useMemo, - useReducer, - useRef, - useState, - type CSSProperties, - type Dispatch, -} from 'react'; +import { useEffect, useMemo, useReducer, useRef, useState } from 'react'; +import type { CSSProperties, Dispatch } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -25,11 +18,8 @@ import { View } from '@actual-app/components/view'; import { sendCatch } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; import { getRecurringDescription } from 'loot-core/shared/schedules'; -import { type RecurConfig, type RecurPattern } from 'loot-core/types/models'; -import { - type TransObjectLiteral, - type WithRequired, -} from 'loot-core/types/util'; +import type { RecurConfig, RecurPattern } from 'loot-core/types/models'; +import type { TransObjectLiteral, WithRequired } from 'loot-core/types/util'; import { DateSelect } from './DateSelect'; diff --git a/packages/desktop-client/src/components/settings/Experimental.tsx b/packages/desktop-client/src/components/settings/Experimental.tsx index 5107c2e72d..3149136aeb 100644 --- a/packages/desktop-client/src/components/settings/Experimental.tsx +++ b/packages/desktop-client/src/components/settings/Experimental.tsx @@ -1,4 +1,5 @@ -import { useState, type ReactNode } from 'react'; +import { useState } from 'react'; +import type { ReactNode } from 'react'; import { Trans } from 'react-i18next'; import { Text } from '@actual-app/components/text'; diff --git a/packages/desktop-client/src/components/settings/Format.tsx b/packages/desktop-client/src/components/settings/Format.tsx index c1d751b974..a3cd122e0c 100644 --- a/packages/desktop-client/src/components/settings/Format.tsx +++ b/packages/desktop-client/src/components/settings/Format.tsx @@ -10,7 +10,7 @@ import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; import { numberFormats } from 'loot-core/shared/util'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { Column, Setting } from './UI'; diff --git a/packages/desktop-client/src/components/settings/LanguageSettings.tsx b/packages/desktop-client/src/components/settings/LanguageSettings.tsx index a25ab8bbc9..5c2f1f765c 100644 --- a/packages/desktop-client/src/components/settings/LanguageSettings.tsx +++ b/packages/desktop-client/src/components/settings/LanguageSettings.tsx @@ -2,9 +2,10 @@ import React from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; -import { Select, type SelectOption } from '@actual-app/components/select'; +import { Select } from '@actual-app/components/select'; +import type { SelectOption } from '@actual-app/components/select'; import { Text } from '@actual-app/components/text'; -import { type TFunction } from 'i18next'; +import type { TFunction } from 'i18next'; import { Setting } from './UI'; diff --git a/packages/desktop-client/src/components/settings/RepairTransactions.tsx b/packages/desktop-client/src/components/settings/RepairTransactions.tsx index b6d5efd5b5..9f3977bce8 100644 --- a/packages/desktop-client/src/components/settings/RepairTransactions.tsx +++ b/packages/desktop-client/src/components/settings/RepairTransactions.tsx @@ -8,7 +8,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { send } from 'loot-core/platform/client/fetch'; -import { type Handlers } from 'loot-core/types/handlers'; +import type { Handlers } from 'loot-core/types/handlers'; import { Setting } from './UI'; diff --git a/packages/desktop-client/src/components/settings/ThemeInstaller.tsx b/packages/desktop-client/src/components/settings/ThemeInstaller.tsx index 7adecff524..5f35f9c9d4 100644 --- a/packages/desktop-client/src/components/settings/ThemeInstaller.tsx +++ b/packages/desktop-client/src/components/settings/ThemeInstaller.tsx @@ -22,8 +22,10 @@ import { generateThemeId, normalizeGitHubRepo, validateThemeCss, - type CatalogTheme, - type InstalledTheme, +} from '@desktop-client/style/customThemes'; +import type { + CatalogTheme, + InstalledTheme, } from '@desktop-client/style/customThemes'; // Theme item fixed dimensions diff --git a/packages/desktop-client/src/components/settings/Themes.tsx b/packages/desktop-client/src/components/settings/Themes.tsx index 53387db979..1e8bc53127 100644 --- a/packages/desktop-client/src/components/settings/Themes.tsx +++ b/packages/desktop-client/src/components/settings/Themes.tsx @@ -9,7 +9,7 @@ import { tokens } from '@actual-app/components/tokens'; import { View } from '@actual-app/components/view'; import { css } from '@emotion/css'; -import { type DarkTheme, type Theme } from 'loot-core/types/prefs'; +import type { DarkTheme, Theme } from 'loot-core/types/prefs'; import { ThemeInstaller } from './ThemeInstaller'; import { Column, Setting } from './UI'; @@ -26,8 +26,8 @@ import { import { parseInstalledTheme, serializeInstalledTheme, - type InstalledTheme, } from '@desktop-client/style/customThemes'; +import type { InstalledTheme } from '@desktop-client/style/customThemes'; const INSTALL_NEW_VALUE = '__install_new__'; diff --git a/packages/desktop-client/src/components/settings/UI.tsx b/packages/desktop-client/src/components/settings/UI.tsx index dfc5bcdca6..0db654e6da 100644 --- a/packages/desktop-client/src/components/settings/UI.tsx +++ b/packages/desktop-client/src/components/settings/UI.tsx @@ -1,8 +1,9 @@ -import React, { useState, type ReactNode } from 'react'; +import React, { useState } from 'react'; +import type { ReactNode } from 'react'; import { Trans } from 'react-i18next'; import { useLocation } from 'react-router'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { tokens } from '@actual-app/components/tokens'; diff --git a/packages/desktop-client/src/components/settings/index.tsx b/packages/desktop-client/src/components/settings/index.tsx index 5d6043a7ff..7d29fa012b 100644 --- a/packages/desktop-client/src/components/settings/index.tsx +++ b/packages/desktop-client/src/components/settings/index.tsx @@ -1,4 +1,5 @@ -import React, { useEffect, type ReactNode } from 'react'; +import React, { useEffect } from 'react'; +import type { ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/sidebar/Account.tsx b/packages/desktop-client/src/components/sidebar/Account.tsx index b3b4c4fa36..27df2b4992 100644 --- a/packages/desktop-client/src/components/sidebar/Account.tsx +++ b/packages/desktop-client/src/components/sidebar/Account.tsx @@ -1,5 +1,6 @@ // @ts-strict-ignore -import React, { useRef, useState, type CSSProperties } from 'react'; +import React, { useRef, useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { AlignedText } from '@actual-app/components/aligned-text'; @@ -20,7 +21,7 @@ import { Tooltip } from '@actual-app/components/tooltip'; import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { reopenAccount, @@ -33,8 +34,10 @@ import { DropHighlight, useDraggable, useDroppable, - type OnDragChangeCallback, - type OnDropCallback, +} from '@desktop-client/components/sort'; +import type { + OnDragChangeCallback, + OnDropCallback, } from '@desktop-client/components/sort'; import { CellValue } from '@desktop-client/components/spreadsheet/CellValue'; import { useContextMenu } from '@desktop-client/hooks/useContextMenu'; @@ -44,7 +47,7 @@ import { useNotes } from '@desktop-client/hooks/useNotes'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; import { openAccountCloseModal } from '@desktop-client/modals/modalsSlice'; import { useDispatch } from '@desktop-client/redux'; -import { type Binding, type SheetFields } from '@desktop-client/spreadsheet'; +import type { Binding, SheetFields } from '@desktop-client/spreadsheet'; export const accountNameStyle: CSSProperties = { marginTop: -2, diff --git a/packages/desktop-client/src/components/sidebar/Accounts.tsx b/packages/desktop-client/src/components/sidebar/Accounts.tsx index a0745797d1..c870cad852 100644 --- a/packages/desktop-client/src/components/sidebar/Accounts.tsx +++ b/packages/desktop-client/src/components/sidebar/Accounts.tsx @@ -4,7 +4,7 @@ import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; import { Account } from './Account'; import { SecondaryItem } from './SecondaryItem'; diff --git a/packages/desktop-client/src/components/sidebar/BudgetName.tsx b/packages/desktop-client/src/components/sidebar/BudgetName.tsx index 52e3be4537..f4a5a1f036 100644 --- a/packages/desktop-client/src/components/sidebar/BudgetName.tsx +++ b/packages/desktop-client/src/components/sidebar/BudgetName.tsx @@ -1,4 +1,5 @@ -import React, { useRef, useState, type ReactNode } from 'react'; +import React, { useRef, useState } from 'react'; +import type { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/sidebar/Item.tsx b/packages/desktop-client/src/components/sidebar/Item.tsx index ccd3cba23d..bde467eb42 100644 --- a/packages/desktop-client/src/components/sidebar/Item.tsx +++ b/packages/desktop-client/src/components/sidebar/Item.tsx @@ -1,10 +1,11 @@ // @ts-strict-ignore -import React, { - type ComponentProps, - type ComponentType, - type CSSProperties, - type ReactNode, - type SVGProps, +import React from 'react'; +import type { + ComponentProps, + ComponentType, + CSSProperties, + ReactNode, + SVGProps, } from 'react'; import { Block } from '@actual-app/components/block'; diff --git a/packages/desktop-client/src/components/sidebar/ItemContent.tsx b/packages/desktop-client/src/components/sidebar/ItemContent.tsx index fd1f8003a1..e42bf10064 100644 --- a/packages/desktop-client/src/components/sidebar/ItemContent.tsx +++ b/packages/desktop-client/src/components/sidebar/ItemContent.tsx @@ -1,8 +1,9 @@ -import React, { type ComponentProps, type ReactNode } from 'react'; +import React from 'react'; +import type { ComponentProps, ReactNode } from 'react'; import { Button } from '@actual-app/components/button'; -import { type CSSProperties } from '@actual-app/components/styles'; -import { type View } from '@actual-app/components/view'; +import type { CSSProperties } from '@actual-app/components/styles'; +import type { View } from '@actual-app/components/view'; import { Link } from '@desktop-client/components/common/Link'; diff --git a/packages/desktop-client/src/components/sidebar/SecondaryButtons.tsx b/packages/desktop-client/src/components/sidebar/SecondaryButtons.tsx index e53173114a..00e6e56ee0 100644 --- a/packages/desktop-client/src/components/sidebar/SecondaryButtons.tsx +++ b/packages/desktop-client/src/components/sidebar/SecondaryButtons.tsx @@ -1,4 +1,5 @@ -import React, { type ComponentType, type SVGProps } from 'react'; +import React from 'react'; +import type { ComponentType, SVGProps } from 'react'; import { View } from '@actual-app/components/view'; diff --git a/packages/desktop-client/src/components/sidebar/SecondaryItem.tsx b/packages/desktop-client/src/components/sidebar/SecondaryItem.tsx index 1069193b18..ad5eb2b8b0 100644 --- a/packages/desktop-client/src/components/sidebar/SecondaryItem.tsx +++ b/packages/desktop-client/src/components/sidebar/SecondaryItem.tsx @@ -1,9 +1,10 @@ // @ts-strict-ignore -import React, { - type ComponentProps, - type ComponentType, - type CSSProperties, - type SVGProps, +import React from 'react'; +import type { + ComponentProps, + ComponentType, + CSSProperties, + SVGProps, } from 'react'; import { Block } from '@actual-app/components/block'; diff --git a/packages/desktop-client/src/components/sidebar/Sidebar.tsx b/packages/desktop-client/src/components/sidebar/Sidebar.tsx index b2e5408df1..c3d6228bc6 100644 --- a/packages/desktop-client/src/components/sidebar/Sidebar.tsx +++ b/packages/desktop-client/src/components/sidebar/Sidebar.tsx @@ -1,4 +1,5 @@ -import React, { useState, type CSSProperties } from 'react'; +import React, { useState } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; diff --git a/packages/desktop-client/src/components/sidebar/SidebarProvider.tsx b/packages/desktop-client/src/components/sidebar/SidebarProvider.tsx index c0ddac3112..1fe0aae41c 100644 --- a/packages/desktop-client/src/components/sidebar/SidebarProvider.tsx +++ b/packages/desktop-client/src/components/sidebar/SidebarProvider.tsx @@ -1,13 +1,6 @@ // @ts-strict-ignore -import React, { - createContext, - useContext, - useMemo, - useState, - type Dispatch, - type ReactNode, - type SetStateAction, -} from 'react'; +import React, { createContext, useContext, useMemo, useState } from 'react'; +import type { Dispatch, ReactNode, SetStateAction } from 'react'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; diff --git a/packages/desktop-client/src/components/sidebar/ToggleButton.tsx b/packages/desktop-client/src/components/sidebar/ToggleButton.tsx index 089acb16db..5884766e37 100644 --- a/packages/desktop-client/src/components/sidebar/ToggleButton.tsx +++ b/packages/desktop-client/src/components/sidebar/ToggleButton.tsx @@ -1,7 +1,5 @@ -import React, { - type ComponentPropsWithoutRef, - type CSSProperties, -} from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; diff --git a/packages/desktop-client/src/components/sort.tsx b/packages/desktop-client/src/components/sort.tsx index ae744e197a..c502deb45c 100644 --- a/packages/desktop-client/src/components/sort.tsx +++ b/packages/desktop-client/src/components/sort.tsx @@ -6,8 +6,8 @@ import React, { useLayoutEffect, useRef, useState, - type Context, } from 'react'; +import type { Context } from 'react'; import { useDrag, useDrop } from 'react-dnd'; import { theme } from '@actual-app/components/theme'; diff --git a/packages/desktop-client/src/components/spreadsheet/CellValue.tsx b/packages/desktop-client/src/components/spreadsheet/CellValue.tsx index 53265087eb..f11b146c6c 100644 --- a/packages/desktop-client/src/components/spreadsheet/CellValue.tsx +++ b/packages/desktop-client/src/components/spreadsheet/CellValue.tsx @@ -1,22 +1,20 @@ // @ts-strict-ignore -import React, { - type ComponentPropsWithoutRef, - type CSSProperties, - type ReactNode, -} from 'react'; +import React from 'react'; +import type { ComponentPropsWithoutRef, CSSProperties, ReactNode } from 'react'; import { Text } from '@actual-app/components/text'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { PrivacyFilter } from '@desktop-client/components/PrivacyFilter'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useSheetName } from '@desktop-client/hooks/useSheetName'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; -import { - type Binding, - type SheetFields, - type SheetNames, - type Spreadsheets, +import type { + Binding, + SheetFields, + SheetNames, + Spreadsheets, } from '@desktop-client/spreadsheet'; type CellValueProps< diff --git a/packages/desktop-client/src/components/table.tsx b/packages/desktop-client/src/components/table.tsx index 6e9c7a1d6c..e37627d5b5 100644 --- a/packages/desktop-client/src/components/table.tsx +++ b/packages/desktop-client/src/components/table.tsx @@ -7,15 +7,17 @@ import React, { useMemo, useRef, useState, - type ComponentProps, - type FocusEvent, - type JSX, - type KeyboardEvent, - type ReactElement, - type ReactNode, - type Ref, - type RefObject, - type UIEvent, +} from 'react'; +import type { + ComponentProps, + FocusEvent, + JSX, + KeyboardEvent, + ReactElement, + ReactNode, + Ref, + RefObject, + UIEvent, } from 'react'; import { AutoSizer } from 'react-virtualized-auto-sizer'; @@ -24,9 +26,11 @@ import { AnimatedLoading } from '@actual-app/components/icons/AnimatedLoading'; import { SvgDelete, SvgExpandArrow } from '@actual-app/components/icons/v0'; import { SvgCheckmark } from '@actual-app/components/icons/v1'; import { Input } from '@actual-app/components/input'; -import { Menu, type MenuItem } from '@actual-app/components/menu'; +import { Menu } from '@actual-app/components/menu'; +import type { MenuItem } from '@actual-app/components/menu'; import { Popover } from '@actual-app/components/popover'; -import { styles, type CSSProperties } from '@actual-app/components/styles'; +import { styles } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; @@ -37,7 +41,8 @@ import { mergeConditionalPrivacyFilterProps, } from './PrivacyFilter'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useModalState } from '@desktop-client/hooks/useModalState'; import { AvoidRefocusScrollProvider, @@ -45,11 +50,11 @@ import { } from '@desktop-client/hooks/useProperFocus'; import { useSelectedItems } from '@desktop-client/hooks/useSelected'; import { useSheetValue } from '@desktop-client/hooks/useSheetValue'; -import { - type Binding, - type SheetFields, - type SheetNames, - type Spreadsheets, +import type { + Binding, + SheetFields, + SheetNames, + Spreadsheets, } from '@desktop-client/spreadsheet'; export const ROW_HEIGHT = 32; diff --git a/packages/desktop-client/src/components/tags/TagCreationRow.tsx b/packages/desktop-client/src/components/tags/TagCreationRow.tsx index 646850df4a..f05580d80b 100644 --- a/packages/desktop-client/src/components/tags/TagCreationRow.tsx +++ b/packages/desktop-client/src/components/tags/TagCreationRow.tsx @@ -1,11 +1,5 @@ -import React, { - useEffect, - useMemo, - useRef, - useState, - type ChangeEvent, - type KeyboardEvent, -} from 'react'; +import React, { useEffect, useMemo, useRef, useState } from 'react'; +import type { ChangeEvent, KeyboardEvent } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { Button } from '@actual-app/components/button'; @@ -14,7 +8,7 @@ import { SpaceBetween } from '@actual-app/components/space-between'; import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; -import { type TagEntity } from 'loot-core/types/models'; +import type { TagEntity } from 'loot-core/types/models'; import { InputCell, diff --git a/packages/desktop-client/src/components/tags/TagEditor.tsx b/packages/desktop-client/src/components/tags/TagEditor.tsx index dda8e27611..1f5b071872 100644 --- a/packages/desktop-client/src/components/tags/TagEditor.tsx +++ b/packages/desktop-client/src/components/tags/TagEditor.tsx @@ -1,9 +1,9 @@ -import { type RefObject } from 'react'; +import type { RefObject } from 'react'; import { Button } from '@actual-app/components/button'; import { ColorPicker } from '@actual-app/components/color-picker'; -import { type TagEntity } from 'loot-core/types/models'; +import type { TagEntity } from 'loot-core/types/models'; import { useTagCSS } from '@desktop-client/hooks/useTagCSS'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/components/tags/TagRow.tsx b/packages/desktop-client/src/components/tags/TagRow.tsx index 84c9db4f45..0eecab21aa 100644 --- a/packages/desktop-client/src/components/tags/TagRow.tsx +++ b/packages/desktop-client/src/components/tags/TagRow.tsx @@ -7,7 +7,7 @@ import { Popover } from '@actual-app/components/popover'; import { Text } from '@actual-app/components/text'; import { theme } from '@actual-app/components/theme'; -import { type TagEntity } from 'loot-core/types/models'; +import type { TagEntity } from 'loot-core/types/models'; import { TagEditor } from './TagEditor'; diff --git a/packages/desktop-client/src/components/tags/TagsList.tsx b/packages/desktop-client/src/components/tags/TagsList.tsx index e33a4fa743..05d3dc7553 100644 --- a/packages/desktop-client/src/components/tags/TagsList.tsx +++ b/packages/desktop-client/src/components/tags/TagsList.tsx @@ -2,7 +2,7 @@ import React from 'react'; import { theme } from '@actual-app/components/theme'; -import { type TagEntity } from 'loot-core/types/models'; +import type { TagEntity } from 'loot-core/types/models'; import { TagRow } from './TagRow'; diff --git a/packages/desktop-client/src/components/transactions/SelectedTransactionsButton.tsx b/packages/desktop-client/src/components/transactions/SelectedTransactionsButton.tsx index a34600a339..3d3ef2d3bf 100644 --- a/packages/desktop-client/src/components/transactions/SelectedTransactionsButton.tsx +++ b/packages/desktop-client/src/components/transactions/SelectedTransactionsButton.tsx @@ -11,7 +11,7 @@ import { } from 'loot-core/shared/schedules'; import { isPreviewId } from 'loot-core/shared/transactions'; import { validForTransfer } from 'loot-core/shared/transfer'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { TransactionEntity } from 'loot-core/types/models'; import { SelectedItemsButton } from '@desktop-client/components/table'; import { useSchedules } from '@desktop-client/hooks/useSchedules'; diff --git a/packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx b/packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx index f20899a446..3e3ecab357 100644 --- a/packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx +++ b/packages/desktop-client/src/components/transactions/SimpleTransactionsTable.tsx @@ -1,10 +1,5 @@ -import React, { - memo, - useCallback, - useMemo, - type CSSProperties, - type ReactNode, -} from 'react'; +import React, { memo, useCallback, useMemo } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { SvgArrowsSynchronize } from '@actual-app/components/icons/v2'; @@ -16,7 +11,7 @@ import { } from 'date-fns'; import * as monthUtils from 'loot-core/shared/months'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { TransactionEntity } from 'loot-core/types/models'; import { FinancialText } from '@desktop-client/components/FinancialText'; import { @@ -30,7 +25,8 @@ import { DisplayId } from '@desktop-client/components/util/DisplayId'; import { useAccount } from '@desktop-client/hooks/useAccount'; import { useCategory } from '@desktop-client/hooks/useCategory'; import { useDateFormat } from '@desktop-client/hooks/useDateFormat'; -import { useFormat, type FormatType } from '@desktop-client/hooks/useFormat'; +import { useFormat } from '@desktop-client/hooks/useFormat'; +import type { FormatType } from '@desktop-client/hooks/useFormat'; import { useSelectedDispatch, useSelectedItems, diff --git a/packages/desktop-client/src/components/transactions/TransactionList.tsx b/packages/desktop-client/src/components/transactions/TransactionList.tsx index 9eeb6d0bcb..14f08e4057 100644 --- a/packages/desktop-client/src/components/transactions/TransactionList.tsx +++ b/packages/desktop-client/src/components/transactions/TransactionList.tsx @@ -1,6 +1,7 @@ // @ts-strict-ignore // TODO: remove strict -import { useCallback, useLayoutEffect, useRef, type RefObject } from 'react'; +import { useCallback, useLayoutEffect, useRef } from 'react'; +import type { RefObject } from 'react'; import { useTranslation } from 'react-i18next'; import { theme } from '@actual-app/components/theme'; @@ -17,23 +18,21 @@ import { updateTransaction, } from 'loot-core/shared/transactions'; import { applyChanges, getChangedValues } from 'loot-core/shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type PayeeEntity, - type RuleActionEntity, - type RuleConditionEntity, - type ScheduleEntity, - type TransactionEntity, - type TransactionFilterEntity, +import type { + AccountEntity, + CategoryEntity, + PayeeEntity, + RuleActionEntity, + RuleConditionEntity, + ScheduleEntity, + TransactionEntity, + TransactionFilterEntity, } from 'loot-core/types/models'; -import { - TransactionTable, - type TransactionTableProps, -} from './TransactionsTable'; +import { TransactionTable } from './TransactionsTable'; +import type { TransactionTableProps } from './TransactionsTable'; -import { type TableHandleRef } from '@desktop-client/components/table'; +import type { TableHandleRef } from '@desktop-client/components/table'; import { useNavigate } from '@desktop-client/hooks/useNavigate'; import { useSyncedPref } from '@desktop-client/hooks/useSyncedPref'; import { pushModal } from '@desktop-client/modals/modalsSlice'; diff --git a/packages/desktop-client/src/components/transactions/TransactionMenu.tsx b/packages/desktop-client/src/components/transactions/TransactionMenu.tsx index 6614edd175..60fdcd575a 100644 --- a/packages/desktop-client/src/components/transactions/TransactionMenu.tsx +++ b/packages/desktop-client/src/components/transactions/TransactionMenu.tsx @@ -1,4 +1,5 @@ -import React, { useMemo, type ComponentPropsWithoutRef } from 'react'; +import React, { useMemo } from 'react'; +import type { ComponentPropsWithoutRef } from 'react'; import { useTranslation } from 'react-i18next'; import { Menu } from '@actual-app/components/menu'; @@ -9,7 +10,7 @@ import { scheduleIsRecurring, } from 'loot-core/shared/schedules'; import { isPreviewId } from 'loot-core/shared/transactions'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { TransactionEntity } from 'loot-core/types/models'; import { useSchedules } from '@desktop-client/hooks/useSchedules'; import { useSelectedItems } from '@desktop-client/hooks/useSelected'; diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.test.tsx b/packages/desktop-client/src/components/transactions/TransactionsTable.test.tsx index f30227299d..6131c76878 100644 --- a/packages/desktop-client/src/components/transactions/TransactionsTable.test.tsx +++ b/packages/desktop-client/src/components/transactions/TransactionsTable.test.tsx @@ -18,12 +18,12 @@ import { updateTransaction, } from 'loot-core/shared/transactions'; import { integerToCurrency } from 'loot-core/shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type CategoryGroupEntity, - type PayeeEntity, - type TransactionEntity, +import type { + AccountEntity, + CategoryEntity, + CategoryGroupEntity, + PayeeEntity, + TransactionEntity, } from 'loot-core/types/models'; import { TransactionTable } from './TransactionsTable'; diff --git a/packages/desktop-client/src/components/transactions/TransactionsTable.tsx b/packages/desktop-client/src/components/transactions/TransactionsTable.tsx index 96931ec18c..328c840f85 100644 --- a/packages/desktop-client/src/components/transactions/TransactionsTable.tsx +++ b/packages/desktop-client/src/components/transactions/TransactionsTable.tsx @@ -8,12 +8,14 @@ import { useMemo, useRef, useState, - type CSSProperties, - type ForwardedRef, - type KeyboardEvent, - type ReactNode, - type Ref, - type RefObject, +} from 'react'; +import type { + CSSProperties, + ForwardedRef, + KeyboardEvent, + ReactNode, + Ref, + RefObject, } from 'react'; import { useHotkeys } from 'react-hotkeys-hook'; import { Trans, useTranslation } from 'react-i18next'; @@ -62,16 +64,16 @@ import { currencyToAmount, integerToCurrency, titleFirst, - type IntegerAmount, } from 'loot-core/shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type CategoryGroupEntity, - type PayeeEntity, - type RuleEntity, - type ScheduleEntity, - type TransactionEntity, +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { + AccountEntity, + CategoryEntity, + CategoryGroupEntity, + PayeeEntity, + RuleEntity, + ScheduleEntity, + TransactionEntity, } from 'loot-core/types/models'; import { @@ -80,9 +82,11 @@ import { makeTemporaryTransactions, selectAscDesc, serializeTransaction, - type SerializedTransaction, - type TransactionEditFunction, - type TransactionUpdateFunction, +} from './table/utils'; +import type { + SerializedTransaction, + TransactionEditFunction, + TransactionUpdateFunction, } from './table/utils'; import { TransactionMenu } from './TransactionMenu'; @@ -90,10 +94,8 @@ import { getAccountsById } from '@desktop-client/accounts/accountsSlice'; import { AccountAutocomplete } from '@desktop-client/components/autocomplete/AccountAutocomplete'; import { CategoryAutocomplete } from '@desktop-client/components/autocomplete/CategoryAutocomplete'; import { PayeeAutocomplete } from '@desktop-client/components/autocomplete/PayeeAutocomplete'; -import { - getStatusProps, - type StatusTypes, -} from '@desktop-client/components/schedules/StatusBadge'; +import { getStatusProps } from '@desktop-client/components/schedules/StatusBadge'; +import type { StatusTypes } from '@desktop-client/components/schedules/StatusBadge'; import { DateSelect } from '@desktop-client/components/select/DateSelect'; import { Cell, @@ -107,9 +109,11 @@ import { Table, UnexposedCellContent, useTableNavigator, - type TableHandleRef, - type TableNavigator, - type TableProps, +} from '@desktop-client/components/table'; +import type { + TableHandleRef, + TableNavigator, + TableProps, } from '@desktop-client/components/table'; import { SchedulesProvider, @@ -129,10 +133,8 @@ import { useSelectedItems, } from '@desktop-client/hooks/useSelected'; import { SheetNameProvider } from '@desktop-client/hooks/useSheetName'; -import { - useSplitsExpanded, - type SplitsExpandedContextValue, -} from '@desktop-client/hooks/useSplitsExpanded'; +import { useSplitsExpanded } from '@desktop-client/hooks/useSplitsExpanded'; +import type { SplitsExpandedContextValue } from '@desktop-client/hooks/useSplitsExpanded'; import { pushModal } from '@desktop-client/modals/modalsSlice'; import { NotesTagFormatter } from '@desktop-client/notes/NotesTagFormatter'; import { addNotification } from '@desktop-client/notifications/notificationsSlice'; diff --git a/packages/desktop-client/src/components/transactions/table/utils.ts b/packages/desktop-client/src/components/transactions/table/utils.ts index ac021d46b5..302004a3d3 100644 --- a/packages/desktop-client/src/components/transactions/table/utils.ts +++ b/packages/desktop-client/src/components/transactions/table/utils.ts @@ -5,12 +5,12 @@ import { currentDay } from 'loot-core/shared/months'; import { amountToInteger, integerToCurrencyWithDecimal, - type CurrencyAmount, } from 'loot-core/shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type TransactionEntity, +import type { CurrencyAmount } from 'loot-core/shared/util'; +import type { + AccountEntity, + CategoryEntity, + TransactionEntity, } from 'loot-core/types/models'; export type SerializedTransaction = Omit & { diff --git a/packages/desktop-client/src/components/util/AmountInput.tsx b/packages/desktop-client/src/components/util/AmountInput.tsx index a20c6f505a..f0dad1bf78 100644 --- a/packages/desktop-client/src/components/util/AmountInput.tsx +++ b/packages/desktop-client/src/components/util/AmountInput.tsx @@ -1,13 +1,10 @@ // @ts-strict-ignore -import React, { - useCallback, - useEffect, - useRef, - useState, - type CSSProperties, - type FocusEventHandler, - type KeyboardEvent, - type Ref, +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import type { + CSSProperties, + FocusEventHandler, + KeyboardEvent, + Ref, } from 'react'; import { useTranslation } from 'react-i18next'; @@ -19,7 +16,7 @@ import { theme } from '@actual-app/components/theme'; import { View } from '@actual-app/components/view'; import { css, cx } from '@emotion/css'; -import { type IntegerAmount } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; import { useFormat } from '@desktop-client/hooks/useFormat'; import { useMergedRefs } from '@desktop-client/hooks/useMergedRefs'; diff --git a/packages/desktop-client/src/components/util/FinancialInput.tsx b/packages/desktop-client/src/components/util/FinancialInput.tsx index aa37fbb1b4..4d33530410 100644 --- a/packages/desktop-client/src/components/util/FinancialInput.tsx +++ b/packages/desktop-client/src/components/util/FinancialInput.tsx @@ -1,9 +1,11 @@ -import { useEffect, useRef, useState, type FocusEvent } from 'react'; +import { useEffect, useRef, useState } from 'react'; +import type { FocusEvent } from 'react'; -import { Input, type InputProps } from '@actual-app/components/input'; +import { Input } from '@actual-app/components/input'; +import type { InputProps } from '@actual-app/components/input'; import { styles } from '@actual-app/components/styles'; -import { type IntegerAmount } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; import { useFormat } from '@desktop-client/hooks/useFormat'; diff --git a/packages/desktop-client/src/components/util/GenericInput.tsx b/packages/desktop-client/src/components/util/GenericInput.tsx index 0c7726078b..f6bd7550e7 100644 --- a/packages/desktop-client/src/components/util/GenericInput.tsx +++ b/packages/desktop-client/src/components/util/GenericInput.tsx @@ -1,13 +1,13 @@ -import { type JSX, type Ref } from 'react'; +import type { JSX, Ref } from 'react'; import { useTranslation } from 'react-i18next'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; import { Input } from '@actual-app/components/input'; -import { type CSSProperties } from '@actual-app/components/styles'; +import type { CSSProperties } from '@actual-app/components/styles'; import { View } from '@actual-app/components/view'; import { getMonthYearFormat } from 'loot-core/shared/months'; -import { type RecurConfig, type RuleConditionOp } from 'loot-core/types/models'; +import type { RecurConfig, RuleConditionOp } from 'loot-core/types/models'; import { AmountInput } from './AmountInput'; import { PercentInput } from './PercentInput'; diff --git a/packages/desktop-client/src/components/util/LoadComponent.tsx b/packages/desktop-client/src/components/util/LoadComponent.tsx index 4d2229dc6f..18f942723c 100644 --- a/packages/desktop-client/src/components/util/LoadComponent.tsx +++ b/packages/desktop-client/src/components/util/LoadComponent.tsx @@ -1,4 +1,5 @@ -import { useEffect, useState, type ComponentType } from 'react'; +import { useEffect, useState } from 'react'; +import type { ComponentType } from 'react'; import { Block } from '@actual-app/components/block'; import { AnimatedLoading } from '@actual-app/components/icons/AnimatedLoading'; diff --git a/packages/desktop-client/src/components/util/PercentInput.tsx b/packages/desktop-client/src/components/util/PercentInput.tsx index eeea128f12..f0ff706326 100644 --- a/packages/desktop-client/src/components/util/PercentInput.tsx +++ b/packages/desktop-client/src/components/util/PercentInput.tsx @@ -1,12 +1,5 @@ -import React, { - useEffect, - useRef, - useState, - type CSSProperties, - type FocusEvent, - type FocusEventHandler, - type Ref, -} from 'react'; +import React, { useEffect, useRef, useState } from 'react'; +import type { CSSProperties, FocusEvent, FocusEventHandler, Ref } from 'react'; import { Input } from '@actual-app/components/input'; diff --git a/packages/desktop-client/src/components/util/accountValidation.ts b/packages/desktop-client/src/components/util/accountValidation.ts index 86ec7fe94b..653757176e 100644 --- a/packages/desktop-client/src/components/util/accountValidation.ts +++ b/packages/desktop-client/src/components/util/accountValidation.ts @@ -1,6 +1,6 @@ import { t } from 'i18next'; -import { type AccountEntity } from 'loot-core/types/models'; +import type { AccountEntity } from 'loot-core/types/models'; export function validateAccountName( newAccountName: string, diff --git a/packages/desktop-client/src/global-events.ts b/packages/desktop-client/src/global-events.ts index 6f31da02d1..258c52e10a 100644 --- a/packages/desktop-client/src/global-events.ts +++ b/packages/desktop-client/src/global-events.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type QueryClient } from '@tanstack/react-query'; +import type { QueryClient } from '@tanstack/react-query'; import { listen } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; @@ -15,7 +15,7 @@ import { } from './notifications/notificationsSlice'; import { reloadPayees } from './payees/payeesSlice'; import { loadPrefs } from './prefs/prefsSlice'; -import { type AppStore } from './redux/store'; +import type { AppStore } from './redux/store'; import * as syncEvents from './sync-events'; export function handleGlobalEvents(store: AppStore, queryClient: QueryClient) { diff --git a/packages/desktop-client/src/gocardless.ts b/packages/desktop-client/src/gocardless.ts index 24382e80c4..33b36cf055 100644 --- a/packages/desktop-client/src/gocardless.ts +++ b/packages/desktop-client/src/gocardless.ts @@ -1,8 +1,8 @@ import { send } from 'loot-core/platform/client/fetch'; -import { type GoCardlessToken } from 'loot-core/types/models'; +import type { GoCardlessToken } from 'loot-core/types/models'; import { pushModal } from './modals/modalsSlice'; -import { type AppDispatch } from './redux/store'; +import type { AppDispatch } from './redux/store'; function _authorize( dispatch: AppDispatch, diff --git a/packages/desktop-client/src/hooks/useAccountPreviewTransactions.ts b/packages/desktop-client/src/hooks/useAccountPreviewTransactions.ts index 4f0a01115c..ad661595d3 100644 --- a/packages/desktop-client/src/hooks/useAccountPreviewTransactions.ts +++ b/packages/desktop-client/src/hooks/useAccountPreviewTransactions.ts @@ -1,11 +1,12 @@ import { useCallback, useMemo } from 'react'; -import { groupById, type IntegerAmount } from 'loot-core/shared/util'; -import { - type AccountEntity, - type PayeeEntity, - type ScheduleEntity, - type TransactionEntity, +import { groupById } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { + AccountEntity, + PayeeEntity, + ScheduleEntity, + TransactionEntity, } from 'loot-core/types/models'; import { useAccounts } from './useAccounts'; diff --git a/packages/desktop-client/src/hooks/useCachedSchedules.tsx b/packages/desktop-client/src/hooks/useCachedSchedules.tsx index 37aff2128f..acd106c60b 100644 --- a/packages/desktop-client/src/hooks/useCachedSchedules.tsx +++ b/packages/desktop-client/src/hooks/useCachedSchedules.tsx @@ -1,14 +1,8 @@ -import React, { - createContext, - useContext, - type PropsWithChildren, -} from 'react'; +import React, { createContext, useContext } from 'react'; +import type { PropsWithChildren } from 'react'; -import { - useSchedules, - type UseSchedulesProps, - type UseSchedulesResult, -} from './useSchedules'; +import { useSchedules } from './useSchedules'; +import type { UseSchedulesProps, UseSchedulesResult } from './useSchedules'; type SchedulesContextValue = UseSchedulesResult; diff --git a/packages/desktop-client/src/hooks/useCategoryPreviewTransactions.ts b/packages/desktop-client/src/hooks/useCategoryPreviewTransactions.ts index 545459cde5..e5f5cef150 100644 --- a/packages/desktop-client/src/hooks/useCategoryPreviewTransactions.ts +++ b/packages/desktop-client/src/hooks/useCategoryPreviewTransactions.ts @@ -1,10 +1,7 @@ import { useCallback, useMemo } from 'react'; import * as monthUtils from 'loot-core/shared/months'; -import { - type CategoryEntity, - type ScheduleEntity, -} from 'loot-core/types/models'; +import type { CategoryEntity, ScheduleEntity } from 'loot-core/types/models'; import { useCategory } from './useCategory'; import { useCategoryScheduleGoalTemplates } from './useCategoryScheduleGoalTemplates'; diff --git a/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplateIndicator.ts b/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplateIndicator.ts index 44171a0d0e..ae616b2e27 100644 --- a/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplateIndicator.ts +++ b/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplateIndicator.ts @@ -1,19 +1,16 @@ import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { type Locale } from 'date-fns'; -import { type TFunction } from 'i18next'; +import type { Locale } from 'date-fns'; +import type { TFunction } from 'i18next'; import * as monthUtils from 'loot-core/shared/months'; import { getUpcomingDays } from 'loot-core/shared/schedules'; -import { - type CategoryEntity, - type ScheduleEntity, -} from 'loot-core/types/models'; +import type { CategoryEntity, ScheduleEntity } from 'loot-core/types/models'; import { useCategoryScheduleGoalTemplates } from './useCategoryScheduleGoalTemplates'; import { useLocale } from './useLocale'; -import { type ScheduleStatusType } from './useSchedules'; +import type { ScheduleStatusType } from './useSchedules'; import { useSyncedPref } from './useSyncedPref'; type UseCategoryScheduleGoalTemplateProps = { diff --git a/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplates.ts b/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplates.ts index da6a391b31..14bcbe3e7e 100644 --- a/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplates.ts +++ b/packages/desktop-client/src/hooks/useCategoryScheduleGoalTemplates.ts @@ -1,16 +1,10 @@ import { useMemo } from 'react'; -import { - type CategoryEntity, - type ScheduleEntity, -} from 'loot-core/types/models'; +import type { CategoryEntity, ScheduleEntity } from 'loot-core/types/models'; import { useCachedSchedules } from './useCachedSchedules'; import { useFeatureFlag } from './useFeatureFlag'; -import { - type ScheduleStatuses, - type ScheduleStatusLabels, -} from './useSchedules'; +import type { ScheduleStatuses, ScheduleStatusLabels } from './useSchedules'; type ScheduleGoalDefinition = { type: 'schedule'; diff --git a/packages/desktop-client/src/hooks/useContextMenu.ts b/packages/desktop-client/src/hooks/useContextMenu.ts index 3e1a7f9c0e..e8c09e8341 100644 --- a/packages/desktop-client/src/hooks/useContextMenu.ts +++ b/packages/desktop-client/src/hooks/useContextMenu.ts @@ -1,4 +1,5 @@ -import { useState, type MouseEventHandler } from 'react'; +import { useState } from 'react'; +import type { MouseEventHandler } from 'react'; export function useContextMenu() { const [menuOpen, setMenuOpen] = useState(false); diff --git a/packages/desktop-client/src/hooks/useDashboard.ts b/packages/desktop-client/src/hooks/useDashboard.ts index 05eb25bd3d..cd8d3496d8 100644 --- a/packages/desktop-client/src/hooks/useDashboard.ts +++ b/packages/desktop-client/src/hooks/useDashboard.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { q } from 'loot-core/shared/query'; -import { type DashboardEntity, type Widget } from 'loot-core/types/models'; +import type { DashboardEntity, Widget } from 'loot-core/types/models'; import { useQuery } from './useQuery'; diff --git a/packages/desktop-client/src/hooks/useDisplayPayee.tsx b/packages/desktop-client/src/hooks/useDisplayPayee.tsx index 289bbbaeab..88a1a1ef25 100644 --- a/packages/desktop-client/src/hooks/useDisplayPayee.tsx +++ b/packages/desktop-client/src/hooks/useDisplayPayee.tsx @@ -1,11 +1,12 @@ -import { createContext, useContext, useMemo, type ReactNode } from 'react'; +import { createContext, useContext, useMemo } from 'react'; +import type { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; import { q } from 'loot-core/shared/query'; -import { - type AccountEntity, - type PayeeEntity, - type TransactionEntity, +import type { + AccountEntity, + PayeeEntity, + TransactionEntity, } from 'loot-core/types/models'; import { useAccounts } from './useAccounts'; diff --git a/packages/desktop-client/src/hooks/useEffectAfterMount.ts b/packages/desktop-client/src/hooks/useEffectAfterMount.ts index 5d3a14a4f0..efea47f2c8 100644 --- a/packages/desktop-client/src/hooks/useEffectAfterMount.ts +++ b/packages/desktop-client/src/hooks/useEffectAfterMount.ts @@ -1,9 +1,5 @@ -import { - useEffect, - useRef, - type DependencyList, - type EffectCallback, -} from 'react'; +import { useEffect, useRef } from 'react'; +import type { DependencyList, EffectCallback } from 'react'; /** * A version of useEffect that doesn't run on the initial mount. diff --git a/packages/desktop-client/src/hooks/useFormat.ts b/packages/desktop-client/src/hooks/useFormat.ts index e0e585c8b0..d1b31cee44 100644 --- a/packages/desktop-client/src/hooks/useFormat.ts +++ b/packages/desktop-client/src/hooks/useFormat.ts @@ -1,7 +1,8 @@ import { useCallback, useEffect, useMemo } from 'react'; import { evalArithmetic } from 'loot-core/shared/arithmetic'; -import { getCurrency, type Currency } from 'loot-core/shared/currencies'; +import { getCurrency } from 'loot-core/shared/currencies'; +import type { Currency } from 'loot-core/shared/currencies'; import { amountToInteger, currencyToAmount, @@ -10,8 +11,8 @@ import { integerToCurrency, parseNumberFormat, setNumberFormat, - type IntegerAmount, } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; import { useSyncedPref } from './useSyncedPref'; diff --git a/packages/desktop-client/src/hooks/useFormatList.ts b/packages/desktop-client/src/hooks/useFormatList.ts index 251df4fb1b..ee54c893b6 100644 --- a/packages/desktop-client/src/hooks/useFormatList.ts +++ b/packages/desktop-client/src/hooks/useFormatList.ts @@ -1,4 +1,5 @@ -import { useMemo, type ReactNode } from 'react'; +import { useMemo } from 'react'; +import type { ReactNode } from 'react'; const interleaveArrays = (...arrays: ReactNode[][]) => Array.from( diff --git a/packages/desktop-client/src/hooks/useFormulaExecution.ts b/packages/desktop-client/src/hooks/useFormulaExecution.ts index cd76a0567c..8fb74617b7 100644 --- a/packages/desktop-client/src/hooks/useFormulaExecution.ts +++ b/packages/desktop-client/src/hooks/useFormulaExecution.ts @@ -4,12 +4,10 @@ import { HyperFormula } from 'hyperformula'; import { send } from 'loot-core/platform/client/fetch'; import * as monthUtils from 'loot-core/shared/months'; -import { q, type Query } from 'loot-core/shared/query'; +import { q } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { integerToAmount } from 'loot-core/shared/util'; -import { - type RuleConditionEntity, - type TimeFrame, -} from 'loot-core/types/models'; +import type { RuleConditionEntity, TimeFrame } from 'loot-core/types/models'; import { useLocale } from './useLocale'; diff --git a/packages/desktop-client/src/hooks/useGlobalPref.ts b/packages/desktop-client/src/hooks/useGlobalPref.ts index c143e5f991..c577cef706 100644 --- a/packages/desktop-client/src/hooks/useGlobalPref.ts +++ b/packages/desktop-client/src/hooks/useGlobalPref.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; -import { type GlobalPrefs } from 'loot-core/types/prefs'; +import type { GlobalPrefs } from 'loot-core/types/prefs'; import { saveGlobalPrefs } from '@desktop-client/prefs/prefsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/hooks/useIsInViewport.ts b/packages/desktop-client/src/hooks/useIsInViewport.ts index fcbdf23a01..4bde77a01b 100644 --- a/packages/desktop-client/src/hooks/useIsInViewport.ts +++ b/packages/desktop-client/src/hooks/useIsInViewport.ts @@ -1,4 +1,5 @@ -import { useEffect, useMemo, useState, type RefObject } from 'react'; +import { useEffect, useMemo, useState } from 'react'; +import type { RefObject } from 'react'; /** * Check if the given element (by ref) is visible in the viewport. diff --git a/packages/desktop-client/src/hooks/useLocalPref.ts b/packages/desktop-client/src/hooks/useLocalPref.ts index d0c7e1f935..918e485a82 100644 --- a/packages/desktop-client/src/hooks/useLocalPref.ts +++ b/packages/desktop-client/src/hooks/useLocalPref.ts @@ -1,6 +1,6 @@ import { useLocalStorage } from 'usehooks-ts'; -import { type LocalPrefs } from 'loot-core/types/prefs'; +import type { LocalPrefs } from 'loot-core/types/prefs'; import { useMetadataPref } from './useMetadataPref'; diff --git a/packages/desktop-client/src/hooks/useMergedRefs.ts b/packages/desktop-client/src/hooks/useMergedRefs.ts index 29651f112e..6bcdd39d9c 100644 --- a/packages/desktop-client/src/hooks/useMergedRefs.ts +++ b/packages/desktop-client/src/hooks/useMergedRefs.ts @@ -1,4 +1,5 @@ -import { useCallback, type Ref, type RefCallback, type RefObject } from 'react'; +import { useCallback } from 'react'; +import type { Ref, RefCallback, RefObject } from 'react'; export function useMergedRefs( ...refs: ( diff --git a/packages/desktop-client/src/hooks/useMetadataPref.ts b/packages/desktop-client/src/hooks/useMetadataPref.ts index 883a8f05b2..3bd6f0ac36 100644 --- a/packages/desktop-client/src/hooks/useMetadataPref.ts +++ b/packages/desktop-client/src/hooks/useMetadataPref.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; -import { type MetadataPrefs } from 'loot-core/types/prefs'; +import type { MetadataPrefs } from 'loot-core/types/prefs'; import { savePrefs } from '@desktop-client/prefs/prefsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/hooks/useModalState.ts b/packages/desktop-client/src/hooks/useModalState.ts index 5c143d2b19..0912ae2c68 100644 --- a/packages/desktop-client/src/hooks/useModalState.ts +++ b/packages/desktop-client/src/hooks/useModalState.ts @@ -1,6 +1,7 @@ import { useCallback } from 'react'; -import { popModal, type Modal } from '@desktop-client/modals/modalsSlice'; +import { popModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal } from '@desktop-client/modals/modalsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; type ModalState = { diff --git a/packages/desktop-client/src/hooks/useNavigate.ts b/packages/desktop-client/src/hooks/useNavigate.ts index 2862f1a223..9cabcc1cfa 100644 --- a/packages/desktop-client/src/hooks/useNavigate.ts +++ b/packages/desktop-client/src/hooks/useNavigate.ts @@ -3,10 +3,12 @@ import { useLocation, // oxlint-disable-next-line eslint/no-restricted-imports useNavigate as useNavigateReactRouter, - type Location, - type NavigateFunction, - type NavigateOptions, - type To, +} from 'react-router'; +import type { + Location, + NavigateFunction, + NavigateOptions, + To, } from 'react-router'; export function useNavigate(): NavigateFunction { diff --git a/packages/desktop-client/src/hooks/useNotes.ts b/packages/desktop-client/src/hooks/useNotes.ts index c88a674857..b5a909962f 100644 --- a/packages/desktop-client/src/hooks/useNotes.ts +++ b/packages/desktop-client/src/hooks/useNotes.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { q } from 'loot-core/shared/query'; -import { type NoteEntity } from 'loot-core/types/models'; +import type { NoteEntity } from 'loot-core/types/models'; import { useQuery } from './useQuery'; diff --git a/packages/desktop-client/src/hooks/useOverspentCategories.ts b/packages/desktop-client/src/hooks/useOverspentCategories.ts index 19095936f7..19bc28395d 100644 --- a/packages/desktop-client/src/hooks/useOverspentCategories.ts +++ b/packages/desktop-client/src/hooks/useOverspentCategories.ts @@ -1,8 +1,9 @@ import { useEffect, useMemo, useState } from 'react'; import * as monthUtils from 'loot-core/shared/months'; -import { groupById, type IntegerAmount } from 'loot-core/shared/util'; -import { type CategoryEntity } from 'loot-core/types/models'; +import { groupById } from 'loot-core/shared/util'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { CategoryEntity } from 'loot-core/types/models'; import { useCategories } from './useCategories'; import { useSpreadsheet } from './useSpreadsheet'; diff --git a/packages/desktop-client/src/hooks/usePreviewTransactions.ts b/packages/desktop-client/src/hooks/usePreviewTransactions.ts index 987dae5f79..4f343c7373 100644 --- a/packages/desktop-client/src/hooks/usePreviewTransactions.ts +++ b/packages/desktop-client/src/hooks/usePreviewTransactions.ts @@ -12,14 +12,11 @@ import { scheduleIsRecurring, } from 'loot-core/shared/schedules'; import { ungroupTransactions } from 'loot-core/shared/transactions'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { - type ScheduleEntity, - type TransactionEntity, -} from 'loot-core/types/models'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { ScheduleEntity, TransactionEntity } from 'loot-core/types/models'; import { useCachedSchedules } from './useCachedSchedules'; -import { type ScheduleStatuses } from './useSchedules'; +import type { ScheduleStatuses } from './useSchedules'; import { useSyncedPref } from './useSyncedPref'; import { calculateRunningBalancesBottomUp } from './useTransactions'; diff --git a/packages/desktop-client/src/hooks/useProperFocus.tsx b/packages/desktop-client/src/hooks/useProperFocus.tsx index 51f747b347..513adc03c7 100644 --- a/packages/desktop-client/src/hooks/useProperFocus.tsx +++ b/packages/desktop-client/src/hooks/useProperFocus.tsx @@ -5,9 +5,8 @@ import React, { useLayoutEffect, useMemo, useRef, - type ReactElement, - type RefObject, } from 'react'; +import type { ReactElement, RefObject } from 'react'; function getFocusedKey(el: HTMLElement): string | null { let node: HTMLElement | ParentNode = el; diff --git a/packages/desktop-client/src/hooks/useQuery.ts b/packages/desktop-client/src/hooks/useQuery.ts index e27d08b5bd..48ee1476f8 100644 --- a/packages/desktop-client/src/hooks/useQuery.ts +++ b/packages/desktop-client/src/hooks/useQuery.ts @@ -1,8 +1,10 @@ -import { useEffect, useMemo, useState, type DependencyList } from 'react'; +import { useEffect, useMemo, useState } from 'react'; +import type { DependencyList } from 'react'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; -import { liveQuery, type LiveQuery } from '@desktop-client/queries/liveQuery'; +import { liveQuery } from '@desktop-client/queries/liveQuery'; +import type { LiveQuery } from '@desktop-client/queries/liveQuery'; type UseQueryResult = { data: null | ReadonlyArray; diff --git a/packages/desktop-client/src/hooks/useReports.ts b/packages/desktop-client/src/hooks/useReports.ts index ce55db12b5..f9487e1a48 100644 --- a/packages/desktop-client/src/hooks/useReports.ts +++ b/packages/desktop-client/src/hooks/useReports.ts @@ -1,9 +1,9 @@ import { useMemo } from 'react'; import { q } from 'loot-core/shared/query'; -import { - type CustomReportData, - type CustomReportEntity, +import type { + CustomReportData, + CustomReportEntity, } from 'loot-core/types/models'; import { useQuery } from './useQuery'; diff --git a/packages/desktop-client/src/hooks/useRuleConditionFilters.ts b/packages/desktop-client/src/hooks/useRuleConditionFilters.ts index 033c8c7dad..aac4083112 100644 --- a/packages/desktop-client/src/hooks/useRuleConditionFilters.ts +++ b/packages/desktop-client/src/hooks/useRuleConditionFilters.ts @@ -1,6 +1,6 @@ import { useCallback, useMemo, useState } from 'react'; -import { type RuleConditionEntity } from 'loot-core/types/models'; +import type { RuleConditionEntity } from 'loot-core/types/models'; export function useRuleConditionFilters( initialConditions: T[] = [], diff --git a/packages/desktop-client/src/hooks/useScheduleEdit.ts b/packages/desktop-client/src/hooks/useScheduleEdit.ts index a9246dc903..df808b19c8 100644 --- a/packages/desktop-client/src/hooks/useScheduleEdit.ts +++ b/packages/desktop-client/src/hooks/useScheduleEdit.ts @@ -8,14 +8,14 @@ import { extractScheduleConds, getScheduledAmount, } from 'loot-core/shared/schedules'; -import { - type RecurConfig, - type ScheduleEntity, - type TransactionEntity, +import type { + RecurConfig, + ScheduleEntity, + TransactionEntity, } from 'loot-core/types/models'; import { updateScheduleConditions } from '@desktop-client/components/schedules/schedule-edit-utils'; -import { type ScheduleFormFields } from '@desktop-client/components/schedules/ScheduleEditForm'; +import type { ScheduleFormFields } from '@desktop-client/components/schedules/ScheduleEditForm'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; import { liveQuery } from '@desktop-client/queries/liveQuery'; diff --git a/packages/desktop-client/src/hooks/useSchedules.ts b/packages/desktop-client/src/hooks/useSchedules.ts index 4fd2347d20..bd985b7b39 100644 --- a/packages/desktop-client/src/hooks/useSchedules.ts +++ b/packages/desktop-client/src/hooks/useSchedules.ts @@ -1,6 +1,7 @@ import { useEffect, useRef, useState } from 'react'; -import { q, type Query } from 'loot-core/shared/query'; +import { q } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { getHasTransactionsQuery, getStatus, @@ -15,7 +16,8 @@ import type { import { useSyncedPref } from './useSyncedPref'; import { accountFilter } from '@desktop-client/queries'; -import { liveQuery, type LiveQuery } from '@desktop-client/queries/liveQuery'; +import { liveQuery } from '@desktop-client/queries/liveQuery'; +import type { LiveQuery } from '@desktop-client/queries/liveQuery'; export type ScheduleStatusType = ReturnType; export type ScheduleStatuses = Map; diff --git a/packages/desktop-client/src/hooks/useScrollListener.tsx b/packages/desktop-client/src/hooks/useScrollListener.tsx index a8a99b8593..bef953609c 100644 --- a/packages/desktop-client/src/hooks/useScrollListener.tsx +++ b/packages/desktop-client/src/hooks/useScrollListener.tsx @@ -5,9 +5,8 @@ import React, { useEffect, useMemo, useRef, - type ReactNode, - type RefObject, } from 'react'; +import type { ReactNode, RefObject } from 'react'; import debounce from 'lodash/debounce'; diff --git a/packages/desktop-client/src/hooks/useSelected.tsx b/packages/desktop-client/src/hooks/useSelected.tsx index 45529951fd..aa85a952a9 100644 --- a/packages/desktop-client/src/hooks/useSelected.tsx +++ b/packages/desktop-client/src/hooks/useSelected.tsx @@ -6,14 +6,12 @@ import React, { useEffect, useReducer, useRef, - type Dispatch, - type ReactElement, - type ReactNode, } from 'react'; +import type { Dispatch, ReactElement, ReactNode } from 'react'; import { listen } from 'loot-core/platform/client/fetch'; import * as undo from 'loot-core/platform/client/undo'; -import { type UndoState } from 'loot-core/server/undo'; +import type { UndoState } from 'loot-core/server/undo'; type Range = { start: T; end: T | null }; type Item = { id: string }; diff --git a/packages/desktop-client/src/hooks/useServerPref.ts b/packages/desktop-client/src/hooks/useServerPref.ts index 4b21a7152a..e89590a676 100644 --- a/packages/desktop-client/src/hooks/useServerPref.ts +++ b/packages/desktop-client/src/hooks/useServerPref.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; -import { type ServerPrefs } from 'loot-core/types/prefs'; +import type { ServerPrefs } from 'loot-core/types/prefs'; import { saveServerPrefs } from '@desktop-client/prefs/prefsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/hooks/useSheetName.tsx b/packages/desktop-client/src/hooks/useSheetName.tsx index 5100747bf3..ad63f5f5c6 100644 --- a/packages/desktop-client/src/hooks/useSheetName.tsx +++ b/packages/desktop-client/src/hooks/useSheetName.tsx @@ -1,10 +1,11 @@ // @ts-strict-ignore -import { createContext, useContext, type PropsWithChildren } from 'react'; +import { createContext, useContext } from 'react'; +import type { PropsWithChildren } from 'react'; -import { - type Binding, - type SheetFields, - type SheetNames, +import type { + Binding, + SheetFields, + SheetNames, } from '@desktop-client/spreadsheet'; function unresolveName(name) { diff --git a/packages/desktop-client/src/hooks/useSheetValue.ts b/packages/desktop-client/src/hooks/useSheetValue.ts index 6ea3f9d085..f87643f198 100644 --- a/packages/desktop-client/src/hooks/useSheetValue.ts +++ b/packages/desktop-client/src/hooks/useSheetValue.ts @@ -3,12 +3,12 @@ import { useLayoutEffect, useRef, useState } from 'react'; import { useSheetName } from './useSheetName'; import { useSpreadsheet } from './useSpreadsheet'; -import { - type Binding, - type BindingObject, - type SheetFields, - type SheetNames, - type Spreadsheets, +import type { + Binding, + BindingObject, + SheetFields, + SheetNames, + Spreadsheets, } from '@desktop-client/spreadsheet'; type SheetValueResult< diff --git a/packages/desktop-client/src/hooks/useSingleActiveEditForm.tsx b/packages/desktop-client/src/hooks/useSingleActiveEditForm.tsx index b85afa76fc..8e9e83ad12 100644 --- a/packages/desktop-client/src/hooks/useSingleActiveEditForm.tsx +++ b/packages/desktop-client/src/hooks/useSingleActiveEditForm.tsx @@ -1,11 +1,6 @@ // @ts-strict-ignore -import React, { - createContext, - useContext, - useRef, - useState, - type ReactNode, -} from 'react'; +import React, { createContext, useContext, useRef, useState } from 'react'; +import type { ReactNode } from 'react'; type ActiveEditCleanup = () => void; type ActiveEditAction = () => void | ActiveEditCleanup; diff --git a/packages/desktop-client/src/hooks/useSplitsExpanded.tsx b/packages/desktop-client/src/hooks/useSplitsExpanded.tsx index b2a69810e5..b663514891 100644 --- a/packages/desktop-client/src/hooks/useSplitsExpanded.tsx +++ b/packages/desktop-client/src/hooks/useSplitsExpanded.tsx @@ -5,9 +5,8 @@ import React, { useMemo, useReducer, useRef, - type Dispatch, - type ReactNode, } from 'react'; +import type { Dispatch, ReactNode } from 'react'; type SplitMode = 'collapse' | 'expand'; type SplitState = { diff --git a/packages/desktop-client/src/hooks/useSpreadsheet.tsx b/packages/desktop-client/src/hooks/useSpreadsheet.tsx index f34e511eba..05171aa055 100644 --- a/packages/desktop-client/src/hooks/useSpreadsheet.tsx +++ b/packages/desktop-client/src/hooks/useSpreadsheet.tsx @@ -1,15 +1,10 @@ -import { - createContext, - useContext, - useEffect, - useMemo, - type ReactNode, -} from 'react'; +import { createContext, useContext, useEffect, useMemo } from 'react'; +import type { ReactNode } from 'react'; import { LRUCache } from 'lru-cache'; import { listen, send } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; type SpreadsheetContextValue = ReturnType; const SpreadsheetContext = createContext( diff --git a/packages/desktop-client/src/hooks/useSyncedPref.ts b/packages/desktop-client/src/hooks/useSyncedPref.ts index 72bd793c66..401c0be30a 100644 --- a/packages/desktop-client/src/hooks/useSyncedPref.ts +++ b/packages/desktop-client/src/hooks/useSyncedPref.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { saveSyncedPrefs } from '@desktop-client/prefs/prefsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/hooks/useSyncedPrefs.ts b/packages/desktop-client/src/hooks/useSyncedPrefs.ts index 0da6ee845c..d7c5a48fcb 100644 --- a/packages/desktop-client/src/hooks/useSyncedPrefs.ts +++ b/packages/desktop-client/src/hooks/useSyncedPrefs.ts @@ -1,6 +1,6 @@ import { useCallback } from 'react'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; import { saveSyncedPrefs } from '@desktop-client/prefs/prefsSlice'; import { useDispatch, useSelector } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/hooks/useTagCSS.ts b/packages/desktop-client/src/hooks/useTagCSS.ts index 94d8e6feff..b8a29c8547 100644 --- a/packages/desktop-client/src/hooks/useTagCSS.ts +++ b/packages/desktop-client/src/hooks/useTagCSS.ts @@ -3,7 +3,7 @@ import { useCallback } from 'react'; import { theme as themeStyle } from '@actual-app/components/theme'; import { css } from '@emotion/css'; -import { type Theme } from 'loot-core/types/prefs'; +import type { Theme } from 'loot-core/types/prefs'; import { useTags } from './useTags'; diff --git a/packages/desktop-client/src/hooks/useThemeCatalog.ts b/packages/desktop-client/src/hooks/useThemeCatalog.ts index 02980b658c..0c123b3b4d 100644 --- a/packages/desktop-client/src/hooks/useThemeCatalog.ts +++ b/packages/desktop-client/src/hooks/useThemeCatalog.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; -import { type CatalogTheme } from '@desktop-client/style/customThemes'; +import type { CatalogTheme } from '@desktop-client/style/customThemes'; const CATALOG_URL = `https://raw.githubusercontent.com/actualbudget/actual/${process.env.REACT_APP_BRANCH || 'master'}/packages/desktop-client/src/data/customThemeCatalog.json`; diff --git a/packages/desktop-client/src/hooks/useTransactionBatchActions.ts b/packages/desktop-client/src/hooks/useTransactionBatchActions.ts index 19b8f0a5ff..9df1f1a354 100644 --- a/packages/desktop-client/src/hooks/useTransactionBatchActions.ts +++ b/packages/desktop-client/src/hooks/useTransactionBatchActions.ts @@ -11,22 +11,17 @@ import { updateTransaction, } from 'loot-core/shared/transactions'; import { validForTransfer } from 'loot-core/shared/transfer'; -import { - applyChanges, - applyFindReplace, - type Diff, -} from 'loot-core/shared/util'; -import { - type AccountEntity, - type PayeeEntity, - type ScheduleEntity, - type TransactionEntity, +import { applyChanges, applyFindReplace } from 'loot-core/shared/util'; +import type { Diff } from 'loot-core/shared/util'; +import type { + AccountEntity, + PayeeEntity, + ScheduleEntity, + TransactionEntity, } from 'loot-core/types/models'; -import { - pushModal, - type Modal as ModalType, -} from '@desktop-client/modals/modalsSlice'; +import { pushModal } from '@desktop-client/modals/modalsSlice'; +import type { Modal as ModalType } from '@desktop-client/modals/modalsSlice'; import { aqlQuery } from '@desktop-client/queries/aqlQuery'; import { useDispatch } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/hooks/useTransactionFilters.ts b/packages/desktop-client/src/hooks/useTransactionFilters.ts index efb31a5fb5..54d2bee2b9 100644 --- a/packages/desktop-client/src/hooks/useTransactionFilters.ts +++ b/packages/desktop-client/src/hooks/useTransactionFilters.ts @@ -2,7 +2,7 @@ import { useMemo } from 'react'; import { q } from 'loot-core/shared/query'; -import { type TransactionFilterEntity } from 'loot-core/types/models'; +import type { TransactionFilterEntity } from 'loot-core/types/models'; import { useQuery } from './useQuery'; diff --git a/packages/desktop-client/src/hooks/useTransactions.ts b/packages/desktop-client/src/hooks/useTransactions.ts index 0b01b44962..8e2410649d 100644 --- a/packages/desktop-client/src/hooks/useTransactions.ts +++ b/packages/desktop-client/src/hooks/useTransactions.ts @@ -1,13 +1,11 @@ import { useCallback, useEffect, useRef, useState } from 'react'; -import { type Query } from 'loot-core/shared/query'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { Query } from 'loot-core/shared/query'; +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { TransactionEntity } from 'loot-core/types/models'; -import { - pagedQuery, - type PagedQuery, -} from '@desktop-client/queries/pagedQuery'; +import { pagedQuery } from '@desktop-client/queries/pagedQuery'; +import type { PagedQuery } from '@desktop-client/queries/pagedQuery'; // Mirrors the `splits` AQL option from the server type TransactionSplitsOption = 'all' | 'inline' | 'grouped' | 'none'; diff --git a/packages/desktop-client/src/hooks/useUndo.ts b/packages/desktop-client/src/hooks/useUndo.ts index c6e0568e99..febe8f0aa6 100644 --- a/packages/desktop-client/src/hooks/useUndo.ts +++ b/packages/desktop-client/src/hooks/useUndo.ts @@ -3,10 +3,8 @@ import { useTranslation } from 'react-i18next'; import { useResponsive } from '@actual-app/components/hooks/useResponsive'; -import { - addNotification, - type Notification, -} from '@desktop-client/notifications/notificationsSlice'; +import { addNotification } from '@desktop-client/notifications/notificationsSlice'; +import type { Notification } from '@desktop-client/notifications/notificationsSlice'; import { useDispatch } from '@desktop-client/redux'; import { redo, undo } from '@desktop-client/undo'; diff --git a/packages/desktop-client/src/hooks/useUrlParam.ts b/packages/desktop-client/src/hooks/useUrlParam.ts index 2b617f31fd..a315181e3b 100644 --- a/packages/desktop-client/src/hooks/useUrlParam.ts +++ b/packages/desktop-client/src/hooks/useUrlParam.ts @@ -1,5 +1,6 @@ import { useCallback } from 'react'; -import { useSearchParams, type NavigateOptions } from 'react-router'; +import { useSearchParams } from 'react-router'; +import type { NavigateOptions } from 'react-router'; /** * Hook to get and set a specific URL search parameter value diff --git a/packages/desktop-client/src/hooks/useWidget.ts b/packages/desktop-client/src/hooks/useWidget.ts index f62901211d..6e049961bc 100644 --- a/packages/desktop-client/src/hooks/useWidget.ts +++ b/packages/desktop-client/src/hooks/useWidget.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { q } from 'loot-core/shared/query'; -import { type Widget } from 'loot-core/types/models'; +import type { Widget } from 'loot-core/types/models'; import { useQuery } from './useQuery'; diff --git a/packages/desktop-client/src/index.tsx b/packages/desktop-client/src/index.tsx index 2ff9ce9b50..8dd4bace58 100644 --- a/packages/desktop-client/src/index.tsx +++ b/packages/desktop-client/src/index.tsx @@ -7,7 +7,7 @@ import './i18n'; import React from 'react'; import { createRoot } from 'react-dom/client'; import { Provider } from 'react-redux'; -import { type NavigateFunction } from 'react-router'; +import type { NavigateFunction } from 'react-router'; import { bindActionCreators } from '@reduxjs/toolkit'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; diff --git a/packages/desktop-client/src/modals/modalsSlice.ts b/packages/desktop-client/src/modals/modalsSlice.ts index 69ebd60057..37bbc9b953 100644 --- a/packages/desktop-client/src/modals/modalsSlice.ts +++ b/packages/desktop-client/src/modals/modalsSlice.ts @@ -1,26 +1,27 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { send } from 'loot-core/platform/client/fetch'; -import { type IntegerAmount } from 'loot-core/shared/util'; -import { type File } from 'loot-core/types/file'; -import { - type AccountEntity, - type CategoryEntity, - type CategoryGroupEntity, - type GoCardlessToken, - type NewRuleEntity, - type NewUserEntity, - type NoteEntity, - type RuleEntity, - type ScheduleEntity, - type TransactionEntity, - type UserAccessEntity, - type UserEntity, +import type { IntegerAmount } from 'loot-core/shared/util'; +import type { File } from 'loot-core/types/file'; +import type { + AccountEntity, + CategoryEntity, + CategoryGroupEntity, + GoCardlessToken, + NewRuleEntity, + NewUserEntity, + NoteEntity, + RuleEntity, + ScheduleEntity, + TransactionEntity, + UserAccessEntity, + UserEntity, } from 'loot-core/types/models'; -import { type Template } from 'loot-core/types/models/templates'; +import type { Template } from 'loot-core/types/models/templates'; import { resetApp, setAppState } from '@desktop-client/app/appSlice'; -import { type SelectLinkedAccountsModalProps } from '@desktop-client/components/modals/SelectLinkedAccountsModal'; +import type { SelectLinkedAccountsModalProps } from '@desktop-client/components/modals/SelectLinkedAccountsModal'; import { createAppAsyncThunk } from '@desktop-client/redux'; import { signOut } from '@desktop-client/users/usersSlice'; diff --git a/packages/desktop-client/src/notifications/notificationsSlice.ts b/packages/desktop-client/src/notifications/notificationsSlice.ts index ee2114ae18..9a5a6994b6 100644 --- a/packages/desktop-client/src/notifications/notificationsSlice.ts +++ b/packages/desktop-client/src/notifications/notificationsSlice.ts @@ -1,4 +1,5 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { t } from 'i18next'; import { v4 as uuidv4 } from 'uuid'; diff --git a/packages/desktop-client/src/payees/payeesSlice.ts b/packages/desktop-client/src/payees/payeesSlice.ts index 4f023e7f0e..cd73106295 100644 --- a/packages/desktop-client/src/payees/payeesSlice.ts +++ b/packages/desktop-client/src/payees/payeesSlice.ts @@ -4,7 +4,7 @@ import memoizeOne from 'memoize-one'; import { send } from 'loot-core/platform/client/fetch'; import { groupById } from 'loot-core/shared/util'; -import { type AccountEntity, type PayeeEntity } from 'loot-core/types/models'; +import type { AccountEntity, PayeeEntity } from 'loot-core/types/models'; import { getAccountsById } from '@desktop-client/accounts/accountsSlice'; import { resetApp } from '@desktop-client/app/appSlice'; diff --git a/packages/desktop-client/src/prefs/prefsSlice.ts b/packages/desktop-client/src/prefs/prefsSlice.ts index b5ba2b10e1..60c9eb1121 100644 --- a/packages/desktop-client/src/prefs/prefsSlice.ts +++ b/packages/desktop-client/src/prefs/prefsSlice.ts @@ -1,12 +1,13 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { send } from 'loot-core/platform/client/fetch'; import { parseNumberFormat, setNumberFormat } from 'loot-core/shared/util'; -import { - type GlobalPrefs, - type MetadataPrefs, - type ServerPrefs, - type SyncedPrefs, +import type { + GlobalPrefs, + MetadataPrefs, + ServerPrefs, + SyncedPrefs, } from 'loot-core/types/prefs'; import { resetApp } from '@desktop-client/app/appSlice'; diff --git a/packages/desktop-client/src/queries/aqlQuery.ts b/packages/desktop-client/src/queries/aqlQuery.ts index 1ec60e3f41..f6593d6656 100644 --- a/packages/desktop-client/src/queries/aqlQuery.ts +++ b/packages/desktop-client/src/queries/aqlQuery.ts @@ -1,5 +1,5 @@ import { send } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; export async function aqlQuery(query: Query) { return send('query', query.serialize()); diff --git a/packages/desktop-client/src/queries/index.ts b/packages/desktop-client/src/queries/index.ts index 6900548dd2..dc2c791069 100644 --- a/packages/desktop-client/src/queries/index.ts +++ b/packages/desktop-client/src/queries/index.ts @@ -8,10 +8,11 @@ import { getShortYearFormat, getShortYearRegex, } from 'loot-core/shared/months'; -import { q, type Query } from 'loot-core/shared/query'; +import { q } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { amountToInteger, currencyToAmount } from 'loot-core/shared/util'; -import { type AccountEntity } from 'loot-core/types/models'; -import { type SyncedPrefs } from 'loot-core/types/prefs'; +import type { AccountEntity } from 'loot-core/types/models'; +import type { SyncedPrefs } from 'loot-core/types/prefs'; export function accountFilter( accountId?: diff --git a/packages/desktop-client/src/queries/liveQuery.ts b/packages/desktop-client/src/queries/liveQuery.ts index 960e9ee162..040c9331b2 100644 --- a/packages/desktop-client/src/queries/liveQuery.ts +++ b/packages/desktop-client/src/queries/liveQuery.ts @@ -1,6 +1,6 @@ // @ts-strict-ignore import { listen } from 'loot-core/platform/client/fetch'; -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { aqlQuery } from './aqlQuery'; diff --git a/packages/desktop-client/src/queries/pagedQuery.ts b/packages/desktop-client/src/queries/pagedQuery.ts index 0411e16cb5..4d297d6e99 100644 --- a/packages/desktop-client/src/queries/pagedQuery.ts +++ b/packages/desktop-client/src/queries/pagedQuery.ts @@ -1,9 +1,11 @@ // @ts-strict-ignore import { once } from 'loot-core/shared/async'; -import { getPrimaryOrderBy, type Query } from 'loot-core/shared/query'; +import { getPrimaryOrderBy } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; import { aqlQuery } from './aqlQuery'; -import { LiveQuery, type LiveQueryOptions } from './liveQuery'; +import { LiveQuery } from './liveQuery'; +import type { LiveQueryOptions } from './liveQuery'; export function pagedQuery( query: Query, diff --git a/packages/desktop-client/src/redux/index.ts b/packages/desktop-client/src/redux/index.ts index 24d9cdc042..4efc58087d 100644 --- a/packages/desktop-client/src/redux/index.ts +++ b/packages/desktop-client/src/redux/index.ts @@ -7,7 +7,7 @@ import { import { createAsyncThunk } from '@reduxjs/toolkit'; -import { type AppDispatch, type AppStore, type RootState } from './store'; +import type { AppDispatch, AppStore, RootState } from './store'; export const createAppAsyncThunk = createAsyncThunk.withTypes<{ state: RootState; diff --git a/packages/desktop-client/src/redux/mock.tsx b/packages/desktop-client/src/redux/mock.tsx index 8d0d247552..c4ce10106a 100644 --- a/packages/desktop-client/src/redux/mock.tsx +++ b/packages/desktop-client/src/redux/mock.tsx @@ -1,9 +1,10 @@ -import React, { type ReactNode } from 'react'; +import React from 'react'; +import type { ReactNode } from 'react'; import { Provider } from 'react-redux'; import { combineReducers, configureStore } from '@reduxjs/toolkit'; -import { type store as realStore } from './store'; +import type { store as realStore } from './store'; import { name as accountsSliceName, diff --git a/packages/desktop-client/src/spreadsheet/bindings.ts b/packages/desktop-client/src/spreadsheet/bindings.ts index 8ff7a93e47..853079905c 100644 --- a/packages/desktop-client/src/spreadsheet/bindings.ts +++ b/packages/desktop-client/src/spreadsheet/bindings.ts @@ -1,12 +1,8 @@ import { q } from 'loot-core/shared/query'; import type { AccountEntity, CategoryEntity } from 'loot-core/types/models'; -import { - parametrizedField, - type Binding, - type SheetFields, - type SheetNames, -} from '.'; +import { parametrizedField } from '.'; +import type { Binding, SheetFields, SheetNames } from '.'; import { uncategorizedTransactions } from '@desktop-client/queries'; diff --git a/packages/desktop-client/src/spreadsheet/index.ts b/packages/desktop-client/src/spreadsheet/index.ts index c3fc584ef6..ea648a845e 100644 --- a/packages/desktop-client/src/spreadsheet/index.ts +++ b/packages/desktop-client/src/spreadsheet/index.ts @@ -1,4 +1,4 @@ -import { type Query } from 'loot-core/shared/query'; +import type { Query } from 'loot-core/shared/query'; export type Spreadsheets = { account: { diff --git a/packages/desktop-client/src/style/customThemes.test.ts b/packages/desktop-client/src/style/customThemes.test.ts index ed0b3cfce5..ff284160a4 100644 --- a/packages/desktop-client/src/style/customThemes.test.ts +++ b/packages/desktop-client/src/style/customThemes.test.ts @@ -1,11 +1,8 @@ // oxlint-disable eslint/no-script-url import { describe, expect, it } from 'vitest'; -import { - parseInstalledTheme, - validateThemeCss, - type InstalledTheme, -} from './customThemes'; +import { parseInstalledTheme, validateThemeCss } from './customThemes'; +import type { InstalledTheme } from './customThemes'; describe('validateThemeCss', () => { describe('valid CSS', () => { diff --git a/packages/desktop-client/src/sync-events.ts b/packages/desktop-client/src/sync-events.ts index 74ee8e406a..1ca3ec221a 100644 --- a/packages/desktop-client/src/sync-events.ts +++ b/packages/desktop-client/src/sync-events.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type QueryClient } from '@tanstack/react-query'; +import type { QueryClient } from '@tanstack/react-query'; import { t } from 'i18next'; import { listen, send } from 'loot-core/platform/client/fetch'; @@ -12,13 +12,11 @@ import { uploadBudget, } from './budgetfiles/budgetfilesSlice'; import { pushModal } from './modals/modalsSlice'; -import { - addNotification, - type Notification, -} from './notifications/notificationsSlice'; +import { addNotification } from './notifications/notificationsSlice'; +import type { Notification } from './notifications/notificationsSlice'; import { reloadPayees } from './payees/payeesSlice'; import { loadPrefs } from './prefs/prefsSlice'; -import { type AppStore } from './redux/store'; +import type { AppStore } from './redux/store'; import { signOut } from './users/usersSlice'; export function listenForSyncEvent(store: AppStore, queryClient: QueryClient) { diff --git a/packages/desktop-client/src/tags/tagsSlice.ts b/packages/desktop-client/src/tags/tagsSlice.ts index 3d779c6cef..0d676c1b83 100644 --- a/packages/desktop-client/src/tags/tagsSlice.ts +++ b/packages/desktop-client/src/tags/tagsSlice.ts @@ -1,7 +1,7 @@ import { createSlice } from '@reduxjs/toolkit'; import { send } from 'loot-core/platform/client/fetch'; -import { type TagEntity } from 'loot-core/types/models'; +import type { TagEntity } from 'loot-core/types/models'; import { resetApp } from '@desktop-client/app/appSlice'; import { createAppAsyncThunk } from '@desktop-client/redux'; diff --git a/packages/desktop-client/src/transactions/transactionsSlice.ts b/packages/desktop-client/src/transactions/transactionsSlice.ts index f4bd5f05c3..54986246d1 100644 --- a/packages/desktop-client/src/transactions/transactionsSlice.ts +++ b/packages/desktop-client/src/transactions/transactionsSlice.ts @@ -1,6 +1,7 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; -import { type TransactionEntity } from 'loot-core/types/models'; +import type { TransactionEntity } from 'loot-core/types/models'; import { resetApp } from '@desktop-client/app/appSlice'; diff --git a/packages/desktop-client/src/users/usersSlice.ts b/packages/desktop-client/src/users/usersSlice.ts index abd8689af9..5ead639bf5 100644 --- a/packages/desktop-client/src/users/usersSlice.ts +++ b/packages/desktop-client/src/users/usersSlice.ts @@ -1,7 +1,8 @@ -import { createSlice, type PayloadAction } from '@reduxjs/toolkit'; +import { createSlice } from '@reduxjs/toolkit'; +import type { PayloadAction } from '@reduxjs/toolkit'; import { send } from 'loot-core/platform/client/fetch'; -import { type Handlers } from 'loot-core/types/handlers'; +import type { Handlers } from 'loot-core/types/handlers'; import { resetApp } from '@desktop-client/app/appSlice'; import { diff --git a/packages/desktop-client/src/util/ruleUtils.ts b/packages/desktop-client/src/util/ruleUtils.ts index d0b4e9dab3..212035a5fb 100644 --- a/packages/desktop-client/src/util/ruleUtils.ts +++ b/packages/desktop-client/src/util/ruleUtils.ts @@ -1,6 +1,6 @@ import { v4 as uuid } from 'uuid'; -import { type RuleEntity } from 'loot-core/types/models'; +import type { RuleEntity } from 'loot-core/types/models'; export type ActionSplit = { id: string; diff --git a/packages/desktop-client/vite.config.mts b/packages/desktop-client/vite.config.mts index 7a5493f209..4175b2b9d9 100644 --- a/packages/desktop-client/vite.config.mts +++ b/packages/desktop-client/vite.config.mts @@ -6,7 +6,8 @@ import react from '@vitejs/plugin-react'; import type { PreRenderedAsset } from 'rollup'; import { visualizer } from 'rollup-plugin-visualizer'; /// -import { defineConfig, loadEnv, type Plugin } from 'vite'; +import { defineConfig, loadEnv } from 'vite'; +import type { Plugin } from 'vite'; import { VitePWA } from 'vite-plugin-pwa'; import viteTsconfigPaths from 'vite-tsconfig-paths'; diff --git a/packages/desktop-electron/beforePackHook.ts b/packages/desktop-electron/beforePackHook.ts index 5dc1075d84..ae801f3548 100644 --- a/packages/desktop-electron/beforePackHook.ts +++ b/packages/desktop-electron/beforePackHook.ts @@ -1,6 +1,7 @@ import { rebuild } from '@electron/rebuild'; import copyFiles from 'copyfiles'; -import { Arch, type AfterPackContext } from 'electron-builder'; +import { Arch } from 'electron-builder'; +import type { AfterPackContext } from 'electron-builder'; /* The beforePackHook runs before packing the Electron app for an architecture We hook in here to build anything architecture dependent - such as beter-sqlite3 diff --git a/packages/desktop-electron/e2e/fixtures.ts b/packages/desktop-electron/e2e/fixtures.ts index 8c0f31ee65..0667b2bf75 100644 --- a/packages/desktop-electron/e2e/fixtures.ts +++ b/packages/desktop-electron/e2e/fixtures.ts @@ -1,12 +1,7 @@ import path from 'node:path'; -import { - _electron, - test as base, - type ElectronApplication, - type Page, - type TestInfo, -} from '@playwright/test'; +import { _electron, test as base } from '@playwright/test'; +import type { ElectronApplication, Page, TestInfo } from '@playwright/test'; import { ensureDir, remove } from 'fs-extra'; type ElectronFixtures = { diff --git a/packages/desktop-electron/index.ts b/packages/desktop-electron/index.ts index 1c45bc570e..68689b4e55 100644 --- a/packages/desktop-electron/index.ts +++ b/packages/desktop-electron/index.ts @@ -1,5 +1,6 @@ import fs from 'fs'; -import { createServer, type Server } from 'http'; +import { createServer } from 'http'; +import type { Server } from 'http'; import path from 'path'; import { @@ -13,11 +14,13 @@ import { protocol, shell, utilityProcess, - type Env, - type ForkOptions, - type OpenDialogSyncOptions, - type SaveDialogOptions, - type UtilityProcess, +} from 'electron'; +import type { + Env, + ForkOptions, + OpenDialogSyncOptions, + SaveDialogOptions, + UtilityProcess, } from 'electron'; import { copy, exists, mkdir, remove } from 'fs-extra'; import promiseRetry from 'promise-retry'; diff --git a/packages/desktop-electron/menu.ts b/packages/desktop-electron/menu.ts index 2baf191196..c6ac72458c 100644 --- a/packages/desktop-electron/menu.ts +++ b/packages/desktop-electron/menu.ts @@ -1,9 +1,5 @@ -import { - app, - Menu, - type BrowserWindow, - type MenuItemConstructorOptions, -} from 'electron'; +import { app, Menu } from 'electron'; +import type { BrowserWindow, MenuItemConstructorOptions } from 'electron'; export function getMenu() { const template: MenuItemConstructorOptions[] = [ diff --git a/packages/desktop-electron/preload.ts b/packages/desktop-electron/preload.ts index c67d2b7f40..f2278cf9cb 100644 --- a/packages/desktop-electron/preload.ts +++ b/packages/desktop-electron/preload.ts @@ -1,9 +1,10 @@ -import { contextBridge, ipcRenderer, type IpcRenderer } from 'electron'; +import { contextBridge, ipcRenderer } from 'electron'; +import type { IpcRenderer } from 'electron'; -import { - type GetBootstrapDataPayload, - type OpenFileDialogPayload, - type SaveFileDialogPayload, +import type { + GetBootstrapDataPayload, + OpenFileDialogPayload, + SaveFileDialogPayload, } from './index'; const { version: VERSION, isDev: IS_DEV }: GetBootstrapDataPayload = diff --git a/packages/desktop-electron/window-state.ts b/packages/desktop-electron/window-state.ts index a31bfe23a3..8fd9548abc 100644 --- a/packages/desktop-electron/window-state.ts +++ b/packages/desktop-electron/window-state.ts @@ -1,7 +1,8 @@ import fs from 'fs'; import path from 'path'; -import electron, { type BrowserWindow } from 'electron'; +import electron from 'electron'; +import type { BrowserWindow } from 'electron'; type WindowState = Electron.Rectangle & { isMaximized?: boolean; diff --git a/packages/loot-core/src/mocks/arbitrary-schema.ts b/packages/loot-core/src/mocks/arbitrary-schema.ts index 6990ea562a..9d0604ad7c 100644 --- a/packages/loot-core/src/mocks/arbitrary-schema.ts +++ b/packages/loot-core/src/mocks/arbitrary-schema.ts @@ -1,5 +1,6 @@ // @ts-strict-ignore -import fc, { type Arbitrary } from 'fast-check'; +import fc from 'fast-check'; +import type { Arbitrary } from 'fast-check'; import { schema } from '../server/aql'; import { addDays } from '../shared/months'; diff --git a/packages/loot-core/src/mocks/budget.ts b/packages/loot-core/src/mocks/budget.ts index b4aa67945a..029b23f735 100644 --- a/packages/loot-core/src/mocks/budget.ts +++ b/packages/loot-core/src/mocks/budget.ts @@ -20,7 +20,7 @@ import type { import { random } from './random'; -import { type CategoryGroupDefinition } from '.'; +import type { CategoryGroupDefinition } from '.'; type MockPayeeEntity = Partial & { bill?: boolean }; diff --git a/packages/loot-core/src/platform/client/undo/index.ts b/packages/loot-core/src/platform/client/undo/index.ts index 0792c47909..4ec4e6b4d4 100644 --- a/packages/loot-core/src/platform/client/undo/index.ts +++ b/packages/loot-core/src/platform/client/undo/index.ts @@ -1,9 +1,9 @@ // This is temporary until we move all loot-core/client over to desktop-client. // oxlint-disable-next-line eslint/no-restricted-imports -import { type Modal } from '@actual-app/web/src/modals/modalsSlice'; +import type { Modal } from '@actual-app/web/src/modals/modalsSlice'; import { v4 as uuidv4 } from 'uuid'; -import { type UndoState as ServerUndoState } from '../../../server/undo'; +import type { UndoState as ServerUndoState } from '../../../server/undo'; type UndoState = { url: string | null; diff --git a/packages/loot-core/src/platform/server/asyncStorage/__mocks__/index.ts b/packages/loot-core/src/platform/server/asyncStorage/__mocks__/index.ts index 3e8bd15578..46a2dd66de 100644 --- a/packages/loot-core/src/platform/server/asyncStorage/__mocks__/index.ts +++ b/packages/loot-core/src/platform/server/asyncStorage/__mocks__/index.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type GlobalPrefsJson } from '../../../../types/prefs'; +import type { GlobalPrefsJson } from '../../../../types/prefs'; import type * as T from '../index-types'; const store: GlobalPrefsJson = {}; diff --git a/packages/loot-core/src/platform/server/asyncStorage/index.electron.ts b/packages/loot-core/src/platform/server/asyncStorage/index.electron.ts index f612dcf7a9..576c66d9ef 100644 --- a/packages/loot-core/src/platform/server/asyncStorage/index.electron.ts +++ b/packages/loot-core/src/platform/server/asyncStorage/index.electron.ts @@ -2,7 +2,7 @@ import * as fs from 'fs'; import { join } from 'path'; -import { type GlobalPrefsJson } from '../../../types/prefs'; +import type { GlobalPrefsJson } from '../../../types/prefs'; import * as lootFs from '../fs'; import type * as T from './index-types'; diff --git a/packages/loot-core/src/platform/server/asyncStorage/index.ts b/packages/loot-core/src/platform/server/asyncStorage/index.ts index da81e8f86a..978b8eae88 100644 --- a/packages/loot-core/src/platform/server/asyncStorage/index.ts +++ b/packages/loot-core/src/platform/server/asyncStorage/index.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type GlobalPrefsJson } from '../../../types/prefs'; +import type { GlobalPrefsJson } from '../../../types/prefs'; import { getDatabase } from '../indexeddb'; import type * as T from './index-types'; diff --git a/packages/loot-core/src/platform/server/fs/index.web.ts b/packages/loot-core/src/platform/server/fs/index.web.ts index e84d86044f..d825471b0a 100644 --- a/packages/loot-core/src/platform/server/fs/index.web.ts +++ b/packages/loot-core/src/platform/server/fs/index.web.ts @@ -5,7 +5,8 @@ import IndexedDBBackend from 'absurd-sql/dist/indexeddb-backend'; import * as connection from '../connection'; import * as idb from '../indexeddb'; import { logger } from '../log'; -import { _getModule, type SqlJsModule } from '../sqlite'; +import { _getModule } from '../sqlite'; +import type { SqlJsModule } from '../sqlite'; import { join } from './path-join'; diff --git a/packages/loot-core/src/platform/server/sqlite/index.ts b/packages/loot-core/src/platform/server/sqlite/index.ts index 166c144ceb..c8881b35b7 100644 --- a/packages/loot-core/src/platform/server/sqlite/index.ts +++ b/packages/loot-core/src/platform/server/sqlite/index.ts @@ -1,4 +1,4 @@ -import { type Database, type SqlJsStatic } from '@jlongster/sql.js'; +import type { Database, SqlJsStatic } from '@jlongster/sql.js'; /// // Types exported from sql.js (and Emscripten) are incomplete, so we need to redefine them here diff --git a/packages/loot-core/src/platform/server/sqlite/index.web.ts b/packages/loot-core/src/platform/server/sqlite/index.web.ts index 6d328a2dc9..44d3358d8a 100644 --- a/packages/loot-core/src/platform/server/sqlite/index.web.ts +++ b/packages/loot-core/src/platform/server/sqlite/index.web.ts @@ -1,5 +1,6 @@ // @ts-strict-ignore -import initSqlJS, { type Database } from '@jlongster/sql.js'; +import initSqlJS from '@jlongster/sql.js'; +import type { Database } from '@jlongster/sql.js'; import { logger } from '../log'; diff --git a/packages/loot-core/src/server/accounts/app.ts b/packages/loot-core/src/server/accounts/app.ts index 528e4694f9..abb41aa843 100644 --- a/packages/loot-core/src/server/accounts/app.ts +++ b/packages/loot-core/src/server/accounts/app.ts @@ -9,15 +9,15 @@ import { isNonProductionEnvironment } from '../../shared/environment'; import { dayFromDate } from '../../shared/months'; import * as monthUtils from '../../shared/months'; import { amountToInteger } from '../../shared/util'; -import { - type AccountEntity, - type CategoryEntity, - type GoCardlessToken, - type ImportTransactionEntity, - type SyncServerGoCardlessAccount, - type SyncServerPluggyAiAccount, - type SyncServerSimpleFinAccount, - type TransactionEntity, +import type { + AccountEntity, + CategoryEntity, + GoCardlessToken, + ImportTransactionEntity, + SyncServerGoCardlessAccount, + SyncServerPluggyAiAccount, + SyncServerSimpleFinAccount, + TransactionEntity, } from '../../types/models'; import { createApp } from '../app'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/accounts/sync.test.ts b/packages/loot-core/src/server/accounts/sync.test.ts index bae2c5d00d..ced063c781 100644 --- a/packages/loot-core/src/server/accounts/sync.test.ts +++ b/packages/loot-core/src/server/accounts/sync.test.ts @@ -1,6 +1,6 @@ // @ts-strict-ignore import * as monthUtils from '../../shared/months'; -import { type SyncedPrefs } from '../../types/prefs'; +import type { SyncedPrefs } from '../../types/prefs'; import * as db from '../db'; import { loadMappings } from '../db/mappings'; import { post } from '../post'; diff --git a/packages/loot-core/src/server/accounts/sync.ts b/packages/loot-core/src/server/accounts/sync.ts index 8d4bca3afc..c957d187dc 100644 --- a/packages/loot-core/src/server/accounts/sync.ts +++ b/packages/loot-core/src/server/accounts/sync.ts @@ -15,11 +15,11 @@ import { hasFieldsChanged, integerToAmount, } from '../../shared/util'; -import { - type AccountEntity, - type BankSyncResponse, - type SimpleFinBatchSyncResponse, - type TransactionEntity, +import type { + AccountEntity, + BankSyncResponse, + SimpleFinBatchSyncResponse, + TransactionEntity, } from '../../types/models'; import { aqlQuery } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/admin/app.ts b/packages/loot-core/src/server/admin/app.ts index eb76c029d4..488896be6f 100644 --- a/packages/loot-core/src/server/admin/app.ts +++ b/packages/loot-core/src/server/admin/app.ts @@ -1,9 +1,9 @@ // @ts-strict-ignore import * as asyncStorage from '../../platform/server/asyncStorage'; -import { - type NewUserAccessEntity, - type UserAvailable, - type UserEntity, +import type { + NewUserAccessEntity, + UserAvailable, + UserEntity, } from '../../types/models'; import { createApp } from '../app'; import { del, get, patch, post } from '../post'; diff --git a/packages/loot-core/src/server/api-models.ts b/packages/loot-core/src/server/api-models.ts index 4b8df58dd9..6edb0385f1 100644 --- a/packages/loot-core/src/server/api-models.ts +++ b/packages/loot-core/src/server/api-models.ts @@ -1,4 +1,4 @@ -import { type Budget } from '../types/budget'; +import type { Budget } from '../types/budget'; import type { AccountEntity, CategoryEntity, @@ -7,7 +7,7 @@ import type { ScheduleEntity, } from '../types/models'; -import { type RemoteFile } from './cloud-storage'; +import type { RemoteFile } from './cloud-storage'; import * as models from './models'; export type APIAccountEntity = Pick & { diff --git a/packages/loot-core/src/server/api.test.ts b/packages/loot-core/src/server/api.test.ts index 4be428c47c..acae5bec07 100644 --- a/packages/loot-core/src/server/api.test.ts +++ b/packages/loot-core/src/server/api.test.ts @@ -1,5 +1,5 @@ import { getBankSyncError } from '../shared/errors'; -import { type ServerHandlers } from '../types/server-handlers'; +import type { ServerHandlers } from '../types/server-handlers'; import { installAPI } from './api'; vi.mock('../shared/errors', () => ({ diff --git a/packages/loot-core/src/server/api.ts b/packages/loot-core/src/server/api.ts index d71881fec2..ec5020bc26 100644 --- a/packages/loot-core/src/server/api.ts +++ b/packages/loot-core/src/server/api.ts @@ -17,13 +17,13 @@ import { updateTransaction, } from '../shared/transactions'; import { integerToAmount } from '../shared/util'; -import { type Handlers } from '../types/handlers'; -import { - type AccountEntity, - type CategoryGroupEntity, - type ScheduleEntity, +import type { Handlers } from '../types/handlers'; +import type { + AccountEntity, + CategoryGroupEntity, + ScheduleEntity, } from '../types/models'; -import { type ServerHandlers } from '../types/server-handlers'; +import type { ServerHandlers } from '../types/server-handlers'; import { addTransactions } from './accounts/sync'; import { @@ -34,12 +34,11 @@ import { payeeModel, remoteFileModel, scheduleModel, - type AmountOPType, - type APIScheduleEntity, } from './api-models'; +import type { AmountOPType, APIScheduleEntity } from './api-models'; import { aqlQuery } from './aql'; import * as cloudStorage from './cloud-storage'; -import { type RemoteFile } from './cloud-storage'; +import type { RemoteFile } from './cloud-storage'; import * as db from './db'; import { APIError } from './errors'; import { runMutator } from './mutators'; diff --git a/packages/loot-core/src/server/app.ts b/packages/loot-core/src/server/app.ts index 37b8f0c0bf..694ef9da25 100644 --- a/packages/loot-core/src/server/app.ts +++ b/packages/loot-core/src/server/app.ts @@ -1,8 +1,9 @@ // @ts-strict-ignore -import mitt, { type Emitter } from 'mitt'; +import mitt from 'mitt'; +import type { Emitter } from 'mitt'; import { captureException } from '../platform/exceptions'; -import { type ServerEvents } from '../types/server-events'; +import type { ServerEvents } from '../types/server-events'; // This is a simple helper abstraction for defining methods exposed to // the client. It doesn't do much, but checks for naming conflicts and diff --git a/packages/loot-core/src/server/aql/compiler.ts b/packages/loot-core/src/server/aql/compiler.ts index 547db12eed..eafba328b4 100644 --- a/packages/loot-core/src/server/aql/compiler.ts +++ b/packages/loot-core/src/server/aql/compiler.ts @@ -1,5 +1,5 @@ import { getNormalisedString } from '../../shared/normalisation'; -import { type QueryState } from '../../shared/query'; +import type { QueryState } from '../../shared/query'; // @ts-strict-ignore let _uid = 0; diff --git a/packages/loot-core/src/server/aql/exec.ts b/packages/loot-core/src/server/aql/exec.ts index d770aac1bf..eb9abb45a7 100644 --- a/packages/loot-core/src/server/aql/exec.ts +++ b/packages/loot-core/src/server/aql/exec.ts @@ -1,14 +1,13 @@ // @ts-strict-ignore -import { type QueryState } from '../../shared/query'; +import type { QueryState } from '../../shared/query'; import * as db from '../db'; -import { - compileQuery, - defaultConstructQuery, - type CompilerState, - type OutputTypes, - type SchemaConfig, - type SqlPieces, +import { compileQuery, defaultConstructQuery } from './compiler'; +import type { + CompilerState, + OutputTypes, + SchemaConfig, + SqlPieces, } from './compiler'; import { convertInputType, convertOutputType } from './schema-helpers'; diff --git a/packages/loot-core/src/server/aql/index.ts b/packages/loot-core/src/server/aql/index.ts index fd32aa8715..c3350fd119 100644 --- a/packages/loot-core/src/server/aql/index.ts +++ b/packages/loot-core/src/server/aql/index.ts @@ -1,11 +1,9 @@ -import { Query, type QueryState } from '../../shared/query'; +import { Query } from '../../shared/query'; +import type { QueryState } from '../../shared/query'; -import { type CompilerState, type SqlPieces } from './compiler'; -import { - compileAndRunAqlQuery, - runCompiledAqlQuery, - type AqlQueryParams, -} from './exec'; +import type { CompilerState, SqlPieces } from './compiler'; +import { compileAndRunAqlQuery, runCompiledAqlQuery } from './exec'; +import type { AqlQueryParams } from './exec'; import { schema, schemaConfig } from './schema'; import { schemaExecutors } from './schema/executors'; diff --git a/packages/loot-core/src/server/aql/schema/executors.ts b/packages/loot-core/src/server/aql/schema/executors.ts index 1031629843..0113cc626c 100644 --- a/packages/loot-core/src/server/aql/schema/executors.ts +++ b/packages/loot-core/src/server/aql/schema/executors.ts @@ -1,17 +1,15 @@ // @ts-strict-ignore import { aqlQuery } from '..'; -import { q, type QueryState } from '../../../shared/query'; -import { type CategoryEntity } from '../../../types/models'; +import { q } from '../../../shared/query'; +import type { QueryState } from '../../../shared/query'; +import type { CategoryEntity } from '../../../types/models'; import * as db from '../../db'; import { whereIn } from '../../db/util'; -import { - isAggregateQuery, - type CompilerState, - type OutputTypes, - type SqlPieces, -} from '../compiler'; -import { execQuery, type AqlQueryExecutor } from '../exec'; +import { isAggregateQuery } from '../compiler'; +import type { CompilerState, OutputTypes, SqlPieces } from '../compiler'; +import { execQuery } from '../exec'; +import type { AqlQueryExecutor } from '../exec'; import { convertOutputType } from '../schema-helpers'; // Transactions executor diff --git a/packages/loot-core/src/server/aql/schema/index.ts b/packages/loot-core/src/server/aql/schema/index.ts index fbfd4dd20d..cf86196bd5 100644 --- a/packages/loot-core/src/server/aql/schema/index.ts +++ b/packages/loot-core/src/server/aql/schema/index.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type SchemaConfig } from '../compiler'; +import type { SchemaConfig } from '../compiler'; function f(type: string, opts?: Record) { return { type, ...opts }; diff --git a/packages/loot-core/src/server/auth/app.ts b/packages/loot-core/src/server/auth/app.ts index b46fc55207..fe4604432e 100644 --- a/packages/loot-core/src/server/auth/app.ts +++ b/packages/loot-core/src/server/auth/app.ts @@ -1,6 +1,6 @@ import * as asyncStorage from '../../platform/server/asyncStorage'; import { logger } from '../../platform/server/log'; -import { type OpenIdConfig } from '../../types/models'; +import type { OpenIdConfig } from '../../types/models'; import { createApp } from '../app'; import * as encryption from '../encryption'; import { PostError } from '../errors'; diff --git a/packages/loot-core/src/server/budget/actions.ts b/packages/loot-core/src/server/budget/actions.ts index b1601e3384..77a8bf9130 100644 --- a/packages/loot-core/src/server/budget/actions.ts +++ b/packages/loot-core/src/server/budget/actions.ts @@ -5,12 +5,9 @@ import { getCurrency } from 'loot-core/shared/currencies'; import * as asyncStorage from '../../platform/server/asyncStorage'; import { getLocale } from '../../shared/locale'; import * as monthUtils from '../../shared/months'; -import { - integerToCurrency, - safeNumber, - type IntegerAmount, -} from '../../shared/util'; -import { type CategoryEntity } from '../../types/models'; +import { integerToCurrency, safeNumber } from '../../shared/util'; +import type { IntegerAmount } from '../../shared/util'; +import type { CategoryEntity } from '../../types/models'; import * as db from '../db'; import * as sheet from '../sheet'; import { batchMessages } from '../sync'; diff --git a/packages/loot-core/src/server/budget/app.ts b/packages/loot-core/src/server/budget/app.ts index f3b610a87e..d37753a985 100644 --- a/packages/loot-core/src/server/budget/app.ts +++ b/packages/loot-core/src/server/budget/app.ts @@ -1,9 +1,6 @@ import * as monthUtils from '../../shared/months'; import { q } from '../../shared/query'; -import { - type CategoryEntity, - type CategoryGroupEntity, -} from '../../types/models'; +import type { CategoryEntity, CategoryGroupEntity } from '../../types/models'; import { createApp } from '../app'; import { aqlQuery } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/budget/base.ts b/packages/loot-core/src/server/budget/base.ts index 9e86d36b38..2f892ac6a0 100644 --- a/packages/loot-core/src/server/budget/base.ts +++ b/packages/loot-core/src/server/budget/base.ts @@ -2,7 +2,7 @@ import * as monthUtils from '../../shared/months'; import { q } from '../../shared/query'; import { getChangedValues } from '../../shared/util'; -import { type CategoryGroupEntity } from '../../types/models'; +import type { CategoryGroupEntity } from '../../types/models'; import { aqlQuery } from '../aql'; import * as db from '../db'; import * as sheet from '../sheet'; diff --git a/packages/loot-core/src/server/budget/category-template-context.test.ts b/packages/loot-core/src/server/budget/category-template-context.test.ts index 646d3b9693..f320b17333 100644 --- a/packages/loot-core/src/server/budget/category-template-context.test.ts +++ b/packages/loot-core/src/server/budget/category-template-context.test.ts @@ -1,8 +1,8 @@ import { vi } from 'vitest'; import { amountToInteger } from '../../shared/util'; -import { type CategoryEntity } from '../../types/models'; -import { type Template } from '../../types/models/templates'; +import type { CategoryEntity } from '../../types/models'; +import type { Template } from '../../types/models/templates'; import * as aql from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/budget/category-template-context.ts b/packages/loot-core/src/server/budget/category-template-context.ts index 5c663f5287..3bf5618903 100644 --- a/packages/loot-core/src/server/budget/category-template-context.ts +++ b/packages/loot-core/src/server/budget/category-template-context.ts @@ -1,21 +1,22 @@ // @ts-strict-ignore -import { getCurrency, type Currency } from 'loot-core/shared/currencies'; +import { getCurrency } from 'loot-core/shared/currencies'; +import type { Currency } from 'loot-core/shared/currencies'; import { q } from 'loot-core/shared/query'; import * as monthUtils from '../../shared/months'; import { amountToInteger, integerToAmount } from '../../shared/util'; -import { type CategoryEntity } from '../../types/models'; -import { - type AverageTemplate, - type ByTemplate, - type CopyTemplate, - type GoalTemplate, - type PercentageTemplate, - type PeriodicTemplate, - type RemainderTemplate, - type SimpleTemplate, - type SpendTemplate, - type Template, +import type { CategoryEntity } from '../../types/models'; +import type { + AverageTemplate, + ByTemplate, + CopyTemplate, + GoalTemplate, + PercentageTemplate, + PeriodicTemplate, + RemainderTemplate, + SimpleTemplate, + SpendTemplate, + Template, } from '../../types/models/templates'; import { aqlQuery } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/budget/goal-template.ts b/packages/loot-core/src/server/budget/goal-template.ts index 213a4f641a..4fbd6666c5 100644 --- a/packages/loot-core/src/server/budget/goal-template.ts +++ b/packages/loot-core/src/server/budget/goal-template.ts @@ -1,11 +1,8 @@ // @ts-strict-ignore import * as monthUtils from '../../shared/months'; import { q } from '../../shared/query'; -import { - type CategoryEntity, - type CategoryGroupEntity, -} from '../../types/models'; -import { type Template } from '../../types/models/templates'; +import type { CategoryEntity, CategoryGroupEntity } from '../../types/models'; +import type { Template } from '../../types/models/templates'; import { aqlQuery } from '../aql'; import * as db from '../db'; import { batchMessages } from '../sync'; diff --git a/packages/loot-core/src/server/budget/schedule-template.test.ts b/packages/loot-core/src/server/budget/schedule-template.test.ts index 517707c441..4c8ff24d65 100644 --- a/packages/loot-core/src/server/budget/schedule-template.test.ts +++ b/packages/loot-core/src/server/budget/schedule-template.test.ts @@ -1,6 +1,6 @@ -import { type Currency } from 'loot-core/shared/currencies'; +import type { Currency } from 'loot-core/shared/currencies'; -import { type CategoryEntity } from '../../types/models'; +import type { CategoryEntity } from '../../types/models'; import * as db from '../db'; import { Rule } from '../rules'; import { getRuleForSchedule } from '../schedules/app'; diff --git a/packages/loot-core/src/server/budget/schedule-template.ts b/packages/loot-core/src/server/budget/schedule-template.ts index e397259d45..39975cc0da 100644 --- a/packages/loot-core/src/server/budget/schedule-template.ts +++ b/packages/loot-core/src/server/budget/schedule-template.ts @@ -1,6 +1,6 @@ // @ts-strict-ignore -import { type Currency } from 'loot-core/shared/currencies'; +import type { Currency } from 'loot-core/shared/currencies'; import { amountToInteger } from 'loot-core/shared/util'; import * as monthUtils from '../../shared/months'; @@ -9,11 +9,8 @@ import { getDateWithSkippedWeekend, getNextDate, } from '../../shared/schedules'; -import { type CategoryEntity } from '../../types/models'; -import { - type ScheduleTemplate, - type Template, -} from '../../types/models/templates'; +import type { CategoryEntity } from '../../types/models'; +import type { ScheduleTemplate, Template } from '../../types/models/templates'; import * as db from '../db'; import { getRuleForSchedule } from '../schedules/app'; diff --git a/packages/loot-core/src/server/budget/statements.ts b/packages/loot-core/src/server/budget/statements.ts index 0b5a04b01b..c5eb40f168 100644 --- a/packages/loot-core/src/server/budget/statements.ts +++ b/packages/loot-core/src/server/budget/statements.ts @@ -1,5 +1,5 @@ import * as db from '../db'; -import { type DbSchedule } from '../db'; +import type { DbSchedule } from '../db'; import { GOAL_PREFIX, TEMPLATE_PREFIX } from './template-notes'; diff --git a/packages/loot-core/src/server/budget/template-notes.test.ts b/packages/loot-core/src/server/budget/template-notes.test.ts index 9178063956..5a4fb9b197 100644 --- a/packages/loot-core/src/server/budget/template-notes.test.ts +++ b/packages/loot-core/src/server/budget/template-notes.test.ts @@ -6,8 +6,8 @@ import { getActiveSchedules, getCategoriesWithTemplateNotes, resetCategoryGoalDefsWithNoTemplates, - type CategoryWithTemplateNote, } from './statements'; +import type { CategoryWithTemplateNote } from './statements'; import { checkTemplateNotes, storeNoteTemplates, diff --git a/packages/loot-core/src/server/budget/template-notes.ts b/packages/loot-core/src/server/budget/template-notes.ts index 01a5ef89ef..557b5cc82a 100644 --- a/packages/loot-core/src/server/budget/template-notes.ts +++ b/packages/loot-core/src/server/budget/template-notes.ts @@ -6,8 +6,8 @@ import { getActiveSchedules, getCategoriesWithTemplateNotes, resetCategoryGoalDefsWithNoTemplates, - type CategoryWithTemplateNote, } from './statements'; +import type { CategoryWithTemplateNote } from './statements'; type Notification = { type?: 'message' | 'error' | 'warning' | undefined; diff --git a/packages/loot-core/src/server/budgetfiles/app.ts b/packages/loot-core/src/server/budgetfiles/app.ts index d995d35877..464c100996 100644 --- a/packages/loot-core/src/server/budgetfiles/app.ts +++ b/packages/loot-core/src/server/budgetfiles/app.ts @@ -8,13 +8,14 @@ import * as connection from '../../platform/server/connection'; import * as fs from '../../platform/server/fs'; import { logger } from '../../platform/server/log'; import * as Platform from '../../shared/platform'; -import { type Budget } from '../../types/budget'; +import type { Budget } from '../../types/budget'; import { createApp } from '../app'; import * as budget from '../budget/base'; import * as cloudStorage from '../cloud-storage'; import * as db from '../db'; import * as mappings from '../db/mappings'; -import { handleBudgetImport, type ImportableBudgetType } from '../importers'; +import { handleBudgetImport } from '../importers'; +import type { ImportableBudgetType } from '../importers'; import { app as mainApp } from '../main-app'; import { mutator } from '../mutators'; import * as prefs from '../prefs'; diff --git a/packages/loot-core/src/server/dashboard/app.ts b/packages/loot-core/src/server/dashboard/app.ts index cf426e9a35..2906150423 100644 --- a/packages/loot-core/src/server/dashboard/app.ts +++ b/packages/loot-core/src/server/dashboard/app.ts @@ -5,13 +5,13 @@ import { captureException } from '../../platform/exceptions'; import * as fs from '../../platform/server/fs'; import { DEFAULT_DASHBOARD_STATE } from '../../shared/dashboard'; import { q } from '../../shared/query'; -import { - type ExportImportCustomReportWidget, - type ExportImportDashboard, - type ExportImportDashboardWidget, - type Widget, +import type { + ExportImportCustomReportWidget, + ExportImportDashboard, + ExportImportDashboardWidget, + Widget, } from '../../types/models'; -import { type EverythingButIdOptional } from '../../types/util'; +import type { EverythingButIdOptional } from '../../types/util'; import { createApp } from '../app'; import { aqlQuery } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/db/index.ts b/packages/loot-core/src/server/db/index.ts index 282d317b44..7deeb2348a 100644 --- a/packages/loot-core/src/server/db/index.ts +++ b/packages/loot-core/src/server/db/index.ts @@ -7,7 +7,7 @@ import { setClock, Timestamp, } from '@actual-app/crdt'; -import { type Database } from '@jlongster/sql.js'; +import type { Database } from '@jlongster/sql.js'; import { LRUCache } from 'lru-cache'; import { v4 as uuidv4 } from 'uuid'; @@ -15,8 +15,8 @@ import * as fs from '../../platform/server/fs'; import * as sqlite from '../../platform/server/sqlite'; import * as monthUtils from '../../shared/months'; import { groupById } from '../../shared/util'; -import { type TransactionEntity } from '../../types/models'; -import { type WithRequired } from '../../types/util'; +import type { TransactionEntity } from '../../types/models'; +import type { WithRequired } from '../../types/util'; import { convertForInsert, convertForUpdate, @@ -34,19 +34,19 @@ import { import { batchMessages, sendMessages } from '../sync'; import { shoveSortOrders, SORT_INCREMENT } from './sort'; -import { - type DbAccount, - type DbBank, - type DbCategory, - type DbCategoryGroup, - type DbCategoryMapping, - type DbClockMessage, - type DbPayee, - type DbPayeeMapping, - type DbTag, - type DbTransaction, - type DbViewTransaction, - type DbViewTransactionInternalAlive, +import type { + DbAccount, + DbBank, + DbCategory, + DbCategoryGroup, + DbCategoryMapping, + DbClockMessage, + DbPayee, + DbPayeeMapping, + DbTag, + DbTransaction, + DbViewTransaction, + DbViewTransactionInternalAlive, } from './types'; export * from './types'; diff --git a/packages/loot-core/src/server/encryption/app.ts b/packages/loot-core/src/server/encryption/app.ts index 39c7db8749..dc7c2ae1c7 100644 --- a/packages/loot-core/src/server/encryption/app.ts +++ b/packages/loot-core/src/server/encryption/app.ts @@ -2,7 +2,7 @@ import { v4 as uuidv4 } from 'uuid'; import * as asyncStorage from '../../platform/server/asyncStorage'; import { logger } from '../../platform/server/log'; -import { type Budget } from '../../types/budget'; +import type { Budget } from '../../types/budget'; import { createApp } from '../app'; import { post } from '../post'; import * as prefs from '../prefs'; diff --git a/packages/loot-core/src/server/filters/app.ts b/packages/loot-core/src/server/filters/app.ts index 6e06f1422d..f66cc5bc5b 100644 --- a/packages/loot-core/src/server/filters/app.ts +++ b/packages/loot-core/src/server/filters/app.ts @@ -1,7 +1,7 @@ // @ts-strict-ignore import { v4 as uuidv4 } from 'uuid'; -import { type TransactionFilterEntity } from '../../types/models'; +import type { TransactionFilterEntity } from '../../types/models'; import { createApp } from '../app'; import * as db from '../db'; import { requiredFields } from '../models'; diff --git a/packages/loot-core/src/server/importers/ynab5.ts b/packages/loot-core/src/server/importers/ynab5.ts index 9a5ad7a5a8..de2df97e73 100644 --- a/packages/loot-core/src/server/importers/ynab5.ts +++ b/packages/loot-core/src/server/importers/ynab5.ts @@ -11,20 +11,16 @@ import { logger } from '../../platform/server/log'; import * as monthUtils from '../../shared/months'; import { q } from '../../shared/query'; import { groupBy, sortByKey } from '../../shared/util'; -import { - type RecurConfig, - type RecurPattern, - type RuleEntity, -} from '../../types/models'; +import type { RecurConfig, RecurPattern, RuleEntity } from '../../types/models'; import { ruleModel } from '../transactions/transaction-rules'; -import { - type Budget, - type Payee, - type ScheduledSubtransaction, - type ScheduledTransaction, - type Subtransaction, - type Transaction, +import type { + Budget, + Payee, + ScheduledSubtransaction, + ScheduledTransaction, + Subtransaction, + Transaction, } from './ynab5-types'; const MAX_RETRY = 20; diff --git a/packages/loot-core/src/server/main-app.ts b/packages/loot-core/src/server/main-app.ts index e5aec619d5..07b2b2fb20 100644 --- a/packages/loot-core/src/server/main-app.ts +++ b/packages/loot-core/src/server/main-app.ts @@ -1,5 +1,5 @@ import * as connection from '../platform/server/connection'; -import { type Handlers } from '../types/handlers'; +import type { Handlers } from '../types/handlers'; import { createApp } from './app'; diff --git a/packages/loot-core/src/server/main.ts b/packages/loot-core/src/server/main.ts index 35ba29d97a..0a2bf21c5b 100644 --- a/packages/loot-core/src/server/main.ts +++ b/packages/loot-core/src/server/main.ts @@ -9,7 +9,7 @@ import { logger, setVerboseMode } from '../platform/server/log'; import * as sqlite from '../platform/server/sqlite'; import { q } from '../shared/query'; import { amountToInteger, integerToAmount } from '../shared/util'; -import { type Handlers } from '../types/handlers'; +import type { Handlers } from '../types/handlers'; import { app as accountsApp } from './accounts/app'; import { app as adminApp } from './admin/app'; diff --git a/packages/loot-core/src/server/migrate/migrations.ts b/packages/loot-core/src/server/migrate/migrations.ts index 824cc2212c..72147dbfc0 100644 --- a/packages/loot-core/src/server/migrate/migrations.ts +++ b/packages/loot-core/src/server/migrate/migrations.ts @@ -2,7 +2,7 @@ // We have to bundle in JS migrations manually to avoid having to `eval` // them which doesn't play well with CSP. There isn't great, and eventually // we can remove this migration. -import { type Database } from '@jlongster/sql.js'; +import type { Database } from '@jlongster/sql.js'; import m1632571489012 from '../../../migrations/1632571489012_remove_cache'; import m1722717601000 from '../../../migrations/1722717601000_reports_move_selected_categories'; diff --git a/packages/loot-core/src/server/models.ts b/packages/loot-core/src/server/models.ts index b7cf9e440c..829f6a43fc 100644 --- a/packages/loot-core/src/server/models.ts +++ b/packages/loot-core/src/server/models.ts @@ -1,7 +1,7 @@ -import { - type CategoryEntity, - type CategoryGroupEntity, - type PayeeEntity, +import type { + CategoryEntity, + CategoryGroupEntity, + PayeeEntity, } from '../types/models'; import { @@ -11,12 +11,7 @@ import { schema, schemaConfig, } from './aql'; -import { - type DbAccount, - type DbCategory, - type DbCategoryGroup, - type DbPayee, -} from './db'; +import type { DbAccount, DbCategory, DbCategoryGroup, DbPayee } from './db'; import { ValidationError } from './errors'; export function requiredFields( diff --git a/packages/loot-core/src/server/mutators.ts b/packages/loot-core/src/server/mutators.ts index 0559924253..6adc867635 100644 --- a/packages/loot-core/src/server/mutators.ts +++ b/packages/loot-core/src/server/mutators.ts @@ -1,7 +1,7 @@ // @ts-strict-ignore import { captureBreadcrumb, captureException } from '../platform/exceptions'; import { sequential } from '../shared/async'; -import { type HandlerFunctions, type Handlers } from '../types/handlers'; +import type { HandlerFunctions, Handlers } from '../types/handlers'; const runningMethods = new Set(); diff --git a/packages/loot-core/src/server/notes/app.ts b/packages/loot-core/src/server/notes/app.ts index 3842380004..dc108464fb 100644 --- a/packages/loot-core/src/server/notes/app.ts +++ b/packages/loot-core/src/server/notes/app.ts @@ -1,4 +1,4 @@ -import { type NoteEntity } from '../../types/models'; +import type { NoteEntity } from '../../types/models'; import { createApp } from '../app'; import * as db from '../db'; import { mutator } from '../mutators'; diff --git a/packages/loot-core/src/server/payees/app.ts b/packages/loot-core/src/server/payees/app.ts index e845bfaf1a..8a4303d637 100644 --- a/packages/loot-core/src/server/payees/app.ts +++ b/packages/loot-core/src/server/payees/app.ts @@ -1,5 +1,5 @@ -import { type Diff } from '../../shared/util'; -import { type PayeeEntity, type RuleEntity } from '../../types/models'; +import type { Diff } from '../../shared/util'; +import type { PayeeEntity, RuleEntity } from '../../types/models'; import { createApp } from '../app'; import * as db from '../db'; import { payeeModel } from '../models'; diff --git a/packages/loot-core/src/server/preferences/app.ts b/packages/loot-core/src/server/preferences/app.ts index 4e5f1a86cf..e62b75b53e 100644 --- a/packages/loot-core/src/server/preferences/app.ts +++ b/packages/loot-core/src/server/preferences/app.ts @@ -1,10 +1,10 @@ import * as asyncStorage from '../../platform/server/asyncStorage'; import * as fs from '../../platform/server/fs'; import { stringToInteger } from '../../shared/util'; -import { - type GlobalPrefs, - type MetadataPrefs, - type SyncedPrefs, +import type { + GlobalPrefs, + MetadataPrefs, + SyncedPrefs, } from '../../types/prefs'; import { createApp } from '../app'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/prefs.ts b/packages/loot-core/src/server/prefs.ts index cd3d728459..2c2b8db5ba 100644 --- a/packages/loot-core/src/server/prefs.ts +++ b/packages/loot-core/src/server/prefs.ts @@ -4,7 +4,8 @@ import { Timestamp } from '@actual-app/crdt'; import * as fs from '../platform/server/fs'; import type { MetadataPrefs } from '../types/prefs'; -import { sendMessages, type Message } from './sync'; +import { sendMessages } from './sync'; +import type { Message } from './sync'; export const BUDGET_TYPES = ['tracking', 'envelope'] as const; export type BudgetType = (typeof BUDGET_TYPES)[number]; diff --git a/packages/loot-core/src/server/reports/app.ts b/packages/loot-core/src/server/reports/app.ts index 5e82c35c3d..57608decb8 100644 --- a/packages/loot-core/src/server/reports/app.ts +++ b/packages/loot-core/src/server/reports/app.ts @@ -1,9 +1,6 @@ import { v4 as uuidv4 } from 'uuid'; -import { - type CustomReportData, - type CustomReportEntity, -} from '../../types/models'; +import type { CustomReportData, CustomReportEntity } from '../../types/models'; import { createApp } from '../app'; import * as db from '../db'; import { ValidationError } from '../errors'; diff --git a/packages/loot-core/src/server/rules/action.ts b/packages/loot-core/src/server/rules/action.ts index 242ef1595c..be1ff6396d 100644 --- a/packages/loot-core/src/server/rules/action.ts +++ b/packages/loot-core/src/server/rules/action.ts @@ -9,7 +9,7 @@ import { amountToInteger } from 'loot-core/shared/util'; import { logger } from '../../platform/server/log'; import { currentDay, format, parseDate } from '../../shared/months'; import { FIELD_TYPES } from '../../shared/rules'; -import { type TransactionForRules } from '../transactions/transaction-rules'; +import type { TransactionForRules } from '../transactions/transaction-rules'; import { CustomFunctionsPlugin, diff --git a/packages/loot-core/src/server/rules/app.ts b/packages/loot-core/src/server/rules/app.ts index a0d0b906c6..29a8d6738c 100644 --- a/packages/loot-core/src/server/rules/app.ts +++ b/packages/loot-core/src/server/rules/app.ts @@ -1,9 +1,9 @@ // @ts-strict-ignore import { logger } from '../../platform/server/log'; -import { - type RuleActionEntity, - type RuleEntity, - type TransactionEntity, +import type { + RuleActionEntity, + RuleEntity, + TransactionEntity, } from '../../types/models'; import { createApp } from '../app'; import { RuleError } from '../errors'; diff --git a/packages/loot-core/src/server/rules/customFunctions.ts b/packages/loot-core/src/server/rules/customFunctions.ts index bebd3a9233..7342ab413a 100644 --- a/packages/loot-core/src/server/rules/customFunctions.ts +++ b/packages/loot-core/src/server/rules/customFunctions.ts @@ -1,6 +1,6 @@ import { FunctionArgumentType, FunctionPlugin } from 'hyperformula'; -import { type InterpreterState } from 'hyperformula/typings/interpreter/InterpreterState'; -import { type ProcedureAst } from 'hyperformula/typings/parser'; +import type { InterpreterState } from 'hyperformula/typings/interpreter/InterpreterState'; +import type { ProcedureAst } from 'hyperformula/typings/parser'; import { integerToAmount } from '../../shared/util'; diff --git a/packages/loot-core/src/server/rules/formula-action.test.ts b/packages/loot-core/src/server/rules/formula-action.test.ts index 4cb63f4bdb..86d8f94c1b 100644 --- a/packages/loot-core/src/server/rules/formula-action.test.ts +++ b/packages/loot-core/src/server/rules/formula-action.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it } from 'vitest'; -import { type TransactionForRules } from '../transactions/transaction-rules'; +import type { TransactionForRules } from '../transactions/transaction-rules'; import { Action } from './action'; diff --git a/packages/loot-core/src/server/rules/rule-indexer.ts b/packages/loot-core/src/server/rules/rule-indexer.ts index f495497eeb..be508637af 100644 --- a/packages/loot-core/src/server/rules/rule-indexer.ts +++ b/packages/loot-core/src/server/rules/rule-indexer.ts @@ -1,7 +1,7 @@ // @ts-strict-ignore import { fastSetMerge } from '../../shared/util'; -import { type Rule } from './rule'; +import type { Rule } from './rule'; export class RuleIndexer { field: string; diff --git a/packages/loot-core/src/server/rules/rule-utils.ts b/packages/loot-core/src/server/rules/rule-utils.ts index 6b667266b8..fa4aa6b865 100644 --- a/packages/loot-core/src/server/rules/rule-utils.ts +++ b/packages/loot-core/src/server/rules/rule-utils.ts @@ -3,11 +3,11 @@ import * as dateFns from 'date-fns'; import { logger } from '../../platform/server/log'; import { recurConfigToRSchedule } from '../../shared/schedules'; -import { type RuleConditionEntity } from '../../types/models'; +import type { RuleConditionEntity } from '../../types/models'; import { RuleError } from '../errors'; import { RSchedule } from '../util/rschedule'; -import { type Rule } from './rule'; +import type { Rule } from './rule'; export function assert(test: unknown, type: string, msg: string): asserts test { if (!test) { diff --git a/packages/loot-core/src/server/rules/rule.ts b/packages/loot-core/src/server/rules/rule.ts index 4cf047d910..a3c727ea4f 100644 --- a/packages/loot-core/src/server/rules/rule.ts +++ b/packages/loot-core/src/server/rules/rule.ts @@ -6,7 +6,7 @@ import { splitTransaction, ungroupTransaction, } from '../../shared/transactions'; -import { type RuleEntity } from '../../types/models'; +import type { RuleEntity } from '../../types/models'; import { Action } from './action'; import { Condition } from './condition'; diff --git a/packages/loot-core/src/server/schedules/app.ts b/packages/loot-core/src/server/schedules/app.ts index 7235bd49b1..060c33f0d2 100644 --- a/packages/loot-core/src/server/schedules/app.ts +++ b/packages/loot-core/src/server/schedules/app.ts @@ -17,7 +17,7 @@ import { getStatus, recurConfigToRSchedule, } from '../../shared/schedules'; -import { type ScheduleEntity } from '../../types/models'; +import type { ScheduleEntity } from '../../types/models'; import { addTransactions } from '../accounts/sync'; import { createApp } from '../app'; import { aqlQuery } from '../aql'; diff --git a/packages/loot-core/src/server/sheet.ts b/packages/loot-core/src/server/sheet.ts index 7384e36137..de9a60bd21 100644 --- a/packages/loot-core/src/server/sheet.ts +++ b/packages/loot-core/src/server/sheet.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type Database } from '@jlongster/sql.js'; +import type { Database } from '@jlongster/sql.js'; import { captureBreadcrumb } from '../platform/exceptions'; import { logger } from '../platform/server/log'; @@ -8,11 +8,11 @@ import { sheetForMonth } from '../shared/months'; import * as Platform from '../shared/platform'; import type * as DbModule from './db'; -import { - type DbPreference, - type DbReflectBudget, - type DbZeroBudget, - type DbZeroBudgetMonth, +import type { + DbPreference, + DbReflectBudget, + DbZeroBudget, + DbZeroBudgetMonth, } from './db'; import { Spreadsheet } from './spreadsheet/spreadsheet'; import { resolveName } from './spreadsheet/util'; diff --git a/packages/loot-core/src/server/spreadsheet/app.ts b/packages/loot-core/src/server/spreadsheet/app.ts index ba2237c690..ce342c7936 100644 --- a/packages/loot-core/src/server/spreadsheet/app.ts +++ b/packages/loot-core/src/server/spreadsheet/app.ts @@ -1,4 +1,4 @@ -import { type QueryState } from '../../shared/query'; +import type { QueryState } from '../../shared/query'; import { createApp } from '../app'; import * as sheet from '../sheet'; diff --git a/packages/loot-core/src/server/spreadsheet/spreadsheet.ts b/packages/loot-core/src/server/spreadsheet/spreadsheet.ts index 4af439f033..4a921e746b 100644 --- a/packages/loot-core/src/server/spreadsheet/spreadsheet.ts +++ b/packages/loot-core/src/server/spreadsheet/spreadsheet.ts @@ -2,9 +2,9 @@ import mitt from 'mitt'; import { logger } from '../../platform/server/log'; -import { type QueryState } from '../../shared/query'; +import type { QueryState } from '../../shared/query'; import { aqlCompiledQuery, compileQuery, schema, schemaConfig } from '../aql'; -import { type BudgetType } from '../prefs'; +import type { BudgetType } from '../prefs'; import { Graph } from './graph-data-structure'; import { resolveName, unresolveName } from './util'; diff --git a/packages/loot-core/src/server/sync/encoder.ts b/packages/loot-core/src/server/sync/encoder.ts index 6549632d86..01f15adcda 100644 --- a/packages/loot-core/src/server/sync/encoder.ts +++ b/packages/loot-core/src/server/sync/encoder.ts @@ -6,7 +6,7 @@ import * as encryption from '../encryption'; import { SyncError } from '../errors'; import * as prefs from '../prefs'; -import { type Message } from './index'; +import type { Message } from './index'; function coerceBuffer(value) { // The web encryption APIs give us back raw Uint8Array... but our diff --git a/packages/loot-core/src/server/sync/index.ts b/packages/loot-core/src/server/sync/index.ts index 3f9c7fb4d4..1143c4ea6b 100644 --- a/packages/loot-core/src/server/sync/index.ts +++ b/packages/loot-core/src/server/sync/index.ts @@ -13,7 +13,7 @@ import * as connection from '../../platform/server/connection'; import { logger } from '../../platform/server/log'; import { once, sequential } from '../../shared/async'; import { getIn, setIn } from '../../shared/util'; -import { type MetadataPrefs } from '../../types/prefs'; +import type { MetadataPrefs } from '../../types/prefs'; import { setType as setBudgetType, triggerBudgetChanges } from '../budget/base'; import * as db from '../db'; import { PostError, SyncError } from '../errors'; diff --git a/packages/loot-core/src/server/sync/migrate.test.ts b/packages/loot-core/src/server/sync/migrate.test.ts index 1d20b89eca..8acc0c8d70 100644 --- a/packages/loot-core/src/server/sync/migrate.test.ts +++ b/packages/loot-core/src/server/sync/migrate.test.ts @@ -9,7 +9,8 @@ import * as db from '../db'; import { listen, unlisten } from './migrate'; -import { addSyncListener, sendMessages, type Message } from './index'; +import { addSyncListener, sendMessages } from './index'; +import type { Message } from './index'; beforeEach(() => { listen(); diff --git a/packages/loot-core/src/server/sync/migrate.ts b/packages/loot-core/src/server/sync/migrate.ts index ca5638ac65..827655f6bb 100644 --- a/packages/loot-core/src/server/sync/migrate.ts +++ b/packages/loot-core/src/server/sync/migrate.ts @@ -1,7 +1,8 @@ // @ts-strict-ignore import { Timestamp } from '@actual-app/crdt'; -import { addSyncListener, applyMessages, type Message } from './index'; +import { addSyncListener, applyMessages } from './index'; +import type { Message } from './index'; function migrateParentIds(_oldValues, newValues) { newValues.forEach((items, table) => { diff --git a/packages/loot-core/src/server/sync/sync.property.test.ts b/packages/loot-core/src/server/sync/sync.property.test.ts index ba049e984e..0ea75df07f 100644 --- a/packages/loot-core/src/server/sync/sync.property.test.ts +++ b/packages/loot-core/src/server/sync/sync.property.test.ts @@ -1,6 +1,7 @@ // @ts-strict-ignore import { getClock, merkle, Timestamp } from '@actual-app/crdt'; -import jsc, { type Arbitrary } from 'jsverify'; +import jsc from 'jsverify'; +import type { Arbitrary } from 'jsverify'; import * as db from '../db'; import * as prefs from '../prefs'; diff --git a/packages/loot-core/src/server/tags/app.ts b/packages/loot-core/src/server/tags/app.ts index 38e677171b..8c876a6495 100644 --- a/packages/loot-core/src/server/tags/app.ts +++ b/packages/loot-core/src/server/tags/app.ts @@ -1,4 +1,4 @@ -import { type TagEntity } from '../../types/models'; +import type { TagEntity } from '../../types/models'; import { createApp } from '../app'; import * as db from '../db'; import { mutator } from '../mutators'; diff --git a/packages/loot-core/src/server/tests/mockSyncServer.ts b/packages/loot-core/src/server/tests/mockSyncServer.ts index bd1c511379..86342761e6 100644 --- a/packages/loot-core/src/server/tests/mockSyncServer.ts +++ b/packages/loot-core/src/server/tests/mockSyncServer.ts @@ -1,13 +1,8 @@ // @ts-strict-ignore -import { - makeClock, - merkle, - SyncProtoBuf, - Timestamp, - type Clock, -} from '@actual-app/crdt'; +import { makeClock, merkle, SyncProtoBuf, Timestamp } from '@actual-app/crdt'; +import type { Clock } from '@actual-app/crdt'; -import { type Message } from '../sync'; +import type { Message } from '../sync'; import { basic as defaultMockData } from './mockData.json'; diff --git a/packages/loot-core/src/server/tools/app.ts b/packages/loot-core/src/server/tools/app.ts index ea4a16b39b..aa4d53363c 100644 --- a/packages/loot-core/src/server/tools/app.ts +++ b/packages/loot-core/src/server/tools/app.ts @@ -1,6 +1,6 @@ // @ts-strict-ignore import { q } from '../../shared/query'; -import { type TransactionEntity } from '../../types/models'; +import type { TransactionEntity } from '../../types/models'; import { createApp } from '../app'; import { aqlQuery } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/transactions/app.ts b/packages/loot-core/src/server/transactions/app.ts index 8c2981e0f3..96eeeb3e7c 100644 --- a/packages/loot-core/src/server/transactions/app.ts +++ b/packages/loot-core/src/server/transactions/app.ts @@ -1,9 +1,10 @@ -import { q, Query, type QueryState } from '../../shared/query'; -import { - type AccountEntity, - type CategoryGroupEntity, - type PayeeEntity, - type TransactionEntity, +import { q, Query } from '../../shared/query'; +import type { QueryState } from '../../shared/query'; +import type { + AccountEntity, + CategoryGroupEntity, + PayeeEntity, + TransactionEntity, } from '../../types/models'; import { createApp } from '../app'; import { aqlQuery } from '../aql'; @@ -11,7 +12,8 @@ import { mutator } from '../mutators'; import { undoable } from '../undo'; import { exportQueryToCSV, exportToCSV } from './export/export-to-csv'; -import { parseFile, type ParseFileOptions } from './import/parse-file'; +import { parseFile } from './import/parse-file'; +import type { ParseFileOptions } from './import/parse-file'; import { mergeTransactions } from './merge'; import { batchUpdateTransactions } from '.'; diff --git a/packages/loot-core/src/server/transactions/index.ts b/packages/loot-core/src/server/transactions/index.ts index c9de89f832..3cc184fe3f 100644 --- a/packages/loot-core/src/server/transactions/index.ts +++ b/packages/loot-core/src/server/transactions/index.ts @@ -1,8 +1,8 @@ // @ts-strict-ignore import * as connection from '../../platform/server/connection'; -import { type Diff } from '../../shared/util'; -import { type PayeeEntity, type TransactionEntity } from '../../types/models'; +import type { Diff } from '../../shared/util'; +import type { PayeeEntity, TransactionEntity } from '../../types/models'; import * as db from '../db'; import { incrFetch, whereIn } from '../db/util'; import { batchMessages } from '../sync'; diff --git a/packages/loot-core/src/server/transactions/merge.test.ts b/packages/loot-core/src/server/transactions/merge.test.ts index a6c4f34f13..cf9e959c0b 100644 --- a/packages/loot-core/src/server/transactions/merge.test.ts +++ b/packages/loot-core/src/server/transactions/merge.test.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type TransactionEntity } from '../../types/models'; +import type { TransactionEntity } from '../../types/models'; import * as db from '../db'; import { mergeTransactions } from './merge'; diff --git a/packages/loot-core/src/server/transactions/merge.ts b/packages/loot-core/src/server/transactions/merge.ts index 9dba07859c..5abc37bb36 100644 --- a/packages/loot-core/src/server/transactions/merge.ts +++ b/packages/loot-core/src/server/transactions/merge.ts @@ -3,7 +3,7 @@ import { deleteTransaction as sharedDeleteTransaction, ungroupTransactions, } from '../../shared/transactions'; -import { type TransactionEntity } from '../../types/models'; +import type { TransactionEntity } from '../../types/models'; import { aqlQuery } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/transactions/transaction-rules.ts b/packages/loot-core/src/server/transactions/transaction-rules.ts index a0d88a62fa..143158a958 100644 --- a/packages/loot-core/src/server/transactions/transaction-rules.ts +++ b/packages/loot-core/src/server/transactions/transaction-rules.ts @@ -12,10 +12,10 @@ import { q } from '../../shared/query'; import { getApproxNumberThreshold, sortNumbers } from '../../shared/rules'; import { ungroupTransaction } from '../../shared/transactions'; import { fastSetMerge, partitionByField } from '../../shared/util'; -import { - type RuleActionEntity, - type RuleEntity, - type TransactionEntity, +import type { + RuleActionEntity, + RuleEntity, + TransactionEntity, } from '../../types/models'; import { aqlQuery, schemaConfig } from '../aql'; import * as db from '../db'; diff --git a/packages/loot-core/src/server/undo.ts b/packages/loot-core/src/server/undo.ts index 6ba88c4faa..d2c3972a78 100644 --- a/packages/loot-core/src/server/undo.ts +++ b/packages/loot-core/src/server/undo.ts @@ -3,10 +3,11 @@ import { Timestamp } from '@actual-app/crdt'; import * as connection from '../platform/server/connection'; import { getIn } from '../shared/util'; -import { type HandlerFunctions } from '../types/handlers'; +import type { HandlerFunctions } from '../types/handlers'; import { getMutatorContext, withMutatorContext } from './mutators'; -import { sendMessages, type Message } from './sync'; +import { sendMessages } from './sync'; +import type { Message } from './sync'; // A marker always sits as the first entry to simplify logic type MarkerMessage = { type: 'marker'; meta?: unknown }; diff --git a/packages/loot-core/src/shared/currencies.ts b/packages/loot-core/src/shared/currencies.ts index 6b0f06f2bc..0e5bd9b521 100644 --- a/packages/loot-core/src/shared/currencies.ts +++ b/packages/loot-core/src/shared/currencies.ts @@ -1,4 +1,4 @@ -import { type NumberFormats } from './util'; +import type { NumberFormats } from './util'; export type Currency = { code: string; diff --git a/packages/loot-core/src/shared/dashboard.ts b/packages/loot-core/src/shared/dashboard.ts index 7b73a9da42..f970b4da2e 100644 --- a/packages/loot-core/src/shared/dashboard.ts +++ b/packages/loot-core/src/shared/dashboard.ts @@ -1,4 +1,4 @@ -import { type NewWidget } from '../types/models'; +import type { NewWidget } from '../types/models'; export const DEFAULT_DASHBOARD_STATE: NewWidget[] = [ // Top row: Key metrics at a glance diff --git a/packages/loot-core/src/shared/months.ts b/packages/loot-core/src/shared/months.ts index e09d88f644..d9c17f9cb0 100644 --- a/packages/loot-core/src/shared/months.ts +++ b/packages/loot-core/src/shared/months.ts @@ -1,9 +1,9 @@ // @ts-strict-ignore import * as d from 'date-fns'; -import { type Locale } from 'date-fns'; +import type { Locale } from 'date-fns'; import memoizeOne from 'memoize-one'; -import { type SyncedPrefs } from '../types/prefs'; +import type { SyncedPrefs } from '../types/prefs'; import * as Platform from './platform'; diff --git a/packages/loot-core/src/shared/query.ts b/packages/loot-core/src/shared/query.ts index 336130d91e..cc04c7b756 100644 --- a/packages/loot-core/src/shared/query.ts +++ b/packages/loot-core/src/shared/query.ts @@ -1,4 +1,4 @@ -import { type WithRequired } from '../types/util'; +import type { WithRequired } from '../types/util'; type ObjectExpression = { [key: string]: ObjectExpression | unknown; diff --git a/packages/loot-core/src/shared/rules.ts b/packages/loot-core/src/shared/rules.ts index 0c096f6161..d58c24ec06 100644 --- a/packages/loot-core/src/shared/rules.ts +++ b/packages/loot-core/src/shared/rules.ts @@ -1,7 +1,7 @@ // @ts-strict-ignore import { t } from 'i18next'; -import { type FieldValueTypes, type RuleConditionOp } from '../types/models'; +import type { FieldValueTypes, RuleConditionOp } from '../types/models'; // For now, this info is duplicated from the backend. Figure out how // to share it later. diff --git a/packages/loot-core/src/shared/schedules.ts b/packages/loot-core/src/shared/schedules.ts index 042a6574ce..b0d8517dc9 100644 --- a/packages/loot-core/src/shared/schedules.ts +++ b/packages/loot-core/src/shared/schedules.ts @@ -1,13 +1,13 @@ // @ts-strict-ignore import type { IRuleOptions } from '@rschedule/core'; import * as d from 'date-fns'; -import { type Locale } from 'date-fns'; +import type { Locale } from 'date-fns'; import { t } from 'i18next'; -import { - type PayeeEntity, - type RecurConfig, - type ScheduleEntity, +import type { + PayeeEntity, + RecurConfig, + ScheduleEntity, } from 'loot-core/types/models'; import { Condition } from '../server/rules'; diff --git a/packages/loot-core/src/shared/transactions.test.ts b/packages/loot-core/src/shared/transactions.test.ts index d3680bb712..ac55755d2d 100644 --- a/packages/loot-core/src/shared/transactions.test.ts +++ b/packages/loot-core/src/shared/transactions.test.ts @@ -1,7 +1,7 @@ // @ts-strict-ignore import { v4 as uuidv4 } from 'uuid'; -import { type TransactionEntity } from '../types/models'; +import type { TransactionEntity } from '../types/models'; import { addSplitTransaction, diff --git a/packages/loot-core/src/shared/transactions.ts b/packages/loot-core/src/shared/transactions.ts index 6f391d8fac..b314cd6123 100644 --- a/packages/loot-core/src/shared/transactions.ts +++ b/packages/loot-core/src/shared/transactions.ts @@ -1,7 +1,7 @@ import { v4 as uuidv4 } from 'uuid'; import { logger } from '../platform/server/log'; -import { type TransactionEntity } from '../types/models'; +import type { TransactionEntity } from '../types/models'; import { applyChanges, diffItems, last } from './util'; diff --git a/packages/loot-core/src/shared/util.ts b/packages/loot-core/src/shared/util.ts index c281fad99c..5fe94ba90e 100644 --- a/packages/loot-core/src/shared/util.ts +++ b/packages/loot-core/src/shared/util.ts @@ -1,5 +1,6 @@ // @ts-strict-ignore -import { formatDistanceToNow, type Locale } from 'date-fns'; +import { formatDistanceToNow } from 'date-fns'; +import type { Locale } from 'date-fns'; export function last(arr: Array) { return arr[arr.length - 1]; diff --git a/packages/loot-core/src/types/api-handlers.ts b/packages/loot-core/src/types/api-handlers.ts index 3312be6b10..2561322174 100644 --- a/packages/loot-core/src/types/api-handlers.ts +++ b/packages/loot-core/src/types/api-handlers.ts @@ -1,5 +1,5 @@ // @ts-strict-ignore -import { type ImportTransactionsOpts } from '@actual-app/api'; +import type { ImportTransactionsOpts } from '@actual-app/api'; import type { ImportTransactionsResult } from '../server/accounts/app'; import type { @@ -10,8 +10,8 @@ import type { APIPayeeEntity, APIScheduleEntity, } from '../server/api-models'; -import { type BudgetFileHandlers } from '../server/budgetfiles/app'; -import { type batchUpdateTransactions } from '../server/transactions'; +import type { BudgetFileHandlers } from '../server/budgetfiles/app'; +import type { batchUpdateTransactions } from '../server/transactions'; import type { QueryState } from '../shared/query'; import type { diff --git a/packages/loot-core/src/types/file.ts b/packages/loot-core/src/types/file.ts index b45e5c01ac..3a15304d90 100644 --- a/packages/loot-core/src/types/file.ts +++ b/packages/loot-core/src/types/file.ts @@ -1,6 +1,6 @@ -import { type UsersWithAccess } from '../server/cloud-storage'; +import type { UsersWithAccess } from '../server/cloud-storage'; -import { type Budget } from './budget'; +import type { Budget } from './budget'; export type FileState = | 'local' diff --git a/packages/loot-core/src/types/models/bank-sync.ts b/packages/loot-core/src/types/models/bank-sync.ts index 6f39d39b78..6d27bfe8a8 100644 --- a/packages/loot-core/src/types/models/bank-sync.ts +++ b/packages/loot-core/src/types/models/bank-sync.ts @@ -1,7 +1,7 @@ -import { - type GoCardlessAmount, - type GoCardlessBalance, - type GoCardlessTransaction, +import type { + GoCardlessAmount, + GoCardlessBalance, + GoCardlessTransaction, } from './gocardless'; export type BankSyncBalance = GoCardlessBalance; diff --git a/packages/loot-core/src/types/models/category-group.ts b/packages/loot-core/src/types/models/category-group.ts index 965da1ff5b..224dcc67ac 100644 --- a/packages/loot-core/src/types/models/category-group.ts +++ b/packages/loot-core/src/types/models/category-group.ts @@ -1,4 +1,4 @@ -import { type CategoryEntity } from './category'; +import type { CategoryEntity } from './category'; export type CategoryGroupEntity = { id: string; diff --git a/packages/loot-core/src/types/models/category.ts b/packages/loot-core/src/types/models/category.ts index ef6b93acc7..69d2f74324 100644 --- a/packages/loot-core/src/types/models/category.ts +++ b/packages/loot-core/src/types/models/category.ts @@ -1,4 +1,4 @@ -import { type CategoryGroupEntity } from './category-group'; +import type { CategoryGroupEntity } from './category-group'; export type CategoryEntity = { id: string; diff --git a/packages/loot-core/src/types/models/dashboard.ts b/packages/loot-core/src/types/models/dashboard.ts index 68d2939968..776dabba20 100644 --- a/packages/loot-core/src/types/models/dashboard.ts +++ b/packages/loot-core/src/types/models/dashboard.ts @@ -1,5 +1,5 @@ -import { type CustomReportEntity } from './reports'; -import { type RuleConditionEntity } from './rule'; +import type { CustomReportEntity } from './reports'; +import type { RuleConditionEntity } from './rule'; export type DashboardEntity = { id: string; diff --git a/packages/loot-core/src/types/models/payee.ts b/packages/loot-core/src/types/models/payee.ts index 388506b3bf..753ff70bac 100644 --- a/packages/loot-core/src/types/models/payee.ts +++ b/packages/loot-core/src/types/models/payee.ts @@ -1,4 +1,4 @@ -import { type AccountEntity } from './account'; +import type { AccountEntity } from './account'; export type PayeeEntity = { id: string; diff --git a/packages/loot-core/src/types/models/reports.ts b/packages/loot-core/src/types/models/reports.ts index 796e922256..f897dd9898 100644 --- a/packages/loot-core/src/types/models/reports.ts +++ b/packages/loot-core/src/types/models/reports.ts @@ -1,4 +1,4 @@ -import { type RuleConditionEntity } from './rule'; +import type { RuleConditionEntity } from './rule'; export type CustomReportEntity = { id: string; diff --git a/packages/loot-core/src/types/models/rule.ts b/packages/loot-core/src/types/models/rule.ts index b63fcd3108..eea03d51d7 100644 --- a/packages/loot-core/src/types/models/rule.ts +++ b/packages/loot-core/src/types/models/rule.ts @@ -1,4 +1,4 @@ -import { type RecurConfig, type ScheduleEntity } from './schedule'; +import type { RecurConfig, ScheduleEntity } from './schedule'; export type NewRuleEntity = { stage: 'pre' | null | 'post'; diff --git a/packages/loot-core/src/types/models/simplefin.ts b/packages/loot-core/src/types/models/simplefin.ts index 70b67bb004..0c08400b27 100644 --- a/packages/loot-core/src/types/models/simplefin.ts +++ b/packages/loot-core/src/types/models/simplefin.ts @@ -1,5 +1,5 @@ -import { type AccountEntity } from './account'; -import { type BankSyncResponse } from './bank-sync'; +import type { AccountEntity } from './account'; +import type { BankSyncResponse } from './bank-sync'; export type SimpleFinOrganization = { id: string; diff --git a/packages/loot-core/src/types/models/transaction-filter.ts b/packages/loot-core/src/types/models/transaction-filter.ts index c8b4cb1427..060338cf70 100644 --- a/packages/loot-core/src/types/models/transaction-filter.ts +++ b/packages/loot-core/src/types/models/transaction-filter.ts @@ -1,4 +1,4 @@ -import { type RuleConditionEntity } from './rule'; +import type { RuleConditionEntity } from './rule'; export type TransactionFilterEntity = { id: string; diff --git a/packages/loot-core/src/types/models/transaction.ts b/packages/loot-core/src/types/models/transaction.ts index afde8d792e..b62dbb954c 100644 --- a/packages/loot-core/src/types/models/transaction.ts +++ b/packages/loot-core/src/types/models/transaction.ts @@ -1,9 +1,9 @@ -import { type IntegerAmount } from '../../shared/util'; +import type { IntegerAmount } from '../../shared/util'; -import { type AccountEntity } from './account'; -import { type CategoryEntity } from './category'; -import { type PayeeEntity } from './payee'; -import { type ScheduleEntity } from './schedule'; +import type { AccountEntity } from './account'; +import type { CategoryEntity } from './category'; +import type { PayeeEntity } from './payee'; +import type { ScheduleEntity } from './schedule'; export type TransactionEntity = { id: string; diff --git a/packages/loot-core/src/types/server-events.ts b/packages/loot-core/src/types/server-events.ts index 9f36ae94ca..c10a71f330 100644 --- a/packages/loot-core/src/types/server-events.ts +++ b/packages/loot-core/src/types/server-events.ts @@ -1,5 +1,5 @@ -import { type Backup } from '../server/budgetfiles/backups'; -import { type UndoState } from '../server/undo'; +import type { Backup } from '../server/budgetfiles/backups'; +import type { UndoState } from '../server/undo'; type SyncSubtype = | 'out-of-sync' diff --git a/packages/loot-core/src/types/server-handlers.ts b/packages/loot-core/src/types/server-handlers.ts index 0550f04822..bde883c30a 100644 --- a/packages/loot-core/src/types/server-handlers.ts +++ b/packages/loot-core/src/types/server-handlers.ts @@ -1,4 +1,4 @@ -import { type QueryState } from '../shared/query'; +import type { QueryState } from '../shared/query'; export type ServerHandlers = { undo: () => Promise; diff --git a/packages/sync-server/src/app-gocardless/banks/bank.interface.ts b/packages/sync-server/src/app-gocardless/banks/bank.interface.ts index e9448a0aad..1fe07754b8 100644 --- a/packages/sync-server/src/app-gocardless/banks/bank.interface.ts +++ b/packages/sync-server/src/app-gocardless/banks/bank.interface.ts @@ -1,7 +1,7 @@ -import { type Balance, type Transaction } from '../gocardless-node.types'; -import { - type DetailedAccountWithInstitution, - type NormalizedAccountDetails, +import type { Balance, Transaction } from '../gocardless-node.types'; +import type { + DetailedAccountWithInstitution, + NormalizedAccountDetails, } from '../gocardless.types'; type TransactionExtended = Transaction & { diff --git a/packages/sync-server/src/app-gocardless/gocardless.types.ts b/packages/sync-server/src/app-gocardless/gocardless.types.ts index 61fc8882b6..b06860eb62 100644 --- a/packages/sync-server/src/app-gocardless/gocardless.types.ts +++ b/packages/sync-server/src/app-gocardless/gocardless.types.ts @@ -1,10 +1,10 @@ -import { - type Balance, - type GoCardlessAccountDetails, - type GoCardlessAccountMetadata, - type Institution, - type Transaction, - type Transactions, +import type { + Balance, + GoCardlessAccountDetails, + GoCardlessAccountMetadata, + Institution, + Transaction, + Transactions, } from './gocardless-node.types'; export type DetailedAccount = Omit & diff --git a/packages/sync-server/src/config-types.ts b/packages/sync-server/src/config-types.ts index 04972a3e52..04b67eab4a 100644 --- a/packages/sync-server/src/config-types.ts +++ b/packages/sync-server/src/config-types.ts @@ -1,4 +1,4 @@ -import { type ServerOptions } from 'https'; +import type { ServerOptions } from 'https'; type LoginMethod = 'password' | 'header' | 'openid'; diff --git a/packages/sync-server/src/util/validate-user.ts b/packages/sync-server/src/util/validate-user.ts index 869db8500d..091a868b72 100644 --- a/packages/sync-server/src/util/validate-user.ts +++ b/packages/sync-server/src/util/validate-user.ts @@ -1,4 +1,4 @@ -import { type Request, type Response } from 'express'; +import type { Request, Response } from 'express'; import ipaddr from 'ipaddr.js'; import { getSession } from '../account-db'; diff --git a/upcoming-release-notes/6805.md b/upcoming-release-notes/6805.md new file mode 100644 index 0000000000..c4c4a829c7 --- /dev/null +++ b/upcoming-release-notes/6805.md @@ -0,0 +1,6 @@ +--- +category: Maintenance +authors: [MatissJanis] +--- + +lint: add "import/consistent-type-specifier-style" rule