* refactor(askGoogle.js): extract saveConvo function call to a separate function
feat(askGoogle.js): add endpoint property to the conversation object
refactor(handleSubmit.js): rename chatGptLabel to modelLabel in useMessageHandler function
* refactor(askGoogle.js): remove unused endpointOption spread operator
* modify tsconfig and set up unit tests
* generate .d.ts files
* setup project dependencies and configuration for unit tests
* Add test setup and layout-test-utils along with first spec
* Add paths back to tsconfig
* remove type=module from package.json
* Add typescript definition for .env
* update package-lock
* fix: tokenizer will count completion tokens correctly, remove global var, will allow unofficial models for alternative endpoints
* refactor(askBingAI.js, Settings.jsx, types.ts, cleanupPreset.js, getDefaultConversation.js, handleSubmit.js): change default toneStyle to 'creative' instead of 'fast' for Bing AI endpoint.
* fix(SiblingSwitch): correctly appears now
style(HoverButtons.jsx): add 'active' class to hover buttons
* chore: cleanup root dir and move extraneous dev related files to documents/dev
* chore: cleanup root dir and move extraneous dev related files to documents/dev
* chore(.gitignore): add auth.json to gitignore
test(landing.spec.js): remove commented out code and add check for landing page title
test(login.spec.js): add test for login page title
feat(package.json): add e2e:auth script to generate auth.json storage file for e2e tests
* test(landing.spec.js): add beforeEach hook to create a new browser context with auth.json storage state
test(landing.spec.js): change test name from 'landing page' to 'Landing title'
fix(package.json): change e2e:auth script to save auth.json in e2e directory
* style(NavLinks.jsx): add 'as="div"' to Menu.Item components
refactor(Nav.jsx): remove unused code and add isMobile function to check if user is on mobile device
* conditionally render menuitem with search
---------
Co-authored-by: stunt_pilot <twitchstuntpilot@gmail.com>
* chore(client): update lucide-react package to version 0.220.0
style(client): change color of MessageHeader component text to gray-500
style(client): change color of nav-close-button to gray-400 and nav-open-button to gray-500
feat(client): add Panel component to replace svg icons in Nav component
* fix: forwardRef errors in Nav Menu
* refactor(SearchBar.jsx): change clearSearch prop destructuring to props destructuring
refactor(SearchBar.jsx): add ref prop to SearchBar component
refactor(getIcon.jsx): remove unused imports
refactor(getIcon.jsx): add nullish coalescing operator to user.name and user.avatar properties
* fix (NavLinks): modals no longer close on nav menu close
* style(ExportModel.jsx): remove unnecessary z-index property from a div element
* style(ExportModel.jsx): remove trailing whitespace in input element
* refactor(Message.jsx): remove unused cancelled variable
fix(Message.jsx): fix error message length exceeding 512 characters
refactor(MenuItem.jsx): remove unused MenuItem component
* Refactor UI styles & configurations
- Modify button styles and their color schemes to create a consistent user experience when interacting with buttons.
- Adjust the design of the search bar to a more user-friendly layout by changing its background color and styling.
- Create a responsive mobile behavior for the navigation bar to hide it behind a menu icon instead of permanently displaying it.
* Update .gitignore to exclude unnecessary files for Meilisearch
Update .gitignore to exclude meilisearch.exe and data.ms/*, which are not necessary for Meilisearch.
* feat: Add getCurrentBreakpoint function to get current breakpoint
This commit adds a getCurrentBreakpoint function to determine the current breakpoint of the viewport. The function uses fullConfig to determine the biggest breakpoint value of the window, and returns the corresponding breakpoint. It also updates the useEffect function to use getCurrentBreakpoint instead of checking if the userAgent matches a mobile regex.
* Update tailwind import path in Nav component
The import path for the tailwind config was updated in the Nav component to match the new project structure. This ensures that the correct Tailwind styles are applied to the component and improves maintainability.
* Add ThemeContext and cn utility function to Nav component
This commit adds the ThemeContext and cn utility function to the Nav component's dependencies with useContext and import respectively. It also modifies a class name with a ternary operator that toggles based on the theme value passed via ThemeContext.
* Update Nav button styles for better visibility
Changed the button styles for the Nav close and open buttons to enhance visibility. The text color for both buttons will now change when hovering to gray and gray-600 respectively.
* Improve message header styles and add transition effects
This commit updates the MessageHeader component styles by adjusting the text color, as well as adding transition effects to enhance the hover experience. The commit also tweaks mobile styles by adding a transition effect to `.nav` when resizing the window to mobile size.
* Refactor the message header component styling for better visual contrast
The message header component was refactored to improve its visual contrast by changing the text color for better readability. The styles of the component were modified to improve hover behavior as well as transition effects. The setSaveAsDialogShow method was shifted to the onClick prop to only execute when the endpoint is not 'chatGPTBrowser'.
* refactor: Update styling of MessageHeader and Nav buttons
The commit message describes changes made to the MessageHeader and Nav components. It summarizes the code changes as a refactor of the CSS styling for the buttons in both components, specifically updating the text and hover colors for the dark and light themes.
* refactor(SearchBar.jsx): extract onChange function to a separate function and add onKeyDown event listener to prevent spacebar from propagating
* refactor(SearchBar.jsx): extract onChange function to a separate function and add onKeyDown event listener to prevent spacebar from propagating
* refactor(SearchBar.jsx): remove unused React import statement
* build/refactor: move lint/prettier packages to project root, install husky, add pre-commit hook
* refactor: reformat files
* build: put full eslintrc back with all rules
* refactor(endpoints.js): remove console.log statement
refactor(index.html): change title to "ChatGPT Clone"
* feat(Chat.jsx): set document title to conversation title or VITE_APP_TITLE or 'Chat' if conversation is null