diff --git a/src/components/DesktopCard.tsx b/src/components/DesktopCard.tsx
index fe90a49..ed07312 100644
--- a/src/components/DesktopCard.tsx
+++ b/src/components/DesktopCard.tsx
@@ -42,7 +42,7 @@ export default function DesktopCard({ server }: IDesktopCardProps) {
async function handleClickCreateSession() {
setPosition("right");
- setModal();
+ setModal();
}
return (
diff --git a/src/components/ProjectSelector.tsx b/src/components/ProjectSelector.tsx
new file mode 100644
index 0000000..d4747e1
--- /dev/null
+++ b/src/components/ProjectSelector.tsx
@@ -0,0 +1,5 @@
+function ProjectSelector() {
+ return
;
+}
+
+export default ProjectSelector;
diff --git a/src/components/TableSelector.tsx b/src/components/TableSelector.tsx
new file mode 100644
index 0000000..698c228
--- /dev/null
+++ b/src/components/TableSelector.tsx
@@ -0,0 +1,50 @@
+import clsx from "clsx";
+import { IServer } from "../types/IServer";
+import LightningIcon from "./icons/LightningIcon";
+
+interface TableSelectorProps {
+ tables: IServer[];
+ selectedTable: IServer | null;
+ onSelect: (table: IServer) => void;
+}
+
+function TableSelector({
+ tables,
+ selectedTable,
+ onSelect,
+}: TableSelectorProps) {
+ return (
+
+ {tables.map((table) => (
+
+ ))}
+
+ );
+}
+
+export default TableSelector;
diff --git a/src/components/icons/LightningIcon.tsx b/src/components/icons/LightningIcon.tsx
new file mode 100644
index 0000000..3a68d40
--- /dev/null
+++ b/src/components/icons/LightningIcon.tsx
@@ -0,0 +1,12 @@
+function LightningIcon() {
+ return (
+
+ );
+}
+
+export default LightningIcon;
diff --git a/src/components/modals/CreateSessionModal.tsx b/src/components/modals/CreateSessionModal.tsx
index 747d8f0..5679973 100644
--- a/src/components/modals/CreateSessionModal.tsx
+++ b/src/components/modals/CreateSessionModal.tsx
@@ -10,18 +10,25 @@ import api from "../../utils/api.ts";
import { ISession } from "../../types/ISession.ts";
import { IClient } from "../../types/IClient.ts";
import useModalStore from "../../stores/useModalStore.ts";
+import TableSelector from "../TableSelector.tsx";
interface Props {
servers: IServer[] | undefined;
+ targetServer: IServer | null;
}
-export default function CreateSessionModal({ servers }: Props) {
+export default function CreateSessionModal({
+ servers,
+ targetServer = null,
+}: Props) {
const { setModal } = useModalStore();
const [name, setName] = useState("");
const [phone, setPhone] = useState("");
const [email, setEmail] = useState("");
- const [selectedServer, setSelectedServer] = useState();
- const [selectedApp, setSelectedApp] = useState();
+ const [selectedServer, setSelectedServer] = useState(
+ targetServer
+ );
+ const [selectedApp, setSelectedApp] = useState(null);
async function createClient() {
console.log(name, phone, email);
@@ -66,10 +73,33 @@ export default function CreateSessionModal({ servers }: Props) {
return (