diff --git a/skyvern-frontend/src/api/AxiosClient.ts b/skyvern-frontend/src/api/AxiosClient.ts index 2df242722..ae54a783b 100644 --- a/skyvern-frontend/src/api/AxiosClient.ts +++ b/skyvern-frontend/src/api/AxiosClient.ts @@ -1,11 +1,11 @@ -import { apiBaseUrl, artifactApiBaseUrl, credential } from "@/util/env"; +import { apiBaseUrl, artifactApiBaseUrl, envCredential } from "@/util/env"; import axios from "axios"; const client = axios.create({ baseURL: apiBaseUrl, headers: { "Content-Type": "application/json", - "x-api-key": credential, + "x-api-key": envCredential, }, }); @@ -13,4 +13,20 @@ const artifactApiClient = axios.create({ baseURL: artifactApiBaseUrl, }); +export function setAuthorizationHeader(token: string) { + client.defaults.headers.common["Authorization"] = `Bearer ${token}`; +} + +export function removeAuthorizationHeader() { + delete client.defaults.headers.common["Authorization"]; +} + +export function setApiKeyHeader(apiKey: string) { + client.defaults.headers.common["X-API-Key"] = apiKey; +} + +export function removeApiKeyHeader() { + delete client.defaults.headers.common["X-API-Key"]; +} + export { client, artifactApiClient }; diff --git a/skyvern-frontend/src/api/types.ts b/skyvern-frontend/src/api/types.ts index 8f82fef37..fa96f1a96 100644 --- a/skyvern-frontend/src/api/types.ts +++ b/skyvern-frontend/src/api/types.ts @@ -75,3 +75,7 @@ export type TaskApiResponse = { failure_reason: string | null; errors: unknown[]; }; + +export type User = { + name: string; +}; diff --git a/skyvern-frontend/src/routes/root/Profile.tsx b/skyvern-frontend/src/routes/root/Profile.tsx new file mode 100644 index 000000000..a4e38d9ad --- /dev/null +++ b/skyvern-frontend/src/routes/root/Profile.tsx @@ -0,0 +1,31 @@ +import { Button } from "@/components/ui/button"; +import { ExitIcon, PersonIcon } from "@radix-ui/react-icons"; + +type Props = { + name: string; + onLogout?: () => void; +}; + +function Profile({ name, onLogout }: Props) { + return ( +
{name}
+