in example/lib/pages/settings/settings_page.dart [336:368]
Widget _buildTextItem(TextItem item) {
return FutureBuilder<String>(
future: item.subtitleLoader(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return ListTile(
title: Text(item.title),
subtitle: const Text("Loading..."),
);
} else if (snapshot.hasError) {
return ListTile(
title: Text(item.title),
subtitle: Text("Error: ${snapshot.error}"),
);
} else if (snapshot.hasData) {
return ListTile(
title: Text(item.title),
subtitle: Text(snapshot.data!),
onTap: () {
Clipboard.setData(ClipboardData(text: snapshot.data ?? ""));
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text("Copied to clipboard"),
duration: Duration(seconds: 2),
),
);
},
);
}
return const SizedBox.shrink();
},
);
}