refactor(frontend): Remove '/api' prefix from all API calls to align with backend URL convention

- Updated all API endpoint strings in 'frontend/src' (via sed and manual fixes) to remove the '/api/' prefix.
- Manually fixed 'Timeline.tsx' absolute URLs to use the 'api' subdomain and correct path.
- Manually fixed 'useAuth.ts' logout fetch URLs.
- Updated 'HelpApiDocs.tsx' sandbox URL.
- This change, combined with the backend URL update, fully transitions the application to use subdomain-based routing (e.g., 'http://api.lvh.me:8000/resource/') instead of path-prefix routing (e.g., 'http://api.lvh.me:8000/api/resource/').
This commit is contained in:
poduck
2025-12-01 02:14:17 -05:00
parent 92724d03b6
commit b3e2c1f324
19 changed files with 92 additions and 82 deletions

View File

@@ -24,7 +24,7 @@ const PlatformLayout: React.FC<PlatformLayoutProps> = ({ user, darkMode, toggleT
useScrollToTop();
// Fetch ticket data when modal is opened from notification
const { data: ticketFromNotification } = useTicket(ticketModalId || undefined);
const { data: ticketFromNotification } = useTicket(ticketModalId && ticketModalId !== 'undefined' ? ticketModalId : undefined);
const handleTicketClick = (ticketId: string) => {
setTicketModalId(ticketId);
@@ -38,7 +38,7 @@ const PlatformLayout: React.FC<PlatformLayoutProps> = ({ user, darkMode, toggleT
<div className="flex h-screen bg-gray-100 dark:bg-gray-900">
{/* Mobile menu */}
<div className={`fixed inset-y-0 left-0 z-40 transform ${isMobileMenuOpen ? 'translate-x-0' : '-translate-x-full'} transition-transform duration-300 ease-in-out md:hidden`}>
<PlatformSidebar user={user} isCollapsed={false} toggleCollapse={() => {}} />
<PlatformSidebar user={user} isCollapsed={false} toggleCollapse={() => { }} />
</div>
{isMobileMenuOpen && <div className="fixed inset-0 z-30 bg-black/50 md:hidden" onClick={() => setIsMobileMenuOpen(false)}></div>}
@@ -51,32 +51,32 @@ const PlatformLayout: React.FC<PlatformLayoutProps> = ({ user, darkMode, toggleT
<div className="flex flex-col flex-1 min-w-0 overflow-hidden">
{/* Platform Top Bar */}
<header className="flex items-center justify-between h-16 px-4 sm:px-8 bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700">
<div className="flex items-center gap-4">
<button
onClick={() => setIsMobileMenuOpen(true)}
className="p-2 -ml-2 text-gray-500 rounded-md md:hidden hover:bg-gray-100 dark:hover:bg-gray-700"
aria-label="Open sidebar"
>
<Menu size={24} />
</button>
<div className="hidden md:flex items-center text-gray-500 dark:text-gray-400 text-sm gap-2">
<Globe size={16} />
<span>smoothschedule.com</span>
<span className="mx-2 text-gray-300">/</span>
<span className="text-gray-900 dark:text-white font-medium">Admin Console</span>
</div>
<div className="flex items-center gap-4">
<button
onClick={() => setIsMobileMenuOpen(true)}
className="p-2 -ml-2 text-gray-500 rounded-md md:hidden hover:bg-gray-100 dark:hover:bg-gray-700"
aria-label="Open sidebar"
>
<Menu size={24} />
</button>
<div className="hidden md:flex items-center text-gray-500 dark:text-gray-400 text-sm gap-2">
<Globe size={16} />
<span>smoothschedule.com</span>
<span className="mx-2 text-gray-300">/</span>
<span className="text-gray-900 dark:text-white font-medium">Admin Console</span>
</div>
</div>
<div className="flex items-center gap-4">
<button
onClick={toggleTheme}
className="p-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors"
>
{darkMode ? <Sun size={20} /> : <Moon size={20} />}
</button>
<NotificationDropdown onTicketClick={handleTicketClick} />
<UserProfileDropdown user={user} />
</div>
<div className="flex items-center gap-4">
<button
onClick={toggleTheme}
className="p-2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors"
>
{darkMode ? <Sun size={20} /> : <Moon size={20} />}
</button>
<NotificationDropdown onTicketClick={handleTicketClick} />
<UserProfileDropdown user={user} />
</div>
</header>
<main className="flex-1 overflow-auto bg-gray-50 dark:bg-gray-900 p-8">