More work with fire stats
This commit is contained in:
parent
74b0d37839
commit
367df46f7e
6 changed files with 46 additions and 17 deletions
|
|
@ -82,9 +82,11 @@ class _ActiveFiresPageState extends State<ActiveFiresPage> {
|
|||
}
|
||||
|
||||
Widget _buildRow(BuildContext context, YourLocation loc, onToggle, onTap) {
|
||||
final fireStatsStyle = new TextStyle(color: fires600);
|
||||
return new ListTile(
|
||||
dense: true,
|
||||
leading: const Icon(Icons.location_on),
|
||||
isThreeLine: false,
|
||||
// leading: const Icon(Icons.location_on),
|
||||
trailing: new IconButton(
|
||||
icon: new Icon(loc.subscribed
|
||||
? Icons.notifications_active
|
||||
|
|
@ -93,12 +95,18 @@ class _ActiveFiresPageState extends State<ActiveFiresPage> {
|
|||
loc.subscribed = !loc.subscribed;
|
||||
onToggle(loc);
|
||||
}),
|
||||
title:
|
||||
new Text(loc.description)
|
||||
,
|
||||
subtitle: loc.currentNumFires == YourLocation.withoutStats ||
|
||||
loc.currentNumFires == 0 ? null: new Text(S.of(context).firesAroundThisArea(
|
||||
loc.currentNumFires.toString(), loc.distance.toString())),
|
||||
title: new Text(loc.description),
|
||||
subtitle: loc.currentNumFires == YourLocation.withoutStats
|
||||
? null
|
||||
: loc.currentNumFires == 0
|
||||
? new Text(S.of(context).noFiresAround)
|
||||
: loc.currentNumFires == 1
|
||||
? new Text(S
|
||||
.of(context)
|
||||
.fireAroundThisArea(loc.distance.toString()), style: fireStatsStyle)
|
||||
: new Text(S.of(context).firesAroundThisArea(
|
||||
loc.currentNumFires.toString(),
|
||||
loc.distance.toString()), style: fireStatsStyle),
|
||||
onLongPress: () {
|
||||
showSnackMsg(S.of(context).toDeleteThisPlace);
|
||||
},
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ class S implements WidgetsLocalizations {
|
|||
String get firesNearPlace => "Fires near other place";
|
||||
String get getAlertsOfFiresinThatArea => "Get alerts of fires in that area";
|
||||
String get isYourUbicationEnabled => "I cannot get your current location. It's your ubication enabled?";
|
||||
String get noFiresAround => "There is no fires";
|
||||
String get notPermsUbication => "We don't have permission to get your location";
|
||||
String get notifyAFire => "Notify a fire";
|
||||
String get privacyPolicy => "Privacy Policy";
|
||||
|
|
@ -73,6 +74,7 @@ class S implements WidgetsLocalizations {
|
|||
String get youDeletedThisPlace => "You deleted this place";
|
||||
String activeFiresWorldWide(String activeFires) => "$activeFires active fires worldwide";
|
||||
String appLicense(String thisYear) => "(c) 2017-$thisYear Comunes Association under the GNU Affero GPL v3";
|
||||
String fireAroundThisArea(String kmAround) => "A fire at $kmAround км around this area";
|
||||
String firesAroundThisArea(String numFires, String kmAround) => "$numFires fires at $kmAround км around this area";
|
||||
String inDays(String value) => "$value days";
|
||||
String inHours(String value) => "$value hours";
|
||||
|
|
@ -139,6 +141,8 @@ class es extends S {
|
|||
@override
|
||||
String get callEmergencyServicesTitle => "Llama al 112";
|
||||
@override
|
||||
String get noFiresAround => "Sin fuegos";
|
||||
@override
|
||||
String get chooseAPlace => "Elige un lugar";
|
||||
@override
|
||||
String get firesNearPlace => "Fuegos cercanos a ti";
|
||||
|
|
@ -219,6 +223,8 @@ class es extends S {
|
|||
@override
|
||||
String activeFiresWorldWide(String activeFires) => "$activeFires fuegos activos en el mundo";
|
||||
@override
|
||||
String fireAroundThisArea(String kmAround) => "Un fuego a $kmAround км a la redonda";
|
||||
@override
|
||||
String inSomething(String something) => "en $something";
|
||||
@override
|
||||
String inMinutes(String value) => "$value minutos";
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class _ViewModel {
|
|||
|
||||
_ViewModel(
|
||||
{@required this.mapState,
|
||||
@required this.serverUrl,
|
||||
@required this.serverUrl,
|
||||
@required this.onSubs,
|
||||
@required this.onSubsConfirmed,
|
||||
@required this.onUnSubs,
|
||||
|
|
@ -107,7 +107,7 @@ class _genericMapState extends State<genericMap> {
|
|||
store.dispatch(new UpdateYourLocationMapAction(loc));
|
||||
store.dispatch(new EditConfirmYourLocationAction(loc));
|
||||
},
|
||||
serverUrl: store.state.firesApiUrl,
|
||||
serverUrl: store.state.firesApiUrl,
|
||||
mapState: store.state.fireMapState);
|
||||
},
|
||||
builder: (context, view) {
|
||||
|
|
@ -205,10 +205,16 @@ class _genericMapState extends State<genericMap> {
|
|||
new TextEditingValue(
|
||||
text: _location.description,
|
||||
selection: new TextSelection.collapsed(
|
||||
offset: _location.description.length - 1))),
|
||||
offset: _location.description.length ))),
|
||||
onChanged: (newDesc) {
|
||||
debugPrint("OnChanged");
|
||||
_location = _location.copyWith(description: newDesc);
|
||||
},
|
||||
onSubmitted: (newDesc) {
|
||||
debugPrint("OnSubmitted");
|
||||
_location = _location.copyWith(description: newDesc);
|
||||
view.onEditConfirm(_location);
|
||||
},
|
||||
)
|
||||
: status == FireMapStatus.viewFireNotification
|
||||
? new Text(S.of(context).fireNotificationTitle)
|
||||
|
|
@ -255,7 +261,8 @@ class _genericMapState extends State<genericMap> {
|
|||
Stack(fit: StackFit.expand, children: <Widget>[
|
||||
// Material(color: Colors.yellowAccent),
|
||||
new Opacity(
|
||||
opacity: status == FireMapStatus.subscriptionConfirm
|
||||
opacity: status == FireMapStatus.subscriptionConfirm ||
|
||||
status == FireMapStatus.edit
|
||||
? 0.5
|
||||
: 1.0,
|
||||
child: map),
|
||||
|
|
@ -303,10 +310,12 @@ class _genericMapState extends State<genericMap> {
|
|||
case FireMapStatus.viewFireNotification:
|
||||
return <Widget>[
|
||||
new IconButton(
|
||||
icon: new Icon(Icons.share),
|
||||
onPressed: () {
|
||||
Share.share('${view.mapState.fireNotification.description}. ${view.serverUrl}fire/${view.mapState.fireNotification.sealed}');
|
||||
})
|
||||
icon: new Icon(Icons.share),
|
||||
onPressed: () {
|
||||
Share.share(
|
||||
'${view.mapState.fireNotification.description}. ${view
|
||||
.serverUrl}fire/${view.mapState.fireNotification.sealed}');
|
||||
})
|
||||
];
|
||||
default:
|
||||
return <Widget>[];
|
||||
|
|
|
|||
|
|
@ -72,8 +72,10 @@ class GenericMapBottom extends StatelessWidget {
|
|||
case FireMapStatus.view:
|
||||
if (state.numFires != null) {
|
||||
actionList.add(new Text(state.numFires > 0
|
||||
? S.of(context).firesAroundThisArea(
|
||||
state.numFires.toString(), kmAround.toString())
|
||||
? loc.currentNumFires == 1
|
||||
? S.of(context).fireAroundThisArea(loc.distance.toString())
|
||||
: S.of(context).firesAroundThisArea(
|
||||
state.numFires.toString(), kmAround.toString())
|
||||
: S.of(context).noFiresAroundThisArea(kmAround.toString())));
|
||||
// SizedBox(width: 10.0)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue