blob: b609685c862d4e837b3082dd4ea9dbb23e747c2f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import { Link } from 'react-router-dom'
import util from '../util'
import Group from './group.component'
import Param from './param.component'
import Loading from './loading.component'
export default function FolderList ({ db, path, emptyText }) {
if (! db) return null
if (db.loading || !db.data) {
return (
<div class='col folderList'>
<Loading progress={db.progress} />
</div>
)
}
let folderList = db.data.folders.filter(folder => !! folder.generated)
if (! folderList.length && emptyText) {
return (
<div class='col folderList'>
{emptyText}
</div>
)
}
console.log(folders)
const folders = folderList.map(raw_folder => {
const folder = db.data.folderLookup[raw_folder.id]
const fileCount = folder.files ? folder.files.length : 0
const [ className, size ] = util.hush_null(fileCount)
return (
<Param title={<Link to={path + folder.id + '/'}>{folder.name}</Link>}>
<span className={className}>{fileCount} file{util.courtesy_s(fileCount)}</span>
</Param>
)
})
return (
<div class='col folderList'>
<Group title='Projects'>
{folders}
</Group>
</div>
)
}
|