Widget _buildTextItem()

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();
      },
    );
  }