diff --git a/.vscode/settings.json b/.vscode/settings.json index 9e26dfe..c4e043a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1 +1,3 @@ -{} \ No newline at end of file +{ + "editor.minimap.enabled": false +} \ No newline at end of file diff --git a/src/images/screenshots/new/dashboard-dark.png b/src/images/screenshots/new/dashboard-dark.png new file mode 100644 index 0000000..5f2c6c7 Binary files /dev/null and b/src/images/screenshots/new/dashboard-dark.png differ diff --git a/src/images/screenshots/new/dashboard-light.png b/src/images/screenshots/new/dashboard-light.png new file mode 100644 index 0000000..158cb9d Binary files /dev/null and b/src/images/screenshots/new/dashboard-light.png differ diff --git a/src/images/screenshots/new/dashboard-reasons-dark.png b/src/images/screenshots/new/dashboard-reasons-dark.png new file mode 100644 index 0000000..88421b0 Binary files /dev/null and b/src/images/screenshots/new/dashboard-reasons-dark.png differ diff --git a/src/images/screenshots/new/dashboard-reasons-light.png b/src/images/screenshots/new/dashboard-reasons-light.png new file mode 100644 index 0000000..1fc7400 Binary files /dev/null and b/src/images/screenshots/new/dashboard-reasons-light.png differ diff --git a/src/images/screenshots/new/dashboard-scores-dark.png b/src/images/screenshots/new/dashboard-scores-dark.png new file mode 100644 index 0000000..d92d76b Binary files /dev/null and b/src/images/screenshots/new/dashboard-scores-dark.png differ diff --git a/src/images/screenshots/new/dashboard-scores-light.png b/src/images/screenshots/new/dashboard-scores-light.png new file mode 100644 index 0000000..2bb3aff Binary files /dev/null and b/src/images/screenshots/new/dashboard-scores-light.png differ diff --git a/src/images/screenshots/new/dashboard.png b/src/images/screenshots/new/dashboard.png deleted file mode 100644 index 2abbc00..0000000 Binary files a/src/images/screenshots/new/dashboard.png and /dev/null differ diff --git a/src/images/screenshots/new/participating.png b/src/images/screenshots/new/participating.png deleted file mode 100644 index 8bb95cf..0000000 Binary files a/src/images/screenshots/new/participating.png and /dev/null differ diff --git a/src/images/screenshots/new/reasons.png b/src/images/screenshots/new/reasons.png deleted file mode 100644 index 8a9ab1f..0000000 Binary files a/src/images/screenshots/new/reasons.png and /dev/null differ diff --git a/src/images/screenshots/new/scores.png b/src/images/screenshots/new/scores.png deleted file mode 100644 index 76c6690..0000000 Binary files a/src/images/screenshots/new/scores.png and /dev/null differ diff --git a/src/images/screenshots/new/settings-participating.png b/src/images/screenshots/new/settings-participating.png new file mode 100644 index 0000000..7a0e480 Binary files /dev/null and b/src/images/screenshots/new/settings-participating.png differ diff --git a/src/images/screenshots/new/settings-watching.png b/src/images/screenshots/new/settings-watching.png new file mode 100644 index 0000000..d54be5f Binary files /dev/null and b/src/images/screenshots/new/settings-watching.png differ diff --git a/src/images/screenshots/new/watching.png b/src/images/screenshots/new/watching.png deleted file mode 100644 index 68855ab..0000000 Binary files a/src/images/screenshots/new/watching.png and /dev/null differ diff --git a/src/images/svg/icons/bedtime.svg b/src/images/svg/icons/bedtime.svg new file mode 100644 index 0000000..a8dd2b5 --- /dev/null +++ b/src/images/svg/icons/bedtime.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/svg/icons/insights.svg b/src/images/svg/icons/insights.svg new file mode 100644 index 0000000..9afbd1a --- /dev/null +++ b/src/images/svg/icons/insights.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/svg/icons/push_pin.svg b/src/images/svg/icons/push_pin.svg new file mode 100644 index 0000000..903a15a --- /dev/null +++ b/src/images/svg/icons/push_pin.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/svg/icons/rule.svg b/src/images/svg/icons/rule.svg new file mode 100644 index 0000000..6e8233a --- /dev/null +++ b/src/images/svg/icons/rule.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/images/svg/icons/smart_button.svg b/src/images/svg/icons/smart_button.svg new file mode 100644 index 0000000..682a9b7 --- /dev/null +++ b/src/images/svg/icons/smart_button.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/pages/Guide/Scene.js b/src/pages/Guide/Scene.js index 384bd93..e689685 100644 --- a/src/pages/Guide/Scene.js +++ b/src/pages/Guide/Scene.js @@ -13,8 +13,8 @@ import { import WorkflowToggle from '../Home/WorkflowToggle'; import SettingsPng from '../../images/screenshots/new/settings.png' -import ParticipatingPng from '../../images/screenshots/new/participating.png' -import WatchingPng from '../../images/screenshots/new/watching.png' +import ParticipatingPng from '../../images/screenshots/new/settings-participating.png' +import WatchingPng from '../../images/screenshots/new/settings-watching.png' import '../../styles/gradient.css'; import '../../styles/font.css'; diff --git a/src/pages/Home/Scene.js b/src/pages/Home/Scene.js index 0fe2345..212df7d 100644 --- a/src/pages/Home/Scene.js +++ b/src/pages/Home/Scene.js @@ -12,20 +12,20 @@ import { } from '../common'; import WorkflowToggle from './WorkflowToggle'; -import {ReactComponent as CloudOffSvg} from '../../images/svg/icons/cloud_off.svg' -import {ReactComponent as NotificationsActiveSvg} from '../../images/svg/icons/notifications_active.svg' -import {ReactComponent as PriorityHighSvg} from '../../images/svg/icons/priority_high.svg' -import {ReactComponent as TuneSvg} from '../../images/svg/icons/tune.svg' -import {ReactComponent as SpeedSvg} from '../../images/svg/icons/speed.svg' -import {ReactComponent as GpsFixedSvg} from '../../images/svg/icons/gps_fixed.svg' -import {ReactComponent as WbIridescentSvg} from '../../images/svg/icons/wb_iridescent.svg' -import {ReactComponent as TimelineSvg} from '../../images/svg/icons/timeline.svg' +import {ReactComponent as ServerlessSvg} from '../../images/svg/icons/cloud_off.svg' +import {ReactComponent as DesktopNotificationsSvg} from '../../images/svg/icons/notifications_active.svg' +import {ReactComponent as AutoSortingSvg} from '../../images/svg/icons/smart_button.svg' +import {ReactComponent as FilterNoiseSvg} from '../../images/svg/icons/tune.svg' +import {ReactComponent as UndoActionsSvg} from '../../images/svg/icons/rule.svg' +import {ReactComponent as LiveUpdatesSvg} from '../../images/svg/icons/gps_fixed.svg' +import {ReactComponent as PinnedNotificationsSvg} from '../../images/svg/icons/push_pin.svg' +import {ReactComponent as StatisticsSvg} from '../../images/svg/icons/insights.svg' import ItemPng from '../../images/screenshots/item.png'; import ItemTwoPng from '../../images/screenshots/item-2.png'; -import ScreenshotPng from '../../images/screenshots/new/dashboard.png'; -import ScoresPng from '../../images/screenshots/new/scores.png'; -import ReasonsPng from '../../images/screenshots/new/reasons.png'; +import ScreenshotPng from '../../images/screenshots/new/dashboard-light.png'; +import ReasonsPng from '../../images/screenshots/new/dashboard-reasons-dark.png'; +import ScoresPng from '../../images/screenshots/new/dashboard-scores-light.png'; import RobinLogo from '../../images/logos/robin-logo.png'; import ForwardLogo from '../../images/logos/forward-logo.png'; @@ -482,43 +482,43 @@ export default function Scene (props) { {'for optimizing your workday'} - +

{'Serverless'}

{'Any notification scoring and storing is done completely offline.'}

- +

{'Desktop Notifications'}

{'Get notified when we do – ability to turn on desktop notifications.'}

- +

{'Auto Sorting'}

{'Keep your most important notifications at the top of the list.'}

- +

{'Filter Noise'}

{'Any notifications that don\'t directly involve you are hidden.'}

- -

{'Dead Simple'}

-

{'No integrations – just log in and start working.'}

+ +

{'Undo Actions'}

+

{'Mark notifications as unread if you change your mind.'}

- +

{'Live Updates'}

{'All of your notifications are processed in real time.'}

- -

{'Reasoning'}

-

{'We\'ll also tell you why you\'re getting each notification.'}

+ +

{'Pinnable'}

+

{'Keep your important tasks at the top of your list.'}

- +

{'Statistics'}

{'Better understand how you work with data visualizations.'}

diff --git a/src/providers/Storage.js b/src/providers/Storage.js index b2eaa67..afce4bb 100644 --- a/src/providers/Storage.js +++ b/src/providers/Storage.js @@ -107,6 +107,7 @@ class StorageProvider extends React.Component { this.setState({ notifications }); + // Faux notifications for sample screenshots. // const mockNotifications = createMockNotifications(20); // this.setState({ notifications: mockNotifications }); } diff --git a/src/utils/mocks.js b/src/utils/mocks.js index db0501d..f93b59b 100644 --- a/src/utils/mocks.js +++ b/src/utils/mocks.js @@ -10,11 +10,11 @@ function* createCounterGenerator () { const uidGen = createCounterGenerator(); const indexGen = createCounterGenerator(); -const getMockReasons = n => { +const getMockReasons = (n, ra) => { const reasons = Object.values(Reasons); const len = reasons.length; return new Array(n).fill(0).map(_ => ({ - reason: reasons[Math.floor(Math.random() * len)], + reason: reasons[Math.floor(ra * len)], time: moment().format() })); }; @@ -32,24 +32,25 @@ function getMockName (index) { return names[index % names.length]; } -const getMockNotification = randomNumber => ({ +const getMockNotification = (ra, rb, rc) => ({ id: uidGen.next().value, - updated_at: moment().subtract(randomNumber * 500, 'minutes').utc().format(), - isAuthor: randomNumber < 0.2, - status: randomNumber < 0.4 ? Status.QUEUED : randomNumber < 0.6 ? Status.STAGED : Status.CLOSED, - reasons: getMockReasons(Math.ceil(randomNumber * 10)), - type: ['PullRequest', 'Issue'][Math.floor(randomNumber * 2)], + updated_at: moment().subtract(ra * 500, 'minutes').utc().format(), + isAuthor: ra < 0.2, + status: ra < 0.4 ? Status.Unread : rb < 0.6 ? Status.Read : Status.Archived, + reasons: getMockReasons(Math.ceil(rb * 10), ra), + type: ['PullRequest', 'Issue'][rc > .7 ? 1 : 0], name: getMockName(indexGen.next().value), url: 'https://github.com/test/repo/pull', - repository: ['BuckleScript/bucklescript', 'nickzuber/meteorite'][Math.floor(randomNumber * 2)], - number: Math.ceil(randomNumber * 1000), + repository: ['BuckleScript/bucklescript', 'nickzuber/meteorite'][Math.floor(rb * 2)], + number: Math.ceil(rc * 1000), repositoryUrl: 'https://github.com/test/repo', }); export function createMockNotifications (n = 50) { const mockNotifications = new Array(n); for (let i = 0; i < mockNotifications.length; i++) { - mockNotifications[i] = getMockNotification(Math.random()); + let a = Math.random(), b = Math.random(), c = Math.random(); + mockNotifications[i] = getMockNotification(a, b, c); } return mockNotifications; }