1
0
mirror of https://github.com/fazo96/ipfs-boards synced 2025-01-09 12:19:49 +01:00

wip boards view

This commit is contained in:
Enrico Fasoli 2018-02-03 15:26:49 +01:00
parent 067973533a
commit 752799e0a8
No known key found for this signature in database
GPG Key ID: 1238873C5F27DB4D
7 changed files with 64 additions and 4 deletions

View File

@ -1,6 +1,6 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Switch, Route, withRouter } from 'react-router-dom'; import { Switch, Route, withRouter } from 'react-router-dom';
import Feed from './Feed' import Boards from '../containers/Boards'
import PostEditor from '../containers/PostEditor' import PostEditor from '../containers/PostEditor'
import 'semantic-ui-css/semantic.css' import 'semantic-ui-css/semantic.css'
@ -8,8 +8,8 @@ class App extends Component {
render() { render() {
return ( return (
<Switch> <Switch>
<Route path='/post/new' component={PostEditor} /> <Route path='/p/new' component={PostEditor} />
<Route path='/' component={Feed} /> <Route path='/' component={Boards} />
</Switch> </Switch>
); );
} }

9
src/components/Boards.js Normal file
View File

@ -0,0 +1,9 @@
import React from 'react'
import { List } from 'semantic-ui-react'
import BoardsItem from './BoardsItem'
export default function Boards({ boards }) {
return <List divided relaxed>
{boards.map(board => <BoardsItem {...board} />)}
</List>
}

View File

@ -0,0 +1,12 @@
import React from 'react'
import { List } from 'semantic-ui-react'
export default function BoardsItem(props) {
return <List.Item>
<List.Icon name='board' size='large' verticalAlign='middle' />
<List.Content>
<List.Header>Board Name</List.Header>
<List.Description>Updated 10 mins ago</List.Description>
</List.Content>
</List.Item>
}

0
src/containers/Board.js Normal file
View File

24
src/containers/Boards.js Normal file
View File

@ -0,0 +1,24 @@
import React from 'react'
import { connect } from 'react-redux'
import BoardsComponent from '../components/Boards'
function Boards({ boards }) {
return <BoardsComponent boards={boards} />
}
function mapStateToProps(state){
return {
boards: state.boards.boards
}
}
function mapDispatchToProps(dispatch){
return {
}
}
export default connect(
mapStateToProps,
mapDispatchToProps
)(Boards)

13
src/reducers/boards.js Normal file
View File

@ -0,0 +1,13 @@
function getInitialState() {
return {
boards: []
}
}
export default function BoardsReducer(state = getInitialState(), action) {
switch (action.type) {
default:
return state;
}
}

View File

@ -1,6 +1,8 @@
import { combineReducers } from 'redux' import { combineReducers } from 'redux'
import postReducer from './post' import postReducer from './post'
import boardsReducer from './boards'
export default combineReducers({ export default combineReducers({
postEditor: postReducer postEditor: postReducer,
boards: boardsReducer
}) })