+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {errors && (
+
+ {errors.map((error) => (
+
+ {error}
+
+ ))}
+
+ )}
+
+ );
+ }
+}
+
+export default connect(
+ (state: any) => ({
+ instance: state.getIn(['slack', 'instance']),
+ saving: state.getIn(['slack', 'saveRequest', 'loading']),
+ errors: state.getIn(['slack', 'saveRequest', 'errors']),
+ }),
+ { edit, save, init, remove, update }
+)(TeamsAddForm);
diff --git a/frontend/app/components/Client/Integrations/Teams/TeamsChannelList.tsx b/frontend/app/components/Client/Integrations/Teams/TeamsChannelList.tsx
new file mode 100644
index 000000000..9c5189705
--- /dev/null
+++ b/frontend/app/components/Client/Integrations/Teams/TeamsChannelList.tsx
@@ -0,0 +1,51 @@
+import React from 'react';
+import { connect } from 'react-redux';
+import { NoContent } from 'UI';
+import { remove, edit, init } from 'Duck/integrations/teams';
+import DocLink from 'Shared/DocLink/DocLink';
+
+function TeamsChannelList(props: { list: any, edit: (inst: any) => any, onEdit: () => void }) {
+ const { list } = props;
+
+ const onEdit = (instance: Record