Skip to content

Commit

Permalink
Merge pull request #14 from lucent-intern-org/feat/#12-update-meeting
Browse files Browse the repository at this point in the history
Feat/#12 update meeting
  • Loading branch information
rlawogns authored Aug 11, 2022
2 parents d12ae59 + 1cd8c58 commit 03fd275
Show file tree
Hide file tree
Showing 8 changed files with 746 additions and 6 deletions.
6 changes: 6 additions & 0 deletions frontend/app/lib/date_format.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
DateTime toNoDot(String date) {
return DateTime(int.parse(date.substring(0, 4)),
int.parse(date.substring(5, 7)), int.parse(date.substring(8, 10)));
}

void toDotFormat() {}
1 change: 1 addition & 0 deletions frontend/app/lib/model/meeting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ class Meeting {
String? title;
String? content;
String? repeat;
//List<String>? user;

Meeting(this.meetingId, this.roomId, this.date, this.startTime, this.endTime,
this.title, this.content, this.repeat);
Expand Down
47 changes: 47 additions & 0 deletions frontend/app/lib/model/meeting_form_model.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
class Meeting_Form_Model {
List<String> repeatList = ['반복 없음', '매일 반복', '매주 반복', '매월 반복'];
String repeat = '반복 없음';
List<String> startList = List.generate(
48,
(index) =>
'${(index ~/ 2).toString().padLeft(2, '0')}:${(index % 2 * 30).toString().padLeft(2, '0')}');
String start = '09:00';
List<String> endList = List.generate(
48,
(index) =>
'${(index ~/ 2).toString().padLeft(2, '0')}:${(index % 2 * 30).toString().padLeft(2, '0')}');
String end = '09:00';
List<String> gropList = [
'C-Level',
'Frontend',
'Backend',
'Finance',
'PM',
'Infra',
'Design',
'Marketing',
'BlockChain',
'People',
'Legal',
'QA',
'RealEstateCredit',
'RealEstateInvestmentManagement'
];
String? grop;
List<String> roomList = ['Thield', 'Bezos', 'Musk'];
String room = 'Thield';
List<String> userList = [
'류건열',
'이채림',
'김재훈',
'이상호',
'B_Item1',
'B_Item2',
'B_Item3',
'B_Item4',
];

String? user;

String? date;
}
8 changes: 4 additions & 4 deletions frontend/app/lib/test/test_data.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ class TestData {
[],
[],
[
Meeting(0, 0, '20200803', '13:00', '14:00', '프론트 회의', '인턴회의', '반복없음'),
Meeting(1, 1, '20200803', '15:00', '16:00', '백엔드 회의', '인턴회의', '반복없음')
Meeting(0, 0, '20200803', '13:00', '14:00', '프론트 회의', '인턴회의', '반복 없음'),
Meeting(1, 1, '20200803', '15:00', '16:00', '백엔드 회의', '인턴회의', '매주 반복')
],
[],
[],
[],
[
Meeting(2, 2, '20200803', '13:00', '14:00', '프론트 회의', '인턴회의', '반복없음'),
Meeting(3, 1, '20200803', '15:00', '16:00', '백엔드 회의', '인턴회의', '반복없음')
Meeting(2, 2, '20200803', '13:00', '14:00', '프론트 회의', '인턴회의', '반복 없음'),
Meeting(3, 1, '20200803', '15:00', '16:00', '백엔드 회의', '인턴회의', '반복 없음')
],
[],
[],
Expand Down
70 changes: 70 additions & 0 deletions frontend/app/lib/view/calendar_dialog.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
import 'package:app/view_model/update_metting_view_model.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:table_calendar/table_calendar.dart';

class CalendarDialog extends StatefulWidget {
CalendarDialog(this.updateMettingViewModel, {Key? key}) : super(key: key);
final UpdateMettingViewModel updateMettingViewModel;
@override
State<CalendarDialog> createState() =>
_CalendarDialogState(updateMettingViewModel);
}

class _CalendarDialogState extends State<CalendarDialog> {
_CalendarDialogState(this.updateMettingViewModel);
final UpdateMettingViewModel updateMettingViewModel;
String? date;
DateTime? _focusedDay;
DateTime? _selectedDay;

@override
void initState() {
date = updateMettingViewModel.updateMeetingModel.date;
print(date);
_focusedDay = DateTime(int.parse(date!.substring(0, 4)),
int.parse(date!.substring(4, 6)), int.parse(date!.substring(6, 8)));
_selectedDay = _focusedDay;
super.initState();
}

@override
Widget build(BuildContext context) {
return AlertDialog(
// RoundedRectangleBorder - Dialog 화면 모서리 둥글게 조절
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0)),
content: Container(
height: 400,
child: TableCalendar(
headerStyle: HeaderStyle(formatButtonVisible: false),
calendarStyle: const CalendarStyle(
weekendTextStyle: TextStyle(color: Colors.red)),
locale: 'ko-KR', //한국어
currentDay: DateTime.now(),
focusedDay: _focusedDay!,
firstDay: DateTime.utc(2010, 10, 16),
lastDay: DateTime.utc(2030, 3, 14),
onDaySelected: (DateTime selectedDay, DateTime focusedDay) {
if (!isSameDay(_selectedDay, selectedDay)) {
setState(() {
_selectedDay = selectedDay;
_focusedDay = focusedDay;
});
}
},
selectedDayPredicate: (day) => isSameDay(_selectedDay, day),
),
),
actions: <Widget>[
TextButton(
child: new Text("확인"),
onPressed: () {
updateMettingViewModel.updateMeetingModel.date =
DateFormat('yyyyMMdd').format(_selectedDay!);
Navigator.pop(context, true);
},
),
],
);
}
}
22 changes: 20 additions & 2 deletions frontend/app/lib/view/detail_meeting.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:app/model/meeting.dart';
import 'package:app/view/update_meeting.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

Expand All @@ -11,9 +12,26 @@ class DetailMeeting extends StatelessWidget {
body: SafeArea(
child: Column(
children: [
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
IconButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) =>
UpdateMeeting(meeting: meeting)));
},
icon: Icon(Icons.edit)),
IconButton(onPressed: () {}, icon: Icon(Icons.delete))
],
),
),
Container(
//제목
padding: const EdgeInsets.all(20),
padding: const EdgeInsets.fromLTRB(20, 0, 20, 20),
alignment: Alignment.center,
child: Text(
"${meeting.title}",
Expand All @@ -25,7 +43,7 @@ class DetailMeeting extends StatelessWidget {
padding: const EdgeInsets.all(10),
alignment: Alignment.centerRight,
child: Text(
"${DateFormat('yyyy년 MM월 dd일').format(DateTime.utc(int.parse(meeting.date!.substring(0, 4)), int.parse(meeting.date!.substring(4, 6)), int.parse(meeting.date!.substring(6, 8))))} ${DateFormat('E', 'ko_KR').format(DateTime.now())}요일",
"${meeting.date!.substring(0, 4)}년 ${meeting.date!.substring(4, 6)}월 ${meeting.date!.substring(6, 8)}일 ${DateFormat('E', 'ko_KR').format(DateTime(int.parse(meeting.date!.substring(0, 4)), int.parse(meeting.date!.substring(4, 6)), int.parse(meeting.date!.substring(6, 8))))}요일",
style: const TextStyle(fontSize: 20),
),
),
Expand Down
Loading

0 comments on commit 03fd275

Please sign in to comment.