From 2178da0414958064337b2c53efc95ff1d3abf98a Mon Sep 17 00:00:00 2001
From: DJ Mountney <david@twkie.net>
Date: Sat, 4 May 2024 09:58:44 -0700
Subject: [PATCH] Fix some additional incorrect types (#2676)

* Fix some additional incorrect types

- This is part of working towards having enough correct types to be able to run tsc on our packed api without error.
- Working towards being able to ship types for the api in the package

* Add release note
---
 packages/desktop-client/src/components/ThemeSelector.tsx | 1 +
 packages/desktop-client/src/style/theme.tsx              | 6 +++++-
 packages/loot-core/src/types/models/index.d.ts           | 1 +
 packages/loot-core/src/types/models/transaction.d.ts     | 6 +++++-
 packages/loot-core/src/types/prefs.d.ts                  | 4 +++-
 packages/loot-core/src/types/server-handlers.d.ts        | 2 +-
 upcoming-release-notes/2676.md                           | 6 ++++++
 7 files changed, 22 insertions(+), 4 deletions(-)
 create mode 100644 upcoming-release-notes/2676.md

diff --git a/packages/desktop-client/src/components/ThemeSelector.tsx b/packages/desktop-client/src/components/ThemeSelector.tsx
index 1127ec128..e07bcd13a 100644
--- a/packages/desktop-client/src/components/ThemeSelector.tsx
+++ b/packages/desktop-client/src/components/ThemeSelector.tsx
@@ -26,6 +26,7 @@ export function ThemeSelector({ style }: ThemeSelectorProps) {
     dark: SvgMoonStars,
     auto: SvgSystem,
     midnight: SvgMoonStars,
+    development: SvgMoonStars,
   } as const;
 
   function onMenuSelect(newTheme: Theme) {
diff --git a/packages/desktop-client/src/style/theme.tsx b/packages/desktop-client/src/style/theme.tsx
index da0e68dbe..96a7e9595 100644
--- a/packages/desktop-client/src/style/theme.tsx
+++ b/packages/desktop-client/src/style/theme.tsx
@@ -33,7 +33,11 @@ export function useTheme() {
 export function ThemeStyle() {
   const [theme] = useTheme();
   const [themeColors, setThemeColors] = useState<
-    typeof lightTheme | typeof darkTheme | typeof midnightTheme | undefined
+    | typeof lightTheme
+    | typeof darkTheme
+    | typeof midnightTheme
+    | typeof developmentTheme
+    | undefined
   >(undefined);
 
   useEffect(() => {
diff --git a/packages/loot-core/src/types/models/index.d.ts b/packages/loot-core/src/types/models/index.d.ts
index 2b16ebf4c..1e08cb06a 100644
--- a/packages/loot-core/src/types/models/index.d.ts
+++ b/packages/loot-core/src/types/models/index.d.ts
@@ -2,6 +2,7 @@ export type * from './account';
 export type * from './category';
 export type * from './category-group';
 export type * from './gocardless';
+export type * from './simplefin';
 export type * from './note';
 export type * from './payee';
 export type * from './reports';
diff --git a/packages/loot-core/src/types/models/transaction.d.ts b/packages/loot-core/src/types/models/transaction.d.ts
index bc145b524..93699a59b 100644
--- a/packages/loot-core/src/types/models/transaction.d.ts
+++ b/packages/loot-core/src/types/models/transaction.d.ts
@@ -26,7 +26,11 @@ export interface NewTransactionEntity {
   subtransactions?: Omit<NewTransactionEntity, 'account' | 'date'>[];
 }
 
-export interface TransactionEntity extends NewTransactionEntity {
+export interface TransactionEntity
+  extends Omit<
+    NewTransactionEntity,
+    'account' | 'category' | 'payee' | 'schedule' | 'subtransactions'
+  > {
   id: string;
   account: AccountEntity;
   category?: CategoryEntity;
diff --git a/packages/loot-core/src/types/prefs.d.ts b/packages/loot-core/src/types/prefs.d.ts
index 63e20d2cd..d3632e030 100644
--- a/packages/loot-core/src/types/prefs.d.ts
+++ b/packages/loot-core/src/types/prefs.d.ts
@@ -58,10 +58,12 @@ export type LocalPrefs = Partial<
   } & Record<`flags.${FeatureFlag}`, boolean>
 >;
 
-export type Theme = 'light' | 'dark' | 'auto' | 'midnight';
+export type Theme = 'light' | 'dark' | 'auto' | 'midnight' | 'development';
 export type GlobalPrefs = Partial<{
   floatingSidebar: boolean;
   maxMonths: number;
+  autoUpdate: boolean;
+  keyId?: string;
   theme: Theme;
   documentDir: string; // Electron only
 }>;
diff --git a/packages/loot-core/src/types/server-handlers.d.ts b/packages/loot-core/src/types/server-handlers.d.ts
index 9610727fb..f03c088aa 100644
--- a/packages/loot-core/src/types/server-handlers.d.ts
+++ b/packages/loot-core/src/types/server-handlers.d.ts
@@ -1,4 +1,3 @@
-import { GlobalPrefs, LocalPrefs } from '../client/state-types/prefs';
 import { ParseFileResult } from '../server/accounts/parse-file';
 import { batchUpdateTransactions } from '../server/accounts/transactions';
 import { Backup } from '../server/backups';
@@ -17,6 +16,7 @@ import {
   SimpleFinAccount,
   PayeeEntity,
 } from './models';
+import { GlobalPrefs, LocalPrefs } from './prefs';
 import { EmptyObject } from './util';
 
 export interface ServerHandlers {
diff --git a/upcoming-release-notes/2676.md b/upcoming-release-notes/2676.md
new file mode 100644
index 000000000..9fe93d35e
--- /dev/null
+++ b/upcoming-release-notes/2676.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [twk3]
+---
+
+Fix some type errors found by the API packaging
-- 
GitLab