Skip to content

Commit

Permalink
fix(mobile): fix update badge
Browse files Browse the repository at this point in the history
Signed-off-by: Sacha Froment <sfroment42@gmail.com>
  • Loading branch information
sfroment committed Feb 28, 2019
1 parent ead32ed commit cdfb3c3
Show file tree
Hide file tree
Showing 7 changed files with 35 additions and 17 deletions.
8 changes: 5 additions & 3 deletions client/react-native/common/components/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ export default class App extends PureComponent {
process.env['ENVIRONMENT'] !== 'integration_test' &&
Platform.OS !== 'web',
relayContext: null,
availableUpdate: false,
deepLink: {
routeName: 'main',
params: {},
Expand Down Expand Up @@ -206,7 +207,7 @@ export default class App extends PureComponent {
this.setState({ deepLink })
}

setStateBis = (i, f) => {
setStateContext = (i, f) => {
this.setState(i, () => {
if (i.relayContext !== null && i.loading === false) {
this.setState({
Expand All @@ -218,7 +219,7 @@ export default class App extends PureComponent {
}

render () {
const { loading, deepLink, showAnim, relayContext } = this.state
const { loading, deepLink, showAnim, relayContext, availableUpdate } = this.state

return (
<I18nextProvider i18n={i18n}>
Expand All @@ -239,9 +240,10 @@ export default class App extends PureComponent {
</Flex.Rows>
) : null }
{ !loading
? <RelayContext.Provider value={{ ...relayContext, setStateBis: this.setStateBis }}>
? <RelayContext.Provider value={{ ...relayContext, setState: this.setStateContext }}>
<AppContainer
screenProps={{
availableUpdate,
deepLink,
setDeepLink: (deepLink) => this.setDeepLink(deepLink),
clearDeepLink: () => this.clearDeepLink(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,18 @@ const TabBarIcon = (tintColor, routeName, badgeValue) => {
)
}

const handleBothNavigationsOptions = ({ navigation, screenProps }) => {
const handleBothNavigationsOptions = (
{
navigation,
screenProps: {
availableUpdate,
},
}) => {
let badge = null

if (
navigation.state.routeName === 'settings' &&
screenProps.availableUpdate
availableUpdate
) {
badge = '!'
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,22 @@ export default createStackNavigator(
{
'devtools/list': List,
'devtools/database': Database,
'devtools/network': DevtoolsNetworkNavigator,
'devtools/network': {
screen: DevtoolsNetworkNavigator,
navigationOptions: () => ({
header: null,
}),
},
'devtools/eventlist': EventList,
'devtools/eventlistfilter': EventListFilterModal,
'devtools/eventdetails': EventDetails,
'devtools/deviceinfos': DeviceInfos,
'devtools/logs': DevtoolsLogNavigator,
'devtools/logs': {
screen: DevtoolsLogNavigator,
navigationOptions: () => ({
header: null,
}),
},
'devtools/tests': Tests,
'devtools/testresult': TestResult,
'devtools/language': Language,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ class Auth extends PureComponent {
await this.start(nickname)
const context = await this.getRelayContext()
const availableUpdate = await getAvailableUpdate(context)
this.props.context.setStateBis(
this.props.context.setState(
{
relayContext: context,
availableUpdate: availableUpdate,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import React, { PureComponent } from 'react'

import { Menu, Header, Screen, Avatar } from '../../../Library'
import { colors } from '../../../../constants'
import withRelayContext from '../../../../helpers/withRelayContext'

class Detail extends PureComponent {
static navigationOptions = ({ navigation }) => ({
Expand Down Expand Up @@ -69,7 +70,7 @@ class Detail extends PureComponent {

deleteContact = async () => {
try {
await this.props.screenProps.context.mutations.contactRemove({
await this.props.context.mutations.contactRemove({
id: this.props.navigation.getParam('contact').id,
})
this.props.navigation.goBack(null)
Expand Down Expand Up @@ -132,4 +133,4 @@ class Detail extends PureComponent {
}
}

export default withNamespaces()(Detail)
export default withRelayContext(withNamespaces()(Detail))
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ const Item = fragments.Event(({ data, navigation }) => (
</TouchableOpacity>
))

export default class EventList extends PureComponent {
class EventList extends PureComponent {
state = {
search: '',
}
Expand Down Expand Up @@ -136,9 +136,7 @@ export default class EventList extends PureComponent {
render () {
const {
navigation,
screenProps: {
context: { queries },
},
context: { queries },
} = this.props
return (
<Screen style={{ backgroundColor: colors.white }}>
Expand Down Expand Up @@ -212,3 +210,4 @@ class EventListFilterModalWithContext extends PureComponent {
}

export const EventListFilterModal = withRelayContext(EventListFilterModalWithContext)
export default withRelayContext(EventList)
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
ActivityIndicator,
Linking,
} from 'react-native'
import React, { PureComponent, Component } from 'react'
import React, { PureComponent } from 'react'

import { Menu, Header, Text, Flex } from '../../../Library'
import { borderBottom } from '../../../../styles'
Expand All @@ -22,7 +22,7 @@ var maxBufferSize = 10000
var antispamModalOpen = false
var antispamModalSave = false

export class FilterModal extends Component {
export class FilterModal extends PureComponent {
static navigationOptions = ({ navigation }) => ({
header: (
<Header
Expand Down Expand Up @@ -338,7 +338,7 @@ class Line extends PureComponent {
}
}

class LogStreamWithContext extends Component {
class LogStreamWithContext extends PureComponent {
static navigationOptions = ({ navigation }) => ({
header: (
<Header
Expand Down

0 comments on commit cdfb3c3

Please sign in to comment.