mirror of
https://github.com/makeplane/plane.git
synced 2026-07-12 13:29:56 +02:00
* [HACK-5] feat: de dupe implementation (#1600) * chore: plane ai icon added * chore: de-dupe services, constants and types added * chore: de-dupe constants and types updated * dev: de-dupe ui component added and implementation * chore: pi services and types updated * chore: useDebouncedDuplicateIssues hook added * chore: jsx to string helper function added * chore: useDebouncedDuplicateIssues implementation * chore-pi-color-variable * chore: pi service base url added * chore: pi endpoint updated * chore: pi endpoint updated * chore: pi endpoint updated * [HACK-5] chore: de dupe issue actions and code refactor (#1606) * chore: de-dupe action implementation and code refactoring * chore: code refactor * chore: pi color updated (#1608) * chore: structuring and UI components (#1596) * chore: structuring and UI components * fix: cleaning * fix: chat api integrations * fix: build issues * wip: pi editor * fix: integrated all apis * fix: integrational changes * fix: integrational changes * fix: build issues * fix: commented toolbar in history * fix: added streaming to pi messages * fix: scroll into view * chore: pi chat header and side panel improvements * fix: removed logs --------- Co-authored-by: Satish Gandham <satish.iitg@gmail.com> Co-authored-by: Anmol Singh Bhatia <anmolsinghbhatia@plane.so> * chore: pi chat history (#1615) * chore: structuring and UI components * fix: cleaning * fix: chat api integrations * fix: build issues * wip: pi editor * fix: integrated all apis * fix: integrational changes * fix: integrational changes * fix: build issues * fix: commented toolbar in history * fix: added streaming to pi messages * chore: pi chat header and side panel improvements * chore: pi chat history ui * chore: code refactor --------- Co-authored-by: gakshita <akshitagoyal1516@gmail.com> * Chore: pi improvement (#1619) * chore: de-dupe debounce time updated * chore: pi chat head title updated * chore: de-dupe button label and modal ux updated * fix: issue modal width * fix: pi-chat side panel * chore: added pi chat to side bar * chore: de-dupe modal --------- Co-authored-by: gakshita <akshitagoyal1516@gmail.com> * Fix build issue * chore: de-dupe modal theme (#1620) * fix: pi chat bug fixes and improvement (#1623) * fix: getAnswer error handling * fix: pi-chat layout and code refactor * fix: user message trim * chore: pi theme updated * chore: pi chat services update * chore: code refactor * chore: de-dupe modal transition added and height bug fixed (#1626) * chore: de dupe code splitting (#1628) * chore: code splitting * chore: code splitting * chore: code refactor * chore: code refactor * Fix: pi chat bug fixes and improvements (#1629) * fix: editor css + messages css * fix: submit on enter + mentions partial * fix: colors minor fixes * fix: build fixed * fix: enter key + editor css + shift key + feedback toast * fix: mentions dropdown untested * fix: css * fix: css * fix: build issues * fix: added latest conversation to history + layout fixing * fix: mentions key * fix: cn import in the pi editor * Fix build error * Fix pi chat api auth * chore: pi services endpoint updated * chore: code refactor * Fix floatin bot feature flag (#1651) * fix: floating bot + feature flagging * fix: minor fixes * fix: removed pi chat from community verison * fix: pi chat flag * chore de dupe flagging (#1657) * chore: de dupe feature flagging * chore: code refactor * chore: code refactor * chore: code refactor --------- Co-authored-by: Satish Gandham <satish.iitg@gmail.com> Co-authored-by: Pushya Mitra Thiruvooru <pushya@Pushyas-MacBook-Pro.local> Co-authored-by: Akshita Goyal <36129505+gakshita@users.noreply.github.com> Co-authored-by: gakshita <akshitagoyal1516@gmail.com>
43 lines
1.4 KiB
TypeScript
43 lines
1.4 KiB
TypeScript
import { clsx, type ClassValue } from "clsx";
|
|
import { twMerge } from "tailwind-merge";
|
|
|
|
export const API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL || "";
|
|
export const PI_BASE_URL = process.env.NEXT_PUBLIC_PI_BASE_URL || "";
|
|
|
|
export const ADMIN_BASE_URL = process.env.NEXT_PUBLIC_ADMIN_BASE_URL || "";
|
|
export const ADMIN_BASE_PATH = process.env.NEXT_PUBLIC_ADMIN_BASE_PATH || "";
|
|
|
|
export const SPACE_BASE_URL = process.env.NEXT_PUBLIC_SPACE_BASE_URL || "";
|
|
export const SPACE_BASE_PATH = process.env.NEXT_PUBLIC_SPACE_BASE_PATH || "";
|
|
|
|
export const LIVE_BASE_URL = process.env.NEXT_PUBLIC_LIVE_BASE_URL || "";
|
|
export const LIVE_BASE_PATH = process.env.NEXT_PUBLIC_LIVE_BASE_PATH || "";
|
|
export const LIVE_URL = `${LIVE_BASE_URL}${LIVE_BASE_PATH}`;
|
|
|
|
export const SUPPORT_EMAIL = process.env.NEXT_PUBLIC_SUPPORT_EMAIL || "";
|
|
|
|
export const GOD_MODE_URL = encodeURI(`${ADMIN_BASE_URL}${ADMIN_BASE_PATH}/`);
|
|
|
|
export const debounce = (func: any, wait: number, immediate: boolean = false) => {
|
|
let timeout: any;
|
|
|
|
return function executedFunction(...args: any) {
|
|
const later = () => {
|
|
timeout = null;
|
|
if (!immediate) func(...args);
|
|
};
|
|
|
|
const callNow = immediate && !timeout;
|
|
|
|
clearTimeout(timeout);
|
|
|
|
timeout = setTimeout(later, wait);
|
|
|
|
if (callNow) func(...args);
|
|
};
|
|
};
|
|
|
|
export const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));
|
|
|
|
export const convertRemToPixel = (rem: number): number => rem * 0.9 * 16;
|