forked from Alex/Pterodactyl-Panel
Add basic navigation bar to server view
This commit is contained in:
parent
8ac8a370f8
commit
109bed4f7d
@ -36,3 +36,29 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#sub-navigation {
|
||||||
|
@apply .w-full .bg-neutral-700 .shadow;
|
||||||
|
|
||||||
|
.items {
|
||||||
|
@apply .flex .items-center .text-sm .mx-2;
|
||||||
|
|
||||||
|
& > a, & > div {
|
||||||
|
@apply .inline-block .py-3 .px-4 .text-neutral-300 .no-underline;
|
||||||
|
transition: color 150ms linear, box-shadow 150ms ease-in;
|
||||||
|
|
||||||
|
&:not(:first-of-type) {
|
||||||
|
@apply .ml-2;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active, &:hover {
|
||||||
|
@apply .text-neutral-100;
|
||||||
|
box-shadow: inset 0 -2px config('colors.cyan-700');
|
||||||
|
}
|
||||||
|
|
||||||
|
&.active {
|
||||||
|
box-shadow: inset 0 -2px config('colors.cyan-500');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Route, Switch } from 'react-router';
|
import { Route } from 'react-router';
|
||||||
import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
||||||
|
|
||||||
type Props = Readonly<{
|
type Props = Readonly<{
|
||||||
|
@ -41,9 +41,9 @@ const App = () => {
|
|||||||
<div className={'mx-auto w-auto'}>
|
<div className={'mx-auto w-auto'}>
|
||||||
<BrowserRouter basename={'/'}>
|
<BrowserRouter basename={'/'}>
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route path="/" component={DashboardRouter}/>
|
<Route path="/server/:id" component={ServerRouter}/>
|
||||||
<Route path="/auth" component={AuthenticationRouter}/>
|
<Route path="/auth" component={AuthenticationRouter}/>
|
||||||
<Route path="/server/:id/" component={ServerRouter}/>
|
<Route path="/" component={DashboardRouter}/>
|
||||||
</Switch>
|
</Switch>
|
||||||
</BrowserRouter>
|
</BrowserRouter>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
export default () => (
|
export default () => (
|
||||||
null
|
<div className={'my-10'}>
|
||||||
|
Test
|
||||||
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -7,7 +7,7 @@ import DashboardContainer from '@/components/dashboard/DashboardContainer';
|
|||||||
import TransitionRouter from '@/TransitionRouter';
|
import TransitionRouter from '@/TransitionRouter';
|
||||||
|
|
||||||
export default ({ location }: RouteComponentProps) => (
|
export default ({ location }: RouteComponentProps) => (
|
||||||
<div>
|
<React.Fragment>
|
||||||
<NavigationBar/>
|
<NavigationBar/>
|
||||||
<TransitionRouter>
|
<TransitionRouter>
|
||||||
<div className={'w-full mx-auto'} style={{ maxWidth: '1200px' }}>
|
<div className={'w-full mx-auto'} style={{ maxWidth: '1200px' }}>
|
||||||
@ -18,5 +18,5 @@ export default ({ location }: RouteComponentProps) => (
|
|||||||
</Switch>
|
</Switch>
|
||||||
</div>
|
</div>
|
||||||
</TransitionRouter>
|
</TransitionRouter>
|
||||||
</div>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
|
@ -1,18 +1,28 @@
|
|||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { Route, RouteComponentProps, Switch } from 'react-router-dom';
|
import { NavLink, Route, RouteComponentProps, Switch } from 'react-router-dom';
|
||||||
import NavigationBar from '@/components/NavigationBar';
|
import NavigationBar from '@/components/NavigationBar';
|
||||||
import ServerConsole from '@/components/server/ServerConsole';
|
import ServerConsole from '@/components/server/ServerConsole';
|
||||||
import TransitionRouter from '@/TransitionRouter';
|
import TransitionRouter from '@/TransitionRouter';
|
||||||
|
|
||||||
export default ({ location }: RouteComponentProps) => (
|
export default ({ match, location }: RouteComponentProps) => (
|
||||||
<div>
|
<React.Fragment>
|
||||||
<NavigationBar/>
|
<NavigationBar/>
|
||||||
|
<div id={'sub-navigation'}>
|
||||||
|
<div className={'mx-auto'} style={{ maxWidth: '1200px' }}>
|
||||||
|
<div className={'items'}>
|
||||||
|
<NavLink to={`${match.url}`} exact>Console</NavLink>
|
||||||
|
<NavLink to={`${match.url}/files`}>File Manager</NavLink>
|
||||||
|
<NavLink to={`${match.url}/databases`}>Databases</NavLink>
|
||||||
|
<NavLink to={`${match.url}/users`}>User Management</NavLink>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<TransitionRouter>
|
<TransitionRouter>
|
||||||
<div className={'w-full mx-auto'} style={{ maxWidth: '1200px' }}>
|
<div className={'w-full mx-auto'} style={{ maxWidth: '1200px' }}>
|
||||||
<Switch location={location}>
|
<Switch location={location}>
|
||||||
<Route path={`/`} component={ServerConsole} exact/>
|
<Route path={`${match.path}`} component={ServerConsole} exact/>
|
||||||
</Switch>
|
</Switch>
|
||||||
</div>
|
</div>
|
||||||
</TransitionRouter>
|
</TransitionRouter>
|
||||||
</div>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user