* move index to home folder, create state and context files and barrell folder
* Sanity Check Commit: reducer added to home.tsx manual QA all working
* WIP: promptBar
* fix missing json parse on folders and prompts
* split context and add promptbar context
* add context to nested prompt componets and componetize Folder componet
* remove log
* Create buttons folder and componetize sidebar action button
* tidy up prompt handlers
* componetized sidebar
* added back chatbar componet to left side sidebar
* monster commit: Componetized the common code between chatbar and promptbar into new componet Sidebar and added context to both bars
* add useFetch service
* added prettier import sort to keep imports ordered and easier to indentify
* added react query and useFetch to work with RQ
* added apiService, errorService and reactQuery
* add callback and tidy up error service
* refactor chat and child componets to useContext
* fix extra calls and bad calls to mel endpoint
* minor import cleanup
---------
Co-authored-by: jc.durbin <jc.durbin@ardanis.com>
* fix: scroll button not visible in light mode
* fix: sidebar when there is a folder
When a folder is added in the sidebar and there are less items scroll
bar appears. This simple change fixes that behaviour
* fix: small devices regerate/Stop button below input
Below 768px Stop Genrating and Regerate Button remains hidden behind the
input. This is the fix for that
* ✨ feat: add DEFAULT_MODEL environment variable
* set the model maxLength setting in the models definition
* set the model tokenLimit setting in the models definition
* memoize chat related components
* Avoid re-rendering ChatInput on every message udpate
* change the way the horizontal scrollbar is hidden
* make the scroll event listener passive
* perf(Chat): fix performances issues related to autoscroll
Uses the intersection API to determine autoscroll mode instead of listening for scroll events
* tuning detection of autoscroll
This improvement adds additional information to the alert that is displayed when the user enters more characters than allowed in the rich text element. Now, the alert also shows the number of characters that the user has entered, which helps to provide clearer and more useful feedback to the use
* use tiktoken for api limit
* model conditional char limits on frontend
* adjust for completion tokens
---------
Co-authored-by: Alan Pogrebinschi <alanpog@gmail.com>