* Add Routing logic to Query builder * Make a working redirect * Make it an app * Move pages and components to App * Integrate all pages in the app * Integrate prisma everywhere * Fix Routing Link * Add routing preview * Fixes * Get deplouyed on preview with ts disabled * Fix case * add reordering for routes * Move away from react DnD * Add sidebar * Add sidebar support and select support * Various fixes and improvements * Ignore eslint temporarly * Route might be falsy * Make CalNumber support required validation * Loader improvements * Add SSR support * Fix few typescript issues * More typesafety, download csv, bug fiees * Add seo friendly link * Avoid seding credebtials to frontend * Self review fixes * Improvements in app-store * Cahnge Form layout * Add scaffolding for app tests * Add playwright tests and add user check in serving data * Add CI tests * Add route builder test * Styling * Apply suggestions from code review Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com> * Changes as per loom feedback * Increase time for tests * Fix PR suggestions * Import CSS only in the module * Fix codacy issues * Move the codebbase to ee and add PRO and license check * Add Badge * Avoid lodash import * Fix TS error * Fix lint errors * Fix bug to merge conflicts resolution - me query shouldnt cause the Shell to go in loading state Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> Co-authored-by: zomars <zomars@me.com> Co-authored-by: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com>
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
// This component is abstracted from /event-types/[type] for common usecase.
|
|
import { PencilIcon } from "@heroicons/react/solid";
|
|
import { useState } from "react";
|
|
|
|
export default function PencilEdit({
|
|
value,
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
onChange = () => {},
|
|
placeholder = "",
|
|
readOnly = false,
|
|
}: {
|
|
value: string;
|
|
onChange?: (value: string) => void;
|
|
placeholder?: string;
|
|
readOnly?: boolean;
|
|
}) {
|
|
const [editIcon, setEditIcon] = useState(true);
|
|
const onDivClick = !readOnly
|
|
? () => {
|
|
return setEditIcon(false);
|
|
}
|
|
: // eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
() => {};
|
|
return (
|
|
<div className="group relative min-h-[28px] cursor-pointer" onClick={onDivClick}>
|
|
{editIcon ? (
|
|
<>
|
|
<h1
|
|
style={{ fontSize: 22, letterSpacing: "-0.0009em" }}
|
|
className="inline-block pl-0 text-gray-900 focus:text-black group-hover:text-gray-500">
|
|
{value}
|
|
</h1>
|
|
{!readOnly ? (
|
|
<PencilIcon className="ml-1 -mt-1 inline h-4 w-4 text-gray-700 group-hover:text-gray-500" />
|
|
) : null}
|
|
</>
|
|
) : (
|
|
<div style={{ marginBottom: -11 }}>
|
|
<input
|
|
type="text"
|
|
autoFocus
|
|
style={{ top: -6, fontSize: 22 }}
|
|
required
|
|
className="relative h-10 w-full cursor-pointer border-none bg-transparent pl-0 text-gray-900 hover:text-gray-700 focus:text-black focus:outline-none focus:ring-0"
|
|
placeholder={placeholder}
|
|
defaultValue={value}
|
|
onBlur={(e) => {
|
|
setEditIcon(true);
|
|
onChange(e.target.value);
|
|
}}
|
|
/>
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|