2025-12-26 13:12:37 +00:00

90 lines
3.1 KiB
TypeScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// // app/(defaults)/manage-brands/page.tsx
// import { Metadata } from 'next';
// import { getAccessToken } from '@/utils/apiHelper';
// import BrandsClient from './BrandsClient';
// export const metadata: Metadata = {
// title: 'Brands Admin',
// };
// type Brand = {
// id: string;
// name: string;
// logo?: string;
// dropship: boolean;
// };
// async function fetchBrands(accessToken: string): Promise<Brand[]> {
// const resp = await fetch('https://turn14.data4autos.com/v1/brands', {
// headers: { Authorization: `Bearer ${accessToken}` },
// cache: 'no-store',
// });
// if (!resp.ok) {
// throw new Error(`Failed to fetch brands: ${resp.statusText}`);
// }
// const data = await resp.json();
// return data.data || [];
// }
// export default async function BrandsPage() {
// try {
// const accessToken = await getAccessToken();
// const brands = accessToken ? await fetchBrands(accessToken) : [];
// return <BrandsClient brands={brands} />;
// } catch (error) {
// console.error('Error loading brands:', error);
// // You might want to handle this error more gracefully in your application
// return (
// <div>
// <div className="min-h-screen flex items-center justify-center bg-gray-100">
// <div className="bg-white p-8 rounded-xl shadow-md max-w-md w-full text-center">
// <h2 className="text-2xl font-bold text-red-600 mb-4">Error Loading Brands</h2>
// <p className="text-gray-600 mb-6">We encountered a problem while loading the brands. Please try again later.</p>
// <button onClick={() => window.location.reload()} className="px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors">
// Try Again
// </button>
// </div>
// </div>
// </div>
// );
// }
// }
// app/(defaults)/manage-brands/page.tsx
import { Metadata } from 'next';
import { getAccessToken } from '@/utils/apiHelper';
import BrandsClient from './BrandsClient';
export const metadata: Metadata = {
title: 'Brands Admin',
};
export default async function BrandsPage() {
try {
console.log()
const accessToken = await getAccessToken();
console.log('Access Token:', accessToken); // Debugging line
return <BrandsClient />;
} catch (error) {
console.error('Error loading brands:', error);
return (
<div className="p-8 flex items-center justify-center">
<div className="bg-white p-8 rounded-xl shadow-md max-w-md w-full text-center">
<h2 className="text-2xl font-bold text-red-600 mb-4">Error Loading Brands</h2>
<p className="text-gray-600 mb-6">We encountered a problem while loading the brands. Please try again later.</p>
<button
onClick={() => window.location.reload()}
className="px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors"
>
Try Again
</button>
</div>
</div>
);
}
}