Esteves Enzo commited on
Commit
741554a
·
1 Parent(s): d2a6779

replace contentEditable with an input sized

Browse files
components/editor/main/endpoint.tsx CHANGED
@@ -4,6 +4,7 @@ import classNames from "classnames";
4
  import { Method } from "@/components/method";
5
  import { splitStringBracket } from "@/utils";
6
  import { ApiRoute } from "@/utils/type";
 
7
 
8
  export const Endpoint = ({
9
  endpoint,
@@ -32,22 +33,15 @@ export const Endpoint = ({
32
  <Method method={endpoint.method} />
33
  <div className="flex items-center justify-start gap-1">
34
  {path_formatted.map((p, i) => {
35
- const isCustomizable = p.includes("{") && p.includes("}");
36
- return (
37
- <p
38
  key={i}
39
- className={classNames("", {
40
- "bg-indigo-600 !text-white px-1.5 rounded-md outline-none bg-opacity-80":
41
- isCustomizable,
42
- "text-slate-300": !isCustomizable,
43
- })}
44
- contentEditable={isCustomizable}
45
- onBlur={(e) => {
46
- handleChange(e.currentTarget.textContent as string, i);
47
- }}
48
- >
49
- {p}
50
- </p>
51
  );
52
  })}
53
  </div>
 
4
  import { Method } from "@/components/method";
5
  import { splitStringBracket } from "@/utils";
6
  import { ApiRoute } from "@/utils/type";
7
+ import { Parameter } from "./parameter";
8
 
9
  export const Endpoint = ({
10
  endpoint,
 
33
  <Method method={endpoint.method} />
34
  <div className="flex items-center justify-start gap-1">
35
  {path_formatted.map((p, i) => {
36
+ const isCustomizable = p.startsWith("{") && p.endsWith("}");
37
+ return isCustomizable ? (
38
+ <Parameter
39
  key={i}
40
+ value={p}
41
+ onChange={(value) => handleChange(value, i)}
42
+ />
43
+ ) : (
44
+ <p className="text-slate-300">{p}</p>
 
 
 
 
 
 
 
45
  );
46
  })}
47
  </div>
components/editor/main/parameter.tsx ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { useMemo, useState } from "react";
2
+ import classNames from "classnames";
3
+ import { on } from "events";
4
+
5
+ interface Props {
6
+ value: string;
7
+ onChange: (value: string) => void;
8
+ }
9
+ export const Parameter: React.FC<Props> = ({ value, onChange }) => {
10
+ const [state, setState] = useState(value);
11
+
12
+ return (
13
+ <input
14
+ type="text"
15
+ className="bg-indigo-600 !text-white px-1.5 rounded-md outline-none bg-opacity-80 max-w-[80px] text-center truncate"
16
+ onBlur={() => onChange(state)}
17
+ value={state}
18
+ onChange={(e) => setState(e.target.value)}
19
+ />
20
+ );
21
+ };
components/editor/main/request.tsx CHANGED
@@ -16,8 +16,6 @@ export const Request = ({
16
  Authorization: "hf_api_key",
17
  });
18
 
19
- console.log(headers);
20
-
21
  return (
22
  <div className="h-full bg-slate-900 px-4 xl:px-6 py-5">
23
  {children}
 
16
  Authorization: "hf_api_key",
17
  });
18
 
 
 
19
  return (
20
  <div className="h-full bg-slate-900 px-4 xl:px-6 py-5">
21
  {children}