+ 🚀 Modern commerce & AI‑powered support infrastructure for Shopify‑based dropshipping businesses.
+
-Modern commerce and support infrastructure for Shopify‑based dropshipping businesses. 🚀
+
+ Tech stack
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
JUNO is a full‑stack Next.js application that powers:
@@ -25,11 +33,11 @@ JUNO is a full‑stack Next.js application that powers:
- An **Admin view** for operations
- An AI‑powered helpdesk and knowledge engine called **JUNOCHAT / Juno Engine**
-Everything runs inside a single Next.js App Router project (frontend + backend + background jobs).
+Everything runs inside a single Next.js App Router project (frontend + backend + background jobs). 💻
---
-## Table of Contents
+## 📚 Table of Contents
1. [High‑Level Overview](#high-level-overview)
2. [Core Features](#core-features)
@@ -49,7 +57,7 @@ Everything runs inside a single Next.js App Router project (frontend + backend +
---
-## High‑Level Overview
+## 🧭 High‑Level Overview
JUNO centralizes communication and operations between **vendors** (Shopify stores) and **suppliers**:
@@ -71,9 +79,9 @@ JUNO centralizes communication and operations between **vendors** (Shopify store
---
-## Core Features
+## ✨ Core Features
-### Vendor Portal
+### 🛍️ Vendor Portal
- **Shopify connections**
- Connect one or more Shopify stores to JUNO.
@@ -104,7 +112,7 @@ JUNO centralizes communication and operations between **vendors** (Shopify store
- A supplier provides a new product.
- A supplier updates the price or quantity of an offered/synced product.
-### Supplier Portal
+### 🤝 Supplier Portal
- **Vendor Connections**
- Accept invitations using secure tokens.
@@ -142,7 +150,7 @@ JUNO centralizes communication and operations between **vendors** (Shopify store
- Synced products from vendors are **editable but not deletable**.
- UI labels clarify when a product is “Synced” and where it came from.
-### Admin / Ops
+### 🛠️ Admin / Ops
- Admin page with an overview of:
- Stores
@@ -155,7 +163,7 @@ JUNO centralizes communication and operations between **vendors** (Shopify store
- Email logs and templates.
- MFA setup, notifications, and account hygiene flows.
-### JUNOCHAT (AI Helpdesk)
+### 🤖 JUNOCHAT (AI Helpdesk)
JUNOCHAT (a.k.a. Juno Engine chat) is the AI layer that:
diff --git a/src/app/login/page.tsx b/src/app/login/page.tsx
index e2b94f1..3530436 100644
--- a/src/app/login/page.tsx
+++ b/src/app/login/page.tsx
@@ -1,14 +1,14 @@
"use client"
import { signIn } from "next-auth/react"
-import { useEffect, useState } from "react"
+import { Suspense, useEffect, useState } from "react"
import { useRouter, useSearchParams } from "next/navigation"
import { motion } from "framer-motion"
import { Mail, Lock, Loader2, Shield, ShoppingBag, Truck } from "lucide-react"
import Link from "next/link"
import Image from "next/image"
-export default function LoginPage() {
+function LoginFormContent() {
const router = useRouter()
const searchParams = useSearchParams()
const initialRoleFromQuery =
@@ -143,15 +143,8 @@ export default function LoginPage() {
}
return (
-