├── .eslintrc ├── .gitignore ├── .prettierignore ├── .prettierrc ├── README.md ├── next-env.d.ts ├── next.config.js ├── package-lock.json ├── package.json ├── postcss.config.js ├── public ├── icons │ ├── favicon.ico │ └── icon.png └── images │ ├── bag.svg │ ├── bike.svg │ ├── getir-buyuk.svg │ ├── getir-su.svg │ ├── getir-yemek.svg │ ├── getir.svg │ ├── getirslide.png │ └── pin.svg ├── src ├── api │ ├── banners.json │ ├── categories.json │ └── products.json ├── components │ ├── Basket │ │ ├── basket.module.scss │ │ └── index.tsx │ ├── Categorys │ │ ├── categorys.module.scss │ │ └── index.tsx │ ├── Companys │ │ ├── companys.module.scss │ │ └── index.tsx │ ├── CompanysProducts │ │ ├── companys.module.scss │ │ └── index.tsx │ ├── CompanysYemek │ │ ├── companys.module.scss │ │ └── index.tsx │ ├── Favorites │ │ └── index.tsx │ ├── Footer │ │ └── index.tsx │ ├── GetirWidgetMobil │ │ ├── index.tsx │ │ └── mobilwidget.module.scss │ ├── HomeSlider │ │ ├── homeslider.module.scss │ │ └── index.tsx │ ├── HomeSliderGetirYemek │ │ ├── homeslider.module.css │ │ └── index.tsx │ ├── Layout │ │ ├── Layout.tsx │ │ ├── LayoutProducts.tsx │ │ └── LayoutYemek.tsx │ ├── LocationBarMobile │ │ └── index.tsx │ ├── Navbar │ │ ├── index.tsx │ │ └── navbar.module.scss │ ├── NavbarProductsMobile │ │ ├── index.tsx │ │ └── navbar.module.scss │ ├── Products │ │ ├── categorys.module.scss │ │ ├── index.tsx │ │ └── product.json │ ├── RegisterCard │ │ └── index.tsx │ └── ui │ │ ├── CardItem.js │ │ ├── CategoryItem.js │ │ └── ProductItem.js ├── pages │ ├── _app.tsx │ ├── index.tsx │ ├── urunler.tsx │ └── yemek.tsx └── styles │ └── global.scss ├── tailwind.config.js ├── tsconfig.json └── yarn.lock /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": ["next", "next/core-web-vitals"], 3 | "rules": { 4 | // Other rules 5 | "@next/next/no-img-element": "off" 6 | } 7 | } -------------------------------------------------------------------------------- /.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 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | 36 | # intellij 37 | .idea 38 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .next 2 | node_modules 3 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true, 3 | "trailingComma": "all", 4 | "tabWidth": 4 5 | } 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # geçir (getir clone) 2 | 3 | this project is clone project of getir made with NextJs and TailwindCss. \ 4 | note[AZE]: bu layihə yalnız təhsil məqsədləri üçün hazırlanmışdır, fişinq üçün deyil! \ 5 | note[EN]: this project is only made for educational purposes and not for phishing! \ 6 | 7 | ## installation 8 | 9 | use the package manager [npm](https://npmjs.com/) to install geçir. 10 | 11 | ```bash 12 | npm install 13 | ``` 14 | 15 | ## getting Started 16 | 17 | first, run the development server: 18 | 19 | ```bash 20 | npm run dev 21 | # or 22 | yarn dev 23 | ``` 24 | 25 | open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 26 | 27 | ## contributing 28 | 29 | pull requests are welcome. for major changes, please open an issue first to discuss what you would like to change. 30 | 31 | please make sure to update tests as appropriate. 32 | 33 | ## license 34 | 35 | [MIT](https://choosealicense.com/licenses/mit/) 36 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | reactStrictMode: true, 3 | }; 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "getir", 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 | "format": "prettier --write ." 11 | }, 12 | "dependencies": { 13 | "@emotion/react": "^11.4.0", 14 | "@emotion/styled": "^11.3.0", 15 | "@material-ui/core": "^5.0.0-beta.2", 16 | "@material-ui/icons": "^5.0.0-beta.1", 17 | "@testing-library/jest-dom": "^5.11.4", 18 | "@testing-library/react": "^11.1.0", 19 | "@testing-library/user-event": "^12.1.10", 20 | "@types/react-slick": "^0.23.5", 21 | "autoprefixer": "^10.3.1", 22 | "firebase": "^8.10.0", 23 | "next": "11.0.1", 24 | "react": "17.0.2", 25 | "react-dom": "17.0.2", 26 | "react-flags-select": "^2.1.2", 27 | "react-icons": "^4.2.0", 28 | "react-redux": "^7.2.4", 29 | "react-slick": "^0.28.1", 30 | "redux": "^4.1.1", 31 | "sass": "^1.38.0", 32 | "tailwindcss": "^2.2.7" 33 | }, 34 | "devDependencies": { 35 | "@types/react": "17.0.15", 36 | "eslint": "7.32.0", 37 | "eslint-config-next": "11.0.1", 38 | "prettier": "^2.3.2", 39 | "typescript": "4.3.5" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/icons/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fishuke/getir-clone/37e1ddb23d07031154e8ad16b780992823f8aa4a/public/icons/favicon.ico -------------------------------------------------------------------------------- /public/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fishuke/getir-clone/37e1ddb23d07031154e8ad16b780992823f8aa4a/public/icons/icon.png -------------------------------------------------------------------------------- /public/images/bag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /public/images/bike.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /public/images/getir-buyuk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /public/images/getir-su.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | 17 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /public/images/getir-yemek.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 16 | 18 | 20 | 22 | 24 | 26 | 28 | -------------------------------------------------------------------------------- /public/images/getir.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 8 | 10 | 12 | 14 | 15 | -------------------------------------------------------------------------------- /public/images/getirslide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fishuke/getir-clone/37e1ddb23d07031154e8ad16b780992823f8aa4a/public/images/getirslide.png -------------------------------------------------------------------------------- /public/images/pin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/api/banners.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "image": "https://cdn.getir.com/misc/611e55d33ea65bef40f9ba05_banner_tr_1629378026496.jpeg" 5 | }, 6 | { 7 | "id": 2, 8 | "image": "https://cdn.getir.com/misc/611e4a50c270af509cd486b5_banner_tr_1629375115516.jpeg" 9 | }, 10 | { 11 | "id": 3, 12 | "image": "https://cdn.getir.com/misc/5fb524d4c725f1530045cefc_banner_tr_1609343376255.jpeg" 13 | }, 14 | { 15 | "id": 4, 16 | "image": "https://cdn.getir.com/misc/6069cee3f7be2b6472dc8b5f_banner_tr_1629921878792.jpeg" 17 | } 18 | ] -------------------------------------------------------------------------------- /src/api/categories.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "title": "Yeni Ürünler", 5 | "image": "http://cdn.getir.com/cat/5697c78dc181490f00c99fea_f7ef7ccb-f3a4-4388-b787-232967c16320.jpeg" 6 | }, 7 | { 8 | "id": 2, 9 | "title": "İndirimler", 10 | "image": "http://cdn.getir.com/cat/5fd8c58f3bdc2389a56e0fb0_3322c10f-2eed-4ce9-ab5a-90db5ce067f2.jpeg" 11 | }, 12 | { 13 | "id": 3, 14 | "title": "Su & İçecek", 15 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c5e_1619242669958_1619242670038.jpeg" 16 | }, 17 | { 18 | "id": 4, 19 | "title": "Meyve & Sebze", 20 | "image": "http://cdn.getir.com/cat/5928113e616cab00041ec6de_1619242870968_1619242871055.jpeg" 21 | }, 22 | { 23 | "id": 5, 24 | "title": "Fırından", 25 | "image": "http://cdn.getir.com/cat/566eeb85f9facb0f00b1cb16_1619242817768_1619242817849.jpeg" 26 | }, 27 | { 28 | "id": 6, 29 | "title": "Temel Gıda", 30 | "image": "http://cdn.getir.com/cat/56dfcfba86004203000a870d_1619242834654_1619242834734.jpeg" 31 | }, 32 | { 33 | "id": 7, 34 | "title": "Atıştırmalık", 35 | "image": "http://cdn.getir.com/cat/56dfe03cf82055030022cdc0_1619242841966_1619242842053.jpeg" 36 | }, 37 | { 38 | "id": 8, 39 | "title": "Dondurma", 40 | "image": "http://cdn.getir.com/cat/55bca8484dcda90c00e3aa80_1619242741382_1619242741482.jpeg" 41 | }, 42 | { 43 | "id": 9, 44 | "title": "Yiyecek", 45 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c5d_1619242660025_1619242660107.jpeg" 46 | }, 47 | { 48 | "id": 10, 49 | "title": "Süt & Kahvaltı", 50 | "image": "http://cdn.getir.com/cat/56dfed05ab747f03008d9379_1619242850313_1619242850394.jpeg" 51 | }, 52 | { 53 | "id": 11, 54 | "title": "Fit & Form", 55 | "image": "http://cdn.getir.com/cat/57e2996551f3ee030027e28b_1619242858559_1619242858642.jpeg" 56 | }, 57 | { 58 | "id": 12, 59 | "title": "Kişisel Bakım", 60 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c5c_1619242651249_1619242651335.jpeg" 61 | }, 62 | { 63 | "id": 13, 64 | "title": "Ev Bakım", 65 | "image": "http://cdn.getir.com/cat/55449fdf02632e11003c2da8_1619242719523_1619242719602.jpeg" 66 | }, 67 | { 68 | "id": 14, 69 | "title": "Ev & Yaşam", 70 | "image": "http://cdn.getir.com/cat/5b06b056b883b700044e3e4c_1619242916956_1619242917048.jpeg" 71 | }, 72 | { 73 | "id": 15, 74 | "title": "Teknoloji", 75 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c62_1619242697597_1619242697702.jpeg" 76 | }, 77 | { 78 | "id": 16, 79 | "title": "Evcil Hayvan", 80 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c63_1619242711604_1619242711687.jpeg" 81 | }, 82 | { 83 | "id": 17, 84 | "title": "Bebek", 85 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c5b_1619242620186_1619242620271.jpeg" 86 | }, 87 | { 88 | "id": 18, 89 | "title": "Cinsel Sağlık", 90 | "image": "http://cdn.getir.com/cat/559c07b093be370c0063dd29_1619242727735_1619242727816.jpeg" 91 | }, 92 | { 93 | "id": 19, 94 | "title": "Giyim", 95 | "image": "http://cdn.getir.com/cat/551430043427d5010a3a5c5f_1619242679723_1619242679822.jpeg" 96 | } 97 | ] -------------------------------------------------------------------------------- /src/api/products.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "title": "Lay's Mevsim Yeşillikli", 5 | "image": "https://cdn.getir.com/product/5bc97aabb137fb001d751ac7_tr_1609123518121.jpeg", 6 | "alt": "96 g", 7 | "price": 6.36 8 | }, 9 | { 10 | "id": 2, 11 | "title": "Eti Canga", 12 | "image": "https://cdn.getir.com/product/5f3538dc71a71226677fba17_tr_1624437105104.jpeg", 13 | "alt": "45 g", 14 | "price": 2.85 15 | }, 16 | { 17 | "id": 3, 18 | "title": "Kuzeyden", 19 | "image": "https://cdn.getir.com/product/5a7b20fd8e19da0004bb27f8_tr_1615375864268.jpeg", 20 | "alt": "1.5 L", 21 | "price": 2.95 22 | }, 23 | { 24 | "id": 4, 25 | "title": "Kızılay Erzincan", 26 | "image": "https://cdn.getir.com/product/60018c5bca2126d84459c47f_tr_1610788125046.jpeg", 27 | "alt": "6 x 200 ml", 28 | "price": 5.90 29 | }, 30 | { 31 | "id": 5, 32 | "title": "Ülker Napoliten", 33 | "image": "https://cdn.getir.com/product/574b2219dee8a90300f18d24_tr_1599938278519.jpeg", 34 | "alt": "33 g", 35 | "price": 3.30 36 | }, 37 | { 38 | "id": 6, 39 | "title": "Kavrulmuş Siyah Ay Çekirdeği", 40 | "image": "https://cdn.getir.com/product/5ccaf4ff1a1763000175a869_tr_1580904995656.jpeg", 41 | "alt": "180 g", 42 | "price": 10.95 43 | }, 44 | { 45 | "id": 7, 46 | "title": "Magnum Badem", 47 | "image": "https://cdn.getir.com/product/559fec01f462100c00461d5c_tr_1618323765236.jpeg", 48 | "alt": "100 ml", 49 | "price": 7.50 50 | }, 51 | { 52 | "id": 8, 53 | "title": "İçim %3 Yağlı Süt", 54 | "image": "https://cdn.getir.com/product/5ced482d4a8a2a000137da6d_tr_1623652387464.jpeg", 55 | "alt": "1 L", 56 | "price": 7.95 57 | }, 58 | { 59 | "id": 9, 60 | "title": "Lay's Mevsim Yeşillikli", 61 | "image": "https://cdn.getir.com/product/5bc97aabb137fb001d751ac7_tr_1609123518121.jpeg", 62 | "alt": "96 g", 63 | "price": 6.36 64 | }, 65 | { 66 | "id": 10, 67 | "title": "Eti Canga", 68 | "image": "https://cdn.getir.com/product/5f3538dc71a71226677fba17_tr_1624437105104.jpeg", 69 | "alt": "45 g", 70 | "price": 2.85 71 | }, 72 | { 73 | "id": 11, 74 | "title": "Kuzeyden", 75 | "image": "https://cdn.getir.com/product/5a7b20fd8e19da0004bb27f8_tr_1615375864268.jpeg", 76 | "alt": "1.5 L", 77 | "price": 2.95 78 | }, 79 | { 80 | "id": 12, 81 | "title": "Kızılay Erzincan", 82 | "image": "https://cdn.getir.com/product/60018c5bca2126d84459c47f_tr_1610788125046.jpeg", 83 | "alt": "6 x 200 ml", 84 | "price": 5.90 85 | }, 86 | { 87 | "id": 13, 88 | "title": "Ülker Napoliten", 89 | "image": "https://cdn.getir.com/product/574b2219dee8a90300f18d24_tr_1599938278519.jpeg", 90 | "alt": "33 g", 91 | "price": 3.30 92 | }, 93 | { 94 | "id": 14, 95 | "title": "Kavrulmuş Siyah Ay Çekirdeği", 96 | "image": "https://cdn.getir.com/product/5ccaf4ff1a1763000175a869_tr_1580904995656.jpeg", 97 | "alt": "180 g", 98 | "price": 10.95 99 | }, 100 | { 101 | "id": 15, 102 | "title": "Magnum Badem", 103 | "image": "https://cdn.getir.com/product/559fec01f462100c00461d5c_tr_1618323765236.jpeg", 104 | "alt": "100 ml", 105 | "price": 7.50 106 | }, 107 | { 108 | "id": 16, 109 | "title": "İçim %3 Yağlı Süt", 110 | "image": "https://cdn.getir.com/product/5ced482d4a8a2a000137da6d_tr_1623652387464.jpeg", 111 | "alt": "1 L", 112 | "price": 7.95 113 | } 114 | ] -------------------------------------------------------------------------------- /src/components/Basket/basket.module.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fishuke/getir-clone/37e1ddb23d07031154e8ad16b780992823f8aa4a/src/components/Basket/basket.module.scss -------------------------------------------------------------------------------- /src/components/Basket/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | 3 | export const Basket: FC = () => { 4 | return ( 5 |
6 | 7 |
8 | ); 9 | }; -------------------------------------------------------------------------------- /src/components/Categorys/categorys.module.scss: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | .product img { 5 | height: 48px; 6 | width: 48px; 7 | border-radius: 8px; 8 | border: 1px solid rgb(27 14 14 / 10%) !important; 9 | margin-left: 22%; 10 | 11 | 12 | } 13 | 14 | .product p { 15 | text-align: center; 16 | margin-top: 12px; 17 | font-weight: var(--font-weight-semi-bold); 18 | font-size: 15px; 19 | line-height: 16px; 20 | letter-spacing: -0.28px; 21 | color: var(--color-gray-dark); 22 | transition: color 0.2s ease 0s; 23 | overflow-wrap: break-word; 24 | width: 111%; 25 | margin-left: -11%; 26 | 27 | 28 | } 29 | 30 | .margintop { 31 | margin-top: 5%; 32 | } 33 | 34 | .margintop2 { 35 | margin-top: 2%; 36 | } 37 | 38 | .categorytext { 39 | margin-top: 2%; 40 | margin-bottom: -2rem; 41 | margin-left: 13%; 42 | font-weight: 600; 43 | font-size: 14px; 44 | line-height: 19px; 45 | } -------------------------------------------------------------------------------- /src/components/Categorys/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import './categorys.module.scss'; 3 | export const Categorys: FC = () => { 4 | return ( 5 |
6 |

Kategoriler

7 |
8 |
9 |
10 |
11 | 15 |

Yeni Ürünler

16 |
17 |
18 | 22 |

İndirimler

23 |
24 |
25 | 29 |

Su & içecek

30 |
31 |
32 | 36 |

Meyve Sebze

37 |
38 |
39 | 43 |

Fırından

44 |
45 |
46 | 50 |

Temel Gıda

51 |
52 |
53 | 57 |

Atıştırmalık

58 |
59 |
60 | 64 |

Dondurma

65 |
66 |
67 | 71 |

Yiyecek

72 |
73 |
74 | 78 |

Süt Kahvaltı

79 |
80 |
81 | 85 |

Fit Form

86 |
87 |
88 | 92 |

Kişisel Bakım

93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 | 105 |

Yeni Ürünler

106 |
107 |
108 | 112 |

İndirimler

113 |
114 |
115 | 119 |

Su & içecek

120 |
121 |
122 | 126 |

Meyve Sebze

127 |
128 |
129 | 133 |

Fırından

134 |
135 |
136 | 140 |

Temel Gıda

141 |
142 |
143 | 147 |

Atıştırmalık

148 |
149 |
150 | 154 |

Dondurma

155 |
156 |
157 | 161 |

Yiyecek

162 |
163 |
164 | 168 |

Süt Kahvaltı

169 |
170 |
171 | 175 |

Fit Form

176 |
177 |
178 | 182 |

Kişisel Bakım

183 |
184 |
185 |
186 |
187 |
188 | ); 189 | }; 190 | -------------------------------------------------------------------------------- /src/components/Companys/companys.module.scss: -------------------------------------------------------------------------------- 1 | .companys img { 2 | margin-top: 19%; 3 | border-radius: 9px; 4 | width:85% 5 | } 6 | 7 | .companystext { 8 | margin-top: 2%; 9 | margin-bottom: -2rem; 10 | margin-left: 13%; 11 | font-weight: 600; 12 | font-size: 14px; 13 | line-height: 19px; 14 | } -------------------------------------------------------------------------------- /src/components/Companys/index.tsx: -------------------------------------------------------------------------------- 1 | import {useState, useEffect,FC} from 'react' 2 | import Slider from "react-slick"; 3 | import Banners from '../../api/banners.json' 4 | import { IoIosArrowBack, IoIosArrowForward } from 'react-icons/io' 5 | 6 | import './companys.module.scss'; 7 | 8 | type Props = { 9 | onClick: React.MouseEventHandler, 10 | className: string 11 | } 12 | 13 | 14 | function NextButton ({ onClick,className }: Props) { 15 | return ( 16 | 19 | ) 20 | } 21 | function PrevButton ({ onClick,className }: Props) { 22 | return ( 23 | 26 | ) 27 | } 28 | 29 | 30 | 31 | export const Companys: FC = () => { 32 | 33 | 34 | interface BannerData { 35 | id:number, 36 | image:string 37 | } 38 | const [banners, setBanners] = useState([]) 39 | 40 | 41 | 42 | useEffect(() => { 43 | setBanners(Banners) 44 | }, []) 45 | 46 | const settings = { 47 | dots: false, 48 | infinite: true, 49 | speed: 500, 50 | slidesToShow: 3, 51 | slidesToScroll: 1, 52 | autoplay: true, 53 | autoplaySpeed: 3000, 54 | arrows:true, 55 | // nextArrow: , 56 | // prevArrow: , 57 | responsive: [ 58 | { 59 | breakpoint: 568, 60 | settings: { 61 | slidesToShow: 1, 62 | slidesToScroll: 1, 63 | arrows:false 64 | } 65 | } 66 | ] 67 | }; 68 | 69 | return( 70 | <> 71 |
72 |

Kampanyalar

73 | 74 | {banners && banners.map(banner => ( 75 |
76 | 77 |
78 | ))} 79 |
80 |
81 | 82 | ) 83 | 84 | }; -------------------------------------------------------------------------------- /src/components/CompanysProducts/companys.module.scss: -------------------------------------------------------------------------------- 1 | .getir-componys-product { 2 | &_companys img { 3 | margin-top: 5%; 4 | border-radius: 9px; 5 | width:85% 6 | } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/components/CompanysProducts/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import './companys.module.scss'; 3 | export const CompanysProducts: FC = () => { 4 | return ( 5 |
6 |
7 |
8 |
9 |
10 | 15 |
16 |
17 | 22 |
23 |
24 | 29 |
30 |
31 |
32 |
33 |
34 | ); 35 | }; 36 | -------------------------------------------------------------------------------- /src/components/CompanysYemek/companys.module.scss: -------------------------------------------------------------------------------- 1 | .getir-componys-product { 2 | &_companys img { 3 | margin-top: 5%; 4 | border-radius: 9px; 5 | width:85% 6 | } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/components/CompanysYemek/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import './companys.module.scss'; 3 | export const CompanysYemek: FC = () => { 4 | return ( 5 |
6 |
7 |
8 |
9 |
10 | 15 | Döner 16 |
17 |
18 | 23 | Kebap 24 |
25 |
26 | 31 | Makarna 32 |
33 |
34 |
35 |
36 |
37 | ); 38 | }; 39 | -------------------------------------------------------------------------------- /src/components/Favorites/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC,useState, useEffect } from 'react'; 2 | import Products from '../../api/products.json' 3 | import ProductItem from '../ui/ProductItem' 4 | export const Favorites: FC = () => { 5 | 6 | const [products, setProducts] = useState([] as any); 7 | 8 | useEffect(() => { 9 | setProducts(Products) 10 | }, []) 11 | 12 | return ( 13 |
14 |
15 | {products && products.map((product: any) => )} 16 |
17 |
18 | ); 19 | }; 20 | -------------------------------------------------------------------------------- /src/components/Footer/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import { FaFacebook, FaTwitter, FaInstagram } from 'react-icons/fa' 3 | import {FiGlobe} from 'react-icons/fi'; 4 | export const Footer: FC = () => { 5 | return ( 6 |
7 |
8 |
9 | 37 | 59 | 81 | 100 |
101 |
102 |
103 |
104 | © 2021 Getir 105 | 108 |
109 | 124 |
125 |
126 |
127 | ); 128 | }; 129 | -------------------------------------------------------------------------------- /src/components/GetirWidgetMobil/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | 3 | import './mobilwidget.module.scss'; 4 | 5 | export const GetirWidgetMobil: FC = () => { 6 | return( 7 |
8 | 9 | 10 |
11 | ) 12 | }; -------------------------------------------------------------------------------- /src/components/GetirWidgetMobil/mobilwidget.module.scss: -------------------------------------------------------------------------------- 1 | .mobilbanner{ 2 | margin-top: 5%; 3 | margin-bottom: 5%; 4 | } 5 | 6 | .mobilbanner .desktop-img { 7 | border-radius: 16px; 8 | } -------------------------------------------------------------------------------- /src/components/HomeSlider/homeslider.module.scss: -------------------------------------------------------------------------------- 1 | .getirslidelogo { 2 | 3 | z-index: 2; 4 | margin-top: 10%; 5 | margin-left: 16%; 6 | } 7 | 8 | .getirslideimg{ 9 | 10 | 11 | } 12 | 13 | .bg-img { 14 | &_1 { 15 | background-image: url("https://getir.com/_next/static/images/getir-mainpage-4-1751ad2d8fb42a88742d6751938da7e7.jpg"); 16 | } 17 | &_2 { 18 | background-image: url("https://getir.com/_next/static/images/getir-mainpage-1-757eca6a46304def60cabce74d3f20a2.jpg"); 19 | } 20 | 21 | } 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/components/HomeSlider/index.tsx: -------------------------------------------------------------------------------- 1 | import {FC} from 'react' 2 | import Slider from 'react-slick'; 3 | import {RegisterCard} from '../RegisterCard' 4 | 5 | export const HomeSlider: FC = () => { 6 | 7 | 8 | const settings = { 9 | infinite: true, 10 | slidesToShow: 1, 11 | slidesToScroll: 1, 12 | autoplay: true, 13 | autoplaySpeed: 3000, 14 | cssEase: 'linear', 15 | arrows: false, 16 | }; 17 | 18 | 19 | return( 20 |
21 | 22 |
24 | 25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 | 38 |

39 | Dakikalar içinde
kapınızda 40 |

41 |
42 | 43 |
44 |
45 |
46 |
47 | 48 |
49 |
50 | 51 | 52 | ) 53 | 54 | }; 55 | -------------------------------------------------------------------------------- /src/components/HomeSliderGetirYemek/homeslider.module.css: -------------------------------------------------------------------------------- 1 | .getirslidelogo { 2 | 3 | z-index: 2; 4 | margin-top: 10%; 5 | margin-left: 16%; 6 | } 7 | 8 | .getirslideimg{ 9 | 10 | } -------------------------------------------------------------------------------- /src/components/HomeSliderGetirYemek/index.tsx: -------------------------------------------------------------------------------- 1 | import { FC } from 'react'; 2 | import styles from './homeslider.module.css'; 3 | export const HomeSliderGetirYemek: FC = () => { 4 | return( 5 |
6 | 7 | {/* */} 8 |
9 | ) 10 | 11 | }; 12 | -------------------------------------------------------------------------------- /src/components/Layout/Layout.tsx: -------------------------------------------------------------------------------- 1 | import Head from 'next/head'; 2 | import { FC } from 'react'; 3 | import { Footer } from '../Footer'; 4 | import { Navbar } from '../Navbar'; 5 | 6 | export interface ILayoutProps { 7 | title: string; 8 | description?: string; 9 | } 10 | 11 | export const Layout: FC = ({ children, title, description }) => { 12 | return ( 13 | <> 14 | 15 | {title} 16 | 20 | 21 | 22 | 23 |
{children}
24 |