Skip to content
This repository was archived by the owner on Dec 17, 2023. It is now read-only.

Commit 56b1865

Browse files
committed
frontend cloud save, new tables version
1 parent d9e812e commit 56b1865

File tree

9 files changed

+87
-102
lines changed

9 files changed

+87
-102
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Main
1010
Add nearme
1111

1212
- cache ✔
13-
- speed (some way :D)
13+
- speed ✔
1414
- on changed position (maybe) ✘ -> used button refresh ✔
1515
- own api
1616

lib/Actual.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ class ActualPage extends StatefulWidget {
1111
}
1212

1313
class _ActualPageState extends State<ActualPage> {
14-
int tableThemeInt;
14+
String tableTheme;
1515
bool _networkStatus = true;
1616
bool _isLoading = true;
17-
var baseUrl = "https://imhd.sk/ba/online-zastavkova-tabula?fullscreen=0&skin=";
17+
var baseUrl = "https://imhd.sk/ba/online-zastavkova-tabula?zoom=100&theme=";
1818
var url;
1919

2020
_getPrefs() async {
2121
SharedPreferences prefs = await SharedPreferences.getInstance();
2222
setState(() {
23-
tableThemeInt = prefs.getInt('tableThemeInt');
24-
url = baseUrl + tableThemeInt.toString();
23+
tableTheme = prefs.getString('tableTheme');
24+
url = baseUrl + tableTheme;
2525
print(url);
2626
_isLoading = false;
2727
});
@@ -56,7 +56,7 @@ class _ActualPageState extends State<ActualPage> {
5656
? _isLoading
5757
? CircularProgressIndicator()
5858
: WebviewScaffold(
59-
url: tableThemeInt == 3 ? Theme.of(context).brightness == Brightness.dark ? (baseUrl + "0") : (baseUrl + "1"): url,
59+
url: tableTheme == 'auto' ? Theme.of(context).brightness == Brightness.dark ? (baseUrl + "black") : (baseUrl + "white"): url,
6060
geolocationEnabled: true,
6161
)
6262
: Center(

lib/AllStops.dart

Lines changed: 34 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class _AllStopsState extends State<AllStopsPage> {
3333
bool _networkStatus = false;
3434

3535
final ScrollController _scrollController = ScrollController();
36-
final TextEditingController _textController = new TextEditingController();
36+
final TextEditingController _textController = TextEditingController();
3737

3838
Future<List<Stop>> fetchStops() async {
3939
var url = 'https://api.magicsk.eu/stops2';
@@ -117,8 +117,7 @@ class _AllStopsState extends State<AllStopsPage> {
117117
fetchStops().then((value) {
118118
setState(() {
119119
stops.addAll(value);
120-
getApplicationDocumentsDirectory()
121-
.then((Directory directory) {
120+
getApplicationDocumentsDirectory().then((Directory directory) {
122121
File file = new File(directory.path + "/" + stopsFileName);
123122
file.createSync();
124123
file.writeAsStringSync(json.encode(stops));
@@ -133,9 +132,7 @@ class _AllStopsState extends State<AllStopsPage> {
133132
}
134133
print('stops cleared');
135134
stops.sort((a, b) {
136-
return a.name
137-
.toLowerCase()
138-
.compareTo(b.name.toLowerCase());
135+
return a.name.toLowerCase().compareTo(b.name.toLowerCase());
139136
});
140137
print('stops sorted');
141138
setState(() {
@@ -189,16 +186,14 @@ class _AllStopsState extends State<AllStopsPage> {
189186
child: _isLoading
190187
? CircularProgressIndicator()
191188
: DraggableScrollbar.semicircle(
189+
backgroundColor: Theme.of(context).backgroundColor,
192190
controller: _scrollController,
193191
child: ListView.builder(
194192
controller: _scrollController,
195193
scrollDirection: Axis.vertical,
196-
itemCount:
197-
_savedForDisplay.length + _stopsForDisplay.length,
194+
itemCount: _savedForDisplay.length + _stopsForDisplay.length,
198195
itemBuilder: (context, index) {
199-
return index < _savedForDisplay.length
200-
? _listSavedItem(index)
201-
: _listItem(index);
196+
return index < _savedForDisplay.length ? _listSavedItem(index) : _listItem(index);
202197
},
203198
))),
204199
);
@@ -212,10 +207,8 @@ class _AllStopsState extends State<AllStopsPage> {
212207
hintText: AppLocalizations.of(context).searchHint,
213208
contentPadding: EdgeInsets.only(top: 15.0, bottom: 0.0, left: 16.0),
214209
hintStyle: TextStyle(color: Colors.white70),
215-
enabledBorder: UnderlineInputBorder(
216-
borderSide: BorderSide(color: Colors.white, width: 1.5)),
217-
focusedBorder: UnderlineInputBorder(
218-
borderSide: BorderSide(color: Colors.white, width: 2.0)),
210+
enabledBorder: UnderlineInputBorder(borderSide: BorderSide(color: Colors.white, width: 1.5)),
211+
focusedBorder: UnderlineInputBorder(borderSide: BorderSide(color: Colors.white, width: 2.0)),
219212
suffixIcon: IconButton(
220213
padding: EdgeInsets.only(top: 10.0),
221214
icon: Icon(Icons.clear),
@@ -240,10 +233,7 @@ class _AllStopsState extends State<AllStopsPage> {
240233
controller: _textController,
241234
cursorColor: Colors.white,
242235
maxLines: 1,
243-
style: TextStyle(
244-
fontSize: 20.0,
245-
color: Colors.white,
246-
decoration: TextDecoration.none),
236+
style: TextStyle(fontSize: 20.0, color: Colors.white, decoration: TextDecoration.none),
247237
onChanged: (text) {
248238
text = removeDiacritics(text).toLowerCase();
249239
setState(() {
@@ -265,61 +255,47 @@ class _AllStopsState extends State<AllStopsPage> {
265255
index = index - _savedForDisplay.length;
266256
return FlatButton(
267257
onPressed: () {
268-
Navigator.push(
269-
context,
270-
MaterialPageRoute(
271-
builder: (context) => StopWebView(_stopsForDisplay[index])));
258+
Navigator.push(context, MaterialPageRoute(builder: (context) => StopWebView(_stopsForDisplay[index])));
272259
},
273260
child: Column(
274261
children: <Widget>[
275-
Row(
276-
mainAxisAlignment: MainAxisAlignment.spaceBetween,
277-
children: <Widget>[
278-
Column(
279-
crossAxisAlignment: CrossAxisAlignment.start,
280-
children: <Widget>[
281-
Padding(
282-
padding: const EdgeInsets.only(left: 16.0),
283-
child: Text(
284-
_stopsForDisplay[index].name,
285-
style: TextStyle(
286-
fontSize: 17.5, fontWeight: FontWeight.normal),
287-
),
262+
Padding(
263+
padding: const EdgeInsets.only(left:16.0, top: 4.0, bottom: 4.0),
264+
child: Flex(
265+
direction: Axis.horizontal,
266+
mainAxisAlignment: MainAxisAlignment.spaceBetween,
267+
children: <Widget>[
268+
Expanded(
269+
child: Text(
270+
_stopsForDisplay[index].name,
271+
overflow: TextOverflow.ellipsis,
272+
style: TextStyle(fontSize: 17.5, fontWeight: FontWeight.normal),
288273
),
289-
],
290-
),
291-
Padding(
292-
padding: const EdgeInsets.only(
293-
top: 4.0, bottom: 4.0, left: 0.0, right: 0.0),
294-
child: IconButton(
274+
),
275+
IconButton(
295276
icon: Icon(Icons.star_border),
296-
color: null,
297277
onPressed: () {
298278
setState(() {
299279
saved.add(_stopsForDisplay[index]);
300280
stops.remove(_stopsForDisplay[index]);
301281
saved.sort((a, b) {
302-
return a.name
303-
.toLowerCase()
304-
.compareTo(b.name.toLowerCase());
282+
return a.name.toLowerCase().compareTo(b.name.toLowerCase());
305283
});
306284
var text = _textController.text;
307285
_stopsForDisplay = stops.where((stop) {
308-
var stopName =
309-
removeDiacritics(stop.name).toLowerCase();
286+
var stopName = removeDiacritics(stop.name).toLowerCase();
310287
return stopName.contains(text);
311288
}).toList();
312289
_savedForDisplay = saved.where((stop) {
313-
var stopName =
314-
removeDiacritics(stop.name).toLowerCase();
290+
var stopName = removeDiacritics(stop.name).toLowerCase();
315291
return stopName.contains(text);
316292
}).toList();
317293
createFile();
318294
});
319295
},
320296
),
321-
),
322-
],
297+
],
298+
),
323299
),
324300
Divider(
325301
height: 2.0,
@@ -332,10 +308,7 @@ class _AllStopsState extends State<AllStopsPage> {
332308
_listSavedItem(index) {
333309
return FlatButton(
334310
onPressed: () {
335-
Navigator.push(
336-
context,
337-
MaterialPageRoute(
338-
builder: (context) => StopWebView(_savedForDisplay[index])));
311+
Navigator.push(context, MaterialPageRoute(builder: (context) => StopWebView(_savedForDisplay[index])));
339312
},
340313
child: Column(
341314
children: <Widget>[
@@ -349,15 +322,13 @@ class _AllStopsState extends State<AllStopsPage> {
349322
padding: const EdgeInsets.only(left: 16.0),
350323
child: Text(
351324
_savedForDisplay[index].name,
352-
style: TextStyle(
353-
fontSize: 17.5, fontWeight: FontWeight.normal),
325+
style: TextStyle(fontSize: 17.5, fontWeight: FontWeight.normal),
354326
),
355327
),
356328
],
357329
),
358330
Padding(
359-
padding: const EdgeInsets.only(
360-
top: 4.0, bottom: 4.0, left: 0.0, right: 0.0),
331+
padding: const EdgeInsets.only(top: 4.0, bottom: 4.0, left: 0.0, right: 0.0),
361332
child: IconButton(
362333
icon: Icon(Icons.star),
363334
color: Colors.yellow[800],
@@ -366,19 +337,15 @@ class _AllStopsState extends State<AllStopsPage> {
366337
stops.add(_savedForDisplay[index]);
367338
saved.remove(_savedForDisplay[index]);
368339
stops.sort((a, b) {
369-
return a.name
370-
.toLowerCase()
371-
.compareTo(b.name.toLowerCase());
340+
return a.name.toLowerCase().compareTo(b.name.toLowerCase());
372341
});
373342
var text = _textController.text;
374343
_stopsForDisplay = stops.where((stop) {
375-
var stopName =
376-
removeDiacritics(stop.name).toLowerCase();
344+
var stopName = removeDiacritics(stop.name).toLowerCase();
377345
return stopName.contains(text);
378346
}).toList();
379347
_savedForDisplay = saved.where((stop) {
380-
var stopName =
381-
removeDiacritics(stop.name).toLowerCase();
348+
var stopName = removeDiacritics(stop.name).toLowerCase();
382349
return stopName.contains(text);
383350
}).toList();
384351
createFile();

lib/NearMe.dart

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ class _NearMeState extends State<NearMePage> {
3131
bool _networkStatus = false;
3232
bool _restricted = false;
3333
bool _error = false;
34-
int tableThemeInt;
34+
String tableTheme;
3535

3636
_getprefs() async {
3737
SharedPreferences prefs = await SharedPreferences.getInstance();
3838
setState(() {
39-
tableThemeInt = prefs.getInt('tableThemeInt');
39+
tableTheme = prefs.getString('tableTheme');
4040
_gotPermission = prefs.getBool('_gotPermission');
4141
print(_gotPermission);
4242
});
@@ -75,9 +75,7 @@ class _NearMeState extends State<NearMePage> {
7575
var url = 'https://api.magicsk.eu/nearme?lat=' +
7676
currentLocation.latitude.toString() +
7777
'&long=' +
78-
currentLocation.longitude.toString() +
79-
'&skin=' +
80-
tableThemeInt.toString();
78+
currentLocation.longitude.toString();
8179
var response = await http.get(url);
8280

8381
var _nearStops = List<Stop>();
@@ -213,9 +211,7 @@ class _NearMeState extends State<NearMePage> {
213211
var url = 'https://api.magicsk.eu/nearme?lat=' +
214212
currentLocation.latitude.toString() +
215213
'&long=' +
216-
currentLocation.longitude.toString() +
217-
'&skin=' +
218-
tableThemeInt.toString();
214+
currentLocation.longitude.toString();
219215
var response = await http.get(url);
220216

221217
var _nearStops = List<Stop>();

lib/TripPlanner.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ class _TripPlannerState extends State<TripPlannerPage> {
222222
title: Text('Trip planner'),
223223
actions: <Widget>[
224224
IconButton(
225-
icon: Icon(Icons.more_vert),
225+
icon: Icon(Icons.settings),
226226
onPressed: () {
227227
Navigator.push(
228228
context,

lib/main.dart

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -112,18 +112,18 @@ class MyAppState extends State<MyAppPage> {
112112
String nearStopsFileName = 'nearStops.json';
113113
File stopsFile;
114114
File nearStopsFile;
115-
int tableThemeInt = 3;
115+
String tableTheme = 'auto';
116116
bool legalAgreed = false;
117117
bool _isLoading = false;
118118
bool _gotPermission = false;
119119
bool _networkStatus = false;
120120

121121
_getPrefs() async {
122122
SharedPreferences prefs = await SharedPreferences.getInstance();
123-
tableThemeInt = prefs.getInt('tableThemeInt');
123+
tableTheme = prefs.getString('tableTheme');
124124
legalAgreed = prefs.getBool('legalAgreed');
125-
if (tableThemeInt == null) {
126-
prefs.setInt('tableThemeInt', 3);
125+
if (tableTheme == null) {
126+
prefs.setString('tableTheme', 'auto');
127127
await _getPrefs();
128128
}
129129
}
@@ -214,9 +214,7 @@ class MyAppState extends State<MyAppPage> {
214214
var url = 'https://api.magicsk.eu/nearme?lat=' +
215215
currentLocation.latitude.toString() +
216216
'&long=' +
217-
currentLocation.longitude.toString() +
218-
'&skin=' +
219-
tableThemeInt.toString();
217+
currentLocation.longitude.toString();
220218
var response = await http.get(url);
221219

222220
var _nearStops = List<Stop>();

0 commit comments

Comments
 (0)