Compare commits

..

2 Commits

Author SHA1 Message Date
577801423d more fixes 2024-06-26 20:33:05 -05:00
a97ec0411d sign in page changes 2024-06-26 20:22:32 -05:00
6 changed files with 121 additions and 69 deletions

View File

@ -166,8 +166,7 @@ class _CreateBusinessDetailState extends State<BusinessDetail> {
.replaceAll('www.', ''),
style: const TextStyle(color: Colors.blue)),
onTap: () {
launchUrl(
Uri.parse('https://${business.website}'));
launchUrl(Uri.parse(business.website!));
},
),
],

View File

@ -513,7 +513,7 @@ class _BusinessHeaderState extends State<_BusinessHeader> {
IconButton(
icon: const Icon(Icons.link),
onPressed: () {
launchUrl(Uri.parse('https://${business.website}'));
launchUrl(Uri.parse(business.website!));
},
),
IconButton(

View File

@ -247,6 +247,7 @@ class _CreateEditBusinessState extends State<CreateEditBusiness> {
),
validator: (value) {
if (value != null &&
value.isNotEmpty &&
!RegExp(r'(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(?:/[^/\s]*)*')
.hasMatch(value)) {
return 'Enter a valid Website';

View File

@ -123,7 +123,7 @@ class _CreateBusinessDetailState extends State<JobListingDetail> {
.replaceAll('www.', ''),
style: const TextStyle(color: Colors.blue)),
onTap: () {
launchUrl(Uri.parse('https://${listing.link!}'));
launchUrl(Uri.parse(listing.link!));
},
),
],

View File

@ -151,7 +151,8 @@ class _JobsOverviewState extends State<JobsOverview> {
setState(() {
_isRetrying = true;
});
await widget.updateBusinessesCallback(null, null);
await widget.updateBusinessesCallback(
null, null);
}
},
),
@ -592,8 +593,7 @@ class _JobHeaderState extends State<_JobHeader> {
IconButton(
icon: const Icon(Icons.link),
onPressed: () {
launchUrl(Uri.parse(
'https://${business.listings![0].link!}'));
launchUrl(Uri.parse(business.listings![0].link!));
},
),
IconButton(

View File

@ -37,7 +37,7 @@ class _SignInPageState extends State<SignInPage> {
heightFactor: 1.0,
child: Container(
padding: const EdgeInsets.fromLTRB(12, 50, 12, 50),
height: 475,
height: 450,
width: 500,
child: Card(
child: Padding(
@ -60,9 +60,12 @@ class _SignInPageState extends State<SignInPage> {
controller: _usernameController,
autocorrect: false,
decoration: const InputDecoration(
prefixIcon: Icon(Icons.person_outline),
prefixIcon: Padding(
padding: EdgeInsets.all(16.0),
child: Icon(Icons.person_outline),
),
labelText: 'Username',
border: OutlineInputBorder()),
),
),
),
Padding(
@ -107,11 +110,13 @@ class _SignInPageState extends State<SignInPage> {
autocorrect: false,
obscureText: obscurePassword,
decoration: InputDecoration(
prefixIcon: const Icon(Icons.fingerprint),
prefixIcon: const Padding(
padding: EdgeInsets.all(16.0),
child: Icon(Icons.fingerprint),
),
labelText: 'Password',
border: const OutlineInputBorder(),
suffixIcon: Padding(
padding: const EdgeInsets.all(8.0),
padding: const EdgeInsets.only(right: 16.0),
child: IconButton(
onPressed: () {
setState(() {
@ -131,35 +136,44 @@ class _SignInPageState extends State<SignInPage> {
errorMessage!,
style: const TextStyle(color: Colors.red),
),
CheckboxListTile(
value: rememberMe,
onChanged: (value) async {
setState(() {
rememberMe = value!;
});
},
title: const Text('Remember me'),
),
ElevatedButton.icon(
style: ElevatedButton.styleFrom(
backgroundColor:
Theme.of(context).colorScheme.primary,
// padding: const EdgeInsets.only(left: 20.0, right: 20.0, top: 12.0, bottom: 12.0),
),
icon: _isloading
? const SizedBox(
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: FilledButton(
style: FilledButton.styleFrom(
shape: const RoundedRectangleBorder(
borderRadius:
BorderRadius.all(Radius.circular(6)))),
child: SizedBox(
width: 374,
height: 40,
child: Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
_isloading
? Padding(
padding: EdgeInsets.only(right: 8.0),
child: const SizedBox(
width: 20,
height: 20,
child: CircularProgressIndicator(
color: Colors.white,
strokeWidth: 3,
))
: const Icon(Icons.done, color: Colors.white),
label: const Text('Sign In',
style: TextStyle(color: Colors.white)),
)),
)
: const Padding(
padding: EdgeInsets.only(right: 8.0),
child: Icon(Icons.done,
color: Colors.white),
),
const Text('Sign in',
style: TextStyle(
color: Colors.white, fontSize: 18)),
],
),
),
onPressed: () async {
setState(() {
errorMessage = null;
_isloading = true;
});
jwt = await signIn(username, password).timeout(
@ -189,6 +203,44 @@ class _SignInPageState extends State<SignInPage> {
}
},
),
),
Expanded(
child: Align(
alignment: Alignment.bottomLeft,
child: Row(
children: [
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: MouseRegion(
cursor: SystemMouseCursors.click,
child: GestureDetector(
child: Row(
children: [
Checkbox(
value: rememberMe,
onChanged: (value) {
setState(() {
rememberMe = value!;
});
}),
const Padding(
padding: EdgeInsets.all(8.0),
child: Text('Remember me'),
)
],
),
onTap: () {
setState(() {
rememberMe = !rememberMe;
});
},
),
),
),
],
),
),
),
],
),
),