├── .eslintrc.json
├── .gitattributes
├── .gitignore
├── LICENSE.md
├── README.md
├── jsconfig.json
├── next.config.js
├── package-lock.json
├── package.json
├── postcss.config.js
├── public
├── agency.PNG
├── next.svg
└── vercel.svg
├── src
├── app
│ ├── about
│ │ └── page.jsx
│ ├── base.css
│ ├── blog
│ │ └── page.jsx
│ ├── contact
│ │ └── page.jsx
│ ├── favicon.ico
│ ├── globals.css
│ ├── layout.jsx
│ ├── not-found.jsx
│ ├── page.jsx
│ ├── process
│ │ └── page.jsx
│ └── work
│ │ └── page.jsx
├── components
│ ├── Blockquote.jsx
│ ├── Border.jsx
│ ├── Build.jsx
│ ├── Button.jsx
│ ├── Clients.jsx
│ ├── ContactDetails.jsx
│ ├── ContactForm.jsx
│ ├── ContactSection.jsx
│ ├── Container.jsx
│ ├── Cultures.jsx
│ ├── Deliver.jsx
│ ├── Discover.jsx
│ ├── FadeIn.jsx
│ ├── Footer.jsx
│ ├── FooterNavigation.jsx
│ ├── GridList.jsx
│ ├── GridPattern.jsx
│ ├── List.jsx
│ ├── Logo.jsx
│ ├── Offices.jsx
│ ├── PageIntro.jsx
│ ├── RadioInput.jsx
│ ├── RootLayout.jsx
│ ├── Section.jsx
│ ├── SectionIntro.jsx
│ ├── Services.jsx
│ ├── SocialMedia.jsx
│ ├── StatList.jsx
│ ├── StylizedImage.jsx
│ ├── TagList.jsx
│ ├── Testimonials.jsx
│ ├── TextInput.jsx
│ └── Values.jsx
├── config
│ └── site.js
├── constants
│ └── index.jsx
├── fonts
│ └── Mona-Sans.var.woff2
└── images
│ ├── clients
│ ├── bright-path
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── family-fund
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── green-life
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── home-work
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── mail-smirk
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── north-adventures
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── phobia
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ └── unseal
│ │ ├── logo-dark.svg
│ │ ├── logo-light.svg
│ │ ├── logomark-dark.svg
│ │ └── logomark-light.svg
│ ├── laptop.jpg
│ ├── meeting.jpg
│ ├── team
│ ├── angela-fisher.jpeg
│ ├── benjamin-russel.jpeg
│ ├── blake-reid.jpeg
│ ├── chelsea-hagon.jpeg
│ ├── dries-vincent.jpeg
│ ├── emma-dorsey.jpeg
│ ├── jeffrey-webb.jpeg
│ ├── kathryn-murphy.jpeg
│ ├── leonard-krasner.jpeg
│ ├── leslie-alexander.jpeg
│ ├── michael-foster.jpeg
│ └── whitney-francis.jpeg
│ └── whiteboard.jpg
└── tailwind.config.js
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 |
27 | # local env files
28 | .env*.local
29 |
30 | # vercel
31 | .vercel
32 |
33 | # typescript
34 | *.tsbuildinfo
35 | next-env.d.ts
36 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | # MIT License
2 |
3 | Copyright (c) 2023 Abdellah Chehri
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Abdullah Agency - Next.js, Tailwind CSS & Framer Motion
2 |
3 | 
4 |
5 | Abdullah Agency is a stunning multi-page agency website template developed using Next.js, Tailwind CSS, and Framer Motion. Designed and built by the talented Tailwind CSS team, this template offers a sleek and minimalist appearance while boasting engaging interactive elements and captivating animations powered by Framer Motion.
6 |
7 | ## Features
8 |
9 | - Beautifully designed agency website template.
10 | - Built using Tailwind CSS and Next.js for a seamless development experience.
11 | - Enhanced with delightful animations and transitions through Framer Motion.
12 | - Easy-to-update case studies and blog posts with MDX.
13 | - Production-ready and highly customizable for your agency's specific needs.
14 | - A valuable resource for learning how to build websites with Tailwind CSS and React.
15 |
16 | ## Getting Started
17 |
18 | To run the Abdullah Agency website locally, follow these steps:
19 |
20 | 1. **Clone the repository:**
21 |
22 | ```bash
23 | git clone https://github.com/your-username/abdullah-agency.git
24 | ```
25 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "paths": {
4 | "@/*": ["./src/*"]
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {}
3 |
4 | module.exports = nextConfig
5 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "studioyt",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "start": "next start",
9 | "lint": "next lint"
10 | },
11 | "dependencies": {
12 | "autoprefixer": "10.4.15",
13 | "clsx": "^2.0.0",
14 | "eslint": "8.47.0",
15 | "eslint-config-next": "13.4.18",
16 | "framer-motion": "^10.16.0",
17 | "next": "13.4.18",
18 | "postcss": "8.4.28",
19 | "react": "18.2.0",
20 | "react-dom": "18.2.0",
21 | "react-icons": "^4.10.1",
22 | "tailwindcss": "3.3.3"
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/public/agency.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chrhi/studio/960b05fc58eaa1dbef8daf1a8345bf71bc0bbb3a/public/agency.PNG
--------------------------------------------------------------------------------
/public/next.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/app/about/page.jsx:
--------------------------------------------------------------------------------
1 | import ContactSection from "@/components/ContactSection";
2 | import Container from "@/components/Container";
3 | import Cultures from "@/components/Cultures";
4 | import PageIntro from "@/components/PageIntro";
5 | import { StatList, StatListItem } from "@/components/StatList";
6 | import React from "react";
7 |
8 | const AboutPage = () => {
9 | return (
10 | <>
11 |
12 |
13 | We believe that our strength lies in our collaborative approach, which
14 | puts our clients at the center of everything we do.
15 |
16 |
17 |
18 | Studio was started by three friends who noticed that developer
19 | studios were charging clients double what an in-house team would
20 | cost. Since the beginning, we have been committed to doing things
21 | differently by charging triple instead.
22 |
23 |
24 | At Studio, we’re more than just colleagues — we’re a family. This
25 | means we pay very little and expect people to work late. We want our
26 | employees to bring their whole selves to work. In return, we just
27 | ask that they keep themselves there until at least 6:30pm.
28 |
17 | Sorry, we could ont find the page you are looking for.
18 |
19 |
23 | Go to the home page
24 |
25 |
26 |
27 | );
28 | };
29 |
30 | export default NotFound;
31 |
--------------------------------------------------------------------------------
/src/app/page.jsx:
--------------------------------------------------------------------------------
1 | import Clients from "@/components/Clients";
2 | import ContactSection from "@/components/ContactSection";
3 | import Container from "@/components/Container";
4 | import FadeIn from "@/components/FadeIn";
5 | import Services from "@/components/Services";
6 | import Testimonials from "@/components/Testimonials";
7 | import logoPhobiaDark from "@/images/clients/phobia/logo-dark.svg";
8 |
9 | export default function Home() {
10 | return (
11 |
12 |
13 |
14 |
15 | Make your online presence a reality with us!
16 |
17 |
18 | We are a group of developer working at the intersection of design
19 | and technology. It is a really busy intersection though — a lot of
20 | our staff have been involved in hit and runs.
21 |
22 |
23 |
24 |
25 |
29 | The team at Studio went above and beyond with our onboarding, even
30 | finding a way to access the user microphone without triggering one of
31 | those annoying permission dialogs.
32 |
33 |
34 |
35 |
36 | );
37 | }
38 |
--------------------------------------------------------------------------------
/src/app/process/page.jsx:
--------------------------------------------------------------------------------
1 | import Build from "@/components/Build";
2 | import ContactSection from "@/components/ContactSection";
3 | import Deliver from "@/components/Deliver";
4 | import Discover from "@/components/Discover";
5 | import PageIntro from "@/components/PageIntro";
6 | import Values from "@/components/Values";
7 | import React from "react";
8 |
9 | const ProcessPage = () => {
10 | return (
11 | <>
12 |
13 |
14 | We believe in efficiency and maximizing our resources to provide the
15 | best value to our clients. The primary way we do that is by re-using
16 | the same five projects we’ve been developing for the past decade.
17 |
12 | We believe in efficiency and maximizing our resources to provide the
13 | best value to our clients. The primary way we do that is by re-using
14 | the same five projects we’ve been developing for the past decade.
15 |
11 | Based off of the discovery phase, we develop a comprehensive roadmap
12 | for each product and start working towards delivery. The roadmap is an
13 | intricately tangled mess of technical nonsense designed to drag the
14 | project out as long as possible.
15 |
16 |
17 | Each client is assigned a key account manager to keep lines of
18 | communication open and obscure the actual progress of the project.
19 | They act as a buffer between the client’s incessant nagging and the
20 | development team who are hard at work scouring open source projects
21 | for code to re-purpose.
22 |
23 |
24 | Our account managers are trained to only reply to client emails after
25 | 9pm, several days after the initial email. This reinforces the general
26 | aura that we are very busy and dissuades clients from asking for
27 | changes.
28 |
29 |
30 |
34 | Studio_clone were so regular with their progress updates we almost began
35 | to think they were automated!
36 |
15 | We are a group of like-minded people who share the same core values.
16 |
17 |
18 |
19 |
20 |
21 | Our team has been with us since the beginning because none of them
22 | are allowed to have LinkedIn profiles.
23 |
24 |
25 | We don’t care when our team works just as long as they are working
26 | every waking second.
27 |
28 |
29 | You never know what someone is going through at home and we make
30 | sure to never find out.
31 |
32 |
33 |
34 |
11 | About halfway through the Build phase, we push each project out by 6
12 | weeks due to a change in{" "}
13 |
14 | requirements
15 |
16 | . This allows us to increase the budget a final time before launch.
17 |
18 |
19 | Despite largely using pre-built components, most of the{" "}
20 | progress{" "}
21 | on each project takes place in the final 24 hours. The development
22 | time allocated to each client is actually spent making augmented
23 | reality demos that go viral on Twitter.
24 |
25 |
26 | We ensure that the main pages of the site are{" "}
27 |
28 | fully functional
29 | {" "}
30 | at launch — the auxiliary pages will, of course, be lorem ipusm shells
31 | which get updated as part of our exorbitant{" "}
32 |
33 | maintenance
34 | {" "}
35 | retainer.
36 |
37 |
38 |
39 | Included in this phase
40 |
41 |
42 |
43 | Our projects always have 100% test coverage, which would be impressive
44 | if our tests weren’t as porous as a sieve.
45 |
46 |
47 | To ensure reliability we only use the best Digital Ocean droplets that
48 | $4 a month can buy.
49 |
50 |
51 | Because we hold the API keys for every critical service your business
52 | uses, you can expect a lifetime of support, and invoices, from us.
53 |
54 |
55 |
56 | );
57 | };
58 |
59 | export default Deliver;
60 |
--------------------------------------------------------------------------------
/src/components/Discover.jsx:
--------------------------------------------------------------------------------
1 | import React from "react";
2 | import Section from "./Section";
3 | import imageWhiteboard from "@/images/whiteboard.jpg";
4 | import { TagList, TagListItem } from "./TagList";
5 |
6 | const Discover = () => {
7 | return (
8 |
9 |
10 |
11 | We work closely with our clients to understand their{" "}
12 | needs and
13 | goals, embedding ourselves in their every day operations to understand
14 | what makes their business tick.
15 |
16 |
17 | Our team of private investigators shadow the company director’s for
18 | several weeks while our account managers focus on going through their
19 | trash. Our senior security experts then perform social engineering
20 | hacks to gain access to their{" "}
21 | business
22 | accounts — handing that information over to our forensic accounting
23 | team.
24 |
25 |
26 | Once the full audit is complete, we report back with a comprehensive
27 | plan and,
28 | more importantly, a budget.
29 |
18 | As long as those opportunities involve giving us money to re-purpose
19 | old projects — we can come up with an endless number of those.
20 |
21 |
22 |
23 |
24 |
25 |
26 |
31 |
32 |
33 | {/* List item */}
34 |
35 |
36 | We specialise in crafting beautiful, high quality marketing pages.
37 | The rest of the website will be a shell that uses lorem ipsum
38 | everywhere.
39 |
40 |
41 | We have a team of skilled developers who are experts in the latest
42 | app frameworks, like Angular 1 and Google Web Toolkit.
43 |
44 |
45 | We are at the forefront of modern e-commerce development. Which
46 | mainly means adding your logo to the Shopify store template we’ve
47 | used for the past six years.
48 |
49 |
50 | At Studio we understand the importance of having a robust and
51 | customised CMS. That’s why we run all of our client projects out
52 | of a single, enormous Joomla instance.
53 |
54 |
55 |
21 | We strive to stay at the forefront of emerging trends and
22 | technologies, while completely ignoring them and forking that old
23 | Rails project we feel comfortable using. We stand by our core values
24 | to justify that decision.
25 |
26 |
27 |
28 |
29 |
30 | The first part of any partnership is getting our designer to put
31 | your logo in our template. The second step is getting them to do the
32 | colors.
33 |
34 |
35 | We pride ourselves on never missing a deadline which is easy because
36 | most of the work was done years ago.
37 |
38 |
39 | Every business has unique needs and our greatest challenge is
40 | shoe-horning those needs into something we already built.
41 |
42 |
43 | We are transparent about all of our processes, banking on the simple
44 | fact our clients never actually read anything.
45 |
46 |
47 | We foster long-term relationships with our clients that go beyond
48 | just delivering a product, allowing us to invoice them for decades.
49 |
50 |
51 | The technological landscape is always evolving and so are we. We are
52 | constantly on the lookout for new open source projects to clone.
53 |
54 |
55 |
56 |