Commit Graph

16 Commits

Author SHA1 Message Date
hunteraraujo
05ce744f8c Add JsonCodeSnippetView to Display and Copy Pretty-Printed JSON
This commit introduces the JsonCodeSnippetView, a widget designed to display JSON data in a pretty-printed format. Users can view the JSON content with proper indentation and formatting, enhancing readability.

Features:
- The JSON data is displayed using the HighlightView with GitHub-themed syntax highlighting.
- A copy button (IconButton) is provided to allow users to easily copy the pretty-printed JSON to the clipboard.
- Padding and layout adjustments ensure that the view fits seamlessly within the designated space, with scrollable content if the JSON exceeds the available space.

This widget enhances the user experience when interacting with JSON data, providing a clean and efficient way to view and copy content.
2023-08-24 20:52:11 -07:00
hunteraraujo
d7b6d1e49a Implement and Test Chat Input Field Widget
This commit introduces the ChatInputField widget, a custom text input field designed for use within the ChatView. The ChatInputField widget handles varying screen sizes and gracefully resizes itself according to the available width. It starts with a height of 50 and can expand up to 400 as the user types more lines of text.

In addition to the implementation, this commit also includes widget tests to ensure the ChatInputField behaves as expected.

- Add ChatInputField widget with dynamic resizing
- Include IconButton for sending messages
- Add widget tests for ChatInputField
- Handle edge cases and overflows
2023-08-24 11:55:05 -07:00
hunteraraujo
6e2d325994 Refactor UI with New Widgets and Provider Integration
In this commit, the app underwent significant UI improvements by leveraging new, more modular widgets (NewTaskButton and TaskListTile). This ensures better code maintainability and a cleaner architecture.

Key changes include:

Integrated ChangeNotifierProvider in main.dart to facilitate the creation and broadcasting of TaskViewModel.
Refactored TaskView to utilize the newly created NewTaskButton and TaskListTile widgets.
Updated MainLayout to reflect the changes and provide a more cohesive user experience.
2023-08-23 08:31:54 -07:00
hunteraraujo
3a0db45b3b Implement TaskListTile with tests
This commit introduces the TaskListTile, a custom widget designed to display individual tasks in the TaskView. The tile offers a user-friendly interface with interactive features, such as selection and deletion.

Key Features:
- Responsive design that adapts its width based on the TaskView's constraints.
- Interactive tile that changes its background color upon selection.
- A delete icon that appears only when the tile is selected.
- Comprehensive widget tests to ensure the TaskListTile behaves as expected.

By splitting this into its own widget, the codebase remains modular, making it easier to maintain and update in the future.
2023-08-23 08:25:19 -07:00
hunteraraujo
b71b7d1f26 Update new_task_button.dart 2023-08-22 17:03:52 -04:00
hunteraraujo
d830a7ebcf Implement NewTaskButton with styling and tests
This commit introduces the NewTaskButton widget, designed to allow users to create new tasks. The button follows specific design guidelines, including dimensions, colors, and layout.

Key Features:

Button with a set height and adaptive width.
Icon and text layout within the button.
Styling for background, border, and corner radius.
Associated tests to ensure the button's functionality and appearance.
2023-08-22 16:59:36 -04:00
hunteraraujo
1436092a35 Implement ChatViewModel with tests and mock data
This commit introduces the ChatViewModel, which manages the business logic for chat interactions associated with tasks. The ViewModel communicates with a mock data source, offering functionalities like fetching chats for a specific task and sending chat messages.

In addition to the implementation, comprehensive tests for ChatViewModel have been provided to ensure its behavior is consistent with our design goals and expectations.

Key Features:

Chat management in ChatViewModel.
Tests covering all major functionalities of ChatViewModel.
Mock data source updates to emulate chat data interactions.
2023-08-22 07:33:54 +02:00
hunteraraujo
5b520eb5ae Implement TaskViewModel with tests and mock data
This commit introduces the TaskViewModel, which manages the business logic for tasks. The ViewModel interacts with a mock data source, providing functionalities like fetching tasks, selecting a task, creating, and deleting tasks.

Additionally, comprehensive tests for TaskViewModel have been added to ensure its behavior aligns with expectations. The mock data source has also been updated to support the new functionalities.

Key Features:
- Task management in TaskViewModel.
- Tests for each major functionality in TaskViewModel.
- Mock data source to simulate data interactions.
2023-08-21 00:03:39 +02:00
hunteraraujo
fb946e3d57 Create Chat class + tests 2023-08-20 20:57:29 +02:00
hunteraraujo
cf4aa4fe9c Create Task class + tests 2023-08-20 20:26:04 +02:00
hunteraraujo
d65e7ab830 Update AgentView to TaskView 2023-08-20 20:15:15 +02:00
hunteraraujo
d505724e90 Update agent to task 2023-08-20 19:20:56 +02:00
hunteraraujo
9bedb9fa08 Implement basic 2 panels w/ responsiveness 2023-08-20 16:33:53 +02:00
hunteraraujo
66cf84b007 Remove settings view 2023-08-20 10:31:15 +02:00
hunteraraujo
b6a9d905f1 Stub files per design document 2023-08-15 15:05:34 +02:00
hunteraraujo
dc35dc3024 initial commit 2023-08-15 00:28:10 +02:00