first commit
This commit is contained in:
24
src/app/api/auth/[...nextauth]/route.ts
Normal file
24
src/app/api/auth/[...nextauth]/route.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import NextAuth from "next-auth"
|
||||
import type { NextAuthOptions } from "next-auth"
|
||||
|
||||
// 基础配置,如需启用社交登录请配置对应的 providers
|
||||
// 参考: https://next-auth.js.org/providers/
|
||||
export const authOptions: NextAuthOptions = {
|
||||
providers: [
|
||||
// 示例:启用 Google 登录
|
||||
// GoogleProvider({
|
||||
// clientId: process.env.GOOGLE_CLIENT_ID!,
|
||||
// clientSecret: process.env.GOOGLE_CLIENT_SECRET!,
|
||||
// }),
|
||||
// 示例:启用 GitHub 登录
|
||||
// GithubProvider({
|
||||
// clientId: process.env.GITHUB_ID!,
|
||||
// clientSecret: process.env.GITHUB_SECRET!,
|
||||
// }),
|
||||
],
|
||||
secret: process.env.NEXTAUTH_SECRET || "development-secret-change-in-production",
|
||||
}
|
||||
|
||||
const handler = NextAuth(authOptions)
|
||||
|
||||
export { handler as GET, handler as POST }
|
||||
13
src/app/api/contex/ToasetContex.tsx
Normal file
13
src/app/api/contex/ToasetContex.tsx
Normal file
@@ -0,0 +1,13 @@
|
||||
"use client";
|
||||
|
||||
import { Toaster } from "react-hot-toast";
|
||||
|
||||
const ToasterContext = () => {
|
||||
return (
|
||||
<div className="z-99999">
|
||||
<Toaster />
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default ToasterContext;
|
||||
136
src/app/api/data.tsx
Normal file
136
src/app/api/data.tsx
Normal file
@@ -0,0 +1,136 @@
|
||||
import { getImgPath } from "@/utils/image";
|
||||
|
||||
export const menuItems = [
|
||||
{ name: "Home", href: "#home" },
|
||||
{ name: "About", href: "#about" },
|
||||
{ name: "Services", href: "#services" },
|
||||
{ name: "Portfolio", href: "#portfolio" },
|
||||
{ name: "Testimonials", href: "#testimonials" },
|
||||
{ name: "Blog", href: "/#blog" },
|
||||
];
|
||||
|
||||
export const count = [
|
||||
{
|
||||
icon: getImgPath("/images/counter/star.svg"),
|
||||
value: "4.86",
|
||||
description: "Out of 5 stars from 3896 reviews on Google platform",
|
||||
},
|
||||
{
|
||||
icon: getImgPath("/images/counter/admin.svg"),
|
||||
value: "364",
|
||||
description: "Client testimonials received in the year 2021",
|
||||
},
|
||||
{
|
||||
icon: getImgPath("/images/counter/bag.svg"),
|
||||
value: "45M+",
|
||||
description: "Revenue generated through new projects & marketing",
|
||||
},
|
||||
];
|
||||
|
||||
export const Progress = [
|
||||
{ title: 'UX Research and Testing', Progress: 95 },
|
||||
{ title: 'Product Management', Progress: 84 },
|
||||
{ title: 'UI & Visual Design', Progress: 90 }
|
||||
];
|
||||
|
||||
export const Servicebox = [
|
||||
{
|
||||
icon: getImgPath('/images/services/ux-design-product_1.svg'),
|
||||
title: 'UX & Product Design',
|
||||
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
|
||||
},
|
||||
{
|
||||
icon: getImgPath('/images/services/perfomance-optimization.svg'),
|
||||
title: 'Performance Optimization',
|
||||
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
|
||||
},
|
||||
{
|
||||
icon: getImgPath('/images/services/ux-design-product_2.svg'),
|
||||
title: 'UX & Products Design',
|
||||
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
|
||||
},
|
||||
]
|
||||
|
||||
export const portfolioinfo = [
|
||||
{
|
||||
image: getImgPath('/images/portfolio/cozycasa.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Cozycasa',
|
||||
slug: 'Cozycasa',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-0'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/mars.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Mars',
|
||||
slug: 'Mars',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-24'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/humans.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Everyday Humans',
|
||||
slug: 'everyday-humans',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-0'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/roket-squred.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Rocket Squared',
|
||||
slug: 'rocket-squared',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-24'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/panda-logo.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Panda Logo',
|
||||
slug: 'panda-logo',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-0'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/humans.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Fusion Dynamics',
|
||||
slug: 'fusion-dynamics',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-0'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/cozycasa.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'InnovateX Ventures',
|
||||
slug: 'innovate-x-ventures',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-24'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/mars.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Nebula Holdings',
|
||||
slug: 'nebula-holdings',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-0'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/panda-logo.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Summit Partners',
|
||||
slug: 'summit-partners',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-24'
|
||||
},
|
||||
{
|
||||
image: getImgPath('/images/portfolio/roket-squred.png'),
|
||||
alt: 'Portfolio',
|
||||
title: 'Apex Strategies',
|
||||
slug: 'apex-strategies',
|
||||
info: 'Designation',
|
||||
Class: 'md:mt-0'
|
||||
},
|
||||
|
||||
]
|
||||
Reference in New Issue
Block a user