diff --git a/frontend/src/component/application/ApplicationList.tsx b/frontend/src/component/application/ApplicationList.tsx
new file mode 100644
index 0000000000..c60f023b7f
--- /dev/null
+++ b/frontend/src/component/application/ApplicationList.tsx
@@ -0,0 +1,70 @@
+import React, { Component, useEffect } from 'react';
+import PropTypes from 'prop-types';
+import { CircularProgress } from '@material-ui/core';
+import { Warning } from '@material-ui/icons';
+
+import { AppsLinkList, styles as commonStyles } from '../common';
+import SearchField from '../common/SearchField/SearchField';
+import PageContent from '../common/PageContent/PageContent';
+import HeaderTitle from '../common/HeaderTitle';
+import useApplications from '../../hooks/api/getters/useApplications/useApplications';
+
+const ApplicationList = () => {
+ //missing useSettings
+ const { applications, refetchApplications } = useApplications();
+
+ useEffect(() => {
+ refetchApplications();
+ }, []);
+
+ if (!applications) {
+ return ;
+ }
+ return (
+ <>
+
+
+
+ }>
+
+ {applications.length > 0 ? (
+
+ ) : (
+
+ )}
+
+
+ >
+ );
+};
+
+export default ApplicationList;
+
+const Empty = () => (
+
+
+
+
+ Oh snap, it does not seem like you have connected any applications.
+ To connect your application to Unleash you will require a Client
+ SDK.
+
+
+ You can read more about how to use Unleash in your application in
+ the{' '}
+ documentation.
+
+
+);
+
+class ClientStrategies extends Component {
+ static propTypes = {
+ applications: PropTypes.array,
+ fetchAll: PropTypes.func.isRequired,
+ settings: PropTypes.object.isRequired,
+ updateSetting: PropTypes.func.isRequired,
+ };
+}
diff --git a/frontend/src/component/application/ApplicationUpdate.tsx b/frontend/src/component/application/ApplicationUpdate.tsx
new file mode 100644
index 0000000000..bc4244785e
--- /dev/null
+++ b/frontend/src/component/application/ApplicationUpdate.tsx
@@ -0,0 +1,70 @@
+import { useState } from 'react';
+import { TextField, Grid } from '@material-ui/core';
+import { useCommonStyles } from '../../common.styles';
+import icons from './icon-names';
+import GeneralSelect from '../common/GeneralSelect/GeneralSelect';
+import useApplicationsApi from '../../hooks/api/actions/useApplicationsApi/useApplicationsApi';
+
+const ApplicationUpdate = ({ application }) => {
+ const { storeApplicationMetaData } = useApplicationsApi();
+ const { appName, icon, url, description } = application;
+ const [localUrl, setLocalUrl] = useState(url);
+ const [localDescription, setLocalDescription] = useState(description);
+ const commonStyles = useCommonStyles();
+
+ return (
+
+
+
+ ({ key: v, label: v }))}
+ value={icon || 'apps'}
+ onChange={e =>
+ storeApplicationMetaData(
+ appName,
+ 'icon',
+ e.target.value as string
+ )
+ }
+ />
+
+
+ setLocalUrl(e.target.value)}
+ label="Application URL"
+ placeholder="https://example.com"
+ type="url"
+ variant="outlined"
+ size="small"
+ onBlur={() =>
+ storeApplicationMetaData(appName, 'url', localUrl)
+ }
+ />
+
+
+ setLocalDescription(e.target.value)}
+ onBlur={() =>
+ storeApplicationMetaData(
+ appName,
+ 'description',
+ localDescription
+ )
+ }
+ />
+
+
+
+ );
+};
+
+export default ApplicationUpdate;
diff --git a/frontend/src/component/application/EditApplication.tsx b/frontend/src/component/application/EditApplication.tsx
index 956af65f53..248726c4af 100644
--- a/frontend/src/component/application/EditApplication.tsx
+++ b/frontend/src/component/application/EditApplication.tsx
@@ -18,7 +18,7 @@ import {
} from '../common/util';
import { UPDATE_APPLICATION } from '../providers/AccessProvider/permissions';
import ApplicationView from './ApplicationView';
-import ApplicationUpdate from './application-update';
+import ApplicationUpdate from './ApplicationUpdate';
import TabNav from '../common/TabNav/TabNav';
import Dialogue from '../common/Dialogue';
import PageContent from '../common/PageContent';
@@ -67,7 +67,6 @@ const EditApplication = () => {
title="Are you sure you want to delete this application?"
/>
);
-
const tabData = [
{
label: 'Application overview',
@@ -75,12 +74,7 @@ const EditApplication = () => {
},
{
label: 'Edit application',
- component: (
-
- ),
+ component: ,
},
];