diff --git a/package-lock.json b/package-lock.json
index 9c87279e..40bb319c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23075,9 +23075,9 @@
"dev": true
},
"react-external-link": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/react-external-link/-/react-external-link-1.1.1.tgz",
- "integrity": "sha512-e2WnTWkg81cuqxmDfjOalliAE20+Y/uD+lserN4uuwkwu+ciGLB3BMz4m7GnXh2+TowIi4sLtCL7zr7aDnIaqA=="
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/react-external-link/-/react-external-link-1.2.0.tgz",
+ "integrity": "sha512-6Lm0pD6rxrvZGVrWIWda809cAtrIlM3fDsKh9y5bKEVpOI0FTO2nTnxaqEood8+rw3svHJgpJGN6lZHO69ZTAQ=="
},
"react-is": {
"version": "16.7.0",
diff --git a/package.json b/package.json
index e4e1524d..95928585 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
"react-copy-to-clipboard": "^5.0.2",
"react-datepicker": "^3.3.0",
"react-dom": "^17.0.1",
- "react-external-link": "^1.1.1",
+ "react-external-link": "^1.2.0",
"react-leaflet": "^3.0.2",
"react-moment": "^1.0.0",
"react-redux": "^7.2.2",
diff --git a/src/common/Home.scss b/src/common/Home.scss
index d82a49ce..775de88f 100644
--- a/src/common/Home.scss
+++ b/src/common/Home.scss
@@ -1,18 +1,41 @@
@import '../utils/base';
+@import '../utils/mixins/vertical-align';
.home {
- text-align: center;
- height: calc(100vh - #{$headerHeight} - #{($footer-height + $footer-margin)});
- display: flex;
- align-items: center;
- justify-content: center;
- flex-flow: column;
+ position: relative;
+ padding-top: 15px;
+
+ @media (min-width: $mdMin) {
+ padding-top: 0;
+ height: calc(100vh - #{$headerHeight} - #{($footer-height + $footer-margin)});
+ }
+}
+
+.home__logo {
+ @include vertical-align();
+}
+
+.home__main-card {
+ margin: 0 auto;
+ max-width: 720px;
+
+ @media (min-width: $mdMin) {
+ @include vertical-align();
+ }
}
.home__title {
+ text-align: center;
font-size: 1.75rem;
+ margin: 0;
@media (min-width: $mdMin) {
font-size: 2.2rem;
}
}
+
+.home__servers-container {
+ @media (min-width: $mdMin) {
+ border-left: 1px solid rgba(0, 0, 0, .125);
+ }
+}
diff --git a/src/common/Home.tsx b/src/common/Home.tsx
index 17e9e4b2..a72b1ee1 100644
--- a/src/common/Home.tsx
+++ b/src/common/Home.tsx
@@ -1,8 +1,11 @@
import { isEmpty, values } from 'ramda';
import { Link } from 'react-router-dom';
+import { Card, Row } from 'reactstrap';
+import { ExternalLink } from 'react-external-link';
import ServersListGroup from '../servers/ServersListGroup';
import './Home.scss';
import { ServersMap } from '../servers/data';
+import { ShlinkLogo } from './img/ShlinkLogo';
export interface HomeProps {
servers: ServersMap;
@@ -14,11 +17,32 @@ const Home = ({ servers }: HomeProps) => {
return (
-
Welcome to Shlink
-
- {hasServers && Please, select a server.}
- {!hasServers && Please, add a server.}
-
+
+
+
+
+
+
Welcome!
+
+
+ {!hasServers && (
+
+
This application will help you to manage your Shlink servers.
+
To start, please, add your first server.
+
+ You still don‘t have a Shlink server?
+ Learn how to get started.
+
+
+ )}
+
+
+
+
);
};
diff --git a/src/common/img/ShlinkLogo.tsx b/src/common/img/ShlinkLogo.tsx
index 757c3b22..40094a67 100644
--- a/src/common/img/ShlinkLogo.tsx
+++ b/src/common/img/ShlinkLogo.tsx
@@ -1,9 +1,11 @@
-interface ShlinkLogoProps {
+import { MAIN_COLOR } from '../../utils/theme';
+
+export interface ShlinkLogoProps {
color?: string;
className?: string;
}
-export const ShlinkLogo = ({ color = '#4595e3', className }: ShlinkLogoProps) => (
+export const ShlinkLogo = ({ color = MAIN_COLOR, className }: ShlinkLogoProps) => (