fitness-app/lib/Views/workouts_view.dart
2020-03-29 23:58:38 +02:00

67 lines
1.7 KiB
Dart

import 'package:fitnessapp/Views/exercises_view.dart';
import 'package:fitnessapp/Views/new_workout_view.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'dart:async';
import 'dart:convert';
class WorkoutsView extends StatefulWidget{
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return WorkoutsViewState();
}
}
class WorkoutsViewState extends State<WorkoutsView>{
List data;
Future<List> getWorkouts() async {
var response = await http.get(
"http://10.16.17.65/api/index.php?token=satbwertwhbertnwertwertghwertgwertg",
headers: {
"Accept": "application/json"
}
);
this.setState(() {
data = JsonDecoder().convert(response.body);
});
return data;
}
@override
void initState() {
this.getWorkouts();
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return Scaffold(
body: ListView.builder(
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index){
return new ListTile(
leading: Icon(Icons.add),
title: Text(data[index]['title']),
subtitle: Text(data[index]['creator']),
onTap: (){
Navigator.push(context, MaterialPageRoute(
builder: (context) => ExerciseView(data[index]['title'], data[index]['id'])
));
},
);
},
),
floatingActionButton: FloatingActionButton(
onPressed: (){
Navigator.push(context, MaterialPageRoute(
builder: (context) => NewWorkoutView()
));
},
child: Icon(Icons.add),
),
);
}
}