Skip to content

Commit

Permalink
dismmisble text widget
Browse files Browse the repository at this point in the history
  • Loading branch information
this-kin committed Feb 9, 2022
1 parent 55d375b commit 7a0b5ac
Show file tree
Hide file tree
Showing 12 changed files with 140 additions and 142 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ flutter build apk
- Multi-Language Localization (English, French, Portuguese)
- Local Notification
- Follow on Twitter
- Dismissible Slider

# Coming Soon
- Attachment (image, audio, doc/pdf)
Expand All @@ -88,7 +89,7 @@ flutter build apk
- save theme state
- save language state
- daily reminder
- dismissible delete and update
- dismissible to update
- charts for task
- create and display image task
- create and display audio task
Expand Down
Binary file modified assets/images/user.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions lib/controllers/item_controller.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:path_provider/path_provider.dart';
import 'package:todey/core/sqflite_db.dart';
import 'package:todey/models/todo_model.dart';
import 'package:todey/utils/helper.dart';
import 'dart:io' as io;

class EventController extends GetxController {
var dateNow = DateTime.now();
Expand Down Expand Up @@ -87,4 +89,9 @@ class EventController extends GetxController {
// print(result.files[0].name);
// }
// }

void _disposeControllers() {
noteController.value.clear();
titleController.value.clear();
}
}
2 changes: 1 addition & 1 deletion lib/controllers/settings_controller.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:feedback/feedback.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:todey/helpers/sharepreference_helper.dart';
import 'package:todey/services/sharepreference_helper.dart';
import 'package:url_launcher/url_launcher.dart';

class SettingController extends GetxController {
Expand Down
6 changes: 5 additions & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:flutter/services.dart';
import 'package:flutter_phoenix/flutter_phoenix.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:todey/controllers/settings_controller.dart';
import 'package:todey/core/sqflite_db.dart';
import 'package:todey/modules/onboard/onboard.dart';
import 'package:todey/services/auth_service.dart';
Expand All @@ -19,7 +20,10 @@ void main() async {
SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
DeviceOrientation.portraitDown,
]).then((value) => Get.put(AuthService()));
]).then((value) {
Get.put(AuthService());
Get.put(SettingController());
});
runApp(BetterFeedback(child: MyApp()));
}

Expand Down
2 changes: 0 additions & 2 deletions lib/modules/create/components/second_compo.dart
Original file line number Diff line number Diff line change
Expand Up @@ -129,8 +129,6 @@ class _SecondComponentState extends State<SecondComponent> {
onPressed: () {
//activate recorder
print("clicked");

// _con.recordAudio();
},
iconData: Icons.mic_rounded,
color: theme.accentColor,
Expand Down
69 changes: 47 additions & 22 deletions lib/modules/dashboard/dashboard.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import 'package:date_picker_timeline/date_picker_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:get/get_utils/src/extensions/internacionalization.dart';
import 'package:todey/controllers/item_controller.dart';
import 'package:todey/models/language_models.dart';
import 'package:todey/models/todo_model.dart';
import 'package:todey/modules/dashboard/widget/text_widget.dart';
import 'package:todey/services/auth_service.dart';
import 'package:todey/utils/constant.dart';
Expand Down Expand Up @@ -79,30 +80,54 @@ class _DashboardState extends State<Dashboard> {
Flexible(
child: Container(
// margin: EdgeInsets.only(right: 10.w),
child: Obx(() => _event.events.isEmpty
? emptyEvents()
: Container(
child: ListView.builder(
itemCount: _event.events.length,
itemBuilder: (BuildContext context, int index) {
return GetX<EventController>(
builder: (controller) {
child: Obx(
() => _event.events.isEmpty
? emptyEvents()
: Container(
child: ListView.builder(
itemCount: _event.events.length,
itemBuilder: (BuildContext context, int index) {
return GetX<EventController>(
// ignore: missing_return
builder: (controller) {
//
var snapshot = controller.events[index];
return TextWidget(
eventCategory: snapshot.eventCategory,
eventCreatedDate: snapshot.eventCreatedDate,
eventId: snapshot.id,
eventIndex: index,
eventNote: snapshot.eventNote,
eventTitle: snapshot.eventTitle,
eventType: snapshot.eventType,
);
},
);
},
// ignore: invalid_use_of_protected_member, unused_local_variable
for (final EventModel item
in controller.events.value)
return Dismissible(
onDismissed: (direction) {
// delete events
_event.deleteEvent(
id: snapshot.id, index: index);
},
background: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
color: kDeletedColor,
alignment: Alignment.center,
child: Icon(
CupertinoIcons.delete,
color: Colors.white,
),
),
),
key: ValueKey(index),
child: TextWidget(
eventCategory: snapshot.eventCategory,
eventCreatedDate: snapshot.eventCreatedDate,
eventId: snapshot.id,
eventIndex: index,
eventNote: snapshot.eventNote,
eventTitle: snapshot.eventTitle,
eventType: snapshot.eventType,
),
);
});
},
),
),
)),
),
),
),
]),
Expand Down
188 changes: 76 additions & 112 deletions lib/modules/dashboard/widget/text_widget.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';
import 'package:todey/utils/constant.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:todey/utils/constant.dart';
import 'package:todey/utils/helper.dart';

class TextWidget extends StatefulWidget {
Expand Down Expand Up @@ -32,130 +32,94 @@ class TextWidget extends StatefulWidget {
class _TextWidgetState extends State<TextWidget> {
bool _isExpanded = false;

void collapse() {
setState(() {
_isExpanded = !_isExpanded;
});
}

@override
Widget build(BuildContext context) {
var theme = Theme.of(context);
return Container(
padding: const EdgeInsets.only(left: 10),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(width: MediaQuery.of(context).size.width * 0.1),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
return InkWell(
onTap: () {
collapse();
},
child: Padding(
padding: EdgeInsets.only(bottom: 8.0.h),
child: AnimatedContainer(
height: _isExpanded ? 120.h : 100.h,
width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.sp),
color: widget.eventCategory == "Important"
? theme.primaryColor
: kAccentColor,
),
padding: EdgeInsets.symmetric(horizontal: 10.w),
duration: const Duration(milliseconds: 300),
curve: Curves.bounceInOut,
child: Row(
children: [
CircleAvatar(
backgroundColor: avatarColor(widget.eventCategory),
backgroundImage: AssetImage(getAvatar(widget.eventType)),
radius: 22.sp,
),
//event Title
Container(
width: 100.w,
height: 20.h,
child: Text(
widget.eventTitle,
overflow: TextOverflow.fade,
textScaleFactor: 0.7,
style: TextStyle(
color: kTextColor, fontFamily: "Raleway", fontSize: 18),
height: 50.h,
width: 50.w,
decoration: BoxDecoration(
color: avatarColor(widget.eventType),
shape: BoxShape.circle,
),
padding: EdgeInsets.all(5.sp),
child: Image.asset(
getAvatar(widget.eventType),
fit: BoxFit.scaleDown,
),
),
SizedBox(height: MediaQuery.of(context).size.height * 0.01),
//Event Notes
SizedBox(width: 20.w),
Container(
width: 120.w,
height: 20.h,
child: Text(
widget.eventNote,
overflow: TextOverflow.ellipsis,
style: TextStyle(
// color: kSettingColor,
fontFamily: "MADType",
fontWeight: FontWeight.w500,
fontSize: 15),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
SizedBox(
height: _isExpanded ? 30.h : 18.h,
width: 120.w,
child: Text(
widget.eventTitle,
maxLines: _isExpanded ? 2 : 1,
style: theme.textTheme.overline.copyWith(
color: Colors.white,
fontSize: 13.sp,
),
),
),
SizedBox(height: 12.h),
SizedBox(
height: 20.h,
width: 170.w,
child: Text(
widget.eventNote,
overflow: TextOverflow.ellipsis,
style: theme.textTheme.headline5.copyWith(
fontSize: 14.sp,
fontWeight: FontWeight.w400,
color: Colors.white,
),
),
),
],
),
),
const Spacer(),
Text(
widget.eventCreatedDate,
style: theme.textTheme.button.copyWith(
fontSize: 12.sp,
),
)
],
),
SizedBox(
width: MediaQuery.of(context).size.width * 0.15,
),
Text(
widget.eventCreatedDate,
// style: kItemWidgetStyle,
)
],
),
),
);
}
}

/*
Padding(
padding: const EdgeInsets.symmetric(vertical: 5),
child: GestureDetector(
onTap: () {
setState(() {
_isExpanded = !_isExpanded;
});
},
child: AnimatedContainer(
height: _isExpanded ? 120.h : 90.h,
padding: EdgeInsets.symmetric(horizontal: 10.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(15.sp),
color: getColor(widget.eventCategory),
),
duration: ConstanceData.kDuration,
curve: Curves.bounceInOut,
child: Row(crossAxisAlignment: CrossAxisAlignment.center, children: [
CircleAvatar(
backgroundColor: avatarColor(widget.eventCategory),
backgroundImage: AssetImage(getAvatar(widget.eventType)),
radius: 22.sp,
),
SizedBox(width: 20.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
width: 140.w,
height: 20.h,
child: Text(
widget.eventTitle,
overflow: TextOverflow.ellipsis,
maxLines: _isExpanded ? 3 : 1,
textScaleFactor: 0.7,
style: theme.textTheme.overline,
),
),
SizedBox(height: 10.h),
Container(
width: 140.w,
height: _isExpanded ? 40.h : 12.h,
child: Text(
widget.eventNote,
overflow: _isExpanded
? TextOverflow.visible
: TextOverflow.ellipsis,
maxLines: _isExpanded ? 3 : 2,
style: theme.textTheme.headline5.copyWith(
color: Colors.white,
),
),
)
]),
SizedBox(
width: MediaQuery.of(context).size.width * 0.15,
),
Text(
widget.eventCreatedDate,
)
]),
),
),
);
*/
2 changes: 1 addition & 1 deletion lib/modules/onboard/onboard.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:todey/helpers/sharepreference_helper.dart';
import 'package:todey/services/sharepreference_helper.dart';
import 'package:todey/models/welcome_model.dart';
import 'package:todey/modules/home/home.dart';
import 'package:todey/services/auth_service.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/services/auth_service.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:get/state_manager.dart';
import 'package:google_sign_in/google_sign_in.dart';
import 'package:todey/helpers/sharepreference_helper.dart';
import 'package:todey/services/sharepreference_helper.dart';
import 'package:todey/modules/home/home.dart';
import 'package:get/get.dart';
import 'package:todey/modules/onboard/onboard.dart';
Expand Down
File renamed without changes.
Loading

0 comments on commit 7a0b5ac

Please sign in to comment.