DiscoverModule/lib/ui_screen/contacts.dart

155 lines
5.6 KiB
Dart

import 'package:discover_module/ui_screen/profile.dart';
import 'package:discover_module/ui_screen/ranking.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_profile_picture/flutter_profile_picture.dart';
import 'package:hive_flutter/hive_flutter.dart';
class Contacts extends StatefulWidget {
const Contacts({super.key});
@override
State<Contacts> createState() => _ContactsState();
}
class _ContactsState extends State<Contacts> {
// final _contactbox = Hive.box('mycontact');
static final _contactbox = Hive.box("mycontact");
bool _switchValue = false;
// List<dynamic> alldata = _contactbox.values.toList();
@override
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(
SystemUiOverlayStyle(statusBarColor: Color.fromARGB(255, 0, 71, 132)));
print(
"newdata_is: ${_contactbox.values.toList()},${_contactbox.values.toList().length}");
print(
"Data_newww: ${HiveFunctions.getAllUsers()} ,${HiveFunctions.getAllUsers().length} ");
return SafeArea(
child: Scaffold(
// appBar: AppBar(
// title: const Text('Contacts'),
// ),
body: Column(
children: [
Row(
mainAxisAlignment: MainAxisAlignment
.center, // Align children to start and end of the row
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.only(left: 45.0),
child: Text(
_switchValue ? "My Contacts" : "All Contacts",
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.w500,
fontStyle: FontStyle.normal,
color: _switchValue ? Colors.black : Colors.black),
),
),
),
// Expanded(
Row(
// Adjust alignment as needed
mainAxisSize: MainAxisSize.min,
children: [
_switchValue
? const Text(
'All',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
// TODO: implement dispose
)
: const Text('All',
style: TextStyle(
fontSize: 12,
)),
CupertinoSwitch(
activeColor: Color.fromARGB(255, 0, 71, 132),
value: _switchValue,
onChanged: (value) {
setState(() {
print("Switch_value_is : $value");
_switchValue = value;
});
},
),
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: !_switchValue
? const Text(
'My',
style: TextStyle(
fontSize: 12,
decoration: TextDecoration.lineThrough,
decorationThickness: 0.85,
),
)
: const Text('My',
style: TextStyle(
fontSize: 12,
)),
)
],
),
// ),
]),
Expanded(
child: ListView.builder(
itemCount: HiveFunctions.getAllUsers().length,
itemBuilder: (BuildContext context, int index) {
var data = HiveFunctions.getAllUsers()[index];
print("dataaaa_isss:$data");
return Column(
children: [
ListTile(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Profile()));
},
// title: Text(_contactbox.values.toString()),
leading: ProfilePicture(
name: data["name"],
radius: 20,
fontsize: 12,
),
title: Text(
data["name"],
style: const TextStyle(
fontSize: 18.0, fontWeight: FontWeight.bold),
),
subtitle: const Text(
"Added by Pooja.K",
style: TextStyle(
fontSize: 14.0, fontWeight: FontWeight.normal),
),
),
],
);
},
),
),
],
),
),
);
}
}