More work with fire stats

This commit is contained in:
Vicente J. Ruiz Jurado 2018-08-01 22:47:18 +02:00
parent 74b0d37839
commit 367df46f7e
6 changed files with 46 additions and 17 deletions

View file

@ -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);
},

View file

@ -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";

View file

@ -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),
@ -305,7 +312,9 @@ class _genericMapState extends State<genericMap> {
new IconButton(
icon: new Icon(Icons.share),
onPressed: () {
Share.share('${view.mapState.fireNotification.description}. ${view.serverUrl}fire/${view.mapState.fireNotification.sealed}');
Share.share(
'${view.mapState.fireNotification.description}. ${view
.serverUrl}fire/${view.mapState.fireNotification.sealed}');
})
];
default:

View file

@ -72,7 +72,9 @@ class GenericMapBottom extends StatelessWidget {
case FireMapStatus.view:
if (state.numFires != null) {
actionList.add(new Text(state.numFires > 0
? S.of(context).firesAroundThisArea(
? 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)

View file

@ -15,7 +15,9 @@
"confirm": "Confirm",
"unsubscribe": "Unsubscribe",
"firesAroundThisArea": "$numFires fires at $kmAround км around this area",
"fireAroundThisArea": "A fire at $kmAround км around this area",
"noFiresAroundThisArea": "There is no fires at $kmAround км around this area",
"noFiresAround": "There is no fires",
"activeFiresWorldWide": "$activeFires active fires worldwide",
"updatedLastCheck": "Updated $lastCheck",
"appLicense": "(c) 2017-$thisYear Comunes Association under the GNU Affero GPL v3",

View file

@ -15,6 +15,8 @@
"confirm": "Confirmar",
"unsubscribe": "Desuscríbete",
"firesAroundThisArea": "$numFires fuegos a $kmAround км a la redonda",
"fireAroundThisArea": "Un fuego a $kmAround км a la redonda",
"noFiresAround": "Sin fuegos",
"noFiresAroundThisArea": "No hay fuegos a $kmAround км a la redonda",
"activeFiresWorldWide": "$activeFires fuegos activos en el mundo",
"updatedLastCheck": "Actualizado $lastCheck",