8 | {props.spinner && (
9 |
10 |
11 |
12 | )}
13 | {props.tick && (
14 |
15 |
16 |
17 | )}
18 | {props.message}
19 |
20 | );
21 | }
22 |
--------------------------------------------------------------------------------
/desktop-app/app/containers/DrawerContainer/index.js:
--------------------------------------------------------------------------------
1 | // @flow
2 | import React from 'react';
3 | import {connect} from 'react-redux';
4 | import {bindActionCreators} from 'redux';
5 |
6 | import Drawer from '../../components/Drawer';
7 | import * as BrowserActions from '../../actions/browser';
8 |
9 | function mapStateToProps(state) {
10 | return {
11 | drawer: state.browser.drawer,
12 | };
13 | }
14 |
15 | function mapDispatchToProps(dispatch) {
16 | return bindActionCreators(BrowserActions, dispatch);
17 | }
18 |
19 | export default connect(mapStateToProps, mapDispatchToProps)(Drawer);
20 |
--------------------------------------------------------------------------------
/desktop-app/scripts/notarize.js:
--------------------------------------------------------------------------------
1 | require('dotenv').config();
2 | const {notarize} = require('electron-notarize');
3 |
4 | exports.default = async function notarizing(context) {
5 | const {electronPlatformName, appOutDir} = context;
6 | if (electronPlatformName !== 'darwin') {
7 | return;
8 | }
9 |
10 | const appName = context.packager.appInfo.productFilename;
11 |
12 | return notarize({
13 | appBundleId: 'app.responsively',
14 | appPath: `${appOutDir}/${appName}.app`,
15 | appleId: process.env.APPLEID,
16 | appleIdPassword: process.env.APPLEIDPASS,
17 | });
18 | };
19 |
--------------------------------------------------------------------------------
/dev.code-workspace:
--------------------------------------------------------------------------------
1 | {
2 | "folders": [
3 | {
4 | "path": "desktop-app"
5 | },
6 | {
7 | "path": "browser-extension"
8 | }
9 | ],
10 | "settings": {
11 | "files.associations": {
12 | ".babelrc": "jsonc",
13 | ".eslintrc": "jsonc",
14 | ".prettierrc": "jsonc",
15 | ".stylelintrc": "json",
16 | ".dockerignore": "ignore",
17 | ".eslintignore": "ignore",
18 | ".flowconfig": "ignore"
19 | },
20 | "javascript.validate.enable": false,
21 | "javascript.format.enable": false,
22 | "typescript.validate.enable": false,
23 | "typescript.format.enable": false
24 | }
25 | }
--------------------------------------------------------------------------------
/desktop-app/app/reducers/statusBar.js:
--------------------------------------------------------------------------------
1 | // @flow
2 | import {TOGGLE_STATUS_BAR_VISIBILITY} from '../actions/statusBar';
3 | import {statusBarSettings} from '../settings/statusBarSettings';
4 |
5 | export type StatusBarStateType = {visible: boolean};
6 |
7 | export default function app(
8 | state: StatusBarStateType = {visible: statusBarSettings.getVisibility()},
9 | action: Action
10 | ) {
11 | switch (action.type) {
12 | case TOGGLE_STATUS_BAR_VISIBILITY:
13 | return {
14 | ...state,
15 | visible: action.visible,
16 | };
17 | default:
18 | return state;
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/desktop-app/resources/dock-bottom.svg:
--------------------------------------------------------------------------------
1 |