diff --git a/.github/License-Apache_2.0-blue.svg b/.github/License-Apache_2.0-blue.svg new file mode 100644 index 00000000..ca466ca2 --- /dev/null +++ b/.github/License-Apache_2.0-blue.svg @@ -0,0 +1 @@ +License: Apache 2.0LicenseApache 2.0 \ No newline at end of file diff --git a/.github/slack.svg b/.github/slack.svg new file mode 100644 index 00000000..6cb641a6 --- /dev/null +++ b/.github/slack.svg @@ -0,0 +1,20 @@ + + slack + + + + + + + + + + + + + \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..1684ceed --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,2 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..67d72b4d --- /dev/null +++ b/.gitignore @@ -0,0 +1,120 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# Jetbrains IDEs +.idea/* + +node_modules/ +dist/ + +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local +.env.* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts + +# contentlayer +.contentlayer + diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..ea0e1402 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# CHANGELOG.md + +## [0.1.0] - 2023-07-26 +First release diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..da843682 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,126 @@ +# Contributor Code of Conduct for Keploy + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Expected Behavior + +The following behaviors are expected and requested of all community members: + + * Act authentically and participate actively in the community to help maintain a positive and productive environment. + * Show consideration and respect in all your actions and speech. Avoid any behavior that is demeaning, discriminatory, or harassing. + * Seek collaboration as an initial step instead of conflict. + * Refrain from demeaning, discriminatory, or harassing behavior and speech. + * Report any unsafe situations, distress or violations of the code of conduct to the maintainers through [Slack](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA). +* Practice empathy and kindness towards other community members. +* Respect diverse opinions, perspectives, and experiences. +* Give and receive constructive feedback in a gracious manner. +* Take responsibility for your actions and apologize for mistakes. Use them as learning opportunities. +* Prioritize the well-being and success of the community as a whole over individual gain. + +Examples of unacceptable behavior include: + +* Violence, threats of violence or any language that incites violence towards any individual or group is prohibited. + * Discriminatory jokes and language, such as those based on gender, race, sexual orientation, religion, ability, or any other characteristic, is strictly forbidden. + * Displaying or sharing sexually explicit or violent content is prohibited. + * Any form of harassment, including but not limited to "doxing" (posting or threatening to post other people's personally identifying information) is prohibited. + * Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. +* Publishing any personal information of others without their explicit consent is strictly forbidden. +* Using sexualized language or imagery, or making any sexual advances towards another person is prohibited. +* Harassment, whether it be public or private, will not be tolerated. + +## Enforcement Responsibilities + +Organizations' maintainers are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +They have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces related to Keploy, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +support@keploy.io. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Contact info + +* [Slack](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA) +* [Mail](hello@keploy.io) + +## Support 🙏 + +This project needs a ⭐️ from you. Don't forget to leave a star ⭐️ + +## Happy Contributions !! diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..5811f974 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,115 @@ +# Contributing to Keploy + +Thank you for your interest in Keploy and for taking the time to contribute to this project. 🙌 Keploy is a project by developers for developers and there are a lot of ways you can contribute. + +If you don't know where to start contributing, ask us on our [Slack channel](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA). + +## Code of conduct + +Contributors are expected to adhere to the [Code of Conduct](CODE_OF_CONDUCT.md). + +## Prerequisites for the contributors + +Contributors should have knowledge of git, go, and markdown for most projects since the project work heavily depends on them. +We encourage Contributors to set up Keploy for local development and play around with the code and tests to get more comfortable with the project. + +Sections + +- General Contribution Flow + - Developer Certificate of Origin +- Keploy Contribution Flow + - Keploy Server + - Keploy Documentation + - Keploy SDK Integration + +# General Contribution Flow + +## Installation + +If you wish to contribute, we highly recommend following the guidelines mentioned below. + +**1.** Fork [this](https://github.com/keploy/website) repository. + +**2.** Clone your forked copy of the project. + +```bash + git clone https://github.com//website.git +``` + +**3.** Open your preferred IDE (Integrated Development Environment) such as Visual Studio Code. + +**4.** Navigate to the project directory. Open the folder 'website' in your IDE. + +**5.** Make changes in source code. + +**6.** Save the file and open it in your web browser by simply double-clicking on the file. + +**7.** Alternatively, you can also open the file from within the IDE using the "Open in Default Browser" feature or a browser extension like "Live Server" for VSCode. + + +**8.** Stage your changes and commit. + +``` + git add . + git commit -s -m "" +``` + +**9.** Push your local commits to the remote repo. + +``` + git push +``` + +**10.** Create a [PR](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request) + + +## Signing-off on Commits (Developer Certificate of Origin) + +To contribute to this project, you must agree to the Developer Certificate of +Origin (DCO) for each commit you make. The DCO is a simple statement that you, +as a contributor, have the legal right to make the contribution. + +See the [DCO](https://developercertificate.org) file for the full text of what you must agree to +and how it works [here](https://github.com/probot/dco#how-it-works). +To signify that you agree to the DCO for contributions, you simply add a line to each of your +git commit messages: + +``` +Signed-off-by: Jane Smith +``` + +In most cases, you can add this signoff to your commit automatically with the +`-s` or `--signoff` flag to `git commit`. You must use your real name and a reachable email +address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit: + +``` +$ commit -s -m “my commit message w/signoff” +``` + +To ensure all your commits are signed, you may choose to add this alias to your global `.gitconfig`: + +_~/.gitconfig_ + +``` +[alias] + amend = commit -s --amend + cm = commit -s -m + commit = commit -s +``` + +## Keploy Website Contribution Flow + +Keploy Website is written in `Html`, `Css` and `JS` (Javascript). + +There are many ways in which you can contribute to Keploy Website. + +### Keploy Website + +#### Report an Issue +Report all issues through GitHub Issues using the [Issues]https://github.com/keploy/website/issues/new) template. +To help resolve your issue as quickly as possible, give a proper title and provide all the informations. + + +# Contact + +Feel free to join [slack](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA) to start a conversation with us. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..a7f8d2ee --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Keploy Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 00000000..23e46d64 --- /dev/null +++ b/README.md @@ -0,0 +1,41 @@ +# Brand color Palette + +--- + +This README guide provides an overview of the color palette used in the project, along with their respective purposes and usage. + +| Color Name | Purpose | Color Patch | Hash Value | +|--------------|-------------------------------------------|------------------------------------------------------------|------------| +| Primary Color| Primary headings, primary buttons, main elements | ![#FF914D](https://via.placeholder.com/20/FF914D?text=+) | `#FF914D` | +| Secondary Color | Backgrounds, borders, subtle accents | ![#00163D](https://via.placeholder.com/20/00163D?text=+) | `#00163D` | +| Neutral Colors | Backgrounds, borders, subtle accents | ![#F5F5F5](https://via.placeholder.com/20/F5F5F5?text=+)
![#FFF](https://via.placeholder.com/20/FFF?text=+)
![#E6E2D4](https://via.placeholder.com/20/E6E2D4?text=+) | `#F5F5F5`
`#FFF`
`#E6E2D4` | +| Accent Colors | Success messages, notifications, progress indicators | ![#16704C](https://via.placeholder.com/20/16704C?text=+) | `#16704C` | +| | Highlights, icons, creative sections | ![#5F3131](https://via.placeholder.com/20/5F3131?text=+) | `#5F3131` | +| | Attention-grabbing elements, notifications, important highlights | ![#EF546B](https://via.placeholder.com/20/EF546B?text=+)
![#D9CD9C](https://via.placeholder.com/20/D9CD9C?text=+) | `#EF546B`
`#D9CD9C` | +| Gradient Colors | - | ![#F5F5F5](https://via.placeholder.com/20/F5F5F5?text=+)
![#E35134](https://via.placeholder.com/20/E35134?text=+)
![#FF914D](https://via.placeholder.com/20/FF914D?text=+)
![#BE2C1B](https://via.placeholder.com/20/BE2C1B?text=+)
![#6F0A0D](https://via.placeholder.com/20/6F0A0D?text=+) | `#F5F5F5`
`#E35134`
`#FF914D`
`#BE2C1B`
`#6F0A0D` | + +This README guide provides a quick reference to the colors in the palette and their intended purposes. Use this guide to ensure consistent usage of colors throughout the project and to maintain a cohesive visual style. + +Feel free to discuss and customize the README guide further based on your project requirements and additional details you'd like to include. + +--- + + +Created and maintained with ❤️ by [Keploy.io](https://keploy.io/). + +### Getting Started + +Please make sure you have Node.js 18.x.x installed on your machine. + +First, run the development server: + +```bash +npm run dev +# or +yarn dev +# or +pnpm dev +``` + +Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. +Note: this template is inspired from cruip/tailwind-landing-page-template \ No newline at end of file diff --git a/app/(auth)/layout.tsx b/app/(auth)/layout.tsx new file mode 100644 index 00000000..2d81048d --- /dev/null +++ b/app/(auth)/layout.tsx @@ -0,0 +1,13 @@ +export default function AuthLayout({ + children, +}: { + children: React.ReactNode +}) { + return ( +
+ + {children} + +
+ ) +} diff --git a/app/(default)/about/page.tsx b/app/(default)/about/page.tsx new file mode 100644 index 00000000..a2119fa5 --- /dev/null +++ b/app/(default)/about/page.tsx @@ -0,0 +1,89 @@ +export const metadata = { + title: 'Sign In - Simple', + description: 'Page description', +} + +import Link from 'next/link' + +export default function Security() { + return ( +
+
+
+ + {/* Page header */} +
+

Security Policy

+
+ + {/* Form */} +
+
+
+
+ + +
+
+
+
+
+ + Having trouble signing in? +
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
Or
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ Don't you have an account? Sign up +
+
+ +
+
+
+ ) +} diff --git a/app/(default)/contact/page.tsx b/app/(default)/contact/page.tsx new file mode 100644 index 00000000..315b1f90 --- /dev/null +++ b/app/(default)/contact/page.tsx @@ -0,0 +1,89 @@ +export const metadata = { + title: 'Sign In - Simple', + description: 'Page description', +} + +import Link from 'next/link' + +export default function Contact() { + return ( +
+
+
+ + {/* Page header */} +
+

Contact Us

+
+ + {/* Form */} +
+
+
+
+ + +
+
+
+
+
+ + Having trouble signing in? +
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
Or
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ Don't you have an account? Sign up +
+
+ +
+
+
+ ) +} diff --git a/app/(default)/faq/page.tsx b/app/(default)/faq/page.tsx new file mode 100644 index 00000000..328ffec1 --- /dev/null +++ b/app/(default)/faq/page.tsx @@ -0,0 +1,89 @@ +export const metadata = { + title: 'Sign In - Simple', + description: 'Page description', +} + +import Link from 'next/link' + +export default function FAQ() { + return ( +
+
+
+ + {/* Page header */} +
+

FAQ

+
+ + {/* Form */} +
+
+
+
+ + +
+
+
+
+
+ + Having trouble signing in? +
+ +
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+ +
Or
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ Don't you have an account? Sign up +
+
+ +
+
+
+ ) +} diff --git a/app/(default)/gittogether/css/additional-styles/range-slider.css b/app/(default)/gittogether/css/additional-styles/range-slider.css new file mode 100644 index 00000000..6a108245 --- /dev/null +++ b/app/(default)/gittogether/css/additional-styles/range-slider.css @@ -0,0 +1,57 @@ +/* Range slider */ +:root { + --range-thumb-size: 36px; +} + +input[type=range] { + appearance: none; + background: #ccc; + border-radius: 3px; + height: 6px; + margin-top: (--range-thumb-size - 6px) * 0.5; + margin-bottom: (--range-thumb-size - 6px) * 0.5; + --thumb-size: #{--range-thumb-size}; +} + +input[type=range]::-webkit-slider-thumb { + appearance: none; + -webkit-appearance: none; + background-color: #000; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .5v7L12 4zM0 4l4 3.5v-7z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + border: 0; + border-radius: 50%; + cursor: pointer; + height: --range-thumb-size; + width: --range-thumb-size; +} + +input[type=range]::-moz-range-thumb { + background-color: #000; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .5v7L12 4zM0 4l4 3.5v-7z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + border: 0; + border: none; + border-radius: 50%; + cursor: pointer; + height: --range-thumb-size; + width: --range-thumb-size; +} + +input[type=range]::-ms-thumb { + background-color: #000; + background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .5v7L12 4zM0 4l4 3.5v-7z' fill='%23FFF' fill-rule='nonzero'/%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + border: 0; + border-radius: 50%; + cursor: pointer; + height: --range-thumb-size; + width: --range-thumb-size; +} + +input[type=range]::-moz-focus-outer { + border: 0; +} \ No newline at end of file diff --git a/app/(default)/gittogether/css/additional-styles/theme.css b/app/(default)/gittogether/css/additional-styles/theme.css new file mode 100644 index 00000000..5f69007a --- /dev/null +++ b/app/(default)/gittogether/css/additional-styles/theme.css @@ -0,0 +1,152 @@ +.form-input:focus, +.form-textarea:focus, +.form-multiselect:focus, +.form-select:focus, +.form-checkbox:focus, +.form-radio:focus { + @apply ring-0; +} + +/* Hamburger button */ +.hamburger svg > *:nth-child(1), +.hamburger svg > *:nth-child(2), +.hamburger svg > *:nth-child(3) { + transform-origin: center; + transform: rotate(0deg); +} + +.hamburger svg > *:nth-child(1) { + transition: y 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), opacity 0.1s ease-in; +} + +.hamburger svg > *:nth-child(2) { + transition: transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19); +} + +.hamburger svg > *:nth-child(3) { + transition: y 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), width 0.1s 0.25s ease-in; +} + +.hamburger.active svg > *:nth-child(1) { + opacity: 0; + y: 11; + transform: rotate(225deg); + transition: y 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), opacity 0.1s 0.12s ease-out; +} + +.hamburger.active svg > *:nth-child(2) { + transform: rotate(225deg); + transition: transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1); +} + +.hamburger.active svg > *:nth-child(3) { + y: 11; + transform: rotate(135deg); + transition: y 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), width 0.1s ease-out; +} + +/* Pulsing animation */ +@keyframes pulseLoop { + 0% { opacity: 0; transform: scale(0.1) translateZ(0); } + 40% { opacity: 1; } + 60% { opacity: 1; } + 100% { opacity: 0; transform: scale(2) translateZ(0); } +} +.pulse { + transform: scale(0.1); + opacity: 0; + transform-origin: center; + animation: pulseLoop 8000ms linear infinite; +} +.pulse-1 { + animation-delay: -2000ms; +} +.pulse-2 { + animation-delay: -4000ms; +} +.pulse-3 { + animation-delay: -6000ms; +} + +/* Custom AOS distance */ +@media screen { + html:not(.no-js) body [data-aos=fade-up] { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + html:not(.no-js) body [data-aos=fade-down] { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + html:not(.no-js) body [data-aos=fade-right] { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + html:not(.no-js) body [data-aos=fade-left] { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + html:not(.no-js) body [data-aos=fade-up-right] { + -webkit-transform: translate3d(-10px, 10px, 0); + transform: translate3d(-10px, 10px, 0); + } + + html:not(.no-js) body [data-aos=fade-up-left] { + -webkit-transform: translate3d(10px, 10px, 0); + transform: translate3d(10px, 10px, 0); + } + + html:not(.no-js) body [data-aos=fade-down-right] { + -webkit-transform: translate3d(-10px, -10px, 0); + transform: translate3d(-10px, -10px, 0); + } + + html:not(.no-js) body [data-aos=fade-down-left] { + -webkit-transform: translate3d(10px, -10px, 0); + transform: translate3d(10px, -10px, 0); + } + + html:not(.no-js) body [data-aos=zoom-in-up] { + -webkit-transform: translate3d(0, 10px, 0) scale(.6); + transform: translate3d(0, 10px, 0) scale(.6); + } + + html:not(.no-js) body [data-aos=zoom-in-down] { + -webkit-transform: translate3d(0, -10px, 0) scale(.6); + transform: translate3d(0, -10px, 0) scale(.6); + } + + html:not(.no-js) body [data-aos=zoom-in-right] { + -webkit-transform: translate3d(-10px, 0, 0) scale(.6); + transform: translate3d(-10px, 0, 0) scale(.6); + } + + html:not(.no-js) body [data-aos=zoom-in-left] { + -webkit-transform: translate3d(10px, 0, 0) scale(.6); + transform: translate3d(10px, 0, 0) scale(.6); + } + + html:not(.no-js) body [data-aos=zoom-out-up] { + -webkit-transform: translate3d(0, 10px, 0) scale(1.2); + transform: translate3d(0, 10px, 0) scale(1.2); + } + + html:not(.no-js) body [data-aos=zoom-out-down] { + -webkit-transform: translate3d(0, -10px, 0) scale(1.2); + transform: translate3d(0, -10px, 0) scale(1.2); + } + + html:not(.no-js) body [data-aos=zoom-out-right] { + -webkit-transform: translate3d(-10px, 0, 0) scale(1.2); + transform: translate3d(-10px, 0, 0) scale(1.2); + } + + html:not(.no-js) body [data-aos=zoom-out-left] { + -webkit-transform: translate3d(10px, 0, 0) scale(1.2); + transform: translate3d(10px, 0, 0) scale(1.2); + } +} \ No newline at end of file diff --git a/app/(default)/gittogether/css/additional-styles/toggle-switch.css b/app/(default)/gittogether/css/additional-styles/toggle-switch.css new file mode 100644 index 00000000..05b92eaa --- /dev/null +++ b/app/(default)/gittogether/css/additional-styles/toggle-switch.css @@ -0,0 +1,27 @@ +/* Switch element */ +.form-switch { + @apply relative select-none; + width: 60px; +} + +.form-switch label { + @apply block overflow-hidden cursor-pointer h-8 rounded-full; +} + +.form-switch label>span:first-child { + @apply absolute block rounded-full; + width: 28px; + height: 28px; + top: 2px; + left: 2px; + right: 50%; + transition: all .15s ease-out; +} + +.form-switch input[type="checkbox"]:checked+label { + @apply bg-purple-600; +} + +.form-switch input[type="checkbox"]:checked+label>span:first-child { + left: 30px; +} \ No newline at end of file diff --git a/app/(default)/gittogether/css/additional-styles/utility-patterns.css b/app/(default)/gittogether/css/additional-styles/utility-patterns.css new file mode 100644 index 00000000..f7f39df8 --- /dev/null +++ b/app/(default)/gittogether/css/additional-styles/utility-patterns.css @@ -0,0 +1,79 @@ +/* Typography */ +.h1 { + @apply text-4xl font-extrabold leading-tight tracking-tighter; +} + +.h2 { + @apply text-3xl font-extrabold leading-tight tracking-tighter; +} + +.h3 { + @apply text-3xl font-bold leading-tight; +} + +.h4 { + @apply text-2xl font-bold leading-snug tracking-tight; +} + +@screen md { + .h1 { + @apply text-5xl; + } + + .h2 { + @apply text-4xl; + } +} + +/* Buttons */ +.btn, +.btn-sm { + @apply font-medium inline-flex items-center justify-center border border-transparent rounded-sm leading-snug transition duration-150 ease-in-out; +} + +.btn { + @apply px-8 py-3; +} + +.btn-sm { + @apply px-4 py-2; +} + +/* Forms */ +.form-input, +.form-textarea, +.form-multiselect, +.form-select, +.form-checkbox, +.form-radio { + @apply bg-transparent border border-gray-700 focus:border-gray-500; +} + +.form-input, +.form-textarea, +.form-multiselect, +.form-select, +.form-checkbox { + @apply rounded-sm; +} + +.form-input, +.form-textarea, +.form-multiselect, +.form-select { + @apply py-3 px-4; +} + +.form-input, +.form-textarea { + @apply placeholder-gray-500; +} + +.form-select { + @apply pr-10; +} + +.form-checkbox, +.form-radio { + @apply text-purple-600; +} \ No newline at end of file diff --git a/app/(default)/gittogether/css/style.css b/app/(default)/gittogether/css/style.css new file mode 100644 index 00000000..5d7d6002 --- /dev/null +++ b/app/(default)/gittogether/css/style.css @@ -0,0 +1,22 @@ +@import '../../../../node_modules/tailwindcss/base.css'; +@import '../../../../node_modules/tailwindcss/components.css'; + +/* Additional styles */ +@import 'additional-styles/utility-patterns.css'; +@import 'additional-styles/range-slider.css'; +@import 'additional-styles/toggle-switch.css'; +@import 'additional-styles/theme.css'; + +@import '../../../../node_modules/tailwindcss/utilities.css'; + +/* Additional Tailwind directives: https://tailwindcss.com/docs/functions-and-directives/#responsive */ +@layer utilities { + .rtl { + direction: rtl; + } +} + +/* See Alpine.js: https://github.com/alpinejs/alpine#x-cloak */ +[x-cloak=""] { + display: none; +} diff --git a/app/(default)/gittogether/layout.tsx b/app/(default)/gittogether/layout.tsx new file mode 100644 index 00000000..ed226612 --- /dev/null +++ b/app/(default)/gittogether/layout.tsx @@ -0,0 +1,44 @@ +import './css/style.css' + +import { Inter, Architects_Daughter } from 'next/font/google' + +import Header from '@/components/conf/header' +import Banner from '@/components/conf/banner' +import Footer from "@/components/ui/footer"; + +const inter = Inter({ + subsets: ['latin'], + variable: '--font-inter', + display: 'swap' +}) + +const architects_daughter = Architects_Daughter({ + subsets: ['latin'], + variable: '--font-architects-daughter', + weight: '400', + display: 'swap' +}) + +export const metadata = { + title: 'Create Next App', + description: 'Generated by create next app', +} + +export default function RootLayout({ + children, + }: { + children: React.ReactNode +}) { + return ( + + GitTogether: Senior Developers X Open-Source = Practical Productivity + +
+
+ {children} +
+ + + ) +} + \ No newline at end of file diff --git a/app/(default)/gittogether/page.tsx b/app/(default)/gittogether/page.tsx new file mode 100644 index 00000000..6cf6a88e --- /dev/null +++ b/app/(default)/gittogether/page.tsx @@ -0,0 +1,25 @@ +import Footer from "@/components/conf/footer"; + +export const metadata = { + title: 'Home - Open PRO', + description: 'Page description', +} + +import Hero from '@/components/conf/hero' +import Features from '@/components/conf/features' +import Newsletter from '@/components/conf/newsletter' +import Zigzag from '@/components/conf/zigzag' +import Testimonials from '@/components/conf/testimonials' + +export default function Home() { + return ( + <> + + + {/**/} + + +