Compare commits

..

3 commits

6 changed files with 123 additions and 102 deletions

View file

@ -23,15 +23,15 @@
"@react-native-community/async-storage": "^1.11.0", "@react-native-community/async-storage": "^1.11.0",
"@react-native-community/masked-view": "^0.1.10", "@react-native-community/masked-view": "^0.1.10",
"@react-native-community/push-notification-ios": "^1.3.0", "@react-native-community/push-notification-ios": "^1.3.0",
"@react-native-community/slider": "^3.0.0", "@react-native-community/slider": "^3.0.3",
"@react-navigation/bottom-tabs": "^5.7.0", "@react-navigation/bottom-tabs": "^5.7.1",
"@react-navigation/native": "^5.7.0", "@react-navigation/native": "^5.7.0",
"@react-navigation/stack": "^5.7.0", "@react-navigation/stack": "^5.7.0",
"i18n-js": "^3.7.1", "i18n-js": "^3.7.1",
"react": "16.13.1", "react": "16.13.1",
"react-native": "0.63.0", "react-native": "0.63.1",
"react-native-animatable": "^1.3.3", "react-native-animatable": "^1.3.3",
"react-native-app-intro-slider": "^4.0.0", "react-native-app-intro-slider": "^4.0.4",
"react-native-appearance": "^0.3.4", "react-native-appearance": "^0.3.4",
"react-native-autolink": "^3.0.0", "react-native-autolink": "^3.0.0",
"react-native-calendars": "^1.300.0", "react-native-calendars": "^1.300.0",
@ -43,11 +43,11 @@
"react-native-linear-gradient": "^2.5.6", "react-native-linear-gradient": "^2.5.6",
"react-native-localize": "^1.4.0", "react-native-localize": "^1.4.0",
"react-native-modalize": "^2.0.4", "react-native-modalize": "^2.0.4",
"react-native-paper": "^3.10.1", "react-native-paper": "^4.0.1",
"react-native-permissions": "^2.1.5", "react-native-permissions": "^2.1.5",
"react-native-push-notification": "^4.0.0", "react-native-push-notification": "^4.0.0",
"react-native-reanimated": "^1.9.0", "react-native-reanimated": "^1.9.0",
"react-native-render-html": "^4.2.0", "react-native-render-html": "^4.2.1",
"react-native-safe-area-context": "0.7.3", "react-native-safe-area-context": "0.7.3",
"react-native-screens": "^2.9.0", "react-native-screens": "^2.9.0",
"react-native-splash-screen": "^3.2.0", "react-native-splash-screen": "^3.2.0",

View file

@ -1,8 +1,8 @@
// @flow // @flow
import * as React from 'react'; import * as React from 'react';
import {Avatar, Card, Text, withTheme} from 'react-native-paper'; import {Avatar, Card, Text, TouchableRipple, withTheme} from 'react-native-paper';
import {StyleSheet} from "react-native"; import {StyleSheet, View} from "react-native";
import i18n from "i18n-js"; import i18n from "i18n-js";
import type {CustomTheme} from "../../managers/ThemeManager"; import type {CustomTheme} from "../../managers/ThemeManager";
@ -47,24 +47,28 @@ class EventDashBoardItem extends React.Component<Props> {
} else } else
subtitle = i18n.t('screens.home.dashboard.todayEventsSubtitleNA'); subtitle = i18n.t('screens.home.dashboard.todayEventsSubtitleNA');
return ( return (
<Card <Card style={styles.card}>
style={styles.card} <TouchableRipple
onPress={props.clickAction}> style={{flex: 1}}
<Card.Title onPress={props.clickAction}>
title={i18n.t('screens.home.dashboard.todayEventsTitle')} <View>
titleStyle={{color: textColor}} <Card.Title
subtitle={subtitle} title={i18n.t('screens.home.dashboard.todayEventsTitle')}
subtitleStyle={{color: textColor}} titleStyle={{color: textColor}}
left={() => subtitle={subtitle}
<Avatar.Icon subtitleStyle={{color: textColor}}
icon={'calendar-range'} left={() =>
color={iconColor} <Avatar.Icon
size={60} icon={'calendar-range'}
style={styles.avatar}/>} color={iconColor}
/> size={60}
<Card.Content> style={styles.avatar}/>}
{props.children} />
</Card.Content> <Card.Content>
{props.children}
</Card.Content>
</View>
</TouchableRipple>
</Card> </Card>
); );
} }

View file

@ -1,7 +1,7 @@
// @flow // @flow
import * as React from 'react'; import * as React from 'react';
import {Button, Card, Text} from 'react-native-paper'; import {Button, Card, Text, TouchableRipple} from 'react-native-paper';
import {Image, View} from "react-native"; import {Image, View} from "react-native";
import Autolink from "react-native-autolink"; import Autolink from "react-native-autolink";
import i18n from "i18n-js"; import i18n from "i18n-js";
@ -75,45 +75,50 @@ class FeedItem extends React.Component<Props> {
margin: cardMargin, margin: cardMargin,
height: cardHeight, height: cardHeight,
}} }}
onPress={this.onPress}
> >
<Card.Title <TouchableRipple
title={this.props.title} style={{flex: 1}}
subtitle={this.props.subtitle} onPress={this.onPress}>
left={this.getAvatar} <View>
style={{height: titleHeight}} <Card.Title
/> title={this.props.title}
{hasImage ? subtitle={this.props.subtitle}
<View style={{marginLeft: 'auto', marginRight: 'auto'}}> left={this.getAvatar}
<ImageModal style={{height: titleHeight}}
resizeMode="contain" />
imageBackgroundColor={"#000"} {hasImage ?
style={{ <View style={{marginLeft: 'auto', marginRight: 'auto'}}>
width: imageSize, <ImageModal
height: imageSize, resizeMode="contain"
}} imageBackgroundColor={"#000"}
source={{ style={{
uri: item.full_picture, width: imageSize,
}} height: imageSize,
/></View> : null} }}
<Card.Content> source={{
{item.message !== undefined ? uri: item.full_picture,
<Autolink }}
text={item.message} /></View> : null}
hashtag="facebook" <Card.Content>
component={Text} {item.message !== undefined ?
style={{height: textHeight}} <Autolink
/> : null text={item.message}
} hashtag="facebook"
</Card.Content> component={Text}
<Card.Actions style={{height: actionsHeight}}> style={{height: textHeight}}
<Button /> : null
onPress={this.onPress} }
icon={'plus'} </Card.Content>
style={{marginLeft: 'auto'}}> <Card.Actions style={{height: actionsHeight}}>
{i18n.t('screens.home.dashboard.seeMore')} <Button
</Button> onPress={this.onPress}
</Card.Actions> icon={'plus'}
style={{marginLeft: 'auto'}}>
{i18n.t('screens.home.dashboard.seeMore')}
</Button>
</Card.Actions>
</View>
</TouchableRipple>
</Card> </Card>
); );
} }

View file

@ -1,9 +1,9 @@
// @flow // @flow
import * as React from 'react'; import * as React from 'react';
import {StyleSheet} from "react-native"; import {StyleSheet, View} from "react-native";
import i18n from "i18n-js"; import i18n from "i18n-js";
import {Avatar, Button, Card} from 'react-native-paper'; import {Avatar, Button, Card, TouchableRipple} from 'react-native-paper';
import {getFormattedEventTime, isDescriptionEmpty} from "../../utils/Planning"; import {getFormattedEventTime, isDescriptionEmpty} from "../../utils/Planning";
import CustomHTML from "../Overrides/CustomHTML"; import CustomHTML from "../Overrides/CustomHTML";
import type {CustomTheme} from "../../managers/ThemeManager"; import type {CustomTheme} from "../../managers/ThemeManager";
@ -36,31 +36,36 @@ class PreviewEventDashboardItem extends React.Component<Props> {
return ( return (
<Card <Card
style={styles.card} style={styles.card}
onPress={props.clickAction}
elevation={3} elevation={3}
> >
{hasImage ? <TouchableRipple
<Card.Title style={{flex: 1}}
title={event.title} onPress={props.clickAction}>
subtitle={getFormattedEventTime(event.date_begin, event.date_end)} <View>
left={getImage} {hasImage ?
/> : <Card.Title
<Card.Title title={event.title}
title={event.title} subtitle={getFormattedEventTime(event.date_begin, event.date_end)}
subtitle={getFormattedEventTime(event.date_begin, event.date_end)} left={getImage}
/>} /> :
{!isEmpty ? <Card.Title
<Card.Content style={styles.content}> title={event.title}
<CustomHTML html={event.description}/> subtitle={getFormattedEventTime(event.date_begin, event.date_end)}
</Card.Content> : null} />}
{!isEmpty ?
<Card.Content style={styles.content}>
<CustomHTML html={event.description}/>
</Card.Content> : null}
<Card.Actions style={styles.actions}> <Card.Actions style={styles.actions}>
<Button <Button
icon={'chevron-right'} icon={'chevron-right'}
> >
{i18n.t("screens.home.dashboard.seeMore")} {i18n.t("screens.home.dashboard.seeMore")}
</Button> </Button>
</Card.Actions> </Card.Actions>
</View>
</TouchableRipple>
</Card> </Card>
); );
} else } else

View file

@ -65,8 +65,8 @@ class SmallDashboardItem extends React.Component<Props> {
top: 0, top: 0,
right: 0, right: 0,
backgroundColor: props.theme.colors.primary, backgroundColor: props.theme.colors.primary,
borderColor: "#fff", borderColor: props.theme.colors.background,
borderWidth: 1, borderWidth: 2,
}}> }}>
{props.badgeCount} {props.badgeCount}
</AnimatableBadge> : null </AnimatableBadge> : null

View file

@ -1,7 +1,8 @@
// @flow // @flow
import * as React from 'react'; import * as React from 'react';
import {Caption, Card, Paragraph} from 'react-native-paper'; import {Caption, Card, Paragraph, TouchableRipple} from 'react-native-paper';
import {View} from "react-native";
import type {cardItem} from "./CardList"; import type {cardItem} from "./CardList";
type Props = { type Props = {
@ -28,17 +29,23 @@ export default class CardListItem extends React.Component<Props> {
marginLeft: 'auto', marginLeft: 'auto',
marginRight: 'auto', marginRight: 'auto',
}} }}
onPress={item.onPress}
> >
<Card.Cover <TouchableRipple
style={{height: 80}} style={{flex: 1}}
source={source} onPress={item.onPress}>
/> <View>
<Card.Content> <Card.Cover
<Paragraph>{item.title}</Paragraph> style={{height: 80}}
<Caption>{item.subtitle}</Caption> source={source}
</Card.Content> />
<Card.Content>
<Paragraph>{item.title}</Paragraph>
<Caption>{item.subtitle}</Caption>
</Card.Content>
</View>
</TouchableRipple>
</Card> </Card>
); );
} }
} }