reorder file structure
This commit is contained in:
@@ -5,7 +5,7 @@ import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tools.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_one.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/Example/package_tools/package_tool_two.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_objects/arguments.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_objects/arguments.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class PackageTest extends StatefulWidget {
|
||||
|
||||
@@ -4,7 +4,7 @@ import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
||||
import 'package:mzansi_innovation_hub/main.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_services/mih_alert_services.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_services/mih_validation_services.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_button.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_date_field.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_dropdwn_field.dart';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mzansi_innovation_hub/main.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_tool_body.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_icons.dart';
|
||||
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../../../main.dart';
|
||||
import 'package:table_calendar/table_calendar.dart';
|
||||
|
||||
class MIHCalendar extends StatefulWidget {
|
||||
final double calendarWidth;
|
||||
final double rowHeight;
|
||||
final void Function(String) setDate;
|
||||
const MIHCalendar({
|
||||
super.key,
|
||||
required this.calendarWidth,
|
||||
required this.rowHeight,
|
||||
required this.setDate,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MIHCalendar> createState() => _MIHCalendarState();
|
||||
}
|
||||
|
||||
class _MIHCalendarState extends State<MIHCalendar> {
|
||||
DateTime selectedDay = DateTime.now();
|
||||
CalendarFormat _calendarFormat = CalendarFormat.week;
|
||||
|
||||
void onDaySelected(DateTime day, DateTime focusedDay) {
|
||||
setState(() {
|
||||
selectedDay = day;
|
||||
});
|
||||
widget.setDate(selectedDay.toString().split(" ")[0]);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SizedBox(
|
||||
width: widget.calendarWidth,
|
||||
child: TableCalendar(
|
||||
headerStyle: HeaderStyle(
|
||||
formatButtonDecoration: BoxDecoration(
|
||||
border: Border.fromBorderSide(
|
||||
BorderSide(
|
||||
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
),
|
||||
),
|
||||
borderRadius: const BorderRadius.all(
|
||||
Radius.circular(12.0),
|
||||
),
|
||||
),
|
||||
// formatButtonTextStyle:
|
||||
),
|
||||
rowHeight: widget.rowHeight,
|
||||
focusedDay: selectedDay,
|
||||
firstDay: DateTime.utc(2024, 1, 1),
|
||||
lastDay: DateTime.utc(2099, 1, 1),
|
||||
onDaySelected: onDaySelected,
|
||||
selectedDayPredicate: (day) => isSameDay(day, selectedDay),
|
||||
calendarFormat: _calendarFormat,
|
||||
onFormatChanged: (format) {
|
||||
setState(() {
|
||||
_calendarFormat = format;
|
||||
});
|
||||
},
|
||||
calendarStyle: CalendarStyle(
|
||||
outsideDaysVisible: false,
|
||||
todayTextStyle: TextStyle(
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
todayDecoration: BoxDecoration(
|
||||
color: MzanziInnovationHub.of(context)!.theme.successColor(),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
selectedTextStyle: TextStyle(
|
||||
color: MzanziInnovationHub.of(context)!.theme.primaryColor(),
|
||||
),
|
||||
selectedDecoration: BoxDecoration(
|
||||
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
weekendTextStyle: TextStyle(
|
||||
color: MzanziInnovationHub.of(context)!.theme.messageTextColor(),
|
||||
),
|
||||
),
|
||||
daysOfWeekStyle: DaysOfWeekStyle(
|
||||
weekdayStyle: TextStyle(
|
||||
color: MzanziInnovationHub.of(context)!.theme.secondaryColor(),
|
||||
),
|
||||
weekendStyle: TextStyle(
|
||||
color: MzanziInnovationHub.of(context)!.theme.messageTextColor(),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:mzansi_innovation_hub/main.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_package_window.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_yt_video_player.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_yt_video_player.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihPackageTile extends StatefulWidget {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_speed_dial/flutter_speed_dial.dart';
|
||||
import 'package:mzansi_innovation_hub/main.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_layout/mih_single_child_scroll.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_single_child_scroll.dart';
|
||||
import 'package:mzansi_innovation_hub/mih_components/mih_package_components/mih_floating_menu.dart';
|
||||
|
||||
class MihPackageWindow extends StatefulWidget {
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MihSingleChildScroll extends StatefulWidget {
|
||||
final Widget child;
|
||||
const MihSingleChildScroll({
|
||||
super.key,
|
||||
required this.child,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MihSingleChildScroll> createState() => _MihSingleChildScrollState();
|
||||
}
|
||||
|
||||
class _MihSingleChildScrollState extends State<MihSingleChildScroll> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SafeArea(
|
||||
bottom: false,
|
||||
minimum: EdgeInsets.only(bottom: 5),
|
||||
child: ScrollConfiguration(
|
||||
behavior: ScrollConfiguration.of(context).copyWith(scrollbars: false),
|
||||
child: SingleChildScrollView(
|
||||
child: widget.child,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:youtube_player_iframe/youtube_player_iframe.dart';
|
||||
|
||||
class MIHYTVideoPlayer extends StatefulWidget {
|
||||
final String videoYTLink;
|
||||
const MIHYTVideoPlayer({
|
||||
super.key,
|
||||
required this.videoYTLink,
|
||||
});
|
||||
|
||||
@override
|
||||
State<MIHYTVideoPlayer> createState() => _MIHYTVideoPlayerState();
|
||||
}
|
||||
|
||||
class _MIHYTVideoPlayerState extends State<MIHYTVideoPlayer> {
|
||||
late YoutubePlayerController _controller;
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_controller.close();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
_controller = YoutubePlayerController(
|
||||
params: const YoutubePlayerParams(
|
||||
enableCaption: false,
|
||||
showControls: true,
|
||||
mute: false,
|
||||
showFullscreenButton: false,
|
||||
loop: false,
|
||||
),
|
||||
);
|
||||
_controller.loadVideoById(videoId: widget.videoYTLink);
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return YoutubePlayer(
|
||||
controller: _controller,
|
||||
aspectRatio: 16 / 9,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user