ipfs-filexp
This is a web based file manager for use with IPFS.
Usage
The explorer is built in React, and requires a redux store, with saga middleware to be available in your app.
main.js
import React from 'react'
import {render} from 'react-dom'
import {Route} from 'react-router'
import {syncHistoryWithStore} from 'react-router-redux'
import configureStore from './configure-store'
import {Explorer, Preview} from '@tableflip/ipfs-filexp'
const ExplorerPage = () => <Explorer />
const PreviewPage = () => <Preview />
const store = configureStore()
const history = syncHistoryWithStore(hashHistory, store)
render(
<Provider store={store}>
<Router history={history}>
<Route path='/' component={ExplorerPage}>
<Route path='preview' component={PreviewPage} />
</Route>
</Router>
</Provider>,
document.getElementById('root')
)
That's it! Although we need an appropriate configureStore function which will apply the file explorer redux reducers and run the file explorer sagas for us. Here's how you might do that:
configure-store.js
import {createStore, applyMiddleware, combineReducers} from 'redux'
import createSagaMiddleware from 'redux-saga'
import {fork} from 'redux-saga/effects'
import * as Filexp from '@tableflip/ipfs-filexp'
import reducers from './reducers'
import sagas from './sagas'
export default function configureStore (initialState) {
const rootReducer = combineReducers({ ...reducers, ...Filexp.reducers })
const sagaMiddleware = createSagaMiddleware()
const store = createStore(
rootReducer,
initialState,
applyMiddleware(sagaMiddleware)
)
sagaMiddleware.run(function * () {
yield [
fork(sagas),
fork(Filexp.sagas)
]
})
return store
}
Development
Make sure node.js version 4+ and npm version 3+ are installed and in your path.
Building
npm run build
Contribute

Please contribute! The more people who work on this, the faster we'll be able to ship it. Dive in by testing it and looking at the issues.
The CONTRIBUTING file has more information relevant to this repo. To contribute to IPFS in general, just click on the image above to go to our global contributing guide.
License
MIT License