Created
January 15, 2025 10:37
-
-
Save davidmigloz/c95f0a36ceb2b7bca08c6b7a0b223929 to your computer and use it in GitHub Desktop.
Generated code from pixels2flutter.dev
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flutter/material.dart'; | |
void main() { | |
runApp(const MyApp()); | |
} | |
class MyApp extends StatelessWidget { | |
const MyApp({super.key}); | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
debugShowCheckedModeBanner: false, | |
title: 'Board App', | |
theme: ThemeData( | |
useMaterial3: true, | |
), | |
home: const BoardScreen(), | |
); | |
} | |
} | |
class BoardScreen extends StatefulWidget { | |
const BoardScreen({super.key}); | |
@override | |
_BoardScreenState createState() => _BoardScreenState(); | |
} | |
class _BoardScreenState extends State<BoardScreen> { | |
final List<Map<String, String>> backlogItems = [ | |
{'date': 'Draft', 'title': 'Use case: chatbot'}, | |
{'date': 'Draft', 'title': 'Use case: extraction'}, | |
{'date': 'Draft', 'title': 'LLMs'}, | |
{'date': 'Draft', 'title': 'Tools'}, | |
{'date': 'langchain_dart #71', 'title': 'Add support for GoogleDriveLoader'}, | |
{'date': 'langchain_dart #9', 'title': 'Add support for FewShotPromptTemplate class'}, | |
]; | |
final List<Map<String, String>> plannedItems = [ | |
{'date': 'langchain_dart #387', 'title': 'Add support for RunnableWithMessageHistory'}, | |
{'date': 'langchain_dart #266', 'title': 'Runnable support missing pieces'}, | |
{'date': 'langchain_dart #432', 'title': 'Add mediapipe_genai integration'}, | |
{'date': 'langchain_dart #431', 'title': 'Implement .withStructuredOutput API'}, | |
{'date': 'langchain_dart #101', 'title': 'Integrate pgvector vector store'}, | |
{'date': 'langchain_dart #314', 'title': 'Add Cohere integration'}, | |
]; | |
final List<Map<String, String>> inProgressItems = [ | |
{'date': 'Draft', 'title': 'Add example of ReAct agent from scratch'}, | |
{'date': 'langchain_dart #287', 'title': 'LangGraph'}, | |
{'date': 'langchain_dart #60', 'title': 'Add support for FirestoreChatMessageHistory'}, | |
{'date': 'langchain_dart #487', 'title': 'Ideas for articles about LangChain.dart'}, | |
{'date': 'langchain_dart #468', 'title': 'Migrate docs from docsfiy to docusaurus'}, | |
{'date': 'langchain_dart #516', 'title': 'Add support for new integrations'}, | |
]; | |
String searchQuery = ''; | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
appBar: AppBar( | |
title: const Text('Board'), | |
), | |
body: Column( | |
children: [ | |
Padding( | |
padding: const EdgeInsets.all(8.0), | |
child: TextField( | |
decoration: const InputDecoration( | |
labelText: 'Filter by keyword or by field', | |
border: OutlineInputBorder(), | |
), | |
onChanged: (value) { | |
setState(() { | |
searchQuery = value.toLowerCase(); | |
}); | |
}, | |
), | |
), | |
Expanded( | |
child: Row( | |
children: [ | |
buildColumn('Backlog', backlogItems), | |
buildColumn('Planned', plannedItems), | |
buildColumn('In Progress', inProgressItems), | |
], | |
), | |
), | |
], | |
), | |
); | |
} | |
Widget buildColumn(String title, List<Map<String, String>> items) { | |
final filteredItems = items | |
.where((item) => | |
item['title']!.toLowerCase().contains(searchQuery) || | |
item['date']!.toLowerCase().contains(searchQuery)) | |
.toList(); | |
return Expanded( | |
child: Padding( | |
padding: const EdgeInsets.all(8.0), | |
child: Column( | |
crossAxisAlignment: CrossAxisAlignment.start, | |
children: [ | |
Text( | |
title, | |
style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold), | |
), | |
const SizedBox(height: 8), | |
Expanded( | |
child: ListView.builder( | |
itemCount: filteredItems.length, | |
itemBuilder: (context, index) { | |
final item = filteredItems[index]; | |
return Card( | |
child: ListTile( | |
title: Text(item['title']!), | |
subtitle: Text(item['date']!), | |
), | |
); | |
}, | |
), | |
), | |
], | |
), | |
), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment