Skip to content
This repository was archived by the owner on Nov 8, 2022. It is now read-only.

Commit abb1e3e

Browse files
committed
Merge branch 'repo-thread' into dev
2 parents c0c716e + d669cd7 commit abb1e3e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1377
-448
lines changed

components/EmptyThread/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ const translator = {
3333
const DescContent = ({ community, thread }) => (
3434
<React.Fragment>
3535
<div>
36-
如果你有 {community} 相关的
36+
如果你有 {community} 相关的优质
3737
{translator[thread]}
38-
,欢迎一起分享交流
38+
,欢迎一起分享 / 交流
3939
</div>
4040
<div>
41-
如果是网站的问题,恳请你
41+
若是网站的问题,恳请你
4242
<IssueLink href={ISSUE_ADDR} rel="noopener noreferrer" target="_blank">
4343
提交issue
4444
</IssueLink>

components/EmptyThread/styles/index.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,17 @@ export const Text = styled.div`
2424
`
2525
export const Title = styled.div`
2626
color: #b8c8c8;
27-
border-top: 1px solid #e2e8e8;
28-
margin-top: 20px;
29-
padding-top: 20px;
27+
border-bottom: 1px solid #e2e8e8;
28+
padding-bottom: 10px;
29+
margin-bottom: 10px;
30+
margin-top: 10px;
3031
font-size: 1.4rem;
3132
`
3233

3334
export const DescWrapper = styled.div`
3435
color: #b8c8c8;
3536
margin-top: 0.6rem;
36-
font-size: 1rem;
37+
font-size: 0.9rem;
3738
`
3839
const Link = styled.a`
3940
text-decoration: none;

components/FormItem/index.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ const FormContent = ({
3434
placeholder,
3535
node,
3636
att,
37+
disabled,
3738
}) => {
3839
switch (type) {
3940
case 'node': {
@@ -48,6 +49,7 @@ const FormContent = ({
4849
placeholder={placeholder}
4950
autosize={{ minRows: 3, maxRows: 6 }}
5051
onChange={onChange}
52+
disabled={disabled}
5153
/>
5254
</FormInput>
5355
)
@@ -61,6 +63,7 @@ const FormContent = ({
6163
value={value}
6264
onChange={onChange}
6365
placeholder={placeholder}
66+
disabled={disabled}
6467
/>
6568
<Maybe test={!R.isEmpty(att)}>{att}</Maybe>
6669
</FormInput>
@@ -81,6 +84,7 @@ const FormItem = ({
8184
node,
8285
att,
8386
bottom,
87+
disabled,
8488
}) => (
8589
<FormItemWrapper className="normal-form" bottom={bottom}>
8690
<Maybe test={!R.isEmpty(label)}>
@@ -96,6 +100,7 @@ const FormItem = ({
96100
placeholder={placeholder}
97101
node={node}
98102
att={att}
103+
disabled={disabled}
99104
/>
100105
</FormItemWrapper>
101106
)
@@ -112,6 +117,7 @@ FormItem.propTypes = {
112117
att: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
113118
size: PropTypes.oneOf(['small', 'default', 'large']),
114119
bottom: PropTypes.string,
120+
disabled: PropTypes.bool,
115121
}
116122

117123
FormItem.defaultProps = {
@@ -126,6 +132,7 @@ FormItem.defaultProps = {
126132
att: '',
127133
onChange: debug,
128134
bottom: '25px',
135+
disabled: false,
129136
}
130137

131138
export default FormItem

components/GithubRepoPage/Header.js

Lines changed: 45 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@ import React from 'react'
22

33
import { ICON_CMD } from '../../config'
44

5+
import { Space } from '../BaseStyled'
6+
import Popover from '../Popover'
7+
58
import {
69
Wrapper,
710
TitlesWrapper,
11+
LanguageDot,
12+
LanguagePopover,
813
TitleLink,
914
CountsWrapper,
1015
CountItem,
@@ -14,35 +19,62 @@ import {
1419
CountDivider,
1520
} from './styles/header'
1621

17-
const TitlesInfo = () => (
22+
import { numberWithCommas } from '../../utils'
23+
24+
const TitlesInfo = ({ repo }) => (
1825
<TitlesWrapper>
19-
<TitleLink>mydearxym </TitleLink>/{' '}
20-
<TitleLink>coderplanets_server</TitleLink>{' '}
26+
<Popover
27+
content={<LanguagePopover>javascript</LanguagePopover>}
28+
placement="bottom"
29+
trigger="hover"
30+
>
31+
<LanguageDot />
32+
</Popover>
33+
<TitleLink href={repo.ownerUrl} rel="noopener noreferrer" target="_blank">
34+
{repo.ownerName}
35+
</TitleLink>
36+
<Space left="4px" />/{''}
37+
<Space right="4px" />
38+
<TitleLink href={repo.repoUrl} rel="noopener noreferrer" target="_blank">
39+
{repo.title}
40+
</TitleLink>{' '}
2141
</TitlesWrapper>
2242
)
23-
const CountsInfo = () => (
43+
const CountsInfo = ({ repo }) => (
2444
<CountsWrapper>
25-
<CountItem>
45+
<CountItem
46+
href={`${repo.repoUrl}/watchers`}
47+
rel="noopener noreferrer"
48+
target="_blank"
49+
>
2650
<CountIcon src={`${ICON_CMD}/repo_watch.svg`} />
27-
<CountText>Watch: 7</CountText>
51+
<CountText>{numberWithCommas(repo.watchCount)}</CountText>
2852
<CountDivider src={`${ICON_CMD}/more.svg`} />
2953
</CountItem>
30-
<CountItem>
54+
<CountItem
55+
href={`${repo.repoUrl}/stargazers`}
56+
rel="noopener noreferrer"
57+
target="_blank"
58+
>
3159
<StarIcon src={`${ICON_CMD}/repo_star.svg`} />
32-
<CountText>Star: 11</CountText>
60+
<CountText>{numberWithCommas(repo.starCount)}</CountText>
3361
<CountDivider src={`${ICON_CMD}/more.svg`} />
3462
</CountItem>
35-
<CountItem>
63+
<CountItem
64+
href={`${repo.repoUrl}/network/members`}
65+
rel="noopener noreferrer"
66+
target="_blank"
67+
>
3668
<CountIcon src={`${ICON_CMD}/repo_fork.svg`} />
37-
<CountText>Fork: 44</CountText>
69+
<CountText>{numberWithCommas(repo.forkCount)}</CountText>
3870
</CountItem>
3971
</CountsWrapper>
4072
)
4173

42-
const Header = () => (
74+
const Header = ({ repo }) => (
4375
<Wrapper>
44-
<TitlesInfo />
45-
<CountsInfo />
76+
<TitlesInfo repo={repo} />
77+
<CountsInfo repo={repo} />
4678
</Wrapper>
4779
)
4880

components/GithubRepoPage/StatesContainers.js

Lines changed: 84 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
import React from 'react'
2+
import R from 'ramda'
3+
4+
import Maybe from '../Maybe'
5+
import Popover from '../Popover'
26

37
import {
48
Wrapper,
@@ -7,43 +11,98 @@ import {
711
Number,
812
BuilderWrapper,
913
Avatar,
10-
MoreText,
14+
Linker,
15+
PopInfo,
16+
PopAvatar,
17+
PopNickname,
1118
} from './styles/states_containers'
1219

13-
import fakeBuilders from './fakeUsers'
14-
1520
import { uid } from '../../utils'
1621

1722
const BuilderList = ({ entries }) => (
1823
<BuilderWrapper>
1924
{entries.map(builder => (
20-
<Avatar key={uid.gen()} src={builder.avatar} />
25+
<Popover
26+
key={uid.gen()}
27+
content={
28+
<PopInfo>
29+
<PopAvatar src={builder.avatar} />
30+
<PopNickname
31+
href={builder.htmlUrl}
32+
rel="noopener noreferrer"
33+
target="_blank"
34+
>
35+
@ {builder.nickname}
36+
</PopNickname>
37+
</PopInfo>
38+
}
39+
placement="bottom"
40+
trigger="hover"
41+
>
42+
<Linker
43+
href={builder.htmlUrl}
44+
rel="noopener noreferrer"
45+
target="_blank"
46+
>
47+
<Avatar src={builder.avatar} />
48+
</Linker>
49+
</Popover>
2150
))}
22-
<MoreText>...</MoreText>
2351
</BuilderWrapper>
2452
)
2553

26-
const StatesContainers = () => (
54+
const StatesContainers = ({ repo }) => (
2755
<Wrapper>
28-
<BoxWrapper>
29-
<Label>Issue</Label>
30-
<Number>33</Number>
31-
</BoxWrapper>
32-
<BoxWrapper>
33-
<Label>PRs</Label>
34-
<Number>3</Number>
35-
</BoxWrapper>
36-
<BoxWrapper>
37-
<Label>Release</Label>
38-
<Number>3</Number>
39-
</BoxWrapper>
40-
<BoxWrapper>
41-
<Label>License</Label>
42-
<Number small>Apache-2.0</Number>
43-
</BoxWrapper>
44-
<BoxWrapper grow nomargin>
45-
<Label>Contributers (23)</Label>
46-
<BuilderList entries={fakeBuilders} />
56+
<Linker
57+
href={`${repo.repoUrl}/issues`}
58+
rel="noopener noreferrer"
59+
target="_blank"
60+
>
61+
<BoxWrapper>
62+
<Label>Issue</Label>
63+
<Number>{repo.issuesCount}</Number>
64+
</BoxWrapper>
65+
</Linker>
66+
<Linker
67+
href={`${repo.repoUrl}/pulls`}
68+
rel="noopener noreferrer"
69+
target="_blank"
70+
>
71+
<BoxWrapper>
72+
<Label>PRs</Label>
73+
<Number>{repo.prsCount}</Number>
74+
</BoxWrapper>
75+
</Linker>
76+
<Linker
77+
href={`${repo.repoUrl}/releases`}
78+
rel="noopener noreferrer"
79+
target="_blank"
80+
>
81+
<BoxWrapper>
82+
<Label>Release</Label>
83+
<Number>{repo.releaseTag || '--'}</Number>
84+
</BoxWrapper>
85+
</Linker>
86+
<Linker
87+
href={`${repo.repoUrl}/blob/master/LICENSE`}
88+
rel="noopener noreferrer"
89+
target="_blank"
90+
>
91+
<BoxWrapper>
92+
<Label>License</Label>
93+
<Number small={repo.license.length > 5}>
94+
{R.toUpper(repo.license)}
95+
</Number>
96+
</BoxWrapper>
97+
</Linker>
98+
<BoxWrapper grow nomargin nohover>
99+
<Label>Contributers</Label>
100+
<Maybe
101+
test={!R.isEmpty(repo.contributors)}
102+
loading={<div>api rate limit</div>}
103+
>
104+
<BuilderList entries={repo.contributors} />
105+
</Maybe>
47106
</BoxWrapper>
48107
</Wrapper>
49108
)

components/GithubRepoPage/fakeUsers.js

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)