├── public
├── robots.txt
├── Aa.png
├── jobs.png
├── watch.png
├── fakebook.jpg
├── favicon.ico
├── friends.png
├── groups.png
├── icons-1.png
├── icons-2.png
├── icons-3.png
├── icons-4.png
├── icons-5.png
├── facebook-logo.png
├── marketplace.png
├── down.svg
├── plus.svg
├── grids.svg
├── messenger.svg
├── notification.svg
├── public.svg
├── like.svg
├── three-dots.svg
└── settings.svg
├── .eslintrc.json
├── screenshots
├── preview.jpg
├── screenshot-1.png
├── screenshot-2.png
├── screenshot-3.png
└── screenshot-4.png
├── postcss.config.js
├── next.config.js
├── atoms
└── modalAtom.js
├── tailwind.config.js
├── pages
├── _app.js
├── api
│ └── auth
│ │ └── [...nextauth].js
├── index.js
├── login.js
└── privacy-policy.js
├── hooks
└── use-window-size.js
├── components
├── left-sidebar
│ ├── Shortcut.js
│ ├── SidebarRow.js
│ └── LeftSidebar.js
├── feed
│ ├── Feed.js
│ ├── Friend.js
│ ├── AddCommentIcon.js
│ ├── Posts.js
│ ├── Comment.js
│ ├── CreateRoom.js
│ ├── StoryCard.js
│ ├── Stories.js
│ ├── AddComment.js
│ ├── InputBox.js
│ └── Post.js
├── right-sidebar
│ ├── Contact.js
│ ├── Sponsor.js
│ └── RightSidebar.js
├── header
│ ├── HeaderIcon.js
│ ├── Header.js
│ └── Dropdown.js
└── modal
│ ├── PostIcon.js
│ ├── DisclaimerModal.js
│ └── InputModal.js
├── .gitignore
├── .env.local.example
├── firebase.js
├── styles
└── globals.css
├── package.json
└── README.md
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Disallow:
--------------------------------------------------------------------------------
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/public/Aa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/Aa.png
--------------------------------------------------------------------------------
/public/jobs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/jobs.png
--------------------------------------------------------------------------------
/public/watch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/watch.png
--------------------------------------------------------------------------------
/public/fakebook.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/fakebook.jpg
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/favicon.ico
--------------------------------------------------------------------------------
/public/friends.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/friends.png
--------------------------------------------------------------------------------
/public/groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/groups.png
--------------------------------------------------------------------------------
/public/icons-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/icons-1.png
--------------------------------------------------------------------------------
/public/icons-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/icons-2.png
--------------------------------------------------------------------------------
/public/icons-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/icons-3.png
--------------------------------------------------------------------------------
/public/icons-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/icons-4.png
--------------------------------------------------------------------------------
/public/icons-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/icons-5.png
--------------------------------------------------------------------------------
/public/facebook-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/facebook-logo.png
--------------------------------------------------------------------------------
/public/marketplace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/public/marketplace.png
--------------------------------------------------------------------------------
/screenshots/preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/screenshots/preview.jpg
--------------------------------------------------------------------------------
/screenshots/screenshot-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/screenshots/screenshot-1.png
--------------------------------------------------------------------------------
/screenshots/screenshot-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/screenshots/screenshot-2.png
--------------------------------------------------------------------------------
/screenshots/screenshot-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/screenshots/screenshot-3.png
--------------------------------------------------------------------------------
/screenshots/screenshot-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/salimi-my/facebook-clone/main/screenshots/screenshot-4.png
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/next.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | images: {
3 | domains: [
4 | 'links.salimi.my',
5 | 'platform-lookaside.fbsbx.com',
6 | 'firebasestorage.googleapis.com'
7 | ]
8 | }
9 | };
10 |
--------------------------------------------------------------------------------
/atoms/modalAtom.js:
--------------------------------------------------------------------------------
1 | import { atom } from 'recoil';
2 |
3 | export const inputModalState = atom({
4 | key: 'inputModalState',
5 | default: false
6 | });
7 |
8 | export const photoModalState = atom({
9 | key: 'photoModalState',
10 | default: false
11 | });
12 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | mode: 'jit',
3 | content: [
4 | './pages/**/*.{js,ts,jsx,tsx}',
5 | './components/**/*.{js,ts,jsx,tsx}'
6 | ],
7 | theme: {
8 | extend: {}
9 | },
10 | plugins: [require('tailwind-scrollbar-hide')]
11 | };
12 |
--------------------------------------------------------------------------------
/public/down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/grids.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/pages/_app.js:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css';
2 | import { SessionProvider } from 'next-auth/react';
3 | import { RecoilRoot } from 'recoil';
4 |
5 | function MyApp({ Component, pageProps }) {
6 | return (
7 |
{name}
16 |{name}
16 | 17 |{title}
18 |{urlWithoutProtocol}
25 |{name}
15 |Say hi
16 | 17 | } 18 | > 19 |{name}
17 |{comment}
18 |21 | Like 22 |
23 | · 24 |25 | Reply 26 |
27 | · 28 |29 | Share 30 |
31 | · 32 |
33 |
Create room
41 |8 | {name} 9 |
10 |41 | Create Story 42 |
43 | 44 |Live Video
45 |Photo/Video
63 |Feeling/Activity
76 |66 | {session.user.first_name} 67 |
68 |49 | This is not real Facebook and it cannot connect with real 50 | people. 51 |
52 |133 | 134 | Create a Page 135 | 136 | for a celebrity, band or business 137 |
138 |145 | This is just a clone of Facebook created using Next.js, Tailwind CSS 146 | and Firebase. 147 |
148 |150 | Disclaimer: This site is not the real Facebook. Under no 151 | circumstance shall I have any liability to you for any loss or 152 | damage of any kind incurred as a result of the use of the site or 153 | reliance on any information provided on the site. Your use of the 154 | site and your reliance on any information on the site is solely at 155 | your own risk.{' '} 156 | 157 | 158 | Privacy Policy 159 | 160 | 161 |
162 |165 | Facebook Clone © 2022 Created by{' '} 166 | 170 | Salimi 171 | 172 |
173 |{name}
80 |
83 |
89 | Loading 90 |
91 | )} 92 | · 93 |{message}
109 |{likes.length}
121 |{comments.length} Comments
131 |182 | Like 183 |
184 |Comment
202 |Share
217 |All comments
228 | 231 |45 | {'<'} Back 46 |
47 | 48 |Last updated: January 29, 2023
52 |53 | This Privacy Policy describes Our policies and procedures on the 54 | collection, use and disclosure of Your information when You use the 55 | Service and tells You about Your privacy rights and how the law 56 | protects You. 57 |
58 |59 | We use Your Personal data to provide and improve the Service. By 60 | using the Service, You agree to the collection and use of 61 | information in accordance with this Privacy Policy. 62 |
63 |70 | The words of which the initial letter is capitalized have meanings 71 | defined under the following conditions. The following definitions 72 | shall have the same meaning regardless of whether they appear in 73 | singular or in plural. 74 |
75 |For the purposes of this Privacy Policy:
79 |82 | Account means a unique account created for You 83 | to access our Service or parts of our Service. 84 |
85 |88 | Affiliate means an entity that controls, is 89 | controlled by or is under common control with a party, where 90 | "control" means ownership of 50% or more of the 91 | shares, equity interest or other securities entitled to vote for 92 | election of directors or other managing authority. 93 |
94 |97 | Company (referred to as either "the 98 | Company", "We", "Us" or "Our" 99 | in this Agreement) refers to Fakebook. 100 |
101 |104 | Cookies are small files that are placed on Your 105 | computer, mobile device or any other device by a website, 106 | containing the details of Your browsing history on that website 107 | among its many uses. 108 |
109 |112 | Country refers to: Malaysia 113 |
114 |117 | Device means any device that can access the 118 | Service such as a computer, a cellphone or a digital tablet. 119 |
120 |123 | Personal Data is any information that relates 124 | to an identified or identifiable individual. 125 |
126 |129 | Service refers to the Website. 130 |
131 |134 | Service Provider means any natural or legal 135 | person who processes the data on behalf of the Company. It 136 | refers to third-party companies or individuals employed by the 137 | Company to facilitate the Service, to provide the Service on 138 | behalf of the Company, to perform services related to the 139 | Service or to assist the Company in analyzing how the Service is 140 | used. 141 |
142 |145 | Third-party Social Media Service refers to any 146 | website or any social network website through which a User can 147 | log in or create an account to use the Service. 148 |
149 |152 | Usage Data refers to data collected 153 | automatically, either generated by the use of the Service or 154 | from the Service infrastructure itself (for example, the 155 | duration of a page visit). 156 |
157 |160 | Website refers to Fakebook, accessible from{' '} 161 | 166 | https://fakebook.salimi.my 167 | 168 |
169 |172 | You means the individual accessing or using the 173 | Service, or the company, or other legal entity on behalf of 174 | which such individual is accessing or using the Service, as 175 | applicable. 176 |
177 |189 | While using Our Service, We may ask You to provide Us with certain 190 | personally identifiable information that can be used to contact or 191 | identify You. Personally identifiable information may include, but 192 | is not limited to: 193 |
194 |Email address
197 |First name and last name
200 |Usage Data
203 |209 | Usage Data is collected automatically when using the Service. 210 |
211 |212 | Usage Data may include information such as Your Device's 213 | Internet Protocol address (e.g. IP address), browser type, browser 214 | version, the pages of our Service that You visit, the time and date 215 | of Your visit, the time spent on those pages, unique device 216 | identifiers and other diagnostic data. 217 |
218 |219 | When You access the Service by or through a mobile device, We may 220 | collect certain information automatically, including, but not 221 | limited to, the type of mobile device You use, Your mobile device 222 | unique ID, the IP address of Your mobile device, Your mobile 223 | operating system, the type of mobile Internet browser You use, 224 | unique device identifiers and other diagnostic data. 225 |
226 |227 | We may also collect information that Your browser sends whenever You 228 | visit our Service or when You access the Service by or through a 229 | mobile device. 230 |
231 |235 | The Company allows You to create an account and log in to use the 236 | Service through the following Third-party Social Media Services: 237 |
238 |245 | If You decide to register through or otherwise grant us access to a 246 | Third-Party Social Media Service, We may collect Personal data that 247 | is already associated with Your Third-Party Social Media 248 | Service's account, such as Your name, Your email address, Your 249 | activities or Your contact list associated with that account. 250 |
251 |252 | You may also have the option of sharing additional information with 253 | the Company through Your Third-Party Social Media Service's 254 | account. If You choose to provide such information and Personal 255 | Data, during registration or otherwise, You are giving the Company 256 | permission to use, share, and store it in a manner consistent with 257 | this Privacy Policy. 258 |
259 |263 | We use Cookies and similar tracking technologies to track the 264 | activity on Our Service and store certain information. Tracking 265 | technologies used are beacons, tags, and scripts to collect and 266 | track information and to improve and analyze Our Service. The 267 | technologies We use may include: 268 |
269 |290 | Cookies can be "Persistent" or "Session" 291 | Cookies. Persistent Cookies remain on Your personal computer or 292 | mobile device when You go offline, while Session Cookies are deleted 293 | as soon as You close Your web browser. 294 |
295 |296 | We use both Session and Persistent Cookies for the purposes set out 297 | below: 298 |
299 |302 | Necessary / Essential Cookies 303 |
304 |Type: Session Cookies
305 |Administered by: Us
306 |307 | Purpose: These Cookies are essential to provide You with 308 | services available through the Website and to enable You to use 309 | some of its features. They help to authenticate users and 310 | prevent fraudulent use of user accounts. Without these Cookies, 311 | the services that You have asked for cannot be provided, and We 312 | only use these Cookies to provide You with those services. 313 |
314 |317 | Cookies Policy / Notice Acceptance Cookies 318 |
319 |Type: Persistent Cookies
320 |Administered by: Us
321 |322 | Purpose: These Cookies identify if users have accepted the use 323 | of cookies on the Website. 324 |
325 |328 | Functionality Cookies 329 |
330 |Type: Persistent Cookies
331 |Administered by: Us
332 |333 | Purpose: These Cookies allow us to remember choices You make 334 | when You use the Website, such as remembering your login details 335 | or language preference. The purpose of these Cookies is to 336 | provide You with a more personal experience and to avoid You 337 | having to re-enter your preferences every time You use the 338 | Website. 339 |
340 |343 | For more information about the cookies we use and your choices 344 | regarding cookies, please visit our Cookies Policy or the Cookies 345 | section of our Privacy Policy. 346 |
347 |351 | The Company may use Personal Data for the following purposes: 352 |
353 |356 | To provide and maintain our Service, including 357 | to monitor the usage of our Service. 358 |
359 |362 | To manage Your Account: to manage Your 363 | registration as a user of the Service. The Personal Data You 364 | provide can give You access to different functionalities of the 365 | Service that are available to You as a registered user. 366 |
367 |370 | For the performance of a contract: the 371 | development, compliance and undertaking of the purchase contract 372 | for the products, items or services You have purchased or of any 373 | other contract with Us through the Service. 374 |
375 |378 | To contact You: To contact You by email, 379 | telephone calls, SMS, or other equivalent forms of electronic 380 | communication, such as a mobile application's push 381 | notifications regarding updates or informative communications 382 | related to the functionalities, products or contracted services, 383 | including the security updates, when necessary or reasonable for 384 | their implementation. 385 |
386 |389 | To provide You with news, special offers and 390 | general information about other goods, services and events which 391 | we offer that are similar to those that you have already 392 | purchased or enquired about unless You have opted not to receive 393 | such information. 394 |
395 |398 | To manage Your requests: To attend and manage 399 | Your requests to Us. 400 |
401 |404 | For business transfers: We may use Your 405 | information to evaluate or conduct a merger, divestiture, 406 | restructuring, reorganization, dissolution, or other sale or 407 | transfer of some or all of Our assets, whether as a going 408 | concern or as part of bankruptcy, liquidation, or similar 409 | proceeding, in which Personal Data held by Us about our Service 410 | users is among the assets transferred. 411 |
412 |415 | For other purposes: We may use Your information 416 | for other purposes, such as data analysis, identifying usage 417 | trends, determining the effectiveness of our promotional 418 | campaigns and to evaluate and improve our Service, products, 419 | services, marketing and your experience. 420 |
421 |424 | We may share Your personal information in the following situations: 425 |
426 |472 | The Company will retain Your Personal Data only for as long as is 473 | necessary for the purposes set out in this Privacy Policy. We will 474 | retain and use Your Personal Data to the extent necessary to comply 475 | with our legal obligations (for example, if we are required to 476 | retain your data to comply with applicable laws), resolve disputes, 477 | and enforce our legal agreements and policies. 478 |
479 |480 | The Company will also retain Usage Data for internal analysis 481 | purposes. Usage Data is generally retained for a shorter period of 482 | time, except when this data is used to strengthen the security or to 483 | improve the functionality of Our Service, or We are legally 484 | obligated to retain this data for longer time periods. 485 |
486 |490 | Your information, including Personal Data, is processed at the 491 | Company's operating offices and in any other places where the 492 | parties involved in the processing are located. It means that this 493 | information may be transferred to — and maintained on — computers 494 | located outside of Your state, province, country or other 495 | governmental jurisdiction where the data protection laws may differ 496 | than those from Your jurisdiction. 497 |
498 |499 | Your consent to this Privacy Policy followed by Your submission of 500 | such information represents Your agreement to that transfer. 501 |
502 |503 | The Company will take all steps reasonably necessary to ensure that 504 | Your data is treated securely and in accordance with this Privacy 505 | Policy and no transfer of Your Personal Data will take place to an 506 | organization or a country unless there are adequate controls in 507 | place including the security of Your data and other personal 508 | information. 509 |
510 |514 | You have the right to delete or request that We assist in deleting 515 | the Personal Data that We have collected about You. 516 |
517 |518 | Our Service may give You the ability to delete certain information 519 | about You from within the Service. 520 |
521 |522 | You may update, amend, or delete Your information at any time by 523 | signing in to Your Account, if you have one, and visiting the 524 | account settings section that allows you to manage Your personal 525 | information. You may also contact Us to request access to, correct, 526 | or delete any personal information that You have provided to Us. 527 |
528 |529 | Please note, however, that We may need to retain certain information 530 | when we have a legal obligation or lawful basis to do so. 531 |
532 |539 | If the Company is involved in a merger, acquisition or asset sale, 540 | Your Personal Data may be transferred. We will provide notice before 541 | Your Personal Data is transferred and becomes subject to a different 542 | Privacy Policy. 543 |
544 |548 | Under certain circumstances, the Company may be required to disclose 549 | Your Personal Data if required to do so by law or in response to 550 | valid requests by public authorities (e.g. a court or a government 551 | agency). 552 |
553 |557 | The Company may disclose Your Personal Data in the good faith belief 558 | that such action is necessary to: 559 |
560 |578 | The security of Your Personal Data is important to Us, but remember 579 | that no method of transmission over the Internet, or method of 580 | electronic storage is 100% secure. While We strive to use 581 | commercially acceptable means to protect Your Personal Data, We 582 | cannot guarantee its absolute security. 583 |
584 |588 | Our Service does not address anyone under the age of 13. We do not 589 | knowingly collect personally identifiable information from anyone 590 | under the age of 13. If You are a parent or guardian and You are 591 | aware that Your child has provided Us with Personal Data, please 592 | contact Us. If We become aware that We have collected Personal Data 593 | from anyone under the age of 13 without verification of parental 594 | consent, We take steps to remove that information from Our servers. 595 |
596 |597 | If We need to rely on consent as a legal basis for processing Your 598 | information and Your country requires consent from a parent, We may 599 | require Your parent's consent before We collect and use that 600 | information. 601 |
602 |606 | Our Service may contain links to other websites that are not 607 | operated by Us. If You click on a third party link, You will be 608 | directed to that third party's site. We strongly advise You to 609 | review the Privacy Policy of every site You visit. 610 |
611 |612 | We have no control over and assume no responsibility for the 613 | content, privacy policies or practices of any third party sites or 614 | services. 615 |
616 |620 | We may update Our Privacy Policy from time to time. We will notify 621 | You of any changes by posting the new Privacy Policy on this page. 622 |
623 |624 | We will let You know via email and/or a prominent notice on Our 625 | Service, prior to the change becoming effective and update the 626 | "Last updated" date at the top of this Privacy Policy. 627 |
628 |629 | You are advised to review this Privacy Policy periodically for any 630 | changes. Changes to this Privacy Policy are effective when they are 631 | posted on this page. 632 |
633 |637 | If you have any questions about this Privacy Policy, You can contact 638 | us: 639 |
640 |