mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 08:50:15 +01:00
* WIP: dynamic settings * WIP: update tests and validations * refactor(SidePanel): use hook for Links * WIP: dynamic settings, slider implemented * feat(useDebouncedInput): dynamic typing with generic * refactor(generate): add `custom` optionType to be non-conforming to conversation schema * feat: DynamicDropdown * refactor(DynamicSlider): custom optionType handling and useEffect for conversation updates elsewhere * refactor(Panel): add more test cases * chore(DynamicSlider): note * refactor(useDebouncedInput): import defaultDebouncedDelay from ~/common` * WIP: implement remaining ComponentTypes * chore: add com_sidepanel_parameters * refactor: add langCode handling for dynamic settings * chore(useOriginNavigate): change path to '/c/' * refactor: explicit textarea focus on new convo, share textarea idea via ~/common * refactor: useParameterEffects: reset if convo or preset Ids change, share and maintain statefulness in side panel * wip: combobox * chore: minor styling for Select components * wip: combobox select styling for side panel * feat: complete combobox * refactor: model select for side panel switcher * refactor(Combobox): add portal * chore: comment out dynamic parameters panel for future PR and delete prompt files * refactor(Combobox): add icon field for options, change hover bg-color, add displayValue * fix(useNewConvo): proper textarea focus with setTimeout * refactor(AssistantSwitcher): use Combobox * refactor(ModelSwitcher): add textarea focus on model switch
18 lines
434 B
TypeScript
18 lines
434 B
TypeScript
import { useNavigate, useLocation } from 'react-router-dom';
|
|
|
|
const useOriginNavigate = () => {
|
|
const _navigate = useNavigate();
|
|
const location = useLocation();
|
|
|
|
const navigate = (url?: string | null, opts = {}) => {
|
|
if (!url) {
|
|
return;
|
|
}
|
|
const path = location.pathname.match(/^\/[^/]+\//);
|
|
_navigate(`${path ? path[0] : '/c/'}${url}`, opts);
|
|
};
|
|
|
|
return navigate;
|
|
};
|
|
|
|
export default useOriginNavigate;
|