Files
apidash/lib/screens/common_widgets/auth/bearer_auth_fields.dart
2025-07-01 01:04:43 +05:30

50 lines
1.2 KiB
Dart

import 'package:apidash/screens/common_widgets/auth_textfield.dart';
import 'package:apidash_core/apidash_core.dart';
import 'package:flutter/material.dart';
class BearerAuthFields extends StatefulWidget {
final AuthModel? authData;
final Function(AuthModel?) updateAuth;
const BearerAuthFields({
super.key,
required this.authData,
required this.updateAuth,
});
@override
State<BearerAuthFields> createState() => _BearerAuthFieldsState();
}
class _BearerAuthFieldsState extends State<BearerAuthFields> {
late TextEditingController _tokenController;
@override
void initState() {
super.initState();
final bearerAuth = widget.authData?.bearer;
_tokenController = TextEditingController(text: bearerAuth?.token ?? '');
}
@override
Widget build(BuildContext context) {
return AuthTextField(
controller: _tokenController,
hintText: "Token",
isObscureText: true,
onChanged: (value) => _updateBearerAuth(),
);
}
void _updateBearerAuth() {
widget.updateAuth(
widget.authData?.copyWith(
type: APIAuthType.bearer,
bearer: AuthBearerModel(
token: _tokenController.text.trim(),
),
),
);
}
}