Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 47d1144

Browse files
adding useful information to index page
1 parent 5879f46 commit 47d1144

File tree

3 files changed

+50
-22
lines changed

3 files changed

+50
-22
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"@material-ui/icons": "3.0.1",
2323
"classnames": "2.2.6",
2424
"history": "4.7.2",
25+
"inflector-js": "1.0.1",
2526
"jss": "9.4.0",
2627
"react": "16.5.2",
2728
"react-dom": "16.5.2",

src/stream-store/views/Home.js

Lines changed: 45 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,71 @@
11
import React from 'react';
22
import { Observable as obs } from 'rxjs';
3-
import { List, ListItem, Typography } from '@material-ui/core';
3+
import inflector from 'inflector-js';
44
import { createState, connect } from '../../reactive';
5-
import rels from '../rels';
65
import store from '../store';
7-
import { Hyperlink } from '../../components';
6+
import {
7+
Table,
8+
TableBody,
9+
TableRow,
10+
TableHead,
11+
TableCell,
12+
} from '../../components/StripeyTable';
813

9-
const links$ = store.links$.map(links => () => links);
14+
const provider$ = store.body$.map(({ provider }) => () => provider);
15+
16+
const versions$ = store.body$.map(({ versions }) => () => versions);
1017

1118
const recent$ = store.body$
1219
.filter(({ _embedded }) => _embedded)
1320
.map(({ _embedded }) => () => _embedded.recent);
1421

1522
const state$ = createState(
1623
obs.merge(
17-
links$.map(links => ['links', links]),
24+
provider$.map(provider => ['provider', provider]),
25+
versions$.map(versions => ['versions', versions]),
1826
recent$.map(recent => ['recent', recent]),
1927
),
20-
obs.of({ recent: { matches: [] }, links: {} }),
28+
obs.of({ recent: { matches: [] }, provider: '', versions: {} }),
2129
);
2230

23-
const relsToTitle = {
24-
[rels.feed]: 'All Stream',
25-
};
26-
27-
const Links = ({ links, onNavigate }) => (
28-
<List>
29-
{Object.keys(links).map((rel, key) => (
30-
<ListItem key={key}>
31-
<Hyperlink link={links[rel]} onNavigate={onNavigate}>
32-
<Typography variant={'h6'}>{relsToTitle[rel]}</Typography>
33-
</Hyperlink>
34-
</ListItem>
35-
))}
36-
</List>
31+
const Links = ({ provider, versions }) => (
32+
<Table>
33+
<TableHead>
34+
<TableRow>
35+
<TableCell colspan={2}>{'Server Information'}</TableCell>
36+
</TableRow>
37+
</TableHead>
38+
<TableBody>
39+
<TableRow>
40+
<TableCell>
41+
<strong>{'Provider'}</strong>
42+
</TableCell>
43+
<TableCell>
44+
{inflector.camel2words(inflector.underscore(provider))}
45+
</TableCell>
46+
</TableRow>
47+
{Object.keys(versions).map(key => (
48+
<TableRow>
49+
<TableCell>
50+
<strong>
51+
{inflector.camel2words(inflector.underscore(key))}{' '}
52+
{'Version'}
53+
</strong>
54+
</TableCell>
55+
<TableCell>{versions[key]}</TableCell>
56+
</TableRow>
57+
))}
58+
</TableBody>
59+
</Table>
3760
);
3861

3962
Links.defaultProps = {
4063
links: [],
4164
};
4265

43-
const Index = ({ links, onNavigate }) => (
66+
const Index = ({ provider, versions }) => (
4467
<section>
45-
<Links links={links} onNavigate={onNavigate} />
68+
<Links provider={provider} versions={versions} />
4669
</section>
4770
);
4871

yarn.lock

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4172,6 +4172,10 @@ indexof@0.0.1:
41724172
version "0.0.1"
41734173
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
41744174

4175+
inflector-js@1.0.1:
4176+
version "1.0.1"
4177+
resolved "https://registry.yarnpkg.com/inflector-js/-/inflector-js-1.0.1.tgz#8f2b8dae06ba8c1a846e40a196a5e132721be0e0"
4178+
41754179
inflight@^1.0.4:
41764180
version "1.0.6"
41774181
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"

0 commit comments

Comments
 (0)