datajunction-ui 0.0.59 → 0.0.62

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.
@@ -747,6 +747,17 @@ describe('<GitSettingsModal />', () => {
747
747
 
748
748
  beforeEach(() => {
749
749
  jest.clearAllMocks();
750
+ // Mock fetch for parent config fetching
751
+ global.fetch = jest.fn(() =>
752
+ Promise.resolve({
753
+ ok: true,
754
+ json: () =>
755
+ Promise.resolve({
756
+ github_repo_path: 'test/repo',
757
+ git_path: 'nodes/',
758
+ }),
759
+ }),
760
+ );
750
761
  });
751
762
 
752
763
  it('should not render when isOpen is false', () => {
@@ -754,39 +765,44 @@ describe('<GitSettingsModal />', () => {
754
765
  expect(screen.queryByText('Git Configuration')).not.toBeInTheDocument();
755
766
  });
756
767
 
757
- it('should render the modal with form fields', () => {
768
+ it('should render the modal with git root form fields', () => {
758
769
  render(<GitSettingsModal {...defaultProps} />);
759
770
 
760
771
  expect(screen.getByText('Git Configuration')).toBeInTheDocument();
761
- expect(screen.getByLabelText('Repository')).toBeInTheDocument();
762
- expect(screen.getByLabelText('Branch')).toBeInTheDocument();
763
- expect(screen.getByLabelText('Path')).toBeInTheDocument();
772
+ expect(screen.getByLabelText(/Repository/)).toBeInTheDocument();
773
+ expect(screen.getByLabelText(/Path/)).toBeInTheDocument();
774
+ // Branch field (from branch mode) should NOT be present in git root mode
775
+ expect(screen.queryByLabelText(/^Branch \*/)).not.toBeInTheDocument();
764
776
  });
765
777
 
766
- it('should pre-fill form with current config', () => {
778
+ it('should pre-fill form with git root config', () => {
767
779
  const config = {
768
780
  github_repo_path: 'myorg/repo',
769
- git_branch: 'main',
770
781
  git_path: 'definitions/',
771
- git_only: true,
772
782
  };
773
783
 
774
784
  render(<GitSettingsModal {...defaultProps} currentConfig={config} />);
775
785
 
776
- expect(screen.getByLabelText('Repository')).toHaveValue('myorg/repo');
777
- expect(screen.getByLabelText('Branch')).toHaveValue('main');
778
- expect(screen.getByLabelText('Path')).toHaveValue('definitions/');
786
+ expect(screen.getByLabelText(/Repository/)).toHaveValue('myorg/repo');
787
+ expect(screen.getByLabelText(/Path/)).toHaveValue('definitions/');
788
+ // Branch field (from branch mode) should NOT be present in git root mode
789
+ expect(screen.queryByLabelText(/^Branch \*/)).not.toBeInTheDocument();
779
790
  });
780
791
 
781
- it('should pre-fill git_only checkbox from config', () => {
792
+ it('should pre-fill git_only checkbox from branch namespace config', () => {
782
793
  const config = {
783
- github_repo_path: 'myorg/repo',
784
- git_branch: 'main',
785
- git_path: 'definitions/',
794
+ parent_namespace: 'analytics',
795
+ git_branch: 'feature',
786
796
  git_only: false,
787
797
  };
788
798
 
789
- render(<GitSettingsModal {...defaultProps} currentConfig={config} />);
799
+ render(
800
+ <GitSettingsModal
801
+ {...defaultProps}
802
+ namespace="analytics.feature"
803
+ currentConfig={config}
804
+ />,
805
+ );
790
806
 
791
807
  const checkbox = screen.getByRole('checkbox');
792
808
  expect(checkbox).not.toBeChecked();
@@ -794,43 +810,45 @@ describe('<GitSettingsModal />', () => {
794
810
 
795
811
  it('should default path to nodes/ for new config', () => {
796
812
  render(<GitSettingsModal {...defaultProps} />);
797
- expect(screen.getByLabelText('Path')).toHaveValue('nodes/');
813
+ expect(screen.getByLabelText(/Path/)).toHaveValue('nodes/');
798
814
  });
799
815
 
800
- it('should default git_only to true for new config', () => {
816
+ it('should not show git_only checkbox in git root mode for new config', () => {
801
817
  render(<GitSettingsModal {...defaultProps} />);
802
- const checkbox = screen.getByRole('checkbox');
803
- expect(checkbox).toBeChecked();
818
+ // Git root mode has no checkbox
819
+ expect(screen.queryByRole('checkbox')).not.toBeInTheDocument();
804
820
  });
805
821
 
806
- it('should call onSave when form is submitted', async () => {
822
+ it('should call onSave when git root form is submitted', async () => {
807
823
  defaultProps.onSave.mockResolvedValue({ success: true });
808
824
 
809
825
  render(<GitSettingsModal {...defaultProps} />);
810
826
 
811
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
812
- await userEvent.type(screen.getByLabelText('Branch'), 'main');
827
+ await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
813
828
  await userEvent.click(
814
829
  screen.getByRole('button', { name: 'Save Settings' }),
815
830
  );
816
831
 
817
832
  await waitFor(() => {
818
833
  expect(defaultProps.onSave).toHaveBeenCalledWith({
834
+ default_branch: 'main',
819
835
  github_repo_path: 'myorg/repo',
820
- git_branch: 'main',
821
836
  git_path: 'nodes/',
822
- git_only: true,
823
837
  });
824
838
  });
825
839
  });
826
840
 
827
- it('should call onSave with git_only false when unchecked', async () => {
841
+ it('should call onSave with git_only when branch namespace form is submitted', async () => {
828
842
  defaultProps.onSave.mockResolvedValue({ success: true });
829
843
 
830
- render(<GitSettingsModal {...defaultProps} />);
844
+ render(
845
+ <GitSettingsModal {...defaultProps} namespace="analytics.feature" />,
846
+ );
847
+
848
+ // Switch to branch mode
849
+ await userEvent.click(screen.getByText('Branch Namespace'));
831
850
 
832
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
833
- await userEvent.type(screen.getByLabelText('Branch'), 'main');
851
+ await userEvent.type(screen.getByLabelText(/Branch/), 'feature-x');
834
852
  await userEvent.click(screen.getByRole('checkbox')); // Uncheck git_only
835
853
  await userEvent.click(
836
854
  screen.getByRole('button', { name: 'Save Settings' }),
@@ -838,9 +856,8 @@ describe('<GitSettingsModal />', () => {
838
856
 
839
857
  await waitFor(() => {
840
858
  expect(defaultProps.onSave).toHaveBeenCalledWith({
841
- github_repo_path: 'myorg/repo',
842
- git_branch: 'main',
843
- git_path: 'nodes/',
859
+ git_branch: 'feature-x',
860
+ parent_namespace: 'analytics',
844
861
  git_only: false,
845
862
  });
846
863
  });
@@ -851,7 +868,7 @@ describe('<GitSettingsModal />', () => {
851
868
 
852
869
  render(<GitSettingsModal {...defaultProps} />);
853
870
 
854
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
871
+ await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
855
872
  await userEvent.click(
856
873
  screen.getByRole('button', { name: 'Save Settings' }),
857
874
  );
@@ -871,7 +888,7 @@ describe('<GitSettingsModal />', () => {
871
888
 
872
889
  render(<GitSettingsModal {...defaultProps} />);
873
890
 
874
- await userEvent.type(screen.getByLabelText('Repository'), 'invalid');
891
+ await userEvent.type(screen.getByLabelText(/Repository/), 'invalid');
875
892
  await userEvent.click(
876
893
  screen.getByRole('button', { name: 'Save Settings' }),
877
894
  );
@@ -886,7 +903,7 @@ describe('<GitSettingsModal />', () => {
886
903
 
887
904
  render(<GitSettingsModal {...defaultProps} />);
888
905
 
889
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
906
+ await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
890
907
  await userEvent.click(
891
908
  screen.getByRole('button', { name: 'Save Settings' }),
892
909
  );
@@ -901,7 +918,7 @@ describe('<GitSettingsModal />', () => {
901
918
 
902
919
  render(<GitSettingsModal {...defaultProps} />);
903
920
 
904
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
921
+ await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
905
922
  await userEvent.click(
906
923
  screen.getByRole('button', { name: 'Save Settings' }),
907
924
  );
@@ -913,9 +930,21 @@ describe('<GitSettingsModal />', () => {
913
930
  });
914
931
  });
915
932
 
916
- it('should toggle git-only checkbox', async () => {
933
+ it('should not show git-only checkbox in git root mode', async () => {
917
934
  render(<GitSettingsModal {...defaultProps} />);
918
935
 
936
+ // Git root mode should not have git_only checkbox
937
+ expect(screen.queryByRole('checkbox')).not.toBeInTheDocument();
938
+ });
939
+
940
+ it('should toggle git-only checkbox in branch mode', async () => {
941
+ render(
942
+ <GitSettingsModal {...defaultProps} namespace="analytics.feature" />,
943
+ );
944
+
945
+ // Switch to branch mode
946
+ await userEvent.click(screen.getByText('Branch Namespace'));
947
+
919
948
  const checkbox = screen.getByRole('checkbox');
920
949
  expect(checkbox).toBeChecked(); // Default is true
921
950
 
@@ -956,7 +985,7 @@ describe('<GitSettingsModal />', () => {
956
985
 
957
986
  render(<GitSettingsModal {...defaultProps} />);
958
987
 
959
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
988
+ await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
960
989
  await userEvent.click(
961
990
  screen.getByRole('button', { name: 'Save Settings' }),
962
991
  );
@@ -973,7 +1002,7 @@ describe('<GitSettingsModal />', () => {
973
1002
 
974
1003
  render(<GitSettingsModal {...defaultProps} />);
975
1004
 
976
- await userEvent.type(screen.getByLabelText('Repository'), 'myorg/repo');
1005
+ await userEvent.type(screen.getByLabelText(/Repository/), 'myorg/repo');
977
1006
  await userEvent.click(
978
1007
  screen.getByRole('button', { name: 'Save Settings' }),
979
1008
  );
@@ -992,7 +1021,7 @@ describe('<GitSettingsModal />', () => {
992
1021
  it('should update path field', async () => {
993
1022
  render(<GitSettingsModal {...defaultProps} />);
994
1023
 
995
- const pathInput = screen.getByLabelText('Path');
1024
+ const pathInput = screen.getByLabelText(/Path/);
996
1025
  await userEvent.clear(pathInput);
997
1026
  await userEvent.type(pathInput, 'definitions/');
998
1027
 
@@ -551,9 +551,9 @@ describe('<NamespaceHeader />', () => {
551
551
  listDeployments: jest.fn().mockResolvedValue([]),
552
552
  getNamespaceGitConfig: jest.fn().mockResolvedValue({
553
553
  github_repo_path: 'test/repo',
554
- git_branch: 'main',
555
554
  git_path: 'nodes/',
556
- git_only: false,
555
+ default_branch: 'main',
556
+ // No git_branch or parent_namespace - this is a git root with default_branch
557
557
  }),
558
558
  };
559
559
 
@@ -565,7 +565,7 @@ describe('<NamespaceHeader />', () => {
565
565
  </MemoryRouter>,
566
566
  );
567
567
 
568
- // For non-branch namespaces, button is labeled "New Branch"
568
+ // For git root namespaces with default_branch, button is labeled "New Branch"
569
569
  await waitFor(() => {
570
570
  expect(screen.getByText('New Branch')).toBeInTheDocument();
571
571
  });
@@ -627,9 +627,9 @@ describe('<NamespaceHeader />', () => {
627
627
  listDeployments: jest.fn().mockResolvedValue([]),
628
628
  getNamespaceGitConfig: jest.fn().mockResolvedValue({
629
629
  github_repo_path: 'test/repo',
630
- git_branch: 'main',
631
630
  git_path: 'nodes/',
632
- git_only: false,
631
+ default_branch: 'main',
632
+ // No git_branch or parent_namespace - this is a git root with default_branch
633
633
  }),
634
634
  };
635
635
 
@@ -710,9 +710,8 @@ describe('<NamespaceHeader />', () => {
710
710
  getNamespaceGitConfig: jest.fn().mockResolvedValue(null),
711
711
  updateNamespaceGitConfig: jest.fn().mockResolvedValue({
712
712
  github_repo_path: 'myorg/repo',
713
- git_branch: 'main',
714
713
  git_path: 'nodes/',
715
- git_only: true,
714
+ // git_branch and git_only not present in git root config
716
715
  }),
717
716
  };
718
717
 
@@ -731,15 +730,13 @@ describe('<NamespaceHeader />', () => {
731
730
  fireEvent.click(screen.getByText('Git Settings'));
732
731
 
733
732
  await waitFor(() => {
734
- expect(screen.getByLabelText('Repository')).toBeInTheDocument();
733
+ expect(screen.getByLabelText(/Repository/)).toBeInTheDocument();
735
734
  });
736
735
 
737
- fireEvent.change(screen.getByLabelText('Repository'), {
736
+ fireEvent.change(screen.getByLabelText(/Repository/), {
738
737
  target: { value: 'myorg/repo' },
739
738
  });
740
- fireEvent.change(screen.getByLabelText('Branch'), {
741
- target: { value: 'main' },
742
- });
739
+ // Branch field is not present in git root mode
743
740
 
744
741
  fireEvent.click(screen.getByText('Save Settings'));
745
742
 
@@ -748,7 +745,6 @@ describe('<NamespaceHeader />', () => {
748
745
  'test.namespace',
749
746
  expect.objectContaining({
750
747
  github_repo_path: 'myorg/repo',
751
- git_branch: 'main',
752
748
  }),
753
749
  );
754
750
  });
@@ -767,13 +763,13 @@ describe('<NamespaceHeader />', () => {
767
763
  listDeployments: jest.fn().mockResolvedValue([]),
768
764
  getNamespaceGitConfig: jest.fn().mockResolvedValue({
769
765
  github_repo_path: 'test/repo',
770
- git_branch: 'main',
771
766
  git_path: 'nodes/',
772
- git_only: false,
767
+ default_branch: 'main',
768
+ // No git_branch or parent_namespace - this is a git root
773
769
  }),
774
770
  createBranch: jest.fn().mockResolvedValue({
775
771
  branch: {
776
- namespace: 'test.feature_xyz',
772
+ namespace: 'test.namespace.feature_xyz',
777
773
  git_branch: 'feature-xyz',
778
774
  parent_namespace: 'test.namespace',
779
775
  },
@@ -1,63 +1,30 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
4
- <div
5
- style={
6
- Object {
7
- "alignItems": "center",
8
- "background": "#ffffff",
9
- "borderBottom": "1px solid #e2e8f0",
10
- "borderTop": "1px solid #e2e8f0",
11
- "display": "flex",
12
- "justifyContent": "space-between",
13
- "marginBottom": "16px",
14
- "padding": "12px 12px 12px 20px",
15
- }
16
- }
17
- >
4
+ <React.Fragment>
5
+ <style>
6
+
7
+ @keyframes spin {
8
+ from { transform: rotate(0deg); }
9
+ to { transform: rotate(360deg); }
10
+ }
11
+
12
+ </style>
18
13
  <div
19
14
  style={
20
15
  Object {
21
16
  "alignItems": "center",
17
+ "background": "#ffffff",
18
+ "borderBottom": "1px solid #e2e8f0",
19
+ "borderTop": "1px solid #e2e8f0",
22
20
  "display": "flex",
23
- "gap": "8px",
21
+ "justifyContent": "space-between",
22
+ "marginBottom": "16px",
23
+ "padding": "12px 12px 12px 20px",
24
24
  }
25
25
  }
26
26
  >
27
- <a
28
- href="/"
29
- style={
30
- Object {
31
- "alignItems": "center",
32
- "display": "flex",
33
- }
34
- }
35
- >
36
- <svg
37
- fill="currentColor"
38
- height="16"
39
- viewBox="0 0 16 16"
40
- width="16"
41
- xmlns="http://www.w3.org/2000/svg"
42
- >
43
- <path
44
- d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
45
- />
46
- </svg>
47
- </a>
48
- <svg
49
- fill="#6c757d"
50
- height="12"
51
- viewBox="0 0 16 16"
52
- width="12"
53
- xmlns="http://www.w3.org/2000/svg"
54
- >
55
- <path
56
- d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
57
- fillRule="evenodd"
58
- />
59
- </svg>
60
- <span
27
+ <div
61
28
  style={
62
29
  Object {
63
30
  "alignItems": "center",
@@ -67,19 +34,28 @@ exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
67
34
  }
68
35
  >
69
36
  <a
70
- href="/namespaces/shared"
37
+ href="/"
71
38
  style={
72
39
  Object {
73
- "color": "#1e293b",
74
- "fontWeight": "400",
75
- "textDecoration": "none",
40
+ "alignItems": "center",
41
+ "display": "flex",
76
42
  }
77
43
  }
78
44
  >
79
- shared
45
+ <svg
46
+ fill="currentColor"
47
+ height="16"
48
+ viewBox="0 0 16 16"
49
+ width="16"
50
+ xmlns="http://www.w3.org/2000/svg"
51
+ >
52
+ <path
53
+ d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5 8 5.961 14.154 3.5 8.186 1.113zM15 4.239l-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"
54
+ />
55
+ </svg>
80
56
  </a>
81
57
  <svg
82
- fill="#94a3b8"
58
+ fill="#6c757d"
83
59
  height="12"
84
60
  viewBox="0 0 16 16"
85
61
  width="12"
@@ -90,42 +66,98 @@ exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
90
66
  fillRule="evenodd"
91
67
  />
92
68
  </svg>
93
- </span>
94
- <span
95
- style={
96
- Object {
97
- "alignItems": "center",
98
- "display": "flex",
99
- "gap": "8px",
69
+ <span
70
+ style={
71
+ Object {
72
+ "alignItems": "center",
73
+ "display": "flex",
74
+ "gap": "8px",
75
+ }
100
76
  }
101
- }
102
- >
103
- <a
104
- href="/namespaces/shared.dimensions"
77
+ >
78
+ <a
79
+ href="/namespaces/shared"
80
+ style={
81
+ Object {
82
+ "color": "#1e293b",
83
+ "fontWeight": "400",
84
+ "textDecoration": "none",
85
+ }
86
+ }
87
+ >
88
+ shared
89
+ </a>
90
+ <svg
91
+ fill="#94a3b8"
92
+ height="12"
93
+ viewBox="0 0 16 16"
94
+ width="12"
95
+ xmlns="http://www.w3.org/2000/svg"
96
+ >
97
+ <path
98
+ d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
99
+ fillRule="evenodd"
100
+ />
101
+ </svg>
102
+ </span>
103
+ <span
105
104
  style={
106
105
  Object {
107
- "color": "#1e293b",
108
- "fontWeight": "400",
109
- "textDecoration": "none",
106
+ "alignItems": "center",
107
+ "display": "flex",
108
+ "gap": "8px",
110
109
  }
111
110
  }
112
111
  >
113
- dimensions
114
- </a>
115
- <svg
116
- fill="#94a3b8"
117
- height="12"
118
- viewBox="0 0 16 16"
119
- width="12"
120
- xmlns="http://www.w3.org/2000/svg"
112
+ <a
113
+ href="/namespaces/shared.dimensions"
114
+ style={
115
+ Object {
116
+ "color": "#1e293b",
117
+ "fontWeight": "400",
118
+ "textDecoration": "none",
119
+ }
120
+ }
121
+ >
122
+ dimensions
123
+ </a>
124
+ <svg
125
+ fill="#94a3b8"
126
+ height="12"
127
+ viewBox="0 0 16 16"
128
+ width="12"
129
+ xmlns="http://www.w3.org/2000/svg"
130
+ >
131
+ <path
132
+ d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
133
+ fillRule="evenodd"
134
+ />
135
+ </svg>
136
+ </span>
137
+ <span
138
+ style={
139
+ Object {
140
+ "alignItems": "center",
141
+ "display": "flex",
142
+ "gap": "8px",
143
+ }
144
+ }
121
145
  >
122
- <path
123
- d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"
124
- fillRule="evenodd"
125
- />
126
- </svg>
127
- </span>
128
- <span
146
+ <a
147
+ href="/namespaces/shared.dimensions.accounts"
148
+ style={
149
+ Object {
150
+ "color": "#1e293b",
151
+ "fontWeight": "400",
152
+ "textDecoration": "none",
153
+ }
154
+ }
155
+ >
156
+ accounts
157
+ </a>
158
+ </span>
159
+ </div>
160
+ <div
129
161
  style={
130
162
  Object {
131
163
  "alignItems": "center",
@@ -133,61 +165,39 @@ exports[`<NamespaceHeader /> should render and match the snapshot 1`] = `
133
165
  "gap": "8px",
134
166
  }
135
167
  }
136
- >
137
- <a
138
- href="/namespaces/shared.dimensions.accounts"
139
- style={
140
- Object {
141
- "color": "#1e293b",
142
- "fontWeight": "400",
143
- "textDecoration": "none",
144
- }
145
- }
146
- >
147
- accounts
148
- </a>
149
- </span>
168
+ />
169
+ <GitSettingsModal
170
+ currentConfig={null}
171
+ isOpen={false}
172
+ namespace="shared.dimensions.accounts"
173
+ onClose={[Function]}
174
+ onRemove={[Function]}
175
+ onSave={[Function]}
176
+ />
177
+ <CreateBranchModal
178
+ isOpen={false}
179
+ namespace="shared.dimensions.accounts"
180
+ onClose={[Function]}
181
+ onCreate={[Function]}
182
+ />
183
+ <SyncToGitModal
184
+ isOpen={false}
185
+ namespace="shared.dimensions.accounts"
186
+ onClose={[Function]}
187
+ onSync={[Function]}
188
+ />
189
+ <CreatePRModal
190
+ isOpen={false}
191
+ namespace="shared.dimensions.accounts"
192
+ onClose={[Function]}
193
+ onCreate={[Function]}
194
+ />
195
+ <DeleteBranchModal
196
+ isOpen={false}
197
+ namespace="shared.dimensions.accounts"
198
+ onClose={[Function]}
199
+ onDelete={[Function]}
200
+ />
150
201
  </div>
151
- <div
152
- style={
153
- Object {
154
- "alignItems": "center",
155
- "display": "flex",
156
- "gap": "8px",
157
- }
158
- }
159
- />
160
- <GitSettingsModal
161
- currentConfig={null}
162
- isOpen={false}
163
- namespace="shared.dimensions.accounts"
164
- onClose={[Function]}
165
- onRemove={[Function]}
166
- onSave={[Function]}
167
- />
168
- <CreateBranchModal
169
- isOpen={false}
170
- namespace="shared.dimensions.accounts"
171
- onClose={[Function]}
172
- onCreate={[Function]}
173
- />
174
- <SyncToGitModal
175
- isOpen={false}
176
- namespace="shared.dimensions.accounts"
177
- onClose={[Function]}
178
- onSync={[Function]}
179
- />
180
- <CreatePRModal
181
- isOpen={false}
182
- namespace="shared.dimensions.accounts"
183
- onClose={[Function]}
184
- onCreate={[Function]}
185
- />
186
- <DeleteBranchModal
187
- isOpen={false}
188
- namespace="shared.dimensions.accounts"
189
- onClose={[Function]}
190
- onDelete={[Function]}
191
- />
192
- </div>
202
+ </React.Fragment>
193
203
  `;