From 4d1a514210282f7d912140d54cb30c18177ab483 Mon Sep 17 00:00:00 2001
From: Matiss Janis Aboltins <matiss@mja.lv>
Date: Mon, 2 Jan 2023 11:10:18 +0000
Subject: [PATCH] feat: creating test budget on the config page

---
 .../src/components/manager/ConfigServer.js    | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/packages/desktop-client/src/components/manager/ConfigServer.js b/packages/desktop-client/src/components/manager/ConfigServer.js
index 86ece34bf..408927c2b 100644
--- a/packages/desktop-client/src/components/manager/ConfigServer.js
+++ b/packages/desktop-client/src/components/manager/ConfigServer.js
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
 import { useDispatch } from 'react-redux';
 import { useHistory } from 'react-router-dom';
 
+import { createBudget } from 'loot-core/src/client/actions/budgets';
 import { signOut, loggedIn } from 'loot-core/src/client/actions/user';
 import { send } from 'loot-core/src/platform/client/fetch';
 import {
@@ -11,6 +12,10 @@ import {
   ButtonWithLoading
 } from 'loot-design/src/components/common';
 import { colors } from 'loot-design/src/style';
+import {
+  isDevelopmentEnvironment,
+  isPreviewEnvironment
+} from 'loot-design/src/util/environment';
 
 import { useServerURL } from '../../hooks/useServerURL';
 import { Title, Input } from './subscribe/common';
@@ -78,6 +83,11 @@ export default function ConfigServer() {
     history.push('/');
   }
 
+  async function onCreateTestFile() {
+    await dispatch(createBudget({ testMode: true }));
+    await onSkip();
+  }
+
   return (
     <>
       <View style={{ width: 500, marginTop: -30 }}>
@@ -169,6 +179,16 @@ export default function ConfigServer() {
               <Button bare style={{ color: colors.n4 }} onClick={onSkip}>
                 Don't use a server
               </Button>
+
+              {(isDevelopmentEnvironment() || isPreviewEnvironment()) && (
+                <Button
+                  primary
+                  style={{ marginLeft: 15 }}
+                  onClick={onCreateTestFile}
+                >
+                  Create test file
+                </Button>
+              )}
             </>
           )}
         </View>
-- 
GitLab