Skip to content

Commit c561a0a

Browse files
Inital Codebase Setup
1 parent ba67837 commit c561a0a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+3576
-1
lines changed

.firebaserc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"projects": {
3+
"default": "codechefs"
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# This file was auto-generated by the Firebase CLI
2+
# https://github.com/firebase/firebase-tools
3+
4+
name: Deploy to Firebase Hosting on merge
5+
on:
6+
push:
7+
branches:
8+
- main
9+
jobs:
10+
build_and_deploy:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- run: npm ci && npm run build
15+
- uses: FirebaseExtended/action-hosting-deploy@v0
16+
with:
17+
repoToken: ${{ secrets.GITHUB_TOKEN }}
18+
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CODECHEFS }}
19+
channelId: live
20+
projectId: codechefs
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# This file was auto-generated by the Firebase CLI
2+
# https://github.com/firebase/firebase-tools
3+
4+
name: Deploy to Firebase Hosting on PR
5+
on: pull_request
6+
permissions:
7+
checks: write
8+
contents: read
9+
pull-requests: write
10+
jobs:
11+
build_and_preview:
12+
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }}
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
- run: npm ci && npm run build
17+
- uses: FirebaseExtended/action-hosting-deploy@v0
18+
with:
19+
repoToken: ${{ secrets.GITHUB_TOKEN }}
20+
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT_CODECHEFS }}
21+
projectId: codechefs

CHANGELOG.md

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# CHANGELOG.md
2+
3+
## [3.3.0] - 2023-12-08
4+
5+
Update to Next.js 14
6+
Update dependencies
7+
8+
## [3.2.2] - 2023-10-04
9+
10+
Update Twitter icon
11+
Update dependencies
12+
13+
## [3.2.0] - 2023-05-31
14+
15+
Update dependencies and fix some issues
16+
17+
## [3.1.0] - 2023-05-07
18+
19+
Modal video improvements
20+
21+
## [3.0.0] - 2023-04-12
22+
23+
Conversion to Next.js
24+
25+
## [2.0.3] - 2023-03-28
26+
27+
Fix video
28+
29+
## [2.0.2] - 2023-03-28
30+
31+
Add self-hosted video
32+
33+
## [2.0.1] - 2023-02-16
34+
35+
Remove header links
36+
37+
## [2.0.0] - 2023-02-16
38+
39+
Replace Cruip CSS with Tailwind CSS
40+
41+
## [1.0.0] - 2020-04-07
42+
43+
First release

README.md

+90-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,90 @@
1-
# CodeChefs.tech
1+
# Free React / Next.js landing page template
2+
3+
![Open React / Next.js template preview](https://user-images.githubusercontent.com/2683512/231426532-c71f4291-4813-401b-a569-ada47fe13efa.png)
4+
5+
**Open** is a **free React / Next.js landing page template built with Tailwind CSS** for developers/makers who want to create a quick and professional landing page for their open source projects, SaaS products, online services, and more.
6+
7+
Use it for whatever you want, and be sure to reach us out on [Twitter](https://twitter.com/Cruip_com) if you build anything cool/useful with it.
8+
9+
Created and maintained with ❤️ by [Cruip.com](https://cruip.com).
10+
11+
*Version 1.0.0 built with the Cruip CSS is available [here](https://github.com/cruip/open-react-template/releases/tag/1.0.0).*
12+
*Version 2.0.3 built with Tailwind CSS and React + Vite is available [here](https://github.com/cruip/open-react-template/releases/tag/2.0.3).*
13+
14+
## Live demo
15+
16+
Check the live demo here 👉️ [https://open.cruip.com/](https://open.cruip.com/)
17+
18+
## Open PRO
19+
20+
[![Open Pro](https://user-images.githubusercontent.com/2683512/151177673-e56ade57-c98d-4c37-b315-d313bd14bb53.png)](https://cruip.com/)
21+
22+
## Design files
23+
24+
If you need the design files, you can download them from Figma's Community 👉 https://bit.ly/401KSUS
25+
26+
## Usage
27+
28+
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
29+
30+
### Getting Started
31+
32+
First, run the development server:
33+
34+
```bash
35+
npm run dev
36+
# or
37+
yarn dev
38+
# or
39+
pnpm dev
40+
```
41+
42+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
43+
44+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
45+
46+
[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
47+
48+
The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
49+
50+
This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
51+
52+
### Learn More
53+
54+
To learn more about Next.js, take a look at the following resources:
55+
56+
- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
57+
- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
58+
59+
You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
60+
61+
### Deploy on Vercel
62+
63+
The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
64+
65+
Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
66+
67+
68+
### Support notes
69+
This template has been developed with the App Router (`app`) and React Server Components. If you’re unfamiliar with these beta features, you can find more information about them on the Next.js beta documentation page. So, please note that any request dealing with React (e.g. extra features, customisations, et cetera) is to be considered out of the support scope.
70+
71+
For more information about what support covers, please see our (FAQs)[https://cruip.com/faq/].
72+
73+
## Credits
74+
75+
- [Nucleo](https://nucleoapp.com/)
76+
77+
## Terms and License
78+
79+
- Released under the [GPL](https://www.gnu.org/licenses/gpl-3.0.html).
80+
- Copyright 2023 [Cruip](https://cruip.com/).
81+
- Use it for personal and commercial projects, but please don’t republish, redistribute, or resell the template.
82+
- Attribution is not required, although it is really appreciated.
83+
84+
## About Us
85+
86+
We're an Italian developer/designer duo creating high-quality design/code resources for developers, makers, and startups.
87+
88+
## Stay in the loop
89+
90+
If you would like to know when we release new resources, you can follow us on [Twitter](https://twitter.com/Cruip_com), or you can subscribe to our monthly [newsletter](https://cruip.com/#subscribe).

app/(auth)/layout.tsx

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import PageIllustration from '@/components/page-illustration'
2+
3+
export default function AuthLayout({
4+
children,
5+
}: {
6+
children: React.ReactNode
7+
}) {
8+
return (
9+
<main className="grow">
10+
11+
<PageIllustration />
12+
13+
{children}
14+
15+
</main>
16+
)
17+
}

app/(auth)/reset-password/page.tsx

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
export const metadata = {
2+
title: 'Reset Password - Open PRO',
3+
description: 'Page description',
4+
}
5+
6+
import Link from 'next/link'
7+
8+
export default function ResetPassword() {
9+
return (
10+
<section className="relative">
11+
<div className="max-w-6xl mx-auto px-4 sm:px-6">
12+
<div className="pt-32 pb-12 md:pt-40 md:pb-20">
13+
14+
{/* Page header */}
15+
<div className="max-w-3xl mx-auto text-center pb-12 md:pb-20">
16+
<h1 className="h1 mb-4">Forgot your password?</h1>
17+
<p className="text-xl text-gray-400">We'll email you instructions on how to reset it.</p>
18+
</div>
19+
20+
{/* Form */}
21+
<div className="max-w-sm mx-auto">
22+
<form>
23+
<div className="flex flex-wrap -mx-3 mb-4">
24+
<div className="w-full px-3">
25+
<label className="block text-gray-300 text-sm font-medium mb-1" htmlFor="email">Email</label>
26+
<input id="email" type="email" className="form-input w-full text-gray-300" placeholder="[email protected]" required />
27+
</div>
28+
</div>
29+
<div className="flex flex-wrap -mx-3 mt-6">
30+
<div className="w-full px-3">
31+
<button className="btn text-white bg-purple-600 hover:bg-purple-700 w-full">Reset Password</button>
32+
</div>
33+
</div>
34+
</form>
35+
<div className="text-gray-400 text-center mt-6">
36+
<Link href="/signin" className="text-purple-600 hover:text-gray-200 transition duration-150 ease-in-out">Cancel</Link>
37+
</div>
38+
</div>
39+
40+
</div>
41+
</div>
42+
</section>
43+
)
44+
}

app/(auth)/signin/page.tsx

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
export const metadata = {
2+
title: 'Sign In - Open PRO',
3+
description: 'Page description',
4+
}
5+
6+
import Link from 'next/link'
7+
8+
export default function SignIn() {
9+
return (
10+
<section className="relative">
11+
<div className="max-w-6xl mx-auto px-4 sm:px-6">
12+
<div className="pt-32 pb-12 md:pt-40 md:pb-20">
13+
14+
{/* Page header */}
15+
<div className="max-w-3xl mx-auto text-center pb-12 md:pb-20">
16+
<h1 className="h1">Welcome back. We exist to make entrepreneurship easier.</h1>
17+
</div>
18+
19+
{/* Form */}
20+
<div className="max-w-sm mx-auto">
21+
<form>
22+
<div className="flex flex-wrap -mx-3">
23+
<div className="w-full px-3">
24+
<button className="btn px-0 text-white bg-red-600 hover:bg-red-700 w-full relative flex items-center">
25+
<svg className="w-4 h-4 fill-current text-white opacity-75 shrink-0 mx-4" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
26+
<path d="M7.9 7v2.4H12c-.2 1-1.2 3-4 3-2.4 0-4.3-2-4.3-4.4 0-2.4 2-4.4 4.3-4.4 1.4 0 2.3.6 2.8 1.1l1.9-1.8C11.5 1.7 9.9 1 8 1 4.1 1 1 4.1 1 8s3.1 7 7 7c4 0 6.7-2.8 6.7-6.8 0-.5 0-.8-.1-1.2H7.9z" />
27+
</svg>
28+
<span className="h-6 flex items-center border-r border-white border-opacity-25 mr-4" aria-hidden="true"></span>
29+
<span className="flex-auto pl-16 pr-8 -ml-16">Sign in with Google</span>
30+
</button>
31+
</div>
32+
</div>
33+
</form>
34+
<div className="flex items-center my-6">
35+
<div className="border-t border-gray-700 border-dotted grow mr-3" aria-hidden="true"></div>
36+
<div className="text-gray-400">Or, sign in with your email</div>
37+
<div className="border-t border-gray-700 border-dotted grow ml-3" aria-hidden="true"></div>
38+
</div>
39+
<form>
40+
<div className="flex flex-wrap -mx-3 mb-4">
41+
<div className="w-full px-3">
42+
<label className="block text-gray-300 text-sm font-medium mb-1" htmlFor="email">Email</label>
43+
<input id="email" type="email" className="form-input w-full text-gray-300" placeholder="[email protected]" required />
44+
</div>
45+
</div>
46+
<div className="flex flex-wrap -mx-3 mb-4">
47+
<div className="w-full px-3">
48+
<label className="block text-gray-300 text-sm font-medium mb-1" htmlFor="password">Password</label>
49+
<input id="password" type="password" className="form-input w-full text-gray-300" placeholder="Password (at least 10 characters)" required />
50+
</div>
51+
</div>
52+
<div className="flex flex-wrap -mx-3 mb-4">
53+
<div className="w-full px-3">
54+
<div className="flex justify-between">
55+
<label className="flex items-center">
56+
<input type="checkbox" className="form-checkbox" />
57+
<span className="text-gray-400 ml-2">Keep me signed in</span>
58+
</label>
59+
<Link href="/reset-password" className="text-purple-600 hover:text-gray-200 transition duration-150 ease-in-out">Forgot Password?</Link>
60+
</div>
61+
</div>
62+
</div>
63+
<div className="flex flex-wrap -mx-3 mt-6">
64+
<div className="w-full px-3">
65+
<button className="btn text-white bg-purple-600 hover:bg-purple-700 w-full">Sign in</button>
66+
</div>
67+
</div>
68+
</form>
69+
<div className="text-gray-400 text-center mt-6">
70+
Don’t you have an account? <Link href="/signup" className="text-purple-600 hover:text-gray-200 transition duration-150 ease-in-out">Sign up</Link>
71+
</div>
72+
</div>
73+
74+
</div>
75+
</div>
76+
</section>
77+
)
78+
}

0 commit comments

Comments
 (0)