Skip to content

Commit

Permalink
通知が遅れる可能性があることを明記 (#274)
Browse files Browse the repository at this point in the history
- API Schema
- Fix LatLng Type
  • Loading branch information
YumNumm authored May 27, 2023
1 parent 93ebda6 commit 391030d
Show file tree
Hide file tree
Showing 24 changed files with 239 additions and 169 deletions.
4 changes: 2 additions & 2 deletions .dart_tool/package_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@
},
{
"name": "geojson",
"rootUri": "file:///Users/r_onoue/.pub-cache/hosted/pub.dev/geojson-1.0.0",
"rootUri": "file:///Users/r_onoue/.pub-cache/git/geojson-7f0e305450014e264f6d0f5bf5b1a62501afc6c2/",
"packageUri": "lib/",
"languageVersion": "2.12"
},
Expand Down Expand Up @@ -962,7 +962,7 @@
"languageVersion": "3.0"
}
],
"generated": "2023-05-26T15:32:46.941762Z",
"generated": "2023-05-27T05:08:28.281984Z",
"generator": "pub",
"generatorVersion": "3.0.2"
}
33 changes: 10 additions & 23 deletions lib/common/component/map/map.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import 'dart:math';

import 'package:eqmonitor/common/component/map/model/map_state.dart';
import 'package:eqmonitor/common/component/map/view_model/map_viemwodel.dart';
import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqmonitor/common/feature/map/model/map_type.dart';
import 'package:eqmonitor/common/feature/map/model/state/map_data_state.dart';
import 'package:eqmonitor/common/feature/map/provider/map_data_provider.dart';
Expand All @@ -24,26 +23,6 @@ class MapTouchHandlerWidget extends HookConsumerWidget {

useEffect(
() {
WidgetsBinding.instance.endOfFrame.then(
(_) => Future(
() {
ref.read(mapViewModelProvider(mapKey).notifier)
..registerWidgetSize(
context.size!,
)
..registerAnimationControllers(
moveController: controller,
scaleController: scaleController,
)
..fitBounds(
[
const LatLng(45.3, 145.1),
const LatLng(30, 128.8),
],
);
},
),
);
return null;
},
[],
Expand All @@ -64,17 +43,25 @@ class MapTouchHandlerWidget extends HookConsumerWidget {
}
}

class BaseMapWidget extends ConsumerWidget {
class BaseMapWidget extends HookConsumerWidget {
const BaseMapWidget({super.key, required this.mapKey});
final Key mapKey;

@override
Widget build(BuildContext context, WidgetRef ref) {
useEffect(
() {
ref.read(mapDataProvider.notifier).initialize();
return null;
},
[],
);
final state = ref.watch(MapViewModelProvider(mapKey));
final mapData =
ref.watch(mapDataProvider.select((value) => value.projectedData));
if (mapData == null) {
throw Exception('mapData is null');
debugPrint('mapData is null');
return const SizedBox.shrink();
}
return CustomPaint(
painter: MapPainter(
Expand Down
2 changes: 1 addition & 1 deletion lib/common/component/map/model/map_config.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';

Expand Down
2 changes: 1 addition & 1 deletion lib/common/component/map/model/map_state.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:math';
import 'dart:math' as math;

import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:eqmonitor/common/feature/map/utils/web_mercator_projection.dart';
import 'package:flutter/material.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/common/component/map/view_model/map_viemwodel.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:math' as math;

import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:eqmonitor/common/component/map/model/map_state.dart';
import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqmonitor/common/feature/map/utils/web_mercator_projection.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/common/feature/map/data/map_data_source.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// ignore_for_file: avoid_catches_without_on_clauses, empty_catches

import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:eqmonitor/common/feature/map/model/jma_map_property.dart';
import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqmonitor/common/feature/map/model/map_polygon.dart';
import 'package:eqmonitor/common/feature/map/model/world_map_property.dart';
import 'package:flutter/services.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/common/feature/map/model/map_polygon.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqapi_schema/model/lat_lng.dart';

class MultiPolygonMapData<T> {
factory MultiPolygonMapData.fromList(
Expand Down
2 changes: 1 addition & 1 deletion lib/common/feature/map/model/projected/map_polygon.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:eqmonitor/common/feature/map/model/map_polygon.dart';
import 'package:eqmonitor/common/feature/map/utils/web_mercator_projection.dart';

Expand Down
2 changes: 1 addition & 1 deletion lib/common/feature/map/utils/web_mercator_projection.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:math';
import 'dart:math' as math;

import 'package:eqmonitor/common/feature/map/model/lat_lng.dart';
import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:flutter/services.dart';

class WebMercatorProjection {
Expand Down
67 changes: 67 additions & 0 deletions lib/feature/earthquake_history_details/component/eq_map.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
import 'package:eqapi_schema/model/lat_lng.dart';
import 'package:eqmonitor/common/component/map/map.dart';
import 'package:eqmonitor/common/component/map/view_model/map_viemwodel.dart';
import 'package:eqmonitor/feature/earthquake_history/model/state/earthquake_history_item.dart';
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

class EarthquakeHistoryMap extends HookConsumerWidget {
EarthquakeHistoryMap({required this.item, super.key}) : super() {
mapKey = GlobalKey(debugLabel: 'eq-history-map-${item.eventId}');
}
final EarthquakeHistoryItem item;
late final Key mapKey;

@override
Widget build(BuildContext context, WidgetRef ref) {
useEffect(
() {
WidgetsBinding.instance.endOfFrame.then((_) {
ref.read(mapViewModelProvider(mapKey).notifier)
..registerWidgetSize(
context.size!,
)
..fitBounds(
[
const LatLng(45.3, 145.1),
const LatLng(30, 128.8),
],
);
});
return null;
},
[],
);
return ClipRRect(
child: Stack(
children: [
// background
Container(
color: const Color.fromARGB(255, 179, 230, 255),
),
ClipRRect(
child: Stack(
children: [
BaseMapWidget(mapKey: mapKey),
],
),
),
MapTouchHandlerWidget(mapKey: mapKey),
],
),
);
}
}

List<LatLng> _getShowBounds(EarthquakeHistoryItem item) {
if (item.earthquake.intensity == null) {
if (item.earthquake.earthquake != null) {
// return [];
}
}
return [
const LatLng(45.3, 145.1),
const LatLng(30, 128.8),
];
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
import 'package:collection/collection.dart';
import 'package:eqmonitor/feature/earthquake_history/viewmodel/earthquake_history_view_model.dart';
import 'package:eqmonitor/feature/earthquake_history_details/component/eq_map.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

class EarthquakeHistoryDetailsPage extends ConsumerWidget {
EarthquakeHistoryDetailsPage({
const EarthquakeHistoryDetailsPage({
required this.eventId,
super.key,
}) : super() {
mapKey = GlobalKey(debugLabel: 'eq-history-details-$eventId');
}

late final mapKey;
});

final int eventId;

Expand All @@ -34,10 +31,10 @@ class EarthquakeHistoryDetailsPage extends ConsumerWidget {
appBar: AppBar(
title: Text(eventId.toString()),
),
body: SingleChildScrollView(
child: Text(
data.toString(),
),
body: Stack(
children: [
EarthquakeHistoryMap(item: data),
],
),
);
}
Expand Down
7 changes: 6 additions & 1 deletion lib/feature/setup/component/earthquake_restriction.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ class EarthquakeRestrictionWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
final size = MediaQuery.of(context).size;
final earthquakeImageWidget = Padding(
padding: const EdgeInsets.all(16),
child: DecoratedBox(
Expand All @@ -17,7 +18,11 @@ class EarthquakeRestrictionWidget extends StatelessWidget {
padding: const EdgeInsets.all(8),
child: ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(16)),
child: Image.asset('assets/images/earthquake_happened.png'),
child: Image.asset(
'assets/images/earthquake_happened.png',
fit: BoxFit.scaleDown,
width: size.width * 0.8,
),
),
),
),
Expand Down
60 changes: 0 additions & 60 deletions lib/feature/setup/pages/02_quick_guide_about_eew copy.dart

This file was deleted.

61 changes: 61 additions & 0 deletions lib/feature/setup/pages/02_quick_guide_about_eew.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
import 'package:eqmonitor/common/component/button/action_button.dart';
import 'package:eqmonitor/feature/setup/component/background_image.dart';
import 'package:eqmonitor/feature/setup/component/earthquake_restriction.dart';
import 'package:flutter/material.dart';

class QuickGuideAboutEewPage extends StatelessWidget {
const QuickGuideAboutEewPage({required this.onNext, super.key});
final void Function() onNext;

@override
Widget build(BuildContext context) {
final theme = Theme.of(context);
return Scaffold(
body: SetupBackgroundImageWidget(
child: SingleChildScrollView(
child: Column(
children: [
// 画面上部のタイトル
Padding(
padding: const EdgeInsets.all(16),
child: Text(
'緊急地震速報の限界について',
style: theme.textTheme.titleLarge!.copyWith(
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
const Padding(
padding: EdgeInsets.symmetric(vertical: 16),
child: EarthquakeRestrictionWidget(),
),
Padding(
padding: const EdgeInsets.all(16),
child: ActionButton(
isEnabled: true,
onPressed: onNext,
child: const Padding(
padding: EdgeInsets.symmetric(vertical: 12),
child: SizedBox(
width: double.infinity,
child: Center(
child: Text(
'次へ',
style: TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
),
),
),
)
],
),
),
),
);
}
}
2 changes: 1 addition & 1 deletion lib/feature/setup/screen/setup_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';

import '../pages/02_quick_guide_about_eew copy.dart';
import '../pages/02_quick_guide_about_eew.dart';

class SetupScreen extends HookConsumerWidget {
const SetupScreen({super.key});
Expand Down
Loading

0 comments on commit 391030d

Please sign in to comment.