Encrypted peer-to-peer IM for data security. Own data, own privacy. (Rust+Flutter)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 lines
1.6 KiB

import 'package:flutter/material.dart';
class InputText extends StatelessWidget {
final IconData icon;
final String text;
final TextEditingController controller;
final FocusNode focus;
final bool enabled;
const InputText({Key? key, required this.icon, required this.text, required this.controller, required this.focus, this.enabled = true})
: super(key: key);
@override
Widget build(BuildContext context) {
final color = Theme.of(context).colorScheme;
return Container(
padding: const EdgeInsets.symmetric(horizontal: 20.0),
height: 50.0,
width: 600.0,
decoration: BoxDecoration(
color: enabled ? color.surface : Color(0x26ADB0BB),
border: Border.all(color: focus.hasFocus ? color.primary : color.surface),
borderRadius: BorderRadius.circular(10.0)
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
padding: const EdgeInsets.only(right: 20.0),
child: Icon(
icon,
size: 20.0,
color: color.primary,
)),
Expanded(
child: TextField(
enabled: enabled,
style: TextStyle(fontSize: 16.0),
controller: controller,
focusNode: focus,
decoration: InputDecoration(
hintText: text,
hintStyle: TextStyle(color: color.onPrimary.withOpacity(0.5)),
border: InputBorder.none,
),
),
),
],
),
);
}
}