|
6 | 6 |
|
7 | 7 | importReactfrom'react'
|
8 | 8 | importPropTypesfrom'prop-types'
|
9 |
| -importRfrom'ramda' |
10 | 9 |
|
11 |
| -import{ICON_CMD}from'../../config' |
| 10 | +importDotSelectorfrom'./DotSelector' |
| 11 | +importCardSelectorfrom'./CardSelector' |
12 | 12 |
|
13 |
| -import{ |
14 |
| -FlexWrapper, |
15 |
| -ThemeDot, |
16 |
| -DetailWrapper, |
17 |
| -IntroBox, |
18 |
| -IntroDesc, |
19 |
| -ThemeTitle, |
20 |
| -ThemeDesc, |
21 |
| -AuthorInfo, |
22 |
| -AuthorIcon, |
23 |
| -AuthorName, |
24 |
| -}from'./style' |
25 |
| - |
26 |
| -import{makeDebugger,themeMeta,uid}from'../../utils' |
| 13 | +import{makeDebugger}from'../../utils' |
27 | 14 |
|
28 | 15 | /* eslint-disable no-unused-vars */
|
29 | 16 | constdebug=makeDebugger('c:ThemeSelector:index')
|
30 | 17 | /* eslint-enable no-unused-vars */
|
31 | 18 |
|
32 |
| -constDotStyle=({ curTheme, changeTheme})=>( |
33 |
| -<FlexWrapper> |
34 |
| -{R.keys(themeMeta).map(name=>( |
35 |
| -<ThemeDot |
36 |
| -key={uid.gen()} |
37 |
| -active={curTheme===name} |
38 |
| -name={name} |
39 |
| -onClick={changeTheme.bind(this,name)} |
40 |
| -/> |
41 |
| -))} |
42 |
| -</FlexWrapper> |
43 |
| -) |
44 |
| - |
45 |
| -constDetailStyle=({ curTheme, changeTheme})=>( |
46 |
| -<DetailWrapper> |
47 |
| -{R.keys(themeMeta).map(name=>( |
48 |
| -<IntroBoxkey={uid.gen()}active={curTheme===name}> |
49 |
| -<ThemeDot |
50 |
| -large |
51 |
| -active={curTheme===name} |
52 |
| -name={name} |
53 |
| -onClick={changeTheme.bind(this,name)} |
54 |
| -/> |
55 |
| -<IntroDesc> |
56 |
| -<ThemeTitle |
57 |
| -active={curTheme===name} |
58 |
| -onClick={changeTheme.bind(this,name)} |
59 |
| -> |
60 |
| -{name} |
61 |
| -</ThemeTitle> |
62 |
| -<ThemeDesconClick={changeTheme.bind(this,name)}> |
63 |
| -{themeMeta[name].desc} |
64 |
| -</ThemeDesc> |
65 |
| -<AuthorInfo> |
66 |
| -<AuthorIconsrc={`${ICON_CMD}/author.svg`}/> |
67 |
| -<AuthorName |
68 |
| -href="https://www.github.com/mydearxym" |
69 |
| -rel="noopener noreferrer" |
70 |
| -target="_blank" |
71 |
| -> |
72 |
| - mydearxym |
73 |
| -</AuthorName> |
74 |
| -</AuthorInfo> |
75 |
| -</IntroDesc> |
76 |
| -</IntroBox> |
77 |
| -))} |
78 |
| -</DetailWrapper> |
79 |
| -) |
80 |
| - |
81 | 19 | constThemeSelector=({ displayStyle, curTheme, changeTheme})=>{
|
82 | 20 | returndisplayStyle==='default' ?(
|
83 |
| -<DotStylecurTheme={curTheme}changeTheme={changeTheme}/> |
| 21 | +<DotSelectorcurTheme={curTheme}changeTheme={changeTheme}/> |
84 | 22 | ) :(
|
85 |
| -<DetailStylecurTheme={curTheme}changeTheme={changeTheme}/> |
| 23 | +<CardSelectorcurTheme={curTheme}changeTheme={changeTheme}/> |
86 | 24 | )
|
87 | 25 | }
|
88 | 26 |
|
89 | 27 | ThemeSelector.propTypes={
|
90 | 28 | curTheme:PropTypes.string,
|
91 |
| -displayStyle:PropTypes.oneOf(['default','detail']), |
| 29 | +displayStyle:PropTypes.oneOf(['default','card']), |
92 | 30 | changeTheme:PropTypes.func.isRequired,
|
93 | 31 | // https://www.npmjs.com/package/prop-types
|
94 | 32 | }
|
|