Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion shared/desktop/app/main-window.desktop.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import URL from 'url-parse'
import * as SafeElectron from '../../util/safe-electron.desktop'
import * as Electron from 'electron'
import * as ConfigGen from '../../actions/config-gen'
import * as fs from 'fs'
Expand Down Expand Up @@ -132,7 +133,7 @@ const loadWindowState = () => {
switch (darkMode) {
case 'system':
darkModePreference = darkMode
isDarkMode = isDarwin && Electron.systemPreferences.isDarkMode()
isDarkMode = SafeElectron.workingIsDarkMode()
break
case 'alwaysDark':
darkModePreference = darkMode
Expand Down
2 changes: 1 addition & 1 deletion shared/desktop/renderer/main.desktop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ import {_setSystemIsDarkMode, _setSystemSupported} from '../../styles/dark-mode'
import {isDarwin} from '../../constants/platform'
import * as SafeElectron from '../../util/safe-electron.desktop'

_setSystemIsDarkMode(isDarwin && SafeElectron.getSystemPreferences().isDarkMode())
_setSystemIsDarkMode(SafeElectron.workingIsDarkMode())
_setSystemSupported(isDarwin)
require('./main2.desktop')
2 changes: 1 addition & 1 deletion shared/desktop/renderer/main2.desktop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ const setupDarkMode = () => {
() => {
store.dispatch(
ConfigGen.createSetSystemDarkMode({
dark: isDarwin && SafeElectron.getSystemPreferences().isDarkMode(),
dark: SafeElectron.workingIsDarkMode(),
})
)
}
Expand Down
37 changes: 16 additions & 21 deletions shared/profile/generic/proofs-list/container.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,24 @@ import openURL from '../../../util/open-url'

type OwnProps = RouteProps

const mapStateToProps = state => ({
_proofSuggestions: state.tracker2.proofSuggestions,
})

const mapDispatchToProps = dispatch => ({
onCancel: () => dispatch(RouteTreeGen.createNavigateUp()),
providerClicked: (key: string) => dispatch(ProfileGen.createAddProof({platform: key, reason: 'profile'})),
})

const mergeProps = (stateProps, dispatchProps, _: OwnProps) => ({
onCancel: dispatchProps.onCancel,
onClickLearn: () => openURL('https://keybase.io/docs/proof_integration_guide'),
providerClicked: dispatchProps.providerClicked,
providers: stateProps._proofSuggestions
.map(s => ({
export default namedConnect(
state => ({_proofSuggestions: state.tracker2.proofSuggestions}),
dispatch => ({
onCancel: () => dispatch(RouteTreeGen.createNavigateUp()),
providerClicked: (key: string) => dispatch(ProfileGen.createAddProof({platform: key, reason: 'profile'})),
}),
(stateProps, dispatchProps, _: OwnProps) => ({
onCancel: dispatchProps.onCancel,
onClickLearn: () => openURL('https://keybase.io/docs/proof_integration_guide'),
providerClicked: dispatchProps.providerClicked,
providers: stateProps._proofSuggestions.map(s => ({
desc: s.pickerSubtext,
icon: s.pickerIcon,
key: s.assertionKey,
name: s.pickerText,
new: s.metas.some(({label}) => label === 'new'),
}))
.toArray(),
title: 'Prove your...',
})

export default namedConnect(mapStateToProps, mapDispatchToProps, mergeProps, 'ProofsList')(ProofsList)
})),
title: 'Prove your...',
}),
'ProofsList'
)(ProofsList)
8 changes: 8 additions & 0 deletions shared/util/safe-electron.desktop.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ export const getApp = () => {
return app
}

// some kind of electron bug
// https://github.com/electron/electron/issues/19125
export const workingIsDarkMode = () => {
const platform = process.platform
const isDarwin = platform === 'darwin'
return isDarwin && getSystemPreferences().getUserDefault('AppleInterfaceStyle', 'string') == 'Dark'
}

export const getSystemPreferences = () => {
const systemPreferences = Electron.systemPreferences || getRemote().systemPreferences
if (!systemPreferences) {
Expand Down