github-issue-tower-defence-management 1.181.0 → 1.182.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.github/workflows/test.yml +1 -1
  2. package/CHANGELOG.md +14 -0
  3. package/bin/adapter/entry-points/console/ui-dist/assets/index-8Ni5iu-C.css +2 -0
  4. package/bin/adapter/entry-points/console/ui-dist/assets/index-y4IbtMEJ.js +86 -0
  5. package/bin/adapter/entry-points/console/ui-dist/index.html +2 -2
  6. package/bin/adapter/entry-points/console/webServer.js +6 -0
  7. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +23 -0
  10. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +25 -0
  11. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.tsx +6 -0
  12. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTimerSettingsModalDialog.stories.tsx +49 -0
  13. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTimerSettingsModalDialog.test.tsx +157 -0
  14. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTimerSettingsModalDialog.tsx +118 -0
  15. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectList.test.ts +74 -0
  16. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectList.ts +40 -0
  17. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectTimer.test.ts +59 -0
  18. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleProjectTimer.ts +26 -0
  19. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTimerSettings.test.ts +110 -0
  20. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleTimerSettings.ts +70 -0
  21. package/src/adapter/entry-points/console/ui/src/features/console/lib/consoleApi.ts +22 -0
  22. package/src/adapter/entry-points/console/ui/src/features/console/lib/navigation.ts +7 -0
  23. package/src/adapter/entry-points/console/ui/src/features/console/logic/timerSettings.test.ts +61 -0
  24. package/src/adapter/entry-points/console/ui/src/features/console/logic/timerSettings.ts +77 -0
  25. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +116 -0
  26. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +72 -2
  27. package/src/adapter/entry-points/console/ui/src/index.css +139 -0
  28. package/src/adapter/entry-points/console/ui-dist/assets/index-8Ni5iu-C.css +2 -0
  29. package/src/adapter/entry-points/console/ui-dist/assets/index-y4IbtMEJ.js +86 -0
  30. package/src/adapter/entry-points/console/ui-dist/index.html +2 -2
  31. package/src/adapter/entry-points/console/webServer.test.ts +93 -0
  32. package/src/adapter/entry-points/console/webServer.ts +6 -0
  33. package/src/adapter/repositories/GoogleSpreadsheetRepository.integration.test.ts +4 -3
  34. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
  35. package/bin/adapter/entry-points/console/ui-dist/assets/index-BUFcVUVD.js +0 -86
  36. package/bin/adapter/entry-points/console/ui-dist/assets/index-DeZcPNCr.css +0 -2
  37. package/src/adapter/entry-points/console/ui-dist/assets/index-BUFcVUVD.js +0 -86
  38. package/src/adapter/entry-points/console/ui-dist/assets/index-DeZcPNCr.css +0 -2
@@ -4,8 +4,8 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>TDPM Console</title>
7
- <script type="module" crossorigin src="/assets/index-BUFcVUVD.js"></script>
8
- <link rel="stylesheet" crossorigin href="/assets/index-DeZcPNCr.css">
7
+ <script type="module" crossorigin src="/assets/index-y4IbtMEJ.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/assets/index-8Ni5iu-C.css">
9
9
  </head>
10
10
  <body>
11
11
  <div id="root"></div>
@@ -348,6 +348,12 @@ const parseRequestBody = (raw) => {
348
348
  return parsed;
349
349
  };
350
350
  const handleReadApi = async (options, requestPath, searchParams) => {
351
+ if (requestPath === '/api/projects') {
352
+ return {
353
+ statusCode: 200,
354
+ body: { pjcodes: options.dashboardProjectNames },
355
+ };
356
+ }
351
357
  const defaultIssueRepository = options.issueRepository ?? null;
352
358
  if (defaultIssueRepository === null) {
353
359
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"webServer.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webServer.js","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/webServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.181.0",
3
+ "version": "1.182.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -103,3 +103,26 @@ export const Interactive: Story = {
103
103
  );
104
104
  },
105
105
  };
106
+
107
+ export const WithSettingsButton: Story = {
108
+ args: {
109
+ activeTab: 'prs',
110
+ counts,
111
+ settingsButton: (
112
+ <button
113
+ type="button"
114
+ style={{
115
+ background: 'transparent',
116
+ border: 'none',
117
+ color: '#8b949e',
118
+ cursor: 'pointer',
119
+ fontSize: '1rem',
120
+ padding: '4px 8px',
121
+ }}
122
+ aria-label="Console Settings"
123
+ >
124
+ ⚙
125
+ </button>
126
+ ),
127
+ },
128
+ };
@@ -145,4 +145,29 @@ describe('ConsoleTabList', () => {
145
145
  ).toBeNull();
146
146
  expect(document.querySelector('[data-from-cache]')).toBeNull();
147
147
  });
148
+
149
+ it('renders the settingsButton prop at the end of the tab bar when provided', () => {
150
+ const { getByTestId } = render(
151
+ <ConsoleTabList
152
+ {...baseProps}
153
+ activeTab="prs"
154
+ counts={counts}
155
+ settingsButton={
156
+ <button type="button" data-testid="settings-btn">
157
+ ⚙
158
+ </button>
159
+ }
160
+ />,
161
+ );
162
+ const btn = getByTestId('settings-btn');
163
+ expect(btn).toBeInTheDocument();
164
+ expect(btn.closest('nav.console-tabbar')).not.toBeNull();
165
+ });
166
+
167
+ it('does not render a settings slot when settingsButton is not provided', () => {
168
+ const { container } = render(
169
+ <ConsoleTabList {...baseProps} activeTab="prs" counts={counts} />,
170
+ );
171
+ expect(container.querySelector('.console-tab-settings')).toBeNull();
172
+ });
148
173
  });
@@ -1,3 +1,4 @@
1
+ import type { ReactNode } from 'react';
1
2
  import { CONSOLE_TABS, type ConsoleTabName } from '../../logic/types';
2
3
 
3
4
  export type ConsoleTabBarProps = {
@@ -8,6 +9,7 @@ export type ConsoleTabBarProps = {
8
9
  fromCache: boolean;
9
10
  tabHref: (tab: ConsoleTabName) => string;
10
11
  onSelectTab: (tab: ConsoleTabName) => void;
12
+ settingsButton?: ReactNode;
11
13
  };
12
14
 
13
15
  export const ConsoleTabList = ({
@@ -18,6 +20,7 @@ export const ConsoleTabList = ({
18
20
  fromCache,
19
21
  tabHref,
20
22
  onSelectTab,
23
+ settingsButton,
21
24
  }: ConsoleTabBarProps) => {
22
25
  return (
23
26
  <nav aria-label="Console tabs" className="console-tabbar">
@@ -68,6 +71,9 @@ export const ConsoleTabList = ({
68
71
  {fromCache ? '(cached) ' : ''}snapshot: {generatedAt}
69
72
  </span>
70
73
  )}
74
+ {settingsButton !== undefined && (
75
+ <span className="console-tab-settings">{settingsButton}</span>
76
+ )}
71
77
  </nav>
72
78
  );
73
79
  };
@@ -0,0 +1,49 @@
1
+ import type { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { ConsoleTimerSettingsModalDialog } from './ConsoleTimerSettingsModalDialog';
3
+
4
+ const meta: Meta<typeof ConsoleTimerSettingsModalDialog> = {
5
+ title: 'Console/ConsoleTimerSettingsModalDialog',
6
+ component: ConsoleTimerSettingsModalDialog,
7
+ args: {
8
+ pjcodes: ['acme', 'beta'],
9
+ isLoadingPjcodes: false,
10
+ projectMinutes: { acme: 25, beta: 0 },
11
+ timerMode: false,
12
+ onOpen: () => {},
13
+ onToggleTimerMode: () => {},
14
+ onChangeMinutes: () => {},
15
+ onSave: () => {},
16
+ onClose: () => {},
17
+ },
18
+ };
19
+
20
+ export default meta;
21
+
22
+ type Story = StoryObj<typeof ConsoleTimerSettingsModalDialog>;
23
+
24
+ export const Closed: Story = {
25
+ args: {
26
+ isOpen: false,
27
+ },
28
+ };
29
+
30
+ export const OpenLoading: Story = {
31
+ args: {
32
+ isOpen: true,
33
+ isLoadingPjcodes: true,
34
+ },
35
+ };
36
+
37
+ export const OpenTimerOff: Story = {
38
+ args: {
39
+ isOpen: true,
40
+ timerMode: false,
41
+ },
42
+ };
43
+
44
+ export const OpenTimerOn: Story = {
45
+ args: {
46
+ isOpen: true,
47
+ timerMode: true,
48
+ },
49
+ };
@@ -0,0 +1,157 @@
1
+ import { fireEvent, render } from '@testing-library/react';
2
+ import { ConsoleTimerSettingsModalDialog } from './ConsoleTimerSettingsModalDialog';
3
+
4
+ const baseProps = {
5
+ isOpen: false,
6
+ timerMode: false,
7
+ projectMinutes: {},
8
+ pjcodes: ['alpha', 'beta', 'gamma'],
9
+ isLoadingPjcodes: false,
10
+ onOpen: jest.fn(),
11
+ onToggleTimerMode: jest.fn(),
12
+ onChangeMinutes: jest.fn(),
13
+ onSave: jest.fn(),
14
+ onClose: jest.fn(),
15
+ };
16
+
17
+ describe('ConsoleTimerSettingsModalDialog', () => {
18
+ beforeEach(() => {
19
+ jest.clearAllMocks();
20
+ });
21
+
22
+ it('renders the gear button when the dialog is closed', () => {
23
+ const { getByRole, queryByRole } = render(
24
+ <ConsoleTimerSettingsModalDialog {...baseProps} isOpen={false} />,
25
+ );
26
+ expect(
27
+ getByRole('button', { name: 'Console Settings' }),
28
+ ).toBeInTheDocument();
29
+ expect(queryByRole('dialog')).toBeNull();
30
+ });
31
+
32
+ it('renders the gear button when the dialog is open', () => {
33
+ const { getByRole } = render(
34
+ <ConsoleTimerSettingsModalDialog {...baseProps} isOpen={true} />,
35
+ );
36
+ expect(
37
+ getByRole('button', { name: 'Console Settings' }),
38
+ ).toBeInTheDocument();
39
+ });
40
+
41
+ it('calls onOpen when the gear button is clicked', () => {
42
+ const onOpen = jest.fn();
43
+ const { getByRole } = render(
44
+ <ConsoleTimerSettingsModalDialog
45
+ {...baseProps}
46
+ isOpen={false}
47
+ onOpen={onOpen}
48
+ />,
49
+ );
50
+ fireEvent.click(getByRole('button', { name: 'Console Settings' }));
51
+ expect(onOpen).toHaveBeenCalledTimes(1);
52
+ });
53
+
54
+ it('renders the dialog when isOpen is true', () => {
55
+ const { getByRole } = render(
56
+ <ConsoleTimerSettingsModalDialog {...baseProps} isOpen={true} />,
57
+ );
58
+ expect(getByRole('dialog')).toBeInTheDocument();
59
+ expect(getByRole('dialog')).toHaveAttribute(
60
+ 'aria-label',
61
+ 'Console Settings',
62
+ );
63
+ });
64
+
65
+ it('shows loading state when isLoadingPjcodes is true', () => {
66
+ const { getByText, queryByRole } = render(
67
+ <ConsoleTimerSettingsModalDialog
68
+ {...baseProps}
69
+ isOpen={true}
70
+ isLoadingPjcodes={true}
71
+ />,
72
+ );
73
+ expect(getByText('Loading projects...')).toBeInTheDocument();
74
+ expect(queryByRole('list')).toBeNull();
75
+ });
76
+
77
+ it('renders per-project minute inputs when loaded', () => {
78
+ const { getByLabelText } = render(
79
+ <ConsoleTimerSettingsModalDialog
80
+ {...baseProps}
81
+ isOpen={true}
82
+ pjcodes={['alpha', 'beta']}
83
+ projectMinutes={{ alpha: 5, beta: 0 }}
84
+ />,
85
+ );
86
+ expect(getByLabelText('alpha')).toHaveValue(5);
87
+ expect(getByLabelText('beta')).toHaveValue(0);
88
+ });
89
+
90
+ it('shows "Skip" label for projects with 0 minutes', () => {
91
+ const { getAllByText, queryByText } = render(
92
+ <ConsoleTimerSettingsModalDialog
93
+ {...baseProps}
94
+ isOpen={true}
95
+ pjcodes={['alpha', 'beta']}
96
+ projectMinutes={{ alpha: 5, beta: 0 }}
97
+ />,
98
+ );
99
+ expect(getAllByText('Skip')).toHaveLength(1);
100
+ expect(queryByText('min')).toBeInTheDocument();
101
+ });
102
+
103
+ it('calls onSave when "Save and Close" is clicked', () => {
104
+ const onSave = jest.fn();
105
+ const { getByText } = render(
106
+ <ConsoleTimerSettingsModalDialog
107
+ {...baseProps}
108
+ isOpen={true}
109
+ onSave={onSave}
110
+ />,
111
+ );
112
+ fireEvent.click(getByText('Save and Close'));
113
+ expect(onSave).toHaveBeenCalledTimes(1);
114
+ });
115
+
116
+ it('calls onToggleTimerMode when the timer mode checkbox is changed', () => {
117
+ const onToggleTimerMode = jest.fn();
118
+ const { getByLabelText } = render(
119
+ <ConsoleTimerSettingsModalDialog
120
+ {...baseProps}
121
+ isOpen={true}
122
+ timerMode={false}
123
+ onToggleTimerMode={onToggleTimerMode}
124
+ />,
125
+ );
126
+ fireEvent.click(getByLabelText('Timer Mode'));
127
+ expect(onToggleTimerMode).toHaveBeenCalledWith(true);
128
+ });
129
+
130
+ it('calls onChangeMinutes when a minutes input changes', () => {
131
+ const onChangeMinutes = jest.fn();
132
+ const { getByLabelText } = render(
133
+ <ConsoleTimerSettingsModalDialog
134
+ {...baseProps}
135
+ isOpen={true}
136
+ pjcodes={['alpha']}
137
+ projectMinutes={{ alpha: 5 }}
138
+ onChangeMinutes={onChangeMinutes}
139
+ />,
140
+ );
141
+ fireEvent.change(getByLabelText('alpha'), { target: { value: '10' } });
142
+ expect(onChangeMinutes).toHaveBeenCalledWith('alpha', 10);
143
+ });
144
+
145
+ it('calls onClose when the backdrop is clicked', () => {
146
+ const onClose = jest.fn();
147
+ const { getByRole } = render(
148
+ <ConsoleTimerSettingsModalDialog
149
+ {...baseProps}
150
+ isOpen={true}
151
+ onClose={onClose}
152
+ />,
153
+ );
154
+ fireEvent.click(getByRole('button', { name: 'Close settings' }));
155
+ expect(onClose).toHaveBeenCalledTimes(1);
156
+ });
157
+ });
@@ -0,0 +1,118 @@
1
+ export type ConsoleTimerSettingsModalDialogProps = {
2
+ isOpen: boolean;
3
+ timerMode: boolean;
4
+ projectMinutes: Record<string, number>;
5
+ pjcodes: string[];
6
+ isLoadingPjcodes: boolean;
7
+ onOpen: () => void;
8
+ onToggleTimerMode: (enabled: boolean) => void;
9
+ onChangeMinutes: (pjcode: string, minutes: number) => void;
10
+ onSave: () => void;
11
+ onClose: () => void;
12
+ };
13
+
14
+ export const ConsoleTimerSettingsModalDialog = ({
15
+ isOpen,
16
+ timerMode,
17
+ projectMinutes,
18
+ pjcodes,
19
+ isLoadingPjcodes,
20
+ onOpen,
21
+ onToggleTimerMode,
22
+ onChangeMinutes,
23
+ onSave,
24
+ onClose,
25
+ }: ConsoleTimerSettingsModalDialogProps) => {
26
+ return (
27
+ <>
28
+ <button
29
+ type="button"
30
+ className="console-timer-settings-button"
31
+ aria-label="Console Settings"
32
+ aria-haspopup="dialog"
33
+ aria-expanded={isOpen}
34
+ onClick={onOpen}
35
+ >
36
+ ⚙
37
+ </button>
38
+ {isOpen && (
39
+ <div
40
+ className="console-timer-settings-dialog"
41
+ role="dialog"
42
+ aria-modal="true"
43
+ aria-label="Console Settings"
44
+ >
45
+ <button
46
+ type="button"
47
+ className="console-timer-settings-backdrop"
48
+ aria-label="Close settings"
49
+ onClick={onClose}
50
+ />
51
+ <div className="console-timer-settings-dialog-inner">
52
+ <h2 className="console-timer-settings-title">Console Settings</h2>
53
+ <div className="console-timer-settings-row">
54
+ <label
55
+ className="console-timer-settings-label"
56
+ htmlFor="timer-mode-toggle"
57
+ >
58
+ Timer Mode
59
+ </label>
60
+ <input
61
+ id="timer-mode-toggle"
62
+ type="checkbox"
63
+ checked={timerMode}
64
+ onChange={(e) => onToggleTimerMode(e.target.checked)}
65
+ />
66
+ </div>
67
+ {isLoadingPjcodes ? (
68
+ <div className="console-timer-settings-loading">
69
+ Loading projects...
70
+ </div>
71
+ ) : (
72
+ <ul className="console-timer-settings-project-list">
73
+ {pjcodes.map((pjcode) => (
74
+ <li
75
+ key={pjcode}
76
+ className="console-timer-settings-project-row"
77
+ >
78
+ <label
79
+ htmlFor={`timer-minutes-${pjcode}`}
80
+ className="console-timer-settings-pjcode"
81
+ >
82
+ {pjcode}
83
+ </label>
84
+ <input
85
+ id={`timer-minutes-${pjcode}`}
86
+ type="number"
87
+ min={0}
88
+ value={projectMinutes[pjcode] ?? 0}
89
+ onChange={(e) =>
90
+ onChangeMinutes(
91
+ pjcode,
92
+ Math.max(0, parseInt(e.target.value, 10) || 0),
93
+ )
94
+ }
95
+ className="console-timer-settings-minutes-input"
96
+ />
97
+ <span className="console-timer-settings-minutes-label">
98
+ {(projectMinutes[pjcode] ?? 0) === 0 ? 'Skip' : 'min'}
99
+ </span>
100
+ </li>
101
+ ))}
102
+ </ul>
103
+ )}
104
+ <div className="console-timer-settings-actions">
105
+ <button
106
+ type="button"
107
+ className="console-timer-settings-save"
108
+ onClick={onSave}
109
+ >
110
+ Save and Close
111
+ </button>
112
+ </div>
113
+ </div>
114
+ </div>
115
+ )}
116
+ </>
117
+ );
118
+ };
@@ -0,0 +1,74 @@
1
+ import { act, renderHook, waitFor } from '@testing-library/react';
2
+ import { useConsoleProjectList } from './useConsoleProjectList';
3
+
4
+ describe('useConsoleProjectList', () => {
5
+ afterEach(() => {
6
+ jest.restoreAllMocks();
7
+ });
8
+
9
+ it('starts in loading state with empty pjcodes and no error', () => {
10
+ global.fetch = jest.fn(
11
+ () => new Promise(() => undefined),
12
+ ) as unknown as typeof fetch;
13
+
14
+ const { result } = renderHook(() => useConsoleProjectList());
15
+ expect(result.current.isLoading).toBe(true);
16
+ expect(result.current.pjcodes).toEqual([]);
17
+ expect(result.current.error).toBeNull();
18
+ });
19
+
20
+ it('populates pjcodes and clears loading state when fetchProjectList resolves', async () => {
21
+ global.fetch = jest.fn(async () => ({
22
+ ok: true,
23
+ status: 200,
24
+ json: async () => ({ pjcodes: ['acme', 'beta'] }),
25
+ })) as unknown as typeof fetch;
26
+
27
+ const { result } = renderHook(() => useConsoleProjectList());
28
+ await waitFor(() => {
29
+ expect(result.current.isLoading).toBe(false);
30
+ });
31
+ expect(result.current.pjcodes).toEqual(['acme', 'beta']);
32
+ expect(result.current.error).toBeNull();
33
+ });
34
+
35
+ it('sets error and clears loading state when fetchProjectList rejects', async () => {
36
+ global.fetch = jest.fn(async () => ({
37
+ ok: false,
38
+ status: 401,
39
+ json: async () => ({}),
40
+ })) as unknown as typeof fetch;
41
+
42
+ const { result } = renderHook(() => useConsoleProjectList());
43
+ await waitFor(() => {
44
+ expect(result.current.isLoading).toBe(false);
45
+ });
46
+ expect(result.current.error).toBeInstanceOf(Error);
47
+ expect(result.current.error?.message).toBe('HTTP 401');
48
+ expect(result.current.pjcodes).toEqual([]);
49
+ });
50
+
51
+ it('skips state update when component unmounts before fetch resolves', async () => {
52
+ let resolveResponse!: (value: unknown) => void;
53
+ const pendingFetch = new Promise<unknown>((resolve) => {
54
+ resolveResponse = resolve;
55
+ });
56
+ global.fetch = jest.fn(() => pendingFetch) as unknown as typeof fetch;
57
+
58
+ const { result, unmount } = renderHook(() => useConsoleProjectList());
59
+ expect(result.current.isLoading).toBe(true);
60
+
61
+ unmount();
62
+
63
+ await act(async () => {
64
+ resolveResponse({
65
+ ok: true,
66
+ status: 200,
67
+ json: async () => ({ pjcodes: ['acme'] }),
68
+ });
69
+ });
70
+
71
+ expect(result.current.pjcodes).toEqual([]);
72
+ expect(result.current.isLoading).toBe(true);
73
+ });
74
+ });
@@ -0,0 +1,40 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { fetchProjectList } from '../lib/consoleApi';
3
+
4
+ export type ConsoleProjectListState = {
5
+ pjcodes: string[];
6
+ isLoading: boolean;
7
+ error: Error | null;
8
+ };
9
+
10
+ export const useConsoleProjectList = (): ConsoleProjectListState => {
11
+ const [pjcodes, setPjcodes] = useState<string[]>([]);
12
+ const [isLoading, setIsLoading] = useState(true);
13
+ const [error, setError] = useState<Error | null>(null);
14
+
15
+ useEffect(() => {
16
+ let cancelled = false;
17
+ setIsLoading(true);
18
+ setError(null);
19
+
20
+ fetchProjectList()
21
+ .then((list) => {
22
+ if (!cancelled) {
23
+ setPjcodes(list);
24
+ setIsLoading(false);
25
+ }
26
+ })
27
+ .catch((cause: unknown) => {
28
+ if (!cancelled) {
29
+ setError(cause instanceof Error ? cause : new Error(String(cause)));
30
+ setIsLoading(false);
31
+ }
32
+ });
33
+
34
+ return () => {
35
+ cancelled = true;
36
+ };
37
+ }, []);
38
+
39
+ return { pjcodes, isLoading, error };
40
+ };