unify_api 1.0.2 unify_api: ^1.0.2 copied to clipboard
A Unify API Wrapper
import 'package:flutter/material.dart';
import 'package:unify_api/tool.dart';
import 'common/index.dart';
import 'ui/index.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
const MyApp({
Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
UnifyClient _client;
final TextEditingController _username = TextEditingController();
final TextEditingController _password = TextEditingController();
final TextEditingController _domain =
TextEditingController(text: "mobile.myunifycrm.com");
@override
Widget build(BuildContext context) {
if (_client == null || !_client.isAuthorized)
return Scaffold(
appBar: AppBar(title: Text("Login - Unify API")),
body: SingleChildScrollView(
child: Column(
children: <Widget>[
ListTile(
title: TextField(
controller: _username,
decoration: InputDecoration(hintText: "Username"),
),
),
ListTile(
title: TextField(
controller: _password,
obscureText: true,
decoration: InputDecoration(hintText: "Password"),
),
),
ListTile(
title: TextField(
controller: _domain,
decoration: InputDecoration(hintText: "Domain"),
),
),
RaisedButton.icon(
icon: Icon(Icons.account_circle),
label: Text("Login"),
onPressed: () async {
var client = getUnifyClient(
unifyUsername: _username.text,
unifyPassword: _password.text,
domain: _domain.text,
);
await client.login();
setState(() {
_client = client;
});
},
),
],
),
),
);
return Scaffold(
appBar: AppBar(
title: const Text('Overview - Unify API'),
actions: <Widget>[
IconButton(
icon: Icon(Icons.exit_to_app),
onPressed: () {
setState(() {
_client = null;
});
},
)
],
),
body: GridView.count(
crossAxisCount: 2,
children: <Widget>[
GridItem(
iconData: Icons.account_circle,
name: "Account",
details: AccountInfoExample(client: _client),
),
GridItem(
iconData: Icons.contacts,
name: "Contacts",
details: ContactsExample(client: _client),
),
GridItem(
iconData: Icons.people,
name: "Leads",
details: LeadsExample(client: _client),
),
GridItem(
iconData: Icons.people_outline,
name: "Lead Tracker",
details: CoreLeadsExample(client: _client),
),
GridItem(
iconData: Icons.dashboard,
name: "Dashboard",
details: DashboardAlertsExample(client: _client),
),
GridItem(
iconData: Icons.group,
name: "Contact Groups",
details: ContactGroupsExample(client: _client),
),
GridItem(
iconData: Icons.group,
name: "Lead Groups",
details: LeadGroupsExample(client: _client),
),
GridItem(
iconData: Icons.folder,
name: "Loan Folders",
details: LoanFolderExample(client: _client),
),
GridItem(
iconData: Icons.video_library,
name: "Unify Video",
details: VideoExample(client: _client),
),
GridItem(
iconData: Icons.info_outline,
name: "Marketing",
details: MarketingExample(client: _client),
),
GridItem(
iconData: Icons.shopping_cart,
name: "Cart",
details: CartExample(client: _client),
),
],
));
}
}