diff --git a/README.md b/README.md
index e2cbe14..a52adfe 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@
Kerberos Agent is a cutting edge video surveillance management system made available as Open Source under the MIT License. This means that all the source code is available for you or your company, and you can use, transform and distribute the source code; as long you keep a reference of the original license. Kerberos Agent can be used for commercial usage (which was not the case for v2). Read more [about the license here](LICENSE).
-
+
## Work In Progress
@@ -84,7 +84,7 @@ The `web` is a **React** project which is the main entry point for an end user t
This will start a webserver and launches the web app on port `3000`.
-
+
### Machinery
diff --git a/assets/img/agent-login.gif b/assets/img/agent-login.gif
new file mode 100644
index 0000000..6c91c71
Binary files /dev/null and b/assets/img/agent-login.gif differ
diff --git a/assets/img/agent-login.png b/assets/img/agent-login.png
new file mode 100644
index 0000000..bc27bfe
Binary files /dev/null and b/assets/img/agent-login.png differ
diff --git a/ui/package.json b/ui/package.json
index 143da1d..d7b6aad 100644
--- a/ui/package.json
+++ b/ui/package.json
@@ -4,7 +4,7 @@
"private": false,
"dependencies": {
"@giantmachines/redux-websocket": "^1.5.1",
- "@kerberos-io/ui": "1.59.0",
+ "@kerberos-io/ui": "1.60.0",
"@material-ui/core": "^4.11.2",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
@@ -30,11 +30,12 @@
"redux-devtools-extension": "^2.13.8",
"redux-thunk": "^2.3.0",
"typeface-roboto": "^1.1.13",
+ "vott-ct": "^2.3.2",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",
- "build": "react-scripts build && mv build ../machinery/www",
+ "build": "react-scripts build && rm -rf ../machinery/www && mv build ../machinery/www",
"test": "react-scripts test",
"eject": "react-scripts eject",
"lint": "eslint --debug 'src/**/*.{js,jsx,ts,tsx}'",
diff --git a/ui/public/index.html b/ui/public/index.html
index 6561c8d..536cf0f 100644
--- a/ui/public/index.html
+++ b/ui/public/index.html
@@ -29,7 +29,7 @@
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
-
Kerberos Agent | Video surveillance
+ Kerberos Agent | Video surveillance for everyone
diff --git a/ui/src/App.jsx b/ui/src/App.jsx
index 468617e..6e18dce 100644
--- a/ui/src/App.jsx
+++ b/ui/src/App.jsx
@@ -39,14 +39,17 @@ class App extends React.Component {
-
+
+
-
-
diff --git a/ui/src/config copy.js b/ui/src/config copy.js
deleted file mode 100644
index 8f4786b..0000000
--- a/ui/src/config copy.js
+++ /dev/null
@@ -1,31 +0,0 @@
-const { hostname } = window.location;
-const { protocol } = window.location;
-const websocketprotocol = protocol === 'http:' ? 'ws:' : 'wss:';
-
-const dev = {
- ENV: 'dev',
- HOSTNAME: hostname,
- API_URL: `${protocol}//${hostname}:8082/`,
- WS_URL: `${websocketprotocol}//${hostname}:8082/ws`,
-};
-
-const prod = {
- ENV: 'prod',
- HOSTNAME: hostname,
- API_URL:
- window.env.apiUrl !== ''
- ? `${protocol}//${window.env.apiUrl}/`
- : `${protocol}//api.${hostname}/`, // "https://staging-api.factory.kerberos.live", //
- WS_URL:
- window.env.apiUrl !== ''
- ? `${websocketprotocol}//${window.env.apiUrl}/ws`
- : `${websocketprotocol}//api.${hostname}/ws`,
-};
-
-const config = process.env.REACT_APP_STAGE === 'production' ? prod : dev;
-
-export default {
- // Add common config values here
- // MAX_ATTACHMENT_SIZE: 5000000,
- ...config,
-};
diff --git a/ui/src/fonts/Inter/Inter-Medium.woff b/ui/src/fonts/Inter/Inter-Medium.woff
new file mode 100644
index 0000000..7d55f34
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-Medium.woff differ
diff --git a/ui/src/fonts/Inter/Inter-Medium.woff2 b/ui/src/fonts/Inter/Inter-Medium.woff2
new file mode 100644
index 0000000..a916b47
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-Medium.woff2 differ
diff --git a/ui/src/fonts/Inter/Inter-Regular.woff b/ui/src/fonts/Inter/Inter-Regular.woff
new file mode 100644
index 0000000..7ff51b7
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-Regular.woff differ
diff --git a/ui/src/fonts/Inter/Inter-Regular.woff2 b/ui/src/fonts/Inter/Inter-Regular.woff2
new file mode 100644
index 0000000..554aed6
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-Regular.woff2 differ
diff --git a/ui/src/fonts/Inter/Inter-SemiBold.woff b/ui/src/fonts/Inter/Inter-SemiBold.woff
new file mode 100644
index 0000000..76e507a
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-SemiBold.woff differ
diff --git a/ui/src/fonts/Inter/Inter-SemiBold.woff2 b/ui/src/fonts/Inter/Inter-SemiBold.woff2
new file mode 100644
index 0000000..9307998
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-SemiBold.woff2 differ
diff --git a/ui/src/fonts/Inter/Inter-roman.var.woff2 b/ui/src/fonts/Inter/Inter-roman.var.woff2
new file mode 100644
index 0000000..a6efdc4
Binary files /dev/null and b/ui/src/fonts/Inter/Inter-roman.var.woff2 differ
diff --git a/ui/src/index.jsx b/ui/src/index.jsx
index fc986d7..7b882eb 100644
--- a/ui/src/index.jsx
+++ b/ui/src/index.jsx
@@ -12,9 +12,9 @@ import rootReducer from './reducers';
import App from './App';
import './index.scss';
import Login from './pages/Login/Login';
-import Install from './pages/Install/Install';
import Dashboard from './pages/Dashboard/Dashboard';
-import RequireInstall from './containers/RequireInstall';
+import Media from './pages/Media/Media';
+import Settings from './pages/Settings/Settings';
import RequireAuth from './containers/RequireAuth';
import RequireGuest from './containers/RequireGuest';
@@ -58,12 +58,13 @@ ReactDOM.render(
- } />
+
+
diff --git a/ui/src/index.scss b/ui/src/index.scss
index e6bd566..e19de51 100644
--- a/ui/src/index.scss
+++ b/ui/src/index.scss
@@ -88,6 +88,54 @@
*/
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: url("/fonts/Inter/Inter-Regular.woff2?v=3.18") format("woff2"),
+ url("/fonts/Inter/Inter-Regular.woff?v=3.18") format("woff");
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 500;
+ font-display: swap;
+ src: url("/fonts/Inter/Inter-Medium.woff2?v=3.18") format("woff2"),
+ url("/fonts/Inter/Inter-Medium.woff?v=3.18") format("woff");
+}
+
+@font-face {
+ font-family: 'Inter';
+ font-style: normal;
+ font-weight: 600;
+ font-display: swap;
+ src: url("/fonts/Inter/Inter-SemiBold.woff2?v=3.18") format("woff2"),
+ url("/fonts/Inter/Inter-SemiBold.woff?v=3.18") format("woff");
+}
+
+/* -------------------------------------------------------
+Variable font.
+Usage:
+
+ body {
+ font-family: 'Inter', sans-serif; // use regular Inter font by default..
+ @supports (font-variation-settings: normal) {
+ font-family: 'Inter var', sans-serif; // ..but if supported, use variable Inter font instead (all-in-one)
+ }
+ }
+
+
+*/
+@font-face {
+ font-family: 'Inter var';
+ font-weight: 100 900;
+ font-display: swap;
+ font-style: normal;
+ font-named-instance: 'Regular';
+ src: url("/fonts/Inter/Inter-roman.var.woff2?v=3.18") format("woff2");
+}
body {
box-sizing: border-box;
diff --git a/ui/src/pages/Dashboard/Dashboard.jsx b/ui/src/pages/Dashboard/Dashboard.jsx
index 8102c54..ef785e4 100644
--- a/ui/src/pages/Dashboard/Dashboard.jsx
+++ b/ui/src/pages/Dashboard/Dashboard.jsx
@@ -1,15 +1,26 @@
import React from 'react';
-import styles from './Dashboard.module.scss';
-import Header from '../../components/Header/Header';
-import Warning from '../../components/Warning/Warning';
+import { Breadcrumb } from '@kerberos-io/ui';
+// import { Link } from 'react-router-dom';
+import styles from './Dashboard.scss';
// eslint-disable-next-line react/prefer-stateless-function
class Dashboard extends React.Component {
render() {
return (