Skip to content

Commit 21009c9

Browse files
committed
Merge branch 'main' into feat/Drag-and-drop-homepage-style
2 parents 22c646b + 3a99ff5 commit 21009c9

85 files changed

Lines changed: 1419 additions & 528 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

lib/api/exptech.dart

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
import 'dart:convert';
22
import 'dart:io';
33

4-
import 'package:http/http.dart' as http;
5-
import 'package:http/io_client.dart';
6-
import 'package:maplibre_gl/maplibre_gl.dart';
7-
import 'package:option_result/result.dart';
8-
import 'package:zstandard/zstandard.dart';
9-
104
import 'package:dpip/api/model/announcement.dart';
115
import 'package:dpip/api/model/changelog/changelog.dart';
126
import 'package:dpip/api/model/crowdin/localization_progress.dart';
@@ -31,6 +25,11 @@ import 'package:dpip/models/settings/notify.dart';
3125
import 'package:dpip/utils/extensions/response.dart';
3226
import 'package:dpip/utils/extensions/string.dart';
3327
import 'package:dpip/utils/log.dart';
28+
import 'package:http/http.dart' as http;
29+
import 'package:http/io_client.dart';
30+
import 'package:maplibre_gl/maplibre_gl.dart';
31+
import 'package:option_result/result.dart';
32+
import 'package:zstandard/zstandard.dart';
3433

3534
class _GzipClient extends http.BaseClient {
3635
final http.Client _inner;

lib/api/model/history/history.dart

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import 'package:json_annotation/json_annotation.dart';
2-
import 'package:timezone/timezone.dart';
3-
41
import 'package:dpip/api/model/history/intensity_history.dart';
52
import 'package:dpip/api/model/history/report_history.dart';
63
import 'package:dpip/utils/extensions/number.dart';
74
import 'package:dpip/utils/serialization.dart';
5+
import 'package:json_annotation/json_annotation.dart';
6+
import 'package:timezone/timezone.dart';
87

98
part 'history.g.dart';
109

lib/api/model/weather_schema.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import 'package:dpip/utils/serialization.dart';
21
import 'package:json_annotation/json_annotation.dart';
32

43
part 'weather_schema.g.dart';

lib/app.dart

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
import 'dart:async';
22
import 'dart:io';
33

4+
import 'package:dpip/app/welcome/4-permissions/page.dart';
5+
import 'package:dpip/core/notify.dart';
6+
import 'package:dpip/core/preference.dart';
7+
import 'package:dpip/core/providers.dart';
8+
import 'package:dpip/models/settings/ui.dart';
9+
import 'package:dpip/router.dart';
10+
import 'package:dpip/utils/constants.dart';
11+
import 'package:dpip/utils/log.dart';
412
import 'package:dynamic_color/dynamic_color.dart';
513
import 'package:firebase_messaging/firebase_messaging.dart';
614
import 'package:flutter/material.dart';
7-
815
import 'package:go_router/go_router.dart';
916
import 'package:google_fonts/google_fonts.dart';
1017
import 'package:i18n_extension/i18n_extension.dart';
@@ -13,14 +20,6 @@ import 'package:material_symbols_icons/symbols.dart';
1320
import 'package:provider/provider.dart';
1421

1522
import 'main.dart';
16-
import 'package:dpip/app/welcome/4-permissions/page.dart';
17-
import 'package:dpip/core/notify.dart';
18-
import 'package:dpip/core/preference.dart';
19-
import 'package:dpip/core/providers.dart';
20-
import 'package:dpip/models/settings/ui.dart';
21-
import 'package:dpip/router.dart';
22-
import 'package:dpip/utils/constants.dart';
23-
import 'package:dpip/utils/log.dart';
2423

2524
/// The root widget of the application.
2625
///

lib/app/changelog/page.dart

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
import 'dart:async';
22

3-
import 'package:flutter/material.dart';
4-
5-
import 'package:m3e_collection/m3e_collection.dart';
6-
import 'package:material_symbols_icons/material_symbols_icons.dart';
7-
import 'package:option_result/result.dart';
8-
93
import 'package:dpip/api/exptech.dart';
104
import 'package:dpip/api/model/changelog/changelog.dart';
115
import 'package:dpip/core/i18n.dart';
126
import 'package:dpip/global.dart';
137
import 'package:dpip/utils/extensions/build_context.dart';
148
import 'package:dpip/utils/extensions/datetime.dart';
15-
import 'package:dpip/utils/extensions/string.dart';
169
import 'package:dpip/widgets/markdown.dart';
1710
import 'package:dpip/widgets/typography.dart';
1811
import 'package:dpip/widgets/ui/icon_container.dart';
12+
import 'package:flutter/material.dart';
13+
import 'package:m3e_collection/m3e_collection.dart';
14+
import 'package:material_symbols_icons/material_symbols_icons.dart';
15+
import 'package:option_result/result.dart';
1916

2017
class ChangelogPage extends StatefulWidget {
2118
const ChangelogPage({super.key});

lib/app/home/_widgets/forecast_card.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import 'dart:math';
2-
import 'package:dpip/utils/log.dart';
3-
import 'package:flutter/material.dart';
2+
3+
import 'package:dpip/core/i18n.dart';
44
import 'package:dpip/utils/extensions/build_context.dart';
5+
import 'package:dpip/utils/log.dart';
56
import 'package:dpip/widgets/responsive/responsive_container.dart';
6-
import 'package:dpip/core/i18n.dart';
7+
import 'package:flutter/material.dart';
78
import 'package:material_symbols_icons/material_symbols_icons.dart';
89

910
class ForecastCard extends StatefulWidget {

lib/app/home/_widgets/hero_weather.dart

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import 'dart:math';
22

3-
import 'package:flutter/material.dart';
4-
import 'package:material_symbols_icons/symbols.dart';
5-
63
import 'package:dpip/api/model/weather_schema.dart';
74
import 'package:dpip/core/i18n.dart';
85
import 'package:dpip/utils/extensions/build_context.dart';
6+
import 'package:flutter/material.dart';
7+
import 'package:material_symbols_icons/symbols.dart';
98

109
class HeroWeather extends StatelessWidget {
1110
final RealtimeWeather? weather;
@@ -101,6 +100,13 @@ class HeroWeather extends StatelessWidget {
101100
color: Colors.white,
102101
height: 1,
103102
letterSpacing: -2,
103+
shadows: [
104+
Shadow(
105+
color: Colors.black.withValues(alpha: 0.4),
106+
blurRadius: 8,
107+
offset: const Offset(0, 2),
108+
),
109+
],
104110
),
105111
),
106112
const SizedBox(height: 8),
@@ -111,13 +117,27 @@ class HeroWeather extends StatelessWidget {
111117
_getWeatherIcon(data.weatherCode),
112118
size: 24,
113119
color: Colors.white.withValues(alpha: 0.9),
120+
shadows: [
121+
Shadow(
122+
color: Colors.black.withValues(alpha: 0.3),
123+
blurRadius: 4,
124+
offset: const Offset(0, 1),
125+
),
126+
],
114127
),
115128
const SizedBox(width: 8),
116129
Text(
117130
data.weather,
118131
style: context.texts.titleMedium?.copyWith(
119132
color: Colors.white.withValues(alpha: 0.9),
120133
fontWeight: FontWeight.w400,
134+
shadows: [
135+
Shadow(
136+
color: Colors.black.withValues(alpha: 0.3),
137+
blurRadius: 4,
138+
offset: const Offset(0, 1),
139+
),
140+
],
121141
),
122142
),
123143
],
@@ -127,6 +147,13 @@ class HeroWeather extends StatelessWidget {
127147
'體感 ${feelsLike.round()}°'.i18n,
128148
style: context.texts.bodyMedium?.copyWith(
129149
color: Colors.white.withValues(alpha: 0.7),
150+
shadows: [
151+
Shadow(
152+
color: Colors.black.withValues(alpha: 0.3),
153+
blurRadius: 4,
154+
offset: const Offset(0, 1),
155+
),
156+
],
130157
),
131158
),
132159
],

lib/app/home/_widgets/radar_card.dart

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,9 @@ class _RadarMapCardState extends State<RadarMapCard>
162162
Widget build(BuildContext context) {
163163
final userLocation = GlobalProviders.location.coordinates;
164164
final targetLocation = userLocation ?? DpipMap.kTaiwanCenter;
165-
final targetZoom =
166-
userLocation != null ? DpipMap.kUserLocationZoom : DpipMap.kTaiwanZoom;
165+
final targetZoom = userLocation != null
166+
? DpipMap.kUserLocationZoom
167+
: DpipMap.kTaiwanZoom;
167168
final bearing = CompassService.instance.lastHeading;
168169

169170
return ResponsiveContainer(
@@ -225,10 +226,10 @@ class _RadarMapCardState extends State<RadarMapCard>
225226
return const SizedBox.shrink();
226227
}
227228

228-
final style =
229-
context.texts.labelSmall?.copyWith(
230-
color: context.colors.onSurfaceVariant,
231-
);
229+
final style = context.texts.labelSmall
230+
?.copyWith(
231+
color: context.colors.onSurfaceVariant,
232+
);
232233

233234
return Container(
234235
padding: const EdgeInsets.symmetric(

lib/app/home/_widgets/weather_header.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'dart:math';
2+
23
import 'package:dpip/api/model/weather_schema.dart';
34
import 'package:dpip/core/i18n.dart';
45
import 'package:dpip/models/settings/ui.dart';

lib/app/home/_widgets/wind_card.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import 'dart:async';
22
import 'dart:math' as math;
33

4-
import 'package:flutter/material.dart';
5-
import 'package:flutter_compass/flutter_compass.dart';
6-
import 'package:material_symbols_icons/symbols.dart';
7-
84
import 'package:dpip/api/model/weather_schema.dart';
95
import 'package:dpip/core/compass.dart';
106
import 'package:dpip/core/i18n.dart';
117
import 'package:dpip/router.dart';
128
import 'package:dpip/utils/extensions/build_context.dart';
139
import 'package:dpip/utils/log.dart';
1410
import 'package:dpip/widgets/responsive/responsive_container.dart';
11+
import 'package:flutter/material.dart';
12+
import 'package:flutter_compass/flutter_compass.dart';
13+
import 'package:material_symbols_icons/symbols.dart';
1514

1615
const double _kCompassAccuracyWarning = 25.0;
1716
const double _kCompassAccuracyDanger = 45.0;

0 commit comments

Comments
 (0)