diff --git a/lib/Screens/MainView/main_view.dart b/lib/Screens/MainView/main_view.dart index 8595137..91eabf6 100644 --- a/lib/Screens/MainView/main_view.dart +++ b/lib/Screens/MainView/main_view.dart @@ -8,6 +8,8 @@ import 'package:tablet_app/Screens/Map/map_context.dart'; import 'package:tablet_app/Screens/Map/map_view.dart'; import 'package:tablet_app/Models/map-marker.dart'; import 'package:tablet_app/Models/tabletContext.dart'; +import 'package:tablet_app/Screens/Menu/menu_view.dart'; +import 'package:tablet_app/Screens/Slider/slider_view.dart'; import 'package:tablet_app/Screens/Video/video_view.dart'; import 'package:tablet_app/Screens/Web/web_view.dart'; import 'package:tablet_app/app_context.dart'; @@ -59,10 +61,10 @@ class _MainViewWidget extends State { elementToShow = VideoViewWidget(section: sectionSelected); break; case SectionType.slider : - elementToShow = Padding( - padding: const EdgeInsets.all(15.0), - child: Text('Hellow in') - ); + elementToShow = SliderViewWidget(section: sectionSelected); + break; + case SectionType.menu : + elementToShow = MenuViewWidget(section: sectionSelected); break; default: elementToShow = Text('Hellow default'); diff --git a/lib/Screens/Map/marker_view.dart b/lib/Screens/Map/marker_view.dart index 4cfbcc4..f9258da 100644 --- a/lib/Screens/Map/marker_view.dart +++ b/lib/Screens/Map/marker_view.dart @@ -97,29 +97,29 @@ class _MarkerInfoWidget extends State { children: [ if(mapContext.getSelectedMarker().images != null && mapContext.getSelectedMarker().images.length > 0) CarouselSlider( - options: CarouselOptions( - height: size.height *0.3, - enlargeCenterPage: true, - reverse: false, - ), - items: mapContext.getSelectedMarker().images.map((i) { - return Builder( - builder: (BuildContext context) { - return Container( - width: MediaQuery.of(context).size.width, - margin: EdgeInsets.symmetric(horizontal: 5.0), - decoration: BoxDecoration( + options: CarouselOptions( + height: size.height *0.3, + enlargeCenterPage: true, + reverse: false, + ), + items: mapContext.getSelectedMarker().images.map((i) { + return Builder( + builder: (BuildContext context) { + return Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.symmetric(horizontal: 5.0), + decoration: BoxDecoration( borderRadius: BorderRadius.circular(10.0), border: Border.all(width: 0.3, color: kSecondGrey), - ), - child: Image.network( - i.imageSource, - fit: BoxFit.contain - ) - ); - }, - ); - }).toList(), + ), + child: Image.network( + i.imageSource, + fit: BoxFit.contain + ) + ); + }, + ); + }).toList(), ), // Description Container( diff --git a/lib/Screens/Menu/menu_view.dart b/lib/Screens/Menu/menu_view.dart new file mode 100644 index 0000000..5e3772b --- /dev/null +++ b/lib/Screens/Menu/menu_view.dart @@ -0,0 +1,33 @@ +import 'dart:convert'; +import 'package:flutter/material.dart'; +import 'package:managerapi/api.dart'; + +class MenuViewWidget extends StatefulWidget { + final SectionDTO section; + MenuViewWidget({this.section}); + + @override + _MenuViewWidget createState() => _MenuViewWidget(); +} + +class _MenuViewWidget extends State { + MenuDTO menuDTO; + @override + void initState() { + print(widget.section.data); + menuDTO = MenuDTO.fromJson(jsonDecode(widget.section.data)); + print(menuDTO); + + super.initState(); + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Center(child: new Text("TODO Menu")); + } +} \ No newline at end of file diff --git a/lib/Screens/Slider/slider_view.dart b/lib/Screens/Slider/slider_view.dart new file mode 100644 index 0000000..ff0825d --- /dev/null +++ b/lib/Screens/Slider/slider_view.dart @@ -0,0 +1,99 @@ +import 'dart:convert'; +import 'package:carousel_slider/carousel_slider.dart'; +import 'package:flutter/material.dart'; +import 'package:managerapi/api.dart'; +import 'package:tablet_app/constants.dart'; + +class SliderViewWidget extends StatefulWidget { + final SectionDTO section; + SliderViewWidget({this.section}); + + @override + _SliderViewWidget createState() => _SliderViewWidget(); +} + +class _SliderViewWidget extends State { + SliderDTO sliderDTO; + @override + void initState() { + print(widget.section.data); + sliderDTO = SliderDTO.fromJson(jsonDecode(widget.section.data)); + print(sliderDTO); + + sliderDTO.images.sort((a, b) => a.order.compareTo(b.order)); + + super.initState(); + } + + @override + void dispose() { + super.dispose(); + } + + @override + Widget build(BuildContext context) { + Size size = MediaQuery.of(context).size; + + return Padding( + padding: const EdgeInsets.only(top: 75), + child: Center( + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + if(sliderDTO.images != null && sliderDTO.images.length > 0) + CarouselSlider( + options: CarouselOptions( + height: size.height *0.3, + enlargeCenterPage: true, + reverse: false, + ), + items: sliderDTO.images.map((i) { + return Builder( + builder: (BuildContext context) { + return Container( + width: MediaQuery.of(context).size.width, + margin: EdgeInsets.symmetric(horizontal: 5.0), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10.0), + border: Border.all(width: 0.3, color: kSecondGrey), + ), + child: Image.network( + i.source_, + fit: BoxFit.contain + ) + ); + }, + ); + }).toList(), + ), + // Description + /*Container( + height: sliderDTO.images != null && sliderDTO.images.length > 0 ? size.height *0.3 : size.height *0.6, + width: MediaQuery.of(context).size.width *0.35, + decoration: BoxDecoration( + color: kBackgroundLight, + shape: BoxShape.rectangle, + borderRadius: BorderRadius.circular(10.0), + boxShadow: [ + BoxShadow( + color: kBackgroundSecondGrey, + spreadRadius: 0.5, + blurRadius: 1.1, + offset: Offset(0, 1.1), // changes position of shadow + ), + ], + ), + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(15.0), + child: Text(sliderDTO., textAlign: TextAlign.center, style: TextStyle(fontSize: 15)), + ), + ), + ),*/ + ] + ), + ), + ); + } +} \ No newline at end of file