Updated to node 16 and allowed to auto-connect to the first server marked as auto-connect

This commit is contained in:
Alejandro Celaya
2021-10-31 00:07:38 +02:00
parent bd0fca23cf
commit e8ea3b4abe
8 changed files with 39365 additions and 63 deletions

View File

@@ -1,5 +1,6 @@
import { useEffect } from 'react';
import { isEmpty, values } from 'ramda';
import { Link } from 'react-router-dom';
import { Link, RouteChildrenProps } from 'react-router-dom';
import { Card, Row } from 'reactstrap';
import { ExternalLink } from 'react-external-link';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
@@ -9,14 +10,21 @@ import { ServersMap } from '../servers/data';
import { ShlinkLogo } from './img/ShlinkLogo';
import './Home.scss';
export interface HomeProps {
export interface HomeProps extends RouteChildrenProps {
servers: ServersMap;
}
const Home = ({ servers }: HomeProps) => {
const Home = ({ servers, history }: HomeProps) => {
const serversList = values(servers);
const hasServers = !isEmpty(serversList);
useEffect(() => {
// Try to redirect to the first server marked as auto-connect
const autoConnectServer = serversList.find(({ autoConnect }) => autoConnect);
autoConnectServer && history.push(`/server/${autoConnectServer.id}`);
}, []);
return (
<div className="home">
<Card className="home__main-card">

View File

@@ -28,6 +28,7 @@ const provideServices = (bottle: Bottle, connect: ConnectDecorator, withRouter:
bottle.serviceFactory('Home', () => Home);
bottle.decorator('Home', withoutSelectedServer);
bottle.decorator('Home', withRouter);
bottle.decorator('Home', connect([ 'servers' ], [ 'resetSelectedServer' ]));
bottle.serviceFactory(