├── src ├── vite-env.d.ts ├── assets │ ├── h.png │ ├── logo.svg │ └── logo-white.svg ├── main.tsx ├── elements │ ├── Divider.tsx │ ├── DefaultSection.tsx │ ├── Card.tsx │ ├── Button.tsx │ └── Modal.tsx ├── App.tsx ├── components │ ├── Section3.tsx │ ├── Section4.tsx │ ├── Hero.tsx │ ├── Section1.tsx │ ├── Nav.tsx │ ├── Section2.tsx │ └── SectionUIKit.tsx ├── styles │ ├── index.css │ ├── toasts.scss │ └── styles.scss └── utils │ └── hooks.ts ├── public ├── navy.png ├── logo-white.svg └── logo-black.svg ├── postcss.config.cjs ├── tsconfig.node.json ├── prettier.config.cjs ├── vite.config.ts ├── .gitignore ├── tailwind.config.cjs ├── index.html ├── tsconfig.json ├── package.json ├── LICENSE └── yarn.lock /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /public/navy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boidushya/this-website-is-dope/HEAD/public/navy.png -------------------------------------------------------------------------------- /src/assets/h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/boidushya/this-website-is-dope/HEAD/src/assets/h.png -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /prettier.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | tabWidth: 4, 3 | useTabs: true, 4 | semi: true, 5 | singleQuote: false, 6 | trailingComma: "es5", 7 | bracketSpacing: true, 8 | jsxBracketSameLine: false, 9 | arrowParens: "avoid", 10 | proseWrap: "always", 11 | }; 12 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import react from "@vitejs/plugin-react"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | resolve: { 8 | alias: [{ find: "@", replacement: "/src" }], 9 | }, 10 | }); 11 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom/client"; 3 | import App from "./App"; 4 | import "@/styles/index.css"; 5 | 6 | ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( 7 | 8 | 9 | 10 | ); 11 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /tailwind.config.cjs: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"], 4 | theme: { 5 | extend: { 6 | fontFamily: { 7 | sans: ["Avenir", "Manrope", "Helvetica", "Arial", "sans-serif"], 8 | serif: [ 9 | "Playfair Display", 10 | "Georgia", 11 | "Cambria", 12 | '"Times New Roman"', 13 | "Times", 14 | "serif", 15 | ], 16 | }, 17 | }, 18 | }, 19 | plugins: [], 20 | }; 21 | -------------------------------------------------------------------------------- /src/elements/Divider.tsx: -------------------------------------------------------------------------------- 1 | interface PropsTypes { 2 | text?: string; 3 | } 4 | 5 | const Divider: React.FC = ({ text }) => { 6 | return ( 7 |
8 | {text && ( 9 |

10 | {text} 11 |

12 | )} 13 |
14 |
15 | ); 16 | }; 17 | 18 | export default Divider; 19 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 11 | 17 | 18 | This Website Is Dope 19 | 20 | 21 |
22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 6 | "allowJs": false, 7 | "skipLibCheck": true, 8 | "esModuleInterop": false, 9 | "allowSyntheticDefaultImports": true, 10 | "strict": true, 11 | "forceConsistentCasingInFileNames": true, 12 | "module": "ESNext", 13 | "moduleResolution": "Node", 14 | "resolveJsonModule": true, 15 | "isolatedModules": true, 16 | "noEmit": true, 17 | "jsx": "react-jsx", 18 | "baseUrl": "src", 19 | "paths": { 20 | "@/*": ["*"] 21 | } 22 | }, 23 | "include": ["src"], 24 | "references": [{ "path": "./tsconfig.node.json" }] 25 | } 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "this-website-is-dope", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc && vite build", 9 | "preview": "vite preview" 10 | }, 11 | "dependencies": { 12 | "@popperjs/core": "^2.11.6", 13 | "@tippyjs/react": "^4.2.6", 14 | "react": "^18.2.0", 15 | "react-dom": "^18.2.0", 16 | "react-modal": "^3.16.1", 17 | "react-rough-notation": "^1.0.3", 18 | "react-toastify": "^9.1.1", 19 | "sass": "^1.56.1" 20 | }, 21 | "devDependencies": { 22 | "@types/react": "^18.0.24", 23 | "@types/react-dom": "^18.0.8", 24 | "@types/react-modal": "^3.13.1", 25 | "@vitejs/plugin-react": "^2.2.0", 26 | "autoprefixer": "^10.4.13", 27 | "postcss": "^8.4.19", 28 | "tailwindcss": "^3.2.4", 29 | "typescript": "^4.6.4", 30 | "vite": "^3.2.3" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import "@/styles/styles.scss"; 2 | import { Hero } from "@/components/Hero"; 3 | import Nav from "@/components/Nav"; 4 | import Section1 from "@/components/Section1"; 5 | import Section2 from "@/components/Section2"; 6 | import Section3 from "@/components/Section3"; 7 | import Section4 from "@/components/Section4"; 8 | import SectionUIKit from "@/components/SectionUIKit"; 9 | import { cssTransition, ToastContainer } from "react-toastify"; 10 | import "react-toastify/dist/ReactToastify.css"; 11 | import "@/styles/toasts.scss"; 12 | 13 | const Slide = cssTransition({ 14 | collapseDuration: 200, 15 | enter: "slideIn", 16 | exit: "slideOut", 17 | }); 18 | 19 | const App: React.FC = () => { 20 | return ( 21 | <> 22 | 27 |