Skip to content

Commit

Permalink
feat: make taskchampion view stateless
Browse files Browse the repository at this point in the history
  • Loading branch information
its-me-abhishek committed Jul 6, 2024
1 parent 1d09d36 commit 16722bf
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 41 deletions.
5 changes: 2 additions & 3 deletions lib/app/modules/home/views/home_page_app_bar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,7 @@ class HomePageAppBar extends StatelessWidget implements PreferredSizeWidget {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) =>
const ManageTaskChampionCreds(),
builder: (_) => ManageTaskChampionCreds(),
)).then((value) {});
},
textColor: TaskWarriorColors.purple,
Expand Down Expand Up @@ -144,7 +143,7 @@ class HomePageAppBar extends StatelessWidget implements PreferredSizeWidget {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const ManageTaskChampionCreds(),
builder: (_) => ManageTaskChampionCreds(),
)).then((value) {});
},
textColor: TaskWarriorColors.purple,
Expand Down
2 changes: 1 addition & 1 deletion lib/app/modules/home/views/nav_drawer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ class NavDrawer extends StatelessWidget {
onTap: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => const ManageTaskChampionCreds(),
builder: (context) => ManageTaskChampionCreds(),
),
);
},
Expand Down
47 changes: 10 additions & 37 deletions lib/app/utils/taskchampion/taskchampion.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,49 +6,29 @@ import 'package:taskwarrior/app/utils/constants/taskwarrior_fonts.dart';
import 'package:taskwarrior/app/utils/theme/app_settings.dart';
import 'package:url_launcher/url_launcher.dart';

class ManageTaskChampionCreds extends StatefulWidget {
const ManageTaskChampionCreds({super.key});

@override
State<ManageTaskChampionCreds> createState() =>
_ManageTaskChampionCredsState();
}

class _ManageTaskChampionCredsState extends State<ManageTaskChampionCreds> {
String encryptionSecret = '';
String clientId = '';

class ManageTaskChampionCreds extends StatelessWidget {
final TextEditingController _encryptionSecretController =
TextEditingController();
final TextEditingController _clientIdController = TextEditingController();

@override
void initState() {
super.initState();
ManageTaskChampionCreds({super.key}) {
_loadCredentials();
}

Future<void> _loadCredentials() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
setState(() {
encryptionSecret = prefs.getString('encryptionSecret') ?? '';
clientId = prefs.getString('clientId') ?? '';
_encryptionSecretController.text = encryptionSecret;
_clientIdController.text = clientId;
});
_encryptionSecretController.text =
prefs.getString('encryptionSecret') ?? '';
_clientIdController.text = prefs.getString('clientId') ?? '';
}

Future<void> _saveCredentials() async {
Future<void> _saveCredentials(BuildContext context) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('encryptionSecret', _encryptionSecretController.text);
await prefs.setString('clientId', _clientIdController.text);
}

@override
void dispose() {
_encryptionSecretController.dispose();
_clientIdController.dispose();
super.dispose();
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text('Credentials saved successfully')),
);
}

@override
Expand Down Expand Up @@ -136,14 +116,7 @@ class _ManageTaskChampionCredsState extends State<ManageTaskChampionCreds> {
),
const SizedBox(height: 20),
ElevatedButton(
onPressed: () async {
await _saveCredentials();
// ignore: use_build_context_synchronously
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Credentials saved successfully')),
);
},
onPressed: () => _saveCredentials(context),
child: const Text('Save Credentials'),
),
const SizedBox(height: 10),
Expand Down

0 comments on commit 16722bf

Please sign in to comment.