Skip to content
This repository was archived by the owner on Aug 2, 2025. It is now read-only.

Commit e6e8d07

Browse files
authored
Compact picker (#60)
* feat: compact picker - make c2c icon smaller - replace styled-components with emotion * bump version
1 parent 4f36fbc commit e6e8d07

File tree

7 files changed

+240
-135
lines changed

7 files changed

+240
-135
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "browserosaurus",
33
"productName": "Browserosaurus",
4-
"version": "4.0.0",
4+
"version": "4.1.0",
55
"description": "The browser prompter for macOS",
66
"homepage": "http://wstone.io/browserosaurus/",
77
"main": "src/main.js",
@@ -48,6 +48,7 @@
4848
"array-move": "^1.0.0",
4949
"electron-compile": "^6.4.2",
5050
"electron-store": "^1.3.0",
51+
"emotion": "^9.2.5",
5152
"jsonpath": "^0.2.11",
5253
"lodash": "^4.17.4",
5354
"mousetrap": "^1.6.1",
@@ -57,9 +58,9 @@
5758
"react": "^16.2.0",
5859
"react-beautiful-dnd": "^4.0.1",
5960
"react-dom": "^16.2.0",
61+
"react-emotion": "^9.2.5",
6062
"react-transition-group": "^2.2.1",
6163
"semver": "^5.4.1",
62-
"styled-components": "^3.2.0",
6364
"xml2js": "^0.4.19"
6465
},
6566
"config": {

src/components/ActivityIcon.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import React from 'react'
22
import { string, object } from 'prop-types'
33

4-
const ActivityIcon = ({ name, style, ...rest }) => {
4+
const ActivityIcon = ({ large, name, style, ...rest }) => {
55
return (
66
<img
77
src={`../images/activity-icons/${name}.png`}
88
alt=""
99
style={{
1010
...style,
11-
width: 32,
12-
height: 32,
11+
width: large ? 48 : 32,
12+
height: large ? 48 : 32,
1313
verticalAlign: 'middle'
1414
}}
1515
{...rest}

src/components/TitleBar.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import styled from 'styled-components'
1+
import styled from 'react-emotion'
22

3-
const TitleBar = styled.div`
3+
const TitleBar = styled('div')`
44
height: 2rem;
55
-webkit-app-region: drag;
66
text-align: center;
12.2 KB
Loading

src/picker/components/Activity.js

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
import { MenuItem } from '@blueprintjs/core'
1+
import { Tooltip } from '@blueprintjs/core'
22
import React from 'react'
3-
import styled from 'styled-components'
3+
import styled, { css } from 'react-emotion'
44
import ActivityIcon from '../../components/ActivityIcon'
55
import Kbd from '../../components/Kbd'
66

7-
const StyledMenuItem = styled(MenuItem)`
8-
padding: 1rem;
9-
align-items: center;
7+
const StyledTile = styled('div')`
8+
display: inline-block;
9+
width: calc(100% / 3);
10+
text-align: center;
1011
1112
&:hover,
1213
&.is-active {
@@ -16,13 +17,32 @@ const StyledMenuItem = styled(MenuItem)`
1617

1718
const Activity = ({ active, activity, defaultActivity, onClick }) => {
1819
return (
19-
<StyledMenuItem
20-
icon={<ActivityIcon name={activity.name} />}
21-
text={activity.name}
22-
onClick={onClick}
23-
className={active && 'is-active'}
24-
label={<Kbd isDefault={defaultActivity} hotKey={activity.hotKey} />}
25-
/>
20+
<StyledTile onClick={onClick} className={active && 'is-active'}>
21+
<Tooltip
22+
content={activity.name}
23+
position="bottom"
24+
intent="primary"
25+
rootElementTag="div"
26+
className={css`
27+
display: block;
28+
`}
29+
>
30+
<div
31+
className={css`
32+
padding: 1rem;
33+
`}
34+
>
35+
<ActivityIcon
36+
name={activity.name}
37+
style={{ marginBottom: '1rem' }}
38+
large
39+
/>
40+
<div>
41+
<Kbd isDefault={defaultActivity} hotKey={activity.hotKey} />
42+
</div>
43+
</div>
44+
</Tooltip>
45+
</StyledTile>
2646
)
2747
}
2848

src/picker/picker.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
1-
import { Menu, Spinner, Text } from '@blueprintjs/core'
1+
import { Spinner, Text } from '@blueprintjs/core'
22
import React, { Fragment } from 'react'
33
import ReactDOM from 'react-dom'
44
import EscapeToHide from '../utils/EscapeToHide'
55
import UrlListener from '../utils/UrlListener'
66
import WindowHeightUpdater from '../utils/WindowHeightUpdater'
77
import WithActivities from '../utils/WithActivities'
88
import Activity from './components/Activity.container'
9-
import styled from 'styled-components'
10-
11-
const StyledMenu = styled(Menu)`
12-
background-color: transparent !important;
13-
padding: 0 !important;
14-
`
159

1610
ReactDOM.render(
1711
<EscapeToHide>
@@ -30,7 +24,7 @@ ReactDOM.render(
3024
</div>
3125
) : (
3226
<Fragment>
33-
<StyledMenu>
27+
<div>
3428
{activities
3529
.filter(activity => activity.enabled)
3630
.map((activity, index) => (
@@ -41,7 +35,7 @@ ReactDOM.render(
4135
defaultActivity={index === 0}
4236
/>
4337
))}
44-
</StyledMenu>
38+
</div>
4539
<WindowHeightUpdater />
4640
</Fragment>
4741
)

0 commit comments

Comments
 (0)