|
@@ -1,3 +1,4 @@
|
|
|
+import 'package:dotted_line/dotted_line.dart';
|
|
|
import 'package:flutter/material.dart';
|
|
|
import 'package:date_format/date_format.dart';
|
|
|
|
|
@@ -38,104 +39,392 @@ class DetailPage extends StatelessWidget {
|
|
|
)
|
|
|
],
|
|
|
),
|
|
|
- body: Column(
|
|
|
- children: [
|
|
|
- Row(
|
|
|
- children: [
|
|
|
- BackButton(),
|
|
|
- Text(
|
|
|
- 'Detail',
|
|
|
- style: TextStyle(fontWeight: FontWeight.bold),
|
|
|
+ body: SingleChildScrollView(
|
|
|
+ child: Column(
|
|
|
+ children: [
|
|
|
+ Row(
|
|
|
+ children: [
|
|
|
+ BackButton(),
|
|
|
+ Text(
|
|
|
+ 'Detail',
|
|
|
+ style: TextStyle(fontWeight: FontWeight.bold, fontSize: 17),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ ElevatedButton(
|
|
|
+ onPressed: () {},
|
|
|
+ style: ElevatedButton.styleFrom(
|
|
|
+ backgroundColor: Color(0xff078C84).withOpacity(0.1),
|
|
|
+ side: BorderSide(color: Color(0xff078C84)),
|
|
|
+ shape: RoundedRectangleBorder(
|
|
|
+ borderRadius: BorderRadius.circular(35))),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ 'Forum',
|
|
|
+ style:
|
|
|
+ TextStyle(color: Color(0xff078C84), fontSize: 15),
|
|
|
+ ),
|
|
|
+ SizedBox(
|
|
|
+ width: 5,
|
|
|
+ ),
|
|
|
+ Icon(
|
|
|
+ Icons.message_outlined,
|
|
|
+ color: Color(0xff078C84),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ Divider(),
|
|
|
+ Container(
|
|
|
+ height: 44,
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ items['type'],
|
|
|
+ style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14),
|
|
|
),
|
|
|
- Spacer(),
|
|
|
- ElevatedButton(
|
|
|
- onPressed: () {},
|
|
|
- style: ElevatedButton.styleFrom(
|
|
|
- backgroundColor: Color(0xff078C84).withOpacity(0.1),
|
|
|
- side: BorderSide(color: Color(0xff078C84)),
|
|
|
- shape: RoundedRectangleBorder(
|
|
|
- borderRadius: BorderRadius.circular(35))),
|
|
|
- child: Row(
|
|
|
- children: [
|
|
|
- Text(
|
|
|
- 'Forum',
|
|
|
- style: TextStyle(color: Color(0xff078C84)),
|
|
|
- ),
|
|
|
- SizedBox(
|
|
|
- width: 5,
|
|
|
- ),
|
|
|
- Icon(
|
|
|
- Icons.message_outlined,
|
|
|
- color: Color(0xff078C84),
|
|
|
- )
|
|
|
- ],
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ children: [
|
|
|
+ Container(
|
|
|
+ width: 400,
|
|
|
+ margin: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ border: Border.all(color: Colors.black.withOpacity(0.1)),
|
|
|
+ shape: BoxShape.rectangle,
|
|
|
+ borderRadius: BorderRadius.circular(12)),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ SizedBox(
|
|
|
+ width: 100,
|
|
|
+ height: 79.17,
|
|
|
+ child: gambar(items),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ width: 5,
|
|
|
+ ),
|
|
|
+ Column(
|
|
|
+ children: [
|
|
|
+ Container(
|
|
|
+ margin: EdgeInsets.all(5),
|
|
|
+ decoration: BoxDecoration(),
|
|
|
+ child: Text(
|
|
|
+ items['smallText'],
|
|
|
+ overflow: TextOverflow.clip,
|
|
|
+ style: TextStyle(
|
|
|
+ fontWeight: FontWeight.w400,
|
|
|
+ color: Color(0xff292D32),
|
|
|
+ fontSize: 14),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ DottedLine(
|
|
|
+ lineLength: 272,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ margin: EdgeInsets.all(5),
|
|
|
+ width: 272,
|
|
|
+ decoration: BoxDecoration(),
|
|
|
+ child: Text(
|
|
|
+ items['longText'],
|
|
|
+ overflow: TextOverflow.clip,
|
|
|
+ style: TextStyle(
|
|
|
+ fontWeight: FontWeight.w300,
|
|
|
+ color: Color(0xff292D32),
|
|
|
+ fontSize: 13),
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
- )
|
|
|
- ],
|
|
|
- ),
|
|
|
- Divider(),
|
|
|
- Container(
|
|
|
- height: 44,
|
|
|
- alignment: Alignment.centerLeft,
|
|
|
- padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
- child: Text(
|
|
|
- 'Food & Drink',
|
|
|
- style: TextStyle(fontWeight: FontWeight.bold),
|
|
|
+ ],
|
|
|
),
|
|
|
- ),
|
|
|
- Row(
|
|
|
- children: [
|
|
|
- Container(
|
|
|
- // decoration: BoxDecoration(),
|
|
|
- // width: 100,
|
|
|
- // height: 79.17,
|
|
|
- // child: gambar(items),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ 'Ticket Number',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ '202209270254',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ 'Location',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ 'Room 331',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ margin: EdgeInsets.all(10),
|
|
|
+ height: 1,
|
|
|
+ color: Color(0xff292D32).withOpacity(0.5),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ 'Image',
|
|
|
+ style: TextStyle(fontWeight: FontWeight.w400, fontSize: 14),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 5,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ 'No image attached.',
|
|
|
+ style: TextStyle(
|
|
|
+ fontWeight: FontWeight.w400,
|
|
|
+ fontSize: 12,
|
|
|
+ color: Color(0xff292D32).withOpacity(0.85)),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ 'Note',
|
|
|
+ style: TextStyle(fontWeight: FontWeight.w400, fontSize: 14),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 5,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ '-',
|
|
|
+ style: TextStyle(
|
|
|
+ fontWeight: FontWeight.w400,
|
|
|
+ fontSize: 12,
|
|
|
+ color: Color(0xff292D32).withOpacity(0.85)),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Divider(
|
|
|
+ thickness: 8,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ 'Activity',
|
|
|
+ style: TextStyle(fontWeight: FontWeight.bold, fontSize: 14),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ 'Servant',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ 'Rendra WS',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ margin: EdgeInsets.all(10),
|
|
|
+ height: 1,
|
|
|
+ color: Color(0xff292D32).withOpacity(0.5),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerLeft,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ 'Timeline',
|
|
|
+ style: TextStyle(fontWeight: FontWeight.w400, fontSize: 14),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Icon(
|
|
|
+ Icons.circle,
|
|
|
+ color: Color(0xffE8E8E8),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ width: 10,
|
|
|
+ ),
|
|
|
+ Text(
|
|
|
+ 'Requested',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ '31 Jan 12:43',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ )
|
|
|
+ ],
|
|
|
),
|
|
|
- Column(
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 5,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
children: [
|
|
|
+ Icon(
|
|
|
+ Icons.circle,
|
|
|
+ color: Color(0xffE8E8E8),
|
|
|
+ ),
|
|
|
Container(
|
|
|
- decoration: BoxDecoration(),
|
|
|
- child: Text(
|
|
|
- 'Fresh smoked tuna with traditional recipe ...',
|
|
|
- overflow: TextOverflow.clip,
|
|
|
- style: TextStyle(
|
|
|
- fontWeight: FontWeight.w400,
|
|
|
- color: Color(0xff292D32)),
|
|
|
- ),
|
|
|
+ width: 10,
|
|
|
+ ),
|
|
|
+ Text(
|
|
|
+ 'On Process',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ '31 Jan 14:43',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 5,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Icon(
|
|
|
+ Icons.circle,
|
|
|
+ color: Color(0xff078C84),
|
|
|
),
|
|
|
Container(
|
|
|
- width: 272,
|
|
|
- decoration: BoxDecoration(),
|
|
|
- child: Text(
|
|
|
- 'Fresh tuna meat prepared with traditional recipes from Nort Maluku. All recipes mixed together ...',
|
|
|
- overflow: TextOverflow.clip,
|
|
|
- style: TextStyle(
|
|
|
- fontWeight: FontWeight.w300,
|
|
|
- color: Color(0xff292D32)),
|
|
|
- ),
|
|
|
+ width: 10,
|
|
|
+ ),
|
|
|
+ Text(
|
|
|
+ 'Finish',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ '31 Jan 15:43',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
)
|
|
|
],
|
|
|
- )
|
|
|
- ],
|
|
|
- ),
|
|
|
- ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 5,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ alignment: Alignment.centerRight,
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Text(
|
|
|
+ 'tamu minta dibungkus untuk dibawa keluar',
|
|
|
+ style: TextStyle(
|
|
|
+ fontWeight: FontWeight.w400,
|
|
|
+ fontSize: 12,
|
|
|
+ color: Color(0xff078C84),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ margin: EdgeInsets.all(10),
|
|
|
+ height: 1,
|
|
|
+ color: Color(0xff292D32).withOpacity(0.5),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ height: 10,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 10),
|
|
|
+ child: Row(
|
|
|
+ children: [
|
|
|
+ Container(
|
|
|
+ width: 10,
|
|
|
+ ),
|
|
|
+ Text(
|
|
|
+ 'Rate',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Spacer(),
|
|
|
+ Text(
|
|
|
+ 'Really pleased',
|
|
|
+ style: TextStyle(color: Color(0xff292D32), fontSize: 14),
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ width: 10,
|
|
|
+ ),
|
|
|
+ Icon(Icons.tag_faces)
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ Divider(
|
|
|
+ thickness: 8,
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
),
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- // Container gambar(items) {
|
|
|
- // return Container(
|
|
|
- // decoration: BoxDecoration(
|
|
|
- // border: Border.all(color: items['color']),
|
|
|
- // borderRadius: BorderRadius.all(Radius.circular(20)),
|
|
|
- // color: items['color'].withOpacity(0.4)),
|
|
|
- // padding: const EdgeInsets.all(5.0),
|
|
|
- // child: Image.asset(
|
|
|
- // items['image'],
|
|
|
- // width: 36,
|
|
|
- // height: 36,
|
|
|
- // fit: BoxFit.cover,
|
|
|
- // ),
|
|
|
- // );
|
|
|
- // }
|
|
|
+ Container gambar(items) {
|
|
|
+ return Container(
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ border: Border.all(color: items['color']),
|
|
|
+ borderRadius: BorderRadius.all(Radius.circular(20)),
|
|
|
+ color: items['color'].withOpacity(0.4)),
|
|
|
+ padding: const EdgeInsets.all(5.0),
|
|
|
+ child: Image.asset(
|
|
|
+ items['image'],
|
|
|
+ fit: BoxFit.cover,
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|