Files
2026-02-13 15:53:22 +01:00

61 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:hiddingsel_app/appflow/model/pois.dart';
import 'package:hiddingsel_app/appflow/view/widgets/gallery.dart';
import 'package:hiddingsel_app/appflow/view/widgets/string_list.dart';
import 'package:hiddingsel_app/appflow/view/navigation_drawer.dart';
import '../../../constants/constant.dart';
import '../widgets/card.dart';
final List<PointOfInterestModel> _pois = PointOfInterestModel.values;
class PoiView extends StatelessWidget {
final PointOfInterestModel _poi;
const PoiView(this._poi, {Key? key}) : super(key: key);
@override
Widget build(BuildContext context) => ListView(
children: [
ItemWithText.fromPoi(_poi),
SizedBox(
height: 200,
child: HiddingselGallery(
_poi.otherImages.map((e) => e.image).toList()),
),
],
);
}
class PoiPagesView extends StatelessWidget with NavigationDrawerItem {
final PointOfInterestModel _poi;
PoiPagesView(this._poi);
@override
String get title => 'Sehenswertes';
Widget build(BuildContext context) => PageView.builder(
controller: PageController(initialPage: _pois.indexOf(_poi)),
itemCount: _pois.length,
itemBuilder: (context, index) => PoiView(_pois[index]),
);
}
class PoiListView extends StatelessWidget with NavigationDrawerItem {
@override
String get title => 'Sehenswertes';
final Function(PreferredSizeWidget appBar, Widget body)? _onChange;
PoiListView(this._onChange);
@override
Widget build(BuildContext context) => HiddingselMenu(
_pois.map((e) => PoiPagesView(e)).toList(),
_onChange,
names: _pois.map((e) => e.name).toList(),
gradient: UIGradiants.blue);
}