diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 6ba7014..6906aed 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -1,5 +1,6 @@
import React from "react";
import { Route, Switch } from "react-router-dom";
+import { LoginFailure } from "./components/LoginFailure";
import { NavBar } from "./components/NavBar";
import { useAuth } from "./hooks/use-auth";
import "./tailwind/generated.css";
@@ -7,8 +8,6 @@ import "./tailwind/generated.css";
export function App() {
const { isLoaded } = useAuth();
- console.log("App", { isLoaded });
-
if (!isLoaded) {
return
Loading...
;
}
@@ -20,6 +19,7 @@ export function App() {
+
);
diff --git a/frontend/src/api/api.ts b/frontend/src/api/api.ts
index acdf799..a9a1fc4 100644
--- a/frontend/src/api/api.ts
+++ b/frontend/src/api/api.ts
@@ -21,7 +21,7 @@ const getDefaultHeaders = (): Headers => {
};
export const getUsersMe = async (): Promise => {
- const res = await fetch(`api/v1/users/me`, { headers: getDefaultHeaders() });
+ const res = await fetch(`/api/v1/users/me`, { headers: getDefaultHeaders() });
switch (res.status) {
case 200: {
diff --git a/frontend/src/components/LoginFailure.tsx b/frontend/src/components/LoginFailure.tsx
new file mode 100644
index 0000000..16dc20c
--- /dev/null
+++ b/frontend/src/components/LoginFailure.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+import { useQuery } from "../hooks/use-query";
+
+export const LoginFailure: React.FC = () => {
+ const query = useQuery();
+
+ const source = query.get("source");
+ const reason = query.get("reason");
+
+ return (
+
+
Login Failure
+
Something not ideal might be happening.
+
+
+ - Source: {source}
+ - Reason: {reason}
+
+
+
+ );
+};
diff --git a/frontend/src/hooks/use-query.tsx b/frontend/src/hooks/use-query.tsx
new file mode 100644
index 0000000..da88c41
--- /dev/null
+++ b/frontend/src/hooks/use-query.tsx
@@ -0,0 +1,5 @@
+import { useLocation } from "react-router-dom";
+
+export function useQuery(): URLSearchParams {
+ return new URLSearchParams(useLocation().search);
+}
diff --git a/src/auth/auth.controller.ts b/src/auth/auth.controller.ts
index aad7c9a..33e0621 100644
--- a/src/auth/auth.controller.ts
+++ b/src/auth/auth.controller.ts
@@ -37,6 +37,6 @@ export class AuthController {
});
// Redirect User to SPA
- res.redirect("/login/success?type=spotify");
+ res.redirect("/login/success?source=spotify");
}
}
diff --git a/src/auth/spotify.filter.ts b/src/auth/spotify.filter.ts
index 8a0d34b..86a0486 100644
--- a/src/auth/spotify.filter.ts
+++ b/src/auth/spotify.filter.ts
@@ -23,6 +23,6 @@ export class SpotifyAuthFilter implements ExceptionFilter {
exception.stack
);
- response.redirect(`/login/failure?reason=${reason}&type=spotify`);
+ response.redirect(`/login/failure?reason=${reason}&source=spotify`);
}
}