├── .github
└── ISSUE_TEMPLATE
│ └── bug-feature-docs.md
├── .gitignore
├── Flipkart
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── assets
│ │ └── style.css
│ ├── cart.html
│ ├── index.html
│ ├── login.html
│ ├── orders.html
│ ├── product.html
│ ├── profile.html
│ ├── script.js
│ ├── signup.html
│ └── wishlist.html
├── src
│ └── style.css
└── tailwind.config.js
├── Instagram
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── assets
│ │ ├── images
│ │ │ ├── favicon.ico
│ │ │ ├── hero.png
│ │ │ ├── logo.png
│ │ │ └── posts
│ │ │ │ ├── 1.jpg
│ │ │ │ ├── 10.jpg
│ │ │ │ ├── 11.jpg
│ │ │ │ ├── 12.jpg
│ │ │ │ ├── 13.jpg
│ │ │ │ ├── 2.jpg
│ │ │ │ ├── 3.jpg
│ │ │ │ ├── 4.jpg
│ │ │ │ ├── 5.jpg
│ │ │ │ ├── 6.jpg
│ │ │ │ ├── 7.jpg
│ │ │ │ ├── 8.jpg
│ │ │ │ └── 9.jpg
│ │ ├── posts.json
│ │ ├── script.js
│ │ └── style.css
│ └── index.html
├── src
│ └── style.css
└── tailwind.config.js
├── README.md
├── Sololearn
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── assets
│ │ ├── courses.json
│ │ ├── images
│ │ │ ├── courses
│ │ │ │ ├── 1.png
│ │ │ │ ├── 10.png
│ │ │ │ ├── 11.png
│ │ │ │ ├── 12.png
│ │ │ │ ├── 13.png
│ │ │ │ ├── 14.png
│ │ │ │ ├── 15.png
│ │ │ │ ├── 16.png
│ │ │ │ ├── 17.png
│ │ │ │ ├── 18.png
│ │ │ │ ├── 19.png
│ │ │ │ ├── 2.png
│ │ │ │ ├── 20.png
│ │ │ │ ├── 21.png
│ │ │ │ ├── 22.png
│ │ │ │ ├── 23.png
│ │ │ │ ├── 24.png
│ │ │ │ ├── 25.png
│ │ │ │ ├── 3.png
│ │ │ │ ├── 4.png
│ │ │ │ ├── 5.png
│ │ │ │ ├── 6.png
│ │ │ │ ├── 7.png
│ │ │ │ ├── 8.png
│ │ │ │ └── 9.png
│ │ │ ├── favicon.svg
│ │ │ └── hero.png
│ │ ├── script.js
│ │ └── style.css
│ └── index.html
├── src
│ └── style.css
└── tailwind.config.js
├── WhatsApp
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── assets
│ │ ├── images
│ │ │ ├── favicon.ico
│ │ │ └── profile.jpg
│ │ ├── script.js
│ │ └── style.css
│ └── index.html
├── src
│ └── style.css
└── tailwind.config.js
└── YouTube
├── README.md
├── package-lock.json
├── package.json
├── public
├── assets
│ ├── images
│ │ ├── favicon1.ico
│ │ ├── ganesh.jpg
│ │ ├── hero.png
│ │ └── profile.jpg
│ ├── script.js
│ ├── style.css
│ └── videos.json
└── index.html
├── src
└── style.css
└── tailwind.config.js
/.github/ISSUE_TEMPLATE/bug-feature-docs.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug-Feature-Docs
3 | about: Suggest new project
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | ## Issue Type:
11 |
12 | - [ ] Bug Report
13 | - [ ] Feature Request
14 | - [ ] Documentation
15 |
16 | ## **Describe the bug or feature**
17 |
18 | - A clear and concise description of what the bug or feature is.
19 |
20 | ## **Possible solution**
21 |
22 | - Describe the solution you thought of.
23 |
24 | ## **Screenshots**
25 |
26 | - If applicable, add screenshots to help explain your problem.
27 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
--------------------------------------------------------------------------------
/Flipkart/README.md:
--------------------------------------------------------------------------------
1 | ## Flipkart UI Clone
2 | Flipkart All Pages UI Clones using TailwindCSS ⚡
3 |
4 | ### **Visit Now 🚀**
5 |
6 | ## Tech Stack :
7 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=html)
8 | 
9 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=javascript)
10 | 
11 | 
12 | [](https://instagramwebui.netlify.app)
13 |
14 | ## Sneak Peek of Site 🙈 :
15 | 
16 |
17 |
18 | [](https://forthebadge.com)
19 |
--------------------------------------------------------------------------------
/Flipkart/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "flipkart",
3 | "version": "1.0.0",
4 | "description": "Flipkart Web UI Clone",
5 | "main": "index.js",
6 | "dependencies": {
7 | "tailwindcss": "^2.2.15",
8 | "win-node-env": "^0.4.0"
9 | },
10 | "devDependencies": {},
11 | "scripts": {
12 | "build:css": "tailwind build -i src/style.css -o public/assets/style.css",
13 | "prod": "NODE_ENV=production tailwind build -i src/style.css -o public/assets/style.css"
14 | },
15 | "author": "Jigar Sable",
16 | "license": "ISC"
17 | }
18 |
--------------------------------------------------------------------------------
/Flipkart/public/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Flipkart
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 | search
42 |
43 |
44 |
45 |
46 |
47 |
48 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 |
181 |
185 |
186 |
187 |
188 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
252 |
253 |
254 |
255 |
265 |
266 |
267 |
268 |
279 |
280 |
281 |
282 |
290 |
291 |
292 |
293 |
294 |
295 |
296 |
297 |
Mail Us:
298 |
Flipkart Internet Private Limited,
299 | Buildings Alyssa, Begonia &
300 | Clove Embassy Tech Village,
301 | Outer Ring Road, Devarabeesanahalli Village,
302 | Bengaluru, 560103,
303 | Karnataka, India
304 |
305 |
306 |
307 |
308 |
Registered Office Address:
309 |
Flipkart Internet Private Limited,
310 | Buildings Alyssa, Begonia &
311 | Clove Embassy Tech Village,
312 | Outer Ring Road, Devarabeesanahalli Village,
313 | Bengaluru, 560103,
314 | Karnataka, India
315 | CIN : U51109KA2012PTC066107
316 | Telephone: 1800 202 9898
317 |
318 |
319 |
320 |
321 |
322 |
323 |
324 |
325 |
344 |
345 |
346 |
347 |
348 |
349 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
357 |
358 |
--------------------------------------------------------------------------------
/Flipkart/public/script.js:
--------------------------------------------------------------------------------
1 | $(document).ready(function() {
2 |
3 | $('#banner.owl-carousel').owlCarousel({
4 | loop: true,
5 | nav: true,
6 | navText: [" ", " "],
7 | dots: false,
8 | items: 1,
9 | autoplay:true,
10 | autoplayTimeout:2000,
11 | autoplayHoverPause:false
12 | });
13 |
14 | $('#topSelection .owl-carousel').owlCarousel({
15 | loop: false,
16 | nav: true,
17 | navText: [" ", " "],
18 | dots: false,
19 | mouseDrag: false,
20 | touchDrag: false,
21 | responsiveClass:true,
22 | responsive:{
23 | 0:{
24 | items:2,
25 | },
26 | 600:{
27 | items:3,
28 | },
29 | 768:{
30 | items:4,
31 | },
32 | 1000:{
33 | items:7,
34 | }
35 | }
36 | });
37 |
38 | $('#recommended .owl-carousel').owlCarousel({
39 | loop: false,
40 | nav: true,
41 | navText: [" ", " "],
42 | dots: false,
43 | mouseDrag: false,
44 | touchDrag: false,
45 | responsiveClass:true,
46 | responsive:{
47 | 0:{
48 | items:2,
49 | },
50 | 600:{
51 | items:3,
52 | },
53 | 768:{
54 | items:4,
55 | },
56 | 1000:{
57 | items:6,
58 | }
59 | }
60 | });
61 |
62 | $(window).scroll(function(){
63 | if(scrollY > 150) {
64 | $('header').addClass('shadow-lg');
65 | } else {
66 | $('header').removeClass('shadow-lg');
67 | }
68 | });
69 |
70 | // arrow dropdown rotate on hover
71 | $('.userDropDown').hover(function() {
72 | $('.userDropDown span').toggleClass('rotateDropDown');
73 | }, function() {
74 | $('.userDropDown span').toggleClass('rotateDropDown');
75 | });
76 |
77 | $('.moreDropDown').hover(function() {
78 | $('.moreDropDown span').toggleClass('rotateDropDown');
79 | }, function() {
80 | $('.moreDropDown span').toggleClass('rotateDropDown');
81 | });
82 |
83 | // dropdown hovers
84 | $('.userDropDown').hover(function(){
85 | $('.userDropDownMenu').toggleClass('active');
86 | }, function() {
87 | $('.userDropDownMenu').toggleClass('active');
88 | });
89 |
90 | $('.moreDropDown').hover(function(){
91 | $('.moreDropDownMenu').toggleClass('active');
92 | }, function() {
93 | $('.moreDropDownMenu').toggleClass('active');
94 | });
95 |
96 | $('.userDropDownMenu').hover(function(){
97 | $(this).addClass('active');
98 | }, function() {
99 | $(this).toggleClass('active');
100 | });
101 |
102 | $('.moreDropDownMenu').hover(function(){
103 | $(this).addClass('active');
104 | }, function() {
105 | $(this).toggleClass('active');
106 | });
107 | // dropdown hovers
108 |
109 | // js-image-zoom effect
110 | // var zoom_img = document.querySelector('.zoomimg');
111 | // var options = {
112 | // width: 300,
113 | // zoomWidth: 600,
114 | // // scale: 0.5,
115 | // // zoomStyle: 'height:500px;width:12000px;border-radius:2px;',
116 | // // zoomLensStyle: 'opacity: 0.3;height: 10px;width: 20px;background-color: black;',
117 | // offset: {vertical: 20, horizontal: 30}
118 | // // zoomPosition: 'right',
119 | // // zoomContainer: document.querySelector('.zoomimg')
120 | // };
121 | // new ImageZoom(document.querySelector('.image-box'), options);
122 |
123 | $('#qtyUp').on('click',function(e){
124 | if($('#qtyInput').val()>=1 && $('#qtyInput').val()<=10){
125 | $('#qtyInput').val(function(i, oldval){
126 | return ++oldval;
127 | });
128 | }
129 | });
130 |
131 | $('#qtyDown').on('click',function(){
132 | if($('#qtyInput').val()>=2 && $('#qtyInput').val()<=11){
133 | $('#qtyInput').val(function(i, qtynos){
134 | return --qtynos;
135 | })
136 | }
137 | });
138 |
139 |
140 | // personal info edit buttons
141 | $('#editPersonalBtn').click(function() {
142 | // change button text
143 | $(this).text() == 'Edit' ? $(this).text('Cancel') : $(this).text('Edit')
144 |
145 | $('#personalSaveBtn').toggleClass('hidden');
146 | $('#personalInputs .inputs').toggleClass('bg-gray-100').toggleClass('cursor-not-allowed');
147 | toggleInputs('#personalInputs');
148 | $('#radioInput .inputs').toggleClass('text-gray-500').toggleClass('cursor-not-allowed');
149 | $('#radioInput label').toggleClass('cursor-not-allowed');
150 | toggleInputs('#radioInput');
151 |
152 | });
153 | // personal info edit buttons
154 |
155 | const toggleEdit = (editBtn,saveBtn,inputs) => {
156 | $(editBtn).click(function() {
157 | $(this).text() == 'Edit' ? $(this).text('Cancel') : $(this).text('Edit')
158 | $(saveBtn).toggleClass('hidden');
159 | $(inputs).toggleClass('bg-gray-100').toggleClass('cursor-not-allowed');
160 | toggleInputs(inputs);
161 | });
162 | }
163 |
164 | const toggleInputs = (inputs) => {
165 | $(`${inputs} input`).toggleClass('cursor-not-allowed').toggleClass('text-gray-500');
166 | $(`${inputs} input`).prop("disabled") ?
167 | $(`${inputs} input`).prop('disabled', false) :
168 | $(`${inputs} input`).prop('disabled',true)
169 | }
170 |
171 | toggleEdit('#emailEditBtn','#emailSaveBtn','#emailInputs');
172 | toggleEdit('#mobEditBtn','#mobSaveBtn','#mobInputs');
173 | });
--------------------------------------------------------------------------------
/Flipkart/src/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');
2 |
3 |
4 | @tailwind base;
5 | @tailwind components;
6 | @tailwind utilities;
7 |
8 | body {
9 | font-family: 'Roboto', sans-serif;
10 | }
11 |
12 | /* owl carousel customization */
13 | .owl-carousel .owl-nav button {
14 | position: absolute;
15 | top: 30%;
16 | outline: none;
17 | }
18 | #topSelection .owl-carousel .owl-nav button {
19 | top: 20%;
20 | }
21 | #recommended .owl-carousel .owl-nav button {
22 | top: 25%;
23 | }
24 | .owl-carousel .owl-nav button.owl-prev {
25 | left: 2.5rem;
26 | }
27 | .owl-carousel .owl-nav button.owl-prev i,
28 | .owl-carousel .owl-nav button.owl-next i {
29 | font-size: 1.7rem;
30 | color: #000;
31 | margin-left: -3.5rem;
32 | padding: 2.5rem 1rem;
33 | padding-left: 1.5rem;
34 | box-shadow: 0 8px 12px rgba(0,0,0,.2);
35 | background: #fff;
36 | border-radius: 5px;
37 | }
38 | .owl-carousel .owl-nav button.owl-next {
39 | right: 2rem;
40 | }
41 | .owl-carousel .owl-nav button.owl-next i {
42 | margin-right: -5.5rem;
43 | padding: 2.5rem 1.5rem;
44 | padding-left: 1rem;
45 | }
46 | .owl-next.disabled, .owl-prev.disabled {
47 | display: none !important;
48 | }
49 | /* owl carousel customization */
50 |
51 | /* material icons sizing */
52 | .md-12 {
53 | font-size: 12px;
54 | transform: rotate(0.03deg);
55 | }
56 | .md-14 {
57 | font-size: 14px;
58 | transform: rotate(0.03deg);
59 | }
60 | .md-16 {
61 | font-size: 16px;
62 | transform: rotate(0.03deg);
63 | }
64 | .md-18 {
65 | font-size: 18px;
66 | transform: rotate(0.03deg);
67 | }
68 | .md-20 {
69 | font-size: 20px;
70 | transform: rotate(0.03deg);
71 | }
72 | .md-22 {
73 | font-size: 22px;
74 | }
75 | /* material icons sizing */
76 |
77 | /* hover navbar dropdown arrow */
78 | .arrow_down {
79 | border-left: 11px solid transparent;
80 | border-right: 11px solid transparent;
81 | border-bottom: 11px solid #fff;
82 | }
83 | /* hover navbar dropdown arrow */
84 |
85 | /* hover navbar dropdown toggle */
86 | .active {
87 | display: flex;
88 | }
89 | /* hover navbar dropdown toggle */
90 |
91 | /* rotate dropdown arrows */
92 | .rotateDropDown {
93 | transform: rotate(-180deg);
94 | }
95 | /* rotate dropdown arrows */
96 |
97 |
98 | /* login signup sidebar bg image */
99 | .loginSidebar {
100 | background-image: url("https://static-assets-web.flixcart.com/www/linchpin/fk-cp-zion/img/login_img_c4a81e.png");
101 | background-position: center 85%;
102 | background-repeat: no-repeat;
103 | }
104 | /* login signup sidebar bg image */
--------------------------------------------------------------------------------
/Instagram/README.md:
--------------------------------------------------------------------------------
1 | ## Instagram UI Clone
2 | Instagram UI Clones using TailwindCSS ⚡
3 |
4 | ### **Visit Now 🚀**
5 |
6 | ## Tech Stack :
7 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=html)
8 | 
9 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=javascript)
10 | 
11 | 
12 | [](https://instagramwebui.netlify.app)
13 |
14 | ## Sneak Peek of Site 🙈 :
15 | 
16 |
17 | [](https://forthebadge.com)
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Instagram/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "instagran-web-ui",
3 | "version": "1.0.0",
4 | "description": "Clone of Instagram Web UI",
5 | "main": "index.js",
6 | "dependencies": {
7 | "tailwindcss": "^2.2.7",
8 | "win-node-env": "^0.4.0"
9 | },
10 | "devDependencies": {
11 | "tailwind-scrollbar": "^1.3.1"
12 | },
13 | "scripts": {
14 | "build:css": "tailwind build -i src/style.css -o public/assets/style.css",
15 | "prod": "NODE_ENV=production tailwind build -i src/style.css -o public/assets/style.css"
16 | },
17 | "author": "Jigar Sable",
18 | "license": "ISC"
19 | }
20 |
--------------------------------------------------------------------------------
/Instagram/public/assets/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/favicon.ico
--------------------------------------------------------------------------------
/Instagram/public/assets/images/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/hero.png
--------------------------------------------------------------------------------
/Instagram/public/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/logo.png
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/1.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/10.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/11.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/12.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/13.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/2.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/3.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/4.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/5.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/6.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/7.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/8.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/images/posts/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Instagram/public/assets/images/posts/9.jpg
--------------------------------------------------------------------------------
/Instagram/public/assets/posts.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "image": "1"
4 | },
5 | {
6 | "image": "2"
7 | },
8 | {
9 | "image": "3"
10 | },
11 | {
12 | "image": "4"
13 | },
14 | {
15 | "image": "5"
16 | },
17 | {
18 | "image": "6"
19 | },
20 | {
21 | "image": "7"
22 | },
23 | {
24 | "image": "8"
25 | },
26 | {
27 | "image": "9"
28 | },
29 | {
30 | "image": "10"
31 | },
32 | {
33 | "image": "11"
34 | },
35 | {
36 | "image": "12"
37 | },
38 | {
39 | "image": "13"
40 | }
41 | ]
--------------------------------------------------------------------------------
/Instagram/public/assets/script.js:
--------------------------------------------------------------------------------
1 | let postsContainer = document.getElementById('post-container');
2 | let postCard = "";
3 |
4 | fetch("assets/posts.json")
5 | .then(response => response.json())
6 | .then(posts => {
7 | console.log(posts);
8 |
9 | posts.forEach(post => {
10 | postCard += `
11 |
12 |
13 |
14 |
15 |
16 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
44 |
45 |
46 |
200 likes
47 |
48 |
49 |
50 |
james07
51 |
Lorem ipsum dolor sit amet consectetur
52 |
53 |
54 |
55 |
2 HOURS AGO
56 |
57 |
58 |
59 |
64 |
65 |
`
66 | });
67 | postsContainer.innerHTML = postCard;
68 | })
--------------------------------------------------------------------------------
/Instagram/public/assets/style.css:
--------------------------------------------------------------------------------
1 | /*! tailwindcss v2.2.7 | MIT License | https://tailwindcss.com */
2 |
3 | /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
4 |
5 | /*
6 | Document
7 | ========
8 | */
9 |
10 | /**
11 | Use a better box model (opinionated).
12 | */
13 |
14 | *,
15 | ::before,
16 | ::after {
17 | box-sizing: border-box;
18 | }
19 |
20 | /**
21 | Use a more readable tab size (opinionated).
22 | */
23 |
24 | html {
25 | -moz-tab-size: 4;
26 | -o-tab-size: 4;
27 | tab-size: 4;
28 | }
29 |
30 | /**
31 | 1. Correct the line height in all browsers.
32 | 2. Prevent adjustments of font size after orientation changes in iOS.
33 | */
34 |
35 | html {
36 | line-height: 1.15;
37 | /* 1 */
38 | -webkit-text-size-adjust: 100%;
39 | /* 2 */
40 | }
41 |
42 | /*
43 | Sections
44 | ========
45 | */
46 |
47 | /**
48 | Remove the margin in all browsers.
49 | */
50 |
51 | body {
52 | margin: 0;
53 | }
54 |
55 | /**
56 | Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
57 | */
58 |
59 | body {
60 | font-family:
61 | system-ui,
62 | -apple-system, /* Firefox supports this but not yet `system-ui` */
63 | 'Segoe UI',
64 | Roboto,
65 | Helvetica,
66 | Arial,
67 | sans-serif,
68 | 'Apple Color Emoji',
69 | 'Segoe UI Emoji';
70 | }
71 |
72 | /*
73 | Grouping content
74 | ================
75 | */
76 |
77 | /**
78 | 1. Add the correct height in Firefox.
79 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
80 | */
81 |
82 | hr {
83 | height: 0;
84 | /* 1 */
85 | color: inherit;
86 | /* 2 */
87 | }
88 |
89 | /*
90 | Text-level semantics
91 | ====================
92 | */
93 |
94 | /**
95 | Add the correct text decoration in Chrome, Edge, and Safari.
96 | */
97 |
98 | abbr[title] {
99 | -webkit-text-decoration: underline dotted;
100 | text-decoration: underline dotted;
101 | }
102 |
103 | /**
104 | Add the correct font weight in Edge and Safari.
105 | */
106 |
107 | b,
108 | strong {
109 | font-weight: bolder;
110 | }
111 |
112 | /**
113 | 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
114 | 2. Correct the odd 'em' font sizing in all browsers.
115 | */
116 |
117 | code,
118 | kbd,
119 | samp,
120 | pre {
121 | font-family:
122 | ui-monospace,
123 | SFMono-Regular,
124 | Consolas,
125 | 'Liberation Mono',
126 | Menlo,
127 | monospace;
128 | /* 1 */
129 | font-size: 1em;
130 | /* 2 */
131 | }
132 |
133 | /**
134 | Add the correct font size in all browsers.
135 | */
136 |
137 | small {
138 | font-size: 80%;
139 | }
140 |
141 | /**
142 | Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
143 | */
144 |
145 | sub,
146 | sup {
147 | font-size: 75%;
148 | line-height: 0;
149 | position: relative;
150 | vertical-align: baseline;
151 | }
152 |
153 | sub {
154 | bottom: -0.25em;
155 | }
156 |
157 | sup {
158 | top: -0.5em;
159 | }
160 |
161 | /*
162 | Tabular data
163 | ============
164 | */
165 |
166 | /**
167 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
168 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
169 | */
170 |
171 | table {
172 | text-indent: 0;
173 | /* 1 */
174 | border-color: inherit;
175 | /* 2 */
176 | }
177 |
178 | /*
179 | Forms
180 | =====
181 | */
182 |
183 | /**
184 | 1. Change the font styles in all browsers.
185 | 2. Remove the margin in Firefox and Safari.
186 | */
187 |
188 | button,
189 | input,
190 | optgroup,
191 | select,
192 | textarea {
193 | font-family: inherit;
194 | /* 1 */
195 | font-size: 100%;
196 | /* 1 */
197 | line-height: 1.15;
198 | /* 1 */
199 | margin: 0;
200 | /* 2 */
201 | }
202 |
203 | /**
204 | Remove the inheritance of text transform in Edge and Firefox.
205 | 1. Remove the inheritance of text transform in Firefox.
206 | */
207 |
208 | button,
209 | select {
210 | /* 1 */
211 | text-transform: none;
212 | }
213 |
214 | /**
215 | Correct the inability to style clickable types in iOS and Safari.
216 | */
217 |
218 | button,
219 | [type='button'] {
220 | -webkit-appearance: button;
221 | }
222 |
223 | /**
224 | Remove the inner border and padding in Firefox.
225 | */
226 |
227 | /**
228 | Restore the focus styles unset by the previous rule.
229 | */
230 |
231 | /**
232 | Remove the additional ':invalid' styles in Firefox.
233 | See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
234 | */
235 |
236 | /**
237 | Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
238 | */
239 |
240 | legend {
241 | padding: 0;
242 | }
243 |
244 | /**
245 | Add the correct vertical alignment in Chrome and Firefox.
246 | */
247 |
248 | progress {
249 | vertical-align: baseline;
250 | }
251 |
252 | /**
253 | Correct the cursor style of increment and decrement buttons in Safari.
254 | */
255 |
256 | /**
257 | 1. Correct the odd appearance in Chrome and Safari.
258 | 2. Correct the outline style in Safari.
259 | */
260 |
261 | [type='search'] {
262 | -webkit-appearance: textfield;
263 | /* 1 */
264 | outline-offset: -2px;
265 | /* 2 */
266 | }
267 |
268 | /**
269 | Remove the inner padding in Chrome and Safari on macOS.
270 | */
271 |
272 | /**
273 | 1. Correct the inability to style clickable types in iOS and Safari.
274 | 2. Change font properties to 'inherit' in Safari.
275 | */
276 |
277 | /*
278 | Interactive
279 | ===========
280 | */
281 |
282 | /*
283 | Add the correct display in Chrome and Safari.
284 | */
285 |
286 | summary {
287 | display: list-item;
288 | }
289 |
290 | /**
291 | * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
292 | * A thin layer on top of normalize.css that provides a starting point more
293 | * suitable for web applications.
294 | */
295 |
296 | /**
297 | * Removes the default spacing and border for appropriate elements.
298 | */
299 |
300 | blockquote,
301 | dl,
302 | dd,
303 | h1,
304 | h2,
305 | h3,
306 | h4,
307 | h5,
308 | h6,
309 | hr,
310 | figure,
311 | p,
312 | pre {
313 | margin: 0;
314 | }
315 |
316 | button {
317 | background-color: transparent;
318 | background-image: none;
319 | }
320 |
321 | fieldset {
322 | margin: 0;
323 | padding: 0;
324 | }
325 |
326 | ol,
327 | ul {
328 | list-style: none;
329 | margin: 0;
330 | padding: 0;
331 | }
332 |
333 | /**
334 | * Tailwind custom reset styles
335 | */
336 |
337 | /**
338 | * 1. Use the user's configured `sans` font-family (with Tailwind's default
339 | * sans-serif font stack as a fallback) as a sane default.
340 | * 2. Use Tailwind's default "normal" line-height so the user isn't forced
341 | * to override it to ensure consistency even when using the default theme.
342 | */
343 |
344 | html {
345 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
346 | /* 1 */
347 | line-height: 1.5;
348 | /* 2 */
349 | }
350 |
351 | /**
352 | * Inherit font-family and line-height from `html` so users can set them as
353 | * a class directly on the `html` element.
354 | */
355 |
356 | body {
357 | font-family: inherit;
358 | line-height: inherit;
359 | }
360 |
361 | /**
362 | * 1. Prevent padding and border from affecting element width.
363 | *
364 | * We used to set this in the html element and inherit from
365 | * the parent element for everything else. This caused issues
366 | * in shadow-dom-enhanced elements like where the content
367 | * is wrapped by a div with box-sizing set to `content-box`.
368 | *
369 | * https://github.com/mozdevs/cssremedy/issues/4
370 | *
371 | *
372 | * 2. Allow adding a border to an element by just adding a border-width.
373 | *
374 | * By default, the way the browser specifies that an element should have no
375 | * border is by setting it's border-style to `none` in the user-agent
376 | * stylesheet.
377 | *
378 | * In order to easily add borders to elements by just setting the `border-width`
379 | * property, we change the default border-style for all elements to `solid`, and
380 | * use border-width to hide them instead. This way our `border` utilities only
381 | * need to set the `border-width` property instead of the entire `border`
382 | * shorthand, making our border utilities much more straightforward to compose.
383 | *
384 | * https://github.com/tailwindcss/tailwindcss/pull/116
385 | */
386 |
387 | *,
388 | ::before,
389 | ::after {
390 | box-sizing: border-box;
391 | /* 1 */
392 | border-width: 0;
393 | /* 2 */
394 | border-style: solid;
395 | /* 2 */
396 | border-color: currentColor;
397 | /* 2 */
398 | }
399 |
400 | /*
401 | * Ensure horizontal rules are visible by default
402 | */
403 |
404 | hr {
405 | border-top-width: 1px;
406 | }
407 |
408 | /**
409 | * Undo the `border-style: none` reset that Normalize applies to images so that
410 | * our `border-{width}` utilities have the expected effect.
411 | *
412 | * The Normalize reset is unnecessary for us since we default the border-width
413 | * to 0 on all elements.
414 | *
415 | * https://github.com/tailwindcss/tailwindcss/issues/362
416 | */
417 |
418 | img {
419 | border-style: solid;
420 | }
421 |
422 | textarea {
423 | resize: vertical;
424 | }
425 |
426 | input::-moz-placeholder, textarea::-moz-placeholder {
427 | opacity: 1;
428 | color: #9ca3af;
429 | }
430 |
431 | input:-ms-input-placeholder, textarea:-ms-input-placeholder {
432 | opacity: 1;
433 | color: #9ca3af;
434 | }
435 |
436 | input::placeholder,
437 | textarea::placeholder {
438 | opacity: 1;
439 | color: #9ca3af;
440 | }
441 |
442 | button,
443 | [role="button"] {
444 | cursor: pointer;
445 | }
446 |
447 | table {
448 | border-collapse: collapse;
449 | }
450 |
451 | h1,
452 | h2,
453 | h3,
454 | h4,
455 | h5,
456 | h6 {
457 | font-size: inherit;
458 | font-weight: inherit;
459 | }
460 |
461 | /**
462 | * Reset links to optimize for opt-in styling instead of
463 | * opt-out.
464 | */
465 |
466 | a {
467 | color: inherit;
468 | text-decoration: inherit;
469 | }
470 |
471 | /**
472 | * Reset form element properties that are easy to forget to
473 | * style explicitly so you don't inadvertently introduce
474 | * styles that deviate from your design system. These styles
475 | * supplement a partial reset that is already applied by
476 | * normalize.css.
477 | */
478 |
479 | button,
480 | input,
481 | optgroup,
482 | select,
483 | textarea {
484 | padding: 0;
485 | line-height: inherit;
486 | color: inherit;
487 | }
488 |
489 | /**
490 | * Use the configured 'mono' font family for elements that
491 | * are expected to be rendered with a monospace font, falling
492 | * back to the system monospace stack if there is no configured
493 | * 'mono' font family.
494 | */
495 |
496 | pre,
497 | code,
498 | kbd,
499 | samp {
500 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
501 | }
502 |
503 | /**
504 | * 1. Make replaced elements `display: block` by default as that's
505 | * the behavior you want almost all of the time. Inspired by
506 | * CSS Remedy, with `svg` added as well.
507 | *
508 | * https://github.com/mozdevs/cssremedy/issues/14
509 | *
510 | * 2. Add `vertical-align: middle` to align replaced elements more
511 | * sensibly by default when overriding `display` by adding a
512 | * utility like `inline`.
513 | *
514 | * This can trigger a poorly considered linting error in some
515 | * tools but is included by design.
516 | *
517 | * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
518 | */
519 |
520 | img,
521 | svg,
522 | video,
523 | canvas,
524 | audio,
525 | iframe,
526 | embed,
527 | object {
528 | display: block;
529 | /* 1 */
530 | vertical-align: middle;
531 | /* 2 */
532 | }
533 |
534 | /**
535 | * Constrain images and videos to the parent width and preserve
536 | * their intrinsic aspect ratio.
537 | *
538 | * https://github.com/mozdevs/cssremedy/issues/14
539 | */
540 |
541 | img,
542 | video {
543 | max-width: 100%;
544 | height: auto;
545 | }
546 |
547 | /**
548 | * Ensure the default browser behavior of the `hidden` attribute.
549 | */
550 |
551 | [hidden] {
552 | display: none;
553 | }
554 |
555 | *, ::before, ::after {
556 | --tw-border-opacity: 1;
557 | border-color: rgba(229, 231, 235, var(--tw-border-opacity));
558 | }
559 |
560 | * {
561 | scrollbar-color: initial;
562 | scrollbar-width: initial;
563 | }
564 |
565 | .container {
566 | width: 100%;
567 | }
568 |
569 | @media (min-width: 640px) {
570 | .container {
571 | max-width: 640px;
572 | }
573 | }
574 |
575 | @media (min-width: 768px) {
576 | .container {
577 | max-width: 768px;
578 | }
579 | }
580 |
581 | @media (min-width: 1024px) {
582 | .container {
583 | max-width: 1024px;
584 | }
585 | }
586 |
587 | @media (min-width: 1280px) {
588 | .container {
589 | max-width: 1280px;
590 | }
591 | }
592 |
593 | @media (min-width: 1536px) {
594 | .container {
595 | max-width: 1536px;
596 | }
597 | }
598 |
599 | .fixed {
600 | position: fixed;
601 | }
602 |
603 | .sticky {
604 | position: sticky;
605 | }
606 |
607 | .top-0 {
608 | top: 0px;
609 | }
610 |
611 | .z-10 {
612 | z-index: 10;
613 | }
614 |
615 | .mx-auto {
616 | margin-left: auto;
617 | margin-right: auto;
618 | }
619 |
620 | .mt-1 {
621 | margin-top: 0.25rem;
622 | }
623 |
624 | .mt-3 {
625 | margin-top: 0.75rem;
626 | }
627 |
628 | .mt-5 {
629 | margin-top: 1.25rem;
630 | }
631 |
632 | .mt-8 {
633 | margin-top: 2rem;
634 | }
635 |
636 | .mt-14 {
637 | margin-top: 3.5rem;
638 | }
639 |
640 | .mt-1\.5 {
641 | margin-top: 0.375rem;
642 | }
643 |
644 | .mr-3 {
645 | margin-right: 0.75rem;
646 | }
647 |
648 | .mb-8 {
649 | margin-bottom: 2rem;
650 | }
651 |
652 | .ml-2 {
653 | margin-left: 0.5rem;
654 | }
655 |
656 | .ml-6 {
657 | margin-left: 1.5rem;
658 | }
659 |
660 | .ml-16 {
661 | margin-left: 4rem;
662 | }
663 |
664 | .flex {
665 | display: flex;
666 | }
667 |
668 | .table {
669 | display: table;
670 | }
671 |
672 | .hidden {
673 | display: none;
674 | }
675 |
676 | .h-3 {
677 | height: 0.75rem;
678 | }
679 |
680 | .h-6 {
681 | height: 1.5rem;
682 | }
683 |
684 | .h-9 {
685 | height: 2.25rem;
686 | }
687 |
688 | .h-11 {
689 | height: 2.75rem;
690 | }
691 |
692 | .h-14 {
693 | height: 3.5rem;
694 | }
695 |
696 | .h-3\.5 {
697 | height: 0.875rem;
698 | }
699 |
700 | .h-full {
701 | height: 100%;
702 | }
703 |
704 | .w-3 {
705 | width: 0.75rem;
706 | }
707 |
708 | .w-6 {
709 | width: 1.5rem;
710 | }
711 |
712 | .w-9 {
713 | width: 2.25rem;
714 | }
715 |
716 | .w-11 {
717 | width: 2.75rem;
718 | }
719 |
720 | .w-14 {
721 | width: 3.5rem;
722 | }
723 |
724 | .w-16 {
725 | width: 4rem;
726 | }
727 |
728 | .w-3\.5 {
729 | width: 0.875rem;
730 | }
731 |
732 | .w-3\/12 {
733 | width: 25%;
734 | }
735 |
736 | .w-full {
737 | width: 100%;
738 | }
739 |
740 | .flex-auto {
741 | flex: 1 1 auto;
742 | }
743 |
744 | @-webkit-keyframes spin {
745 | to {
746 | transform: rotate(360deg);
747 | }
748 | }
749 |
750 | @keyframes spin {
751 | to {
752 | transform: rotate(360deg);
753 | }
754 | }
755 |
756 | @-webkit-keyframes ping {
757 | 75%, 100% {
758 | transform: scale(2);
759 | opacity: 0;
760 | }
761 | }
762 |
763 | @keyframes ping {
764 | 75%, 100% {
765 | transform: scale(2);
766 | opacity: 0;
767 | }
768 | }
769 |
770 | @-webkit-keyframes pulse {
771 | 50% {
772 | opacity: .5;
773 | }
774 | }
775 |
776 | @keyframes pulse {
777 | 50% {
778 | opacity: .5;
779 | }
780 | }
781 |
782 | @-webkit-keyframes bounce {
783 | 0%, 100% {
784 | transform: translateY(-25%);
785 | -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
786 | animation-timing-function: cubic-bezier(0.8,0,1,1);
787 | }
788 |
789 | 50% {
790 | transform: none;
791 | -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
792 | animation-timing-function: cubic-bezier(0,0,0.2,1);
793 | }
794 | }
795 |
796 | @keyframes bounce {
797 | 0%, 100% {
798 | transform: translateY(-25%);
799 | -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
800 | animation-timing-function: cubic-bezier(0.8,0,1,1);
801 | }
802 |
803 | 50% {
804 | transform: none;
805 | -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
806 | animation-timing-function: cubic-bezier(0,0,0.2,1);
807 | }
808 | }
809 |
810 | .cursor-pointer {
811 | cursor: pointer;
812 | }
813 |
814 | .flex-row {
815 | flex-direction: row;
816 | }
817 |
818 | .flex-col {
819 | flex-direction: column;
820 | }
821 |
822 | .items-center {
823 | align-items: center;
824 | }
825 |
826 | .justify-center {
827 | justify-content: center;
828 | }
829 |
830 | .justify-between {
831 | justify-content: space-between;
832 | }
833 |
834 | .space-x-1 > :not([hidden]) ~ :not([hidden]) {
835 | --tw-space-x-reverse: 0;
836 | margin-right: calc(0.25rem * var(--tw-space-x-reverse));
837 | margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
838 | }
839 |
840 | .space-x-3 > :not([hidden]) ~ :not([hidden]) {
841 | --tw-space-x-reverse: 0;
842 | margin-right: calc(0.75rem * var(--tw-space-x-reverse));
843 | margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse)));
844 | }
845 |
846 | .space-x-4 > :not([hidden]) ~ :not([hidden]) {
847 | --tw-space-x-reverse: 0;
848 | margin-right: calc(1rem * var(--tw-space-x-reverse));
849 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
850 | }
851 |
852 | .space-x-5 > :not([hidden]) ~ :not([hidden]) {
853 | --tw-space-x-reverse: 0;
854 | margin-right: calc(1.25rem * var(--tw-space-x-reverse));
855 | margin-left: calc(1.25rem * calc(1 - var(--tw-space-x-reverse)));
856 | }
857 |
858 | .space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
859 | --tw-space-x-reverse: 0;
860 | margin-right: calc(0.375rem * var(--tw-space-x-reverse));
861 | margin-left: calc(0.375rem * calc(1 - var(--tw-space-x-reverse)));
862 | }
863 |
864 | .space-y-0 > :not([hidden]) ~ :not([hidden]) {
865 | --tw-space-y-reverse: 0;
866 | margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse)));
867 | margin-bottom: calc(0px * var(--tw-space-y-reverse));
868 | }
869 |
870 | .space-y-1 > :not([hidden]) ~ :not([hidden]) {
871 | --tw-space-y-reverse: 0;
872 | margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
873 | margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
874 | }
875 |
876 | .space-y-3 > :not([hidden]) ~ :not([hidden]) {
877 | --tw-space-y-reverse: 0;
878 | margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
879 | margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
880 | }
881 |
882 | .space-y-6 > :not([hidden]) ~ :not([hidden]) {
883 | --tw-space-y-reverse: 0;
884 | margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
885 | margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
886 | }
887 |
888 | .space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
889 | --tw-space-y-reverse: 0;
890 | margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
891 | margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
892 | }
893 |
894 | .space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
895 | --tw-space-y-reverse: 0;
896 | margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
897 | margin-bottom: calc(0.875rem * var(--tw-space-y-reverse));
898 | }
899 |
900 | .rounded {
901 | border-radius: 0.25rem;
902 | }
903 |
904 | .rounded-full {
905 | border-radius: 9999px;
906 | }
907 |
908 | .border-2 {
909 | border-width: 2px;
910 | }
911 |
912 | .border {
913 | border-width: 1px;
914 | }
915 |
916 | .border-b {
917 | border-bottom-width: 1px;
918 | }
919 |
920 | .border-none {
921 | border-style: none;
922 | }
923 |
924 | .border-gray-300 {
925 | --tw-border-opacity: 1;
926 | border-color: rgba(209, 213, 219, var(--tw-border-opacity));
927 | }
928 |
929 | .border-red-500 {
930 | --tw-border-opacity: 1;
931 | border-color: rgba(239, 68, 68, var(--tw-border-opacity));
932 | }
933 |
934 | .border-red-600 {
935 | --tw-border-opacity: 1;
936 | border-color: rgba(220, 38, 38, var(--tw-border-opacity));
937 | }
938 |
939 | .bg-transparent {
940 | background-color: transparent;
941 | }
942 |
943 | .bg-white {
944 | --tw-bg-opacity: 1;
945 | background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
946 | }
947 |
948 | .bg-gray-50 {
949 | --tw-bg-opacity: 1;
950 | background-color: rgba(249, 250, 251, var(--tw-bg-opacity));
951 | }
952 |
953 | .bg-gray-100 {
954 | --tw-bg-opacity: 1;
955 | background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
956 | }
957 |
958 | .object-contain {
959 | -o-object-fit: contain;
960 | object-fit: contain;
961 | }
962 |
963 | .object-cover {
964 | -o-object-fit: cover;
965 | object-fit: cover;
966 | }
967 |
968 | .object-center {
969 | -o-object-position: center;
970 | object-position: center;
971 | }
972 |
973 | .p-0 {
974 | padding: 0px;
975 | }
976 |
977 | .p-2 {
978 | padding: 0.5rem;
979 | }
980 |
981 | .p-3 {
982 | padding: 0.75rem;
983 | }
984 |
985 | .p-0\.5 {
986 | padding: 0.125rem;
987 | }
988 |
989 | .px-3 {
990 | padding-left: 0.75rem;
991 | padding-right: 0.75rem;
992 | }
993 |
994 | .px-3\.5 {
995 | padding-left: 0.875rem;
996 | padding-right: 0.875rem;
997 | }
998 |
999 | .py-1 {
1000 | padding-top: 0.25rem;
1001 | padding-bottom: 0.25rem;
1002 | }
1003 |
1004 | .py-2 {
1005 | padding-top: 0.5rem;
1006 | padding-bottom: 0.5rem;
1007 | }
1008 |
1009 | .pb-2 {
1010 | padding-bottom: 0.5rem;
1011 | }
1012 |
1013 | .text-xs {
1014 | font-size: 0.75rem;
1015 | line-height: 1rem;
1016 | }
1017 |
1018 | .text-sm {
1019 | font-size: 0.875rem;
1020 | line-height: 1.25rem;
1021 | }
1022 |
1023 | .font-semibold {
1024 | font-weight: 600;
1025 | }
1026 |
1027 | .text-black {
1028 | --tw-text-opacity: 1;
1029 | color: rgba(0, 0, 0, var(--tw-text-opacity));
1030 | }
1031 |
1032 | .text-gray-400 {
1033 | --tw-text-opacity: 1;
1034 | color: rgba(156, 163, 175, var(--tw-text-opacity));
1035 | }
1036 |
1037 | .text-gray-500 {
1038 | --tw-text-opacity: 1;
1039 | color: rgba(107, 114, 128, var(--tw-text-opacity));
1040 | }
1041 |
1042 | .text-blue-500 {
1043 | --tw-text-opacity: 1;
1044 | color: rgba(59, 130, 246, var(--tw-text-opacity));
1045 | }
1046 |
1047 | .text-blue-600 {
1048 | --tw-text-opacity: 1;
1049 | color: rgba(37, 99, 235, var(--tw-text-opacity));
1050 | }
1051 |
1052 | .hover\:underline:hover {
1053 | text-decoration: underline;
1054 | }
1055 |
1056 | *, ::before, ::after {
1057 | --tw-shadow: 0 0 #0000;
1058 | }
1059 |
1060 | .outline-none {
1061 | outline: 2px solid transparent;
1062 | outline-offset: 2px;
1063 | }
1064 |
1065 | *, ::before, ::after {
1066 | --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
1067 | --tw-ring-offset-width: 0px;
1068 | --tw-ring-offset-color: #fff;
1069 | --tw-ring-color: rgba(59, 130, 246, 0.5);
1070 | --tw-ring-offset-shadow: 0 0 #0000;
1071 | --tw-ring-shadow: 0 0 #0000;
1072 | }
1073 |
1074 | .stories-container {
1075 | display: flex;
1076 | width: 100%;
1077 | flex: 1 1 auto;
1078 | overflow-x: auto;
1079 | border-radius: 0.25rem;
1080 | border-width: 1px;
1081 | --tw-bg-opacity: 1;
1082 | background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
1083 | padding-left: 0.5rem;
1084 | padding-right: 0.5rem;
1085 | padding-top: 1rem;
1086 | padding-bottom: 1rem;
1087 | scrollbar-width: none;
1088 | }
1089 |
1090 | .stories-container::-webkit-scrollbar {
1091 | display: none;
1092 | }
1093 |
1094 | .sidebar {
1095 | position: fixed;
1096 | margin: 2rem;
1097 | display: none;
1098 | height: 100%;
1099 | width: 25%;
1100 | flex: 1 1 auto;
1101 | flex-direction: column;
1102 | }
1103 |
1104 | @media (min-width: 1024px) {
1105 | .sidebar {
1106 | right: 8rem;
1107 | display: flex;
1108 | }
1109 | }
1110 |
1111 | @media (min-width: 1280px) {
1112 | .sidebar {
1113 | right: 10rem;
1114 | }
1115 | }
1116 |
1117 | .posts-container {
1118 | margin-top: 0.25rem;
1119 | display: flex;
1120 | height: 100%;
1121 | width: 100%;
1122 | flex-direction: column;
1123 | }
1124 |
1125 | .posts-container > :not([hidden]) ~ :not([hidden]) {
1126 | --tw-space-y-reverse: 0;
1127 | margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
1128 | margin-bottom: calc(1rem * var(--tw-space-y-reverse));
1129 | }
1130 |
1131 | @media (min-width: 640px) {
1132 | .posts-container {
1133 | margin-top: 1.5rem;
1134 | }
1135 | }
1136 |
1137 | @media (min-width: 640px) {
1138 | .sm\:mt-6 {
1139 | margin-top: 1.5rem;
1140 | }
1141 |
1142 | .sm\:flex {
1143 | display: flex;
1144 | }
1145 |
1146 | .sm\:w-full {
1147 | width: 100%;
1148 | }
1149 |
1150 | .sm\:px-4 {
1151 | padding-left: 1rem;
1152 | padding-right: 1rem;
1153 | }
1154 |
1155 | .sm\:px-8 {
1156 | padding-left: 2rem;
1157 | padding-right: 2rem;
1158 | }
1159 |
1160 | .sm\:py-2 {
1161 | padding-top: 0.5rem;
1162 | padding-bottom: 0.5rem;
1163 | }
1164 | }
1165 |
1166 | @media (min-width: 768px) {
1167 | .md\:w-4\/5 {
1168 | width: 80%;
1169 | }
1170 |
1171 | .md\:w-full {
1172 | width: 100%;
1173 | }
1174 |
1175 | .md\:px-6 {
1176 | padding-left: 1.5rem;
1177 | padding-right: 1.5rem;
1178 | }
1179 |
1180 | .md\:py-2 {
1181 | padding-top: 0.5rem;
1182 | padding-bottom: 0.5rem;
1183 | }
1184 | }
1185 |
1186 | @media (min-width: 1024px) {
1187 | .lg\:w-2\/3 {
1188 | width: 66.666667%;
1189 | }
1190 |
1191 | .lg\:w-3\/4 {
1192 | width: 75%;
1193 | }
1194 | }
1195 |
1196 | @media (min-width: 1280px) {
1197 | .xl\:w-9\/12 {
1198 | width: 75%;
1199 | }
1200 |
1201 | .xl\:px-8 {
1202 | padding-left: 2rem;
1203 | padding-right: 2rem;
1204 | }
1205 |
1206 | .xl\:py-2 {
1207 | padding-top: 0.5rem;
1208 | padding-bottom: 0.5rem;
1209 | }
1210 |
1211 | .xl\:py-2\.5 {
1212 | padding-top: 0.625rem;
1213 | padding-bottom: 0.625rem;
1214 | }
1215 | }
1216 |
1217 | @media (min-width: 1536px) {
1218 | }
--------------------------------------------------------------------------------
/Instagram/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Instagram
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
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 |
jhon_doe
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
jhon_doe
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
jhon_doe
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
jhon_doe
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
jhon_doe
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
jhon_doe
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
jhon_doe
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
jhon_doe
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
jhon_doe
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
jhon_doe
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
jhon_doe
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
jhon_doe
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
jhon_doe
153 |
154 |
155 |
156 |
157 |
158 |
159 |
160 |
jhon_doe
161 |
162 |
163 |
164 |
165 |
166 |
167 |
168 |
jhon_doe
169 |
170 |
171 |
172 |
173 |
174 |
175 |
176 |
jhon_doe
177 |
178 |
179 |
180 |
181 |
182 |
183 |
184 |
185 |
186 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
383 |
384 |
385 |
386 |
387 |
388 |
389 |
--------------------------------------------------------------------------------
/Instagram/src/style.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | .stories-container {
6 | @apply w-full bg-white py-4 px-2 flex flex-auto overflow-x-auto scrollbar-none border rounded;
7 | }
8 | .sidebar {
9 | @apply fixed lg:right-32 xl:right-40 w-3/12 h-full hidden lg:flex flex-col flex-auto m-8;
10 | }
11 | .posts-container {
12 | @apply w-full h-full mt-1 sm:mt-6 flex flex-col space-y-4;
13 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## 🚀 Web UI Clones
2 |
3 |
4 |
5 | Website UI Clones using TailwindCSS
6 |
7 | - [x] **WhatsApp Web**
8 | - [x] **YouTube**
9 | - [x] **Instagram**
10 | - [x] **Sololearn**
11 | - [x] **Flipkart**
12 | - [ ] Telegram
13 | - [ ] Netflix
14 |
15 | ## 🧑💻 Tech Stack
16 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=html)
17 | 
18 | 
19 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=javascript)
20 | 
21 | 
22 | [](https://youtubewebui.netlify.app)
23 |
24 |
25 |
26 | ## 📌Contributing Guidelines :
27 |
28 | **1.** Fork [this](https://github.com/jigar-sable/web-ui-clones) repository.
29 |
30 | **2.** Clone your forked copy of the project.
31 |
32 | ```
33 | git clone https://github.com//web-ui-clones.git
34 | ```
35 |
36 | **3.** Add a reference(remote) to the original repository.
37 |
38 | ```
39 | git remote add upstream https://github.com/jigar-sable/web-ui-clones.git
40 | ```
41 |
42 | **4.** Check the remotes for this repository.
43 |
44 | ```
45 | git remote -v
46 | ```
47 |
48 | **5.** Always take a pull from the upstream repository to your master branch to keep it as per with the main project(updated repository).
49 |
50 | ```
51 | git pull upstream main
52 | ```
53 |
54 | **6.** Create a new branch.
55 |
56 | ```
57 | git checkout -b
58 | ```
59 |
60 | **7.** Perfom your desired changes to the code base.
61 |
62 |
63 |
64 | **8.** Track your changes:heavy_check_mark:
65 |
66 | ```
67 | git add .
68 | ```
69 |
70 | **9.** Commit your changes .
71 |
72 | ```
73 | git commit -m "Relevant message"
74 | ```
75 |
76 | **10.** Push the committed changes in your feature branch to your remote repo.
77 |
78 | ```
79 | git push -u origin
80 | ```
81 |
82 | **11.** To create a pull request, click on `compare and pull requests`. Please ensure you compare your feature branch to the desired branch of the repo you are suppose to make a PR to.
83 |
84 | **12.** Add appropriate title and description to your pull request explaining your changes and efforts done. Always make sure you have pulled the latest code from the master branch before making a PR.
85 |
86 | **13.** Click on `Create Pull Request`.
87 |
88 | **14.** Hurray❗You have created a PR to Web UI Clones Website💥 Sit back patiently and relax till then the project maintainers will review your PR. Please understand, there will be some time taken to review a PR and can vary from a few hours to a few days too so be Patient and keep contributing.
89 |
90 | Hurray! You successfully made a contribution!
91 |
92 | ## 😎 Maintainer
93 |
94 |
95 |
96 |
97 |
98 |
99 | Jigar Sable
100 |
101 | LinkedIn
102 | Github
103 |
104 |
105 |
106 |
107 | ## ✨ Our Valuable Contributors
108 |
109 |
110 |
111 |
112 |
113 | 📬 Contact
114 |
115 | If you want to contact me, you can reach me through below handles.
116 |
117 | [](https://www.linkedin.com/in/jigar-sable)
118 |
119 | ## 👨💻 Happy Coding!
120 |
121 | [](https://forthebadge.com)
122 | [](https://forthebadge.com)
123 |
--------------------------------------------------------------------------------
/Sololearn/README.md:
--------------------------------------------------------------------------------
1 | ## Sololearn UI Clone
2 | Sololearn UI Clones using TailwindCSS ⚡
3 |
4 | ### **Visit Now 🚀**
5 |
6 | ## Tech Stack :
7 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=html)
8 | 
9 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=javascript)
10 | 
11 | [](https://instagramwebui.netlify.app)
12 |
13 | ## Sneak Peek of Site 🙈 :
14 | 
15 |
16 |
17 | [](https://forthebadge.com)
18 |
19 |
20 |
--------------------------------------------------------------------------------
/Sololearn/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "sololearn-ui-clone",
3 | "version": "1.0.0",
4 | "description": "Sololearn UI Clone",
5 | "main": "index.js",
6 | "dependencies": {
7 | "tailwindcss": "^2.2.7",
8 | "win-node-env": "^0.4.0"
9 | },
10 | "devDependencies": {},
11 | "scripts": {
12 | "build:css": "tailwind build -i src/style.css -o public/assets/style.css",
13 | "prod": "NODE_ENV=production tailwind build -i src/style.css -o public/assets/style.css"
14 | },
15 | "author": "Jigar Sable",
16 | "license": "ISC"
17 | }
18 |
--------------------------------------------------------------------------------
/Sololearn/public/assets/courses.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": 1,
4 | "title": "Python Core",
5 | "learners": "7.3M"
6 | },
7 | {
8 | "id": 2,
9 | "title": "C++",
10 | "learners": "6.1M"
11 | },
12 | {
13 | "id": 3,
14 | "title": "Java",
15 | "learners": "4.8M"
16 | },
17 | {
18 | "id": 4,
19 | "title": "C#",
20 | "learners": "2.7M"
21 | },
22 | {
23 | "id": 5,
24 | "title": "JavaScript",
25 | "learners": "3.6M"
26 | },
27 | {
28 | "id": 6,
29 | "title": "HTML",
30 | "learners": "7.8M"
31 | },
32 | {
33 | "id": 7,
34 | "title": "CSS",
35 | "learners": "1.9M"
36 | },
37 | {
38 | "id": 8,
39 | "title": "Responsive Web Design",
40 | "learners": "77.3K"
41 | },
42 | {
43 | "id": 9,
44 | "title": "Python for Beginners",
45 | "learners": "423.7K"
46 | },
47 | {
48 | "id": 10,
49 | "title": "Python for Data Science",
50 | "learners": "63.1K"
51 | },
52 | {
53 | "id": 11,
54 | "title": "SQL",
55 | "learners": "2.6M"
56 | },
57 | {
58 | "id": 12,
59 | "title": "Data Science",
60 | "learners": "633.9K"
61 | },
62 | {
63 | "id": 13,
64 | "title": "Machine Learning",
65 | "learners": "764.6K"
66 | },
67 | {
68 | "id": 14,
69 | "title": "React + Redux",
70 | "learners": "152.9K"
71 | },
72 | {
73 | "id": 15,
74 | "title": "Angular + NestJS",
75 | "learners": "112.6K"
76 | },
77 | {
78 | "id": 16,
79 | "title": "Intermediate Python",
80 | "learners": "141.6K"
81 | },
82 | {
83 | "id": 17,
84 | "title": "Kotlin",
85 | "learners": "58.7K"
86 | },
87 | {
88 | "id": 18,
89 | "title": "Go",
90 | "learners": "32.1K"
91 | },
92 | {
93 | "id": 19,
94 | "title": "C",
95 | "learners": "917.0K"
96 | },
97 | {
98 | "id": 20,
99 | "title": "Python Data Structures",
100 | "learners": "124.5K"
101 | },
102 | {
103 | "id": 21,
104 | "title": "PHP",
105 | "learners": "1.9M"
106 | },
107 | {
108 | "id": 22,
109 | "title": "Ruby",
110 | "learners": "599.0K"
111 | },
112 | {
113 | "id": 23,
114 | "title": "Swift 4",
115 | "learners": "621.7K"
116 | },
117 | {
118 | "id": 24,
119 | "title": "jQuery",
120 | "learners": "616.0K"
121 | },
122 | {
123 | "id": 25,
124 | "title": "Coding for Marketers",
125 | "learners": "20.2K"
126 | }
127 | ]
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/1.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/10.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/11.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/12.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/13.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/14.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/15.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/16.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/17.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/18.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/19.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/2.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/20.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/21.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/22.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/23.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/24.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/25.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/3.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/4.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/5.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/6.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/7.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/8.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/courses/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/courses/9.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/favicon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Sololearn/public/assets/images/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/Sololearn/public/assets/images/hero.png
--------------------------------------------------------------------------------
/Sololearn/public/assets/script.js:
--------------------------------------------------------------------------------
1 | const menuBtn = document.getElementById('menuBtn');
2 | const mobMenu = document.getElementById('mobMenu');
3 | menuBtn.addEventListener('click', () => {
4 | mobMenu.classList.toggle("hidden");
5 | })
6 |
7 |
8 | let coursesContainer = document.getElementById('course-container');
9 | let courseCard = "";
10 |
11 | fetch("assets/courses.json")
12 | .then(response => response.json())
13 | .then(courses => {
14 | console.log(courses);
15 |
16 | courses.forEach(course => {
17 | courseCard += `
18 | `
25 | });
26 | coursesContainer.innerHTML = courseCard;
27 | })
--------------------------------------------------------------------------------
/Sololearn/public/assets/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@200;300;400;500;600;700&display=swap');
2 |
3 | /*! tailwindcss v2.2.7 | MIT License | https://tailwindcss.com */
4 |
5 | /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
6 |
7 | /*
8 | Document
9 | ========
10 | */
11 |
12 | /**
13 | Use a better box model (opinionated).
14 | */
15 |
16 | *,
17 | ::before,
18 | ::after {
19 | box-sizing: border-box;
20 | }
21 |
22 | /**
23 | Use a more readable tab size (opinionated).
24 | */
25 |
26 | html {
27 | -moz-tab-size: 4;
28 | -o-tab-size: 4;
29 | tab-size: 4;
30 | }
31 |
32 | /**
33 | 1. Correct the line height in all browsers.
34 | 2. Prevent adjustments of font size after orientation changes in iOS.
35 | */
36 |
37 | html {
38 | line-height: 1.15;
39 | /* 1 */
40 | -webkit-text-size-adjust: 100%;
41 | /* 2 */
42 | }
43 |
44 | /*
45 | Sections
46 | ========
47 | */
48 |
49 | /**
50 | Remove the margin in all browsers.
51 | */
52 |
53 | body {
54 | margin: 0;
55 | }
56 |
57 | /**
58 | Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
59 | */
60 |
61 | body {
62 | font-family:
63 | system-ui,
64 | -apple-system, /* Firefox supports this but not yet `system-ui` */
65 | 'Segoe UI',
66 | Roboto,
67 | Helvetica,
68 | Arial,
69 | sans-serif,
70 | 'Apple Color Emoji',
71 | 'Segoe UI Emoji';
72 | }
73 |
74 | /*
75 | Grouping content
76 | ================
77 | */
78 |
79 | /**
80 | 1. Add the correct height in Firefox.
81 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
82 | */
83 |
84 | hr {
85 | height: 0;
86 | /* 1 */
87 | color: inherit;
88 | /* 2 */
89 | }
90 |
91 | /*
92 | Text-level semantics
93 | ====================
94 | */
95 |
96 | /**
97 | Add the correct text decoration in Chrome, Edge, and Safari.
98 | */
99 |
100 | abbr[title] {
101 | -webkit-text-decoration: underline dotted;
102 | text-decoration: underline dotted;
103 | }
104 |
105 | /**
106 | Add the correct font weight in Edge and Safari.
107 | */
108 |
109 | b,
110 | strong {
111 | font-weight: bolder;
112 | }
113 |
114 | /**
115 | 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
116 | 2. Correct the odd 'em' font sizing in all browsers.
117 | */
118 |
119 | code,
120 | kbd,
121 | samp,
122 | pre {
123 | font-family:
124 | ui-monospace,
125 | SFMono-Regular,
126 | Consolas,
127 | 'Liberation Mono',
128 | Menlo,
129 | monospace;
130 | /* 1 */
131 | font-size: 1em;
132 | /* 2 */
133 | }
134 |
135 | /**
136 | Add the correct font size in all browsers.
137 | */
138 |
139 | small {
140 | font-size: 80%;
141 | }
142 |
143 | /**
144 | Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
145 | */
146 |
147 | sub,
148 | sup {
149 | font-size: 75%;
150 | line-height: 0;
151 | position: relative;
152 | vertical-align: baseline;
153 | }
154 |
155 | sub {
156 | bottom: -0.25em;
157 | }
158 |
159 | sup {
160 | top: -0.5em;
161 | }
162 |
163 | /*
164 | Tabular data
165 | ============
166 | */
167 |
168 | /**
169 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
170 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
171 | */
172 |
173 | table {
174 | text-indent: 0;
175 | /* 1 */
176 | border-color: inherit;
177 | /* 2 */
178 | }
179 |
180 | /*
181 | Forms
182 | =====
183 | */
184 |
185 | /**
186 | 1. Change the font styles in all browsers.
187 | 2. Remove the margin in Firefox and Safari.
188 | */
189 |
190 | button,
191 | input,
192 | optgroup,
193 | select,
194 | textarea {
195 | font-family: inherit;
196 | /* 1 */
197 | font-size: 100%;
198 | /* 1 */
199 | line-height: 1.15;
200 | /* 1 */
201 | margin: 0;
202 | /* 2 */
203 | }
204 |
205 | /**
206 | Remove the inheritance of text transform in Edge and Firefox.
207 | 1. Remove the inheritance of text transform in Firefox.
208 | */
209 |
210 | button,
211 | select {
212 | /* 1 */
213 | text-transform: none;
214 | }
215 |
216 | /**
217 | Correct the inability to style clickable types in iOS and Safari.
218 | */
219 |
220 | button,
221 | [type='button'] {
222 | -webkit-appearance: button;
223 | }
224 |
225 | /**
226 | Remove the inner border and padding in Firefox.
227 | */
228 |
229 | /**
230 | Restore the focus styles unset by the previous rule.
231 | */
232 |
233 | /**
234 | Remove the additional ':invalid' styles in Firefox.
235 | See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
236 | */
237 |
238 | /**
239 | Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
240 | */
241 |
242 | legend {
243 | padding: 0;
244 | }
245 |
246 | /**
247 | Add the correct vertical alignment in Chrome and Firefox.
248 | */
249 |
250 | progress {
251 | vertical-align: baseline;
252 | }
253 |
254 | /**
255 | Correct the cursor style of increment and decrement buttons in Safari.
256 | */
257 |
258 | /**
259 | 1. Correct the odd appearance in Chrome and Safari.
260 | 2. Correct the outline style in Safari.
261 | */
262 |
263 | /**
264 | Remove the inner padding in Chrome and Safari on macOS.
265 | */
266 |
267 | /**
268 | 1. Correct the inability to style clickable types in iOS and Safari.
269 | 2. Change font properties to 'inherit' in Safari.
270 | */
271 |
272 | /*
273 | Interactive
274 | ===========
275 | */
276 |
277 | /*
278 | Add the correct display in Chrome and Safari.
279 | */
280 |
281 | summary {
282 | display: list-item;
283 | }
284 |
285 | /**
286 | * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
287 | * A thin layer on top of normalize.css that provides a starting point more
288 | * suitable for web applications.
289 | */
290 |
291 | /**
292 | * Removes the default spacing and border for appropriate elements.
293 | */
294 |
295 | blockquote,
296 | dl,
297 | dd,
298 | h1,
299 | h2,
300 | h3,
301 | h4,
302 | h5,
303 | h6,
304 | hr,
305 | figure,
306 | p,
307 | pre {
308 | margin: 0;
309 | }
310 |
311 | button {
312 | background-color: transparent;
313 | background-image: none;
314 | }
315 |
316 | fieldset {
317 | margin: 0;
318 | padding: 0;
319 | }
320 |
321 | ol,
322 | ul {
323 | list-style: none;
324 | margin: 0;
325 | padding: 0;
326 | }
327 |
328 | /**
329 | * Tailwind custom reset styles
330 | */
331 |
332 | /**
333 | * 1. Use the user's configured `sans` font-family (with Tailwind's default
334 | * sans-serif font stack as a fallback) as a sane default.
335 | * 2. Use Tailwind's default "normal" line-height so the user isn't forced
336 | * to override it to ensure consistency even when using the default theme.
337 | */
338 |
339 | html {
340 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
341 | /* 1 */
342 | line-height: 1.5;
343 | /* 2 */
344 | }
345 |
346 | /**
347 | * Inherit font-family and line-height from `html` so users can set them as
348 | * a class directly on the `html` element.
349 | */
350 |
351 | body {
352 | font-family: inherit;
353 | line-height: inherit;
354 | }
355 |
356 | /**
357 | * 1. Prevent padding and border from affecting element width.
358 | *
359 | * We used to set this in the html element and inherit from
360 | * the parent element for everything else. This caused issues
361 | * in shadow-dom-enhanced elements like where the content
362 | * is wrapped by a div with box-sizing set to `content-box`.
363 | *
364 | * https://github.com/mozdevs/cssremedy/issues/4
365 | *
366 | *
367 | * 2. Allow adding a border to an element by just adding a border-width.
368 | *
369 | * By default, the way the browser specifies that an element should have no
370 | * border is by setting it's border-style to `none` in the user-agent
371 | * stylesheet.
372 | *
373 | * In order to easily add borders to elements by just setting the `border-width`
374 | * property, we change the default border-style for all elements to `solid`, and
375 | * use border-width to hide them instead. This way our `border` utilities only
376 | * need to set the `border-width` property instead of the entire `border`
377 | * shorthand, making our border utilities much more straightforward to compose.
378 | *
379 | * https://github.com/tailwindcss/tailwindcss/pull/116
380 | */
381 |
382 | *,
383 | ::before,
384 | ::after {
385 | box-sizing: border-box;
386 | /* 1 */
387 | border-width: 0;
388 | /* 2 */
389 | border-style: solid;
390 | /* 2 */
391 | border-color: currentColor;
392 | /* 2 */
393 | }
394 |
395 | /*
396 | * Ensure horizontal rules are visible by default
397 | */
398 |
399 | hr {
400 | border-top-width: 1px;
401 | }
402 |
403 | /**
404 | * Undo the `border-style: none` reset that Normalize applies to images so that
405 | * our `border-{width}` utilities have the expected effect.
406 | *
407 | * The Normalize reset is unnecessary for us since we default the border-width
408 | * to 0 on all elements.
409 | *
410 | * https://github.com/tailwindcss/tailwindcss/issues/362
411 | */
412 |
413 | img {
414 | border-style: solid;
415 | }
416 |
417 | textarea {
418 | resize: vertical;
419 | }
420 |
421 | input::-moz-placeholder, textarea::-moz-placeholder {
422 | opacity: 1;
423 | color: #9ca3af;
424 | }
425 |
426 | input:-ms-input-placeholder, textarea:-ms-input-placeholder {
427 | opacity: 1;
428 | color: #9ca3af;
429 | }
430 |
431 | input::placeholder,
432 | textarea::placeholder {
433 | opacity: 1;
434 | color: #9ca3af;
435 | }
436 |
437 | button {
438 | cursor: pointer;
439 | }
440 |
441 | table {
442 | border-collapse: collapse;
443 | }
444 |
445 | h1,
446 | h2,
447 | h3,
448 | h4,
449 | h5,
450 | h6 {
451 | font-size: inherit;
452 | font-weight: inherit;
453 | }
454 |
455 | /**
456 | * Reset links to optimize for opt-in styling instead of
457 | * opt-out.
458 | */
459 |
460 | a {
461 | color: inherit;
462 | text-decoration: inherit;
463 | }
464 |
465 | /**
466 | * Reset form element properties that are easy to forget to
467 | * style explicitly so you don't inadvertently introduce
468 | * styles that deviate from your design system. These styles
469 | * supplement a partial reset that is already applied by
470 | * normalize.css.
471 | */
472 |
473 | button,
474 | input,
475 | optgroup,
476 | select,
477 | textarea {
478 | padding: 0;
479 | line-height: inherit;
480 | color: inherit;
481 | }
482 |
483 | /**
484 | * Use the configured 'mono' font family for elements that
485 | * are expected to be rendered with a monospace font, falling
486 | * back to the system monospace stack if there is no configured
487 | * 'mono' font family.
488 | */
489 |
490 | pre,
491 | code,
492 | kbd,
493 | samp {
494 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
495 | }
496 |
497 | /**
498 | * 1. Make replaced elements `display: block` by default as that's
499 | * the behavior you want almost all of the time. Inspired by
500 | * CSS Remedy, with `svg` added as well.
501 | *
502 | * https://github.com/mozdevs/cssremedy/issues/14
503 | *
504 | * 2. Add `vertical-align: middle` to align replaced elements more
505 | * sensibly by default when overriding `display` by adding a
506 | * utility like `inline`.
507 | *
508 | * This can trigger a poorly considered linting error in some
509 | * tools but is included by design.
510 | *
511 | * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
512 | */
513 |
514 | img,
515 | svg,
516 | video,
517 | canvas,
518 | audio,
519 | iframe,
520 | embed,
521 | object {
522 | display: block;
523 | /* 1 */
524 | vertical-align: middle;
525 | /* 2 */
526 | }
527 |
528 | /**
529 | * Constrain images and videos to the parent width and preserve
530 | * their intrinsic aspect ratio.
531 | *
532 | * https://github.com/mozdevs/cssremedy/issues/14
533 | */
534 |
535 | img,
536 | video {
537 | max-width: 100%;
538 | height: auto;
539 | }
540 |
541 | /**
542 | * Ensure the default browser behavior of the `hidden` attribute.
543 | */
544 |
545 | [hidden] {
546 | display: none;
547 | }
548 |
549 | *, ::before, ::after{
550 | --tw-border-opacity: 1;
551 | border-color: rgba(229, 231, 235, var(--tw-border-opacity));
552 | }
553 |
554 | .container{
555 | width: 100%;
556 | }
557 |
558 | @media (min-width: 640px){
559 | .container{
560 | max-width: 640px;
561 | }
562 | }
563 |
564 | @media (min-width: 768px){
565 | .container{
566 | max-width: 768px;
567 | }
568 | }
569 |
570 | @media (min-width: 1024px){
571 | .container{
572 | max-width: 1024px;
573 | }
574 | }
575 |
576 | @media (min-width: 1280px){
577 | .container{
578 | max-width: 1280px;
579 | }
580 | }
581 |
582 | @media (min-width: 1536px){
583 | .container{
584 | max-width: 1536px;
585 | }
586 | }
587 |
588 | .relative{
589 | position: relative;
590 | }
591 |
592 | .mx-auto{
593 | margin-left: auto;
594 | margin-right: auto;
595 | }
596 |
597 | .mt-8{
598 | margin-top: 2rem;
599 | }
600 |
601 | .flex{
602 | display: flex;
603 | }
604 |
605 | .table{
606 | display: table;
607 | }
608 |
609 | .hidden{
610 | display: none;
611 | }
612 |
613 | .h-5{
614 | height: 1.25rem;
615 | }
616 |
617 | .h-6{
618 | height: 1.5rem;
619 | }
620 |
621 | .h-8{
622 | height: 2rem;
623 | }
624 |
625 | .h-20{
626 | height: 5rem;
627 | }
628 |
629 | .h-full{
630 | height: 100%;
631 | }
632 |
633 | .w-5{
634 | width: 1.25rem;
635 | }
636 |
637 | .w-6{
638 | width: 1.5rem;
639 | }
640 |
641 | .w-8{
642 | width: 2rem;
643 | }
644 |
645 | .w-20{
646 | width: 5rem;
647 | }
648 |
649 | .w-2\/6{
650 | width: 33.333333%;
651 | }
652 |
653 | .w-full{
654 | width: 100%;
655 | }
656 |
657 | .flex-auto{
658 | flex: 1 1 auto;
659 | }
660 |
661 | .flex-grow-0{
662 | flex-grow: 0;
663 | }
664 |
665 | .transform{
666 | --tw-translate-x: 0;
667 | --tw-translate-y: 0;
668 | --tw-rotate: 0;
669 | --tw-skew-x: 0;
670 | --tw-skew-y: 0;
671 | --tw-scale-x: 1;
672 | --tw-scale-y: 1;
673 | transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
674 | }
675 |
676 | .hover\:-translate-y-1:hover{
677 | --tw-translate-y: -0.25rem;
678 | }
679 |
680 | @-webkit-keyframes spin{
681 | to{
682 | transform: rotate(360deg);
683 | }
684 | }
685 |
686 | @keyframes spin{
687 | to{
688 | transform: rotate(360deg);
689 | }
690 | }
691 |
692 | @-webkit-keyframes ping{
693 | 75%, 100%{
694 | transform: scale(2);
695 | opacity: 0;
696 | }
697 | }
698 |
699 | @keyframes ping{
700 | 75%, 100%{
701 | transform: scale(2);
702 | opacity: 0;
703 | }
704 | }
705 |
706 | @-webkit-keyframes pulse{
707 | 50%{
708 | opacity: .5;
709 | }
710 | }
711 |
712 | @keyframes pulse{
713 | 50%{
714 | opacity: .5;
715 | }
716 | }
717 |
718 | @-webkit-keyframes bounce{
719 | 0%, 100%{
720 | transform: translateY(-25%);
721 | -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
722 | animation-timing-function: cubic-bezier(0.8,0,1,1);
723 | }
724 |
725 | 50%{
726 | transform: none;
727 | -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
728 | animation-timing-function: cubic-bezier(0,0,0.2,1);
729 | }
730 | }
731 |
732 | @keyframes bounce{
733 | 0%, 100%{
734 | transform: translateY(-25%);
735 | -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);
736 | animation-timing-function: cubic-bezier(0.8,0,1,1);
737 | }
738 |
739 | 50%{
740 | transform: none;
741 | -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);
742 | animation-timing-function: cubic-bezier(0,0,0.2,1);
743 | }
744 | }
745 |
746 | .cursor-pointer{
747 | cursor: pointer;
748 | }
749 |
750 | .flex-col{
751 | flex-direction: column;
752 | }
753 |
754 | .items-center{
755 | align-items: center;
756 | }
757 |
758 | .justify-center{
759 | justify-content: center;
760 | }
761 |
762 | .justify-between{
763 | justify-content: space-between;
764 | }
765 |
766 | .justify-items-start{
767 | justify-items: start;
768 | }
769 |
770 | .space-x-4 > :not([hidden]) ~ :not([hidden]){
771 | --tw-space-x-reverse: 0;
772 | margin-right: calc(1rem * var(--tw-space-x-reverse));
773 | margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
774 | }
775 |
776 | .space-x-6 > :not([hidden]) ~ :not([hidden]){
777 | --tw-space-x-reverse: 0;
778 | margin-right: calc(1.5rem * var(--tw-space-x-reverse));
779 | margin-left: calc(1.5rem * calc(1 - var(--tw-space-x-reverse)));
780 | }
781 |
782 | .space-y-3 > :not([hidden]) ~ :not([hidden]){
783 | --tw-space-y-reverse: 0;
784 | margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
785 | margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
786 | }
787 |
788 | .rounded-md{
789 | border-radius: 0.375rem;
790 | }
791 |
792 | .rounded-full{
793 | border-radius: 9999px;
794 | }
795 |
796 | .border-4{
797 | border-width: 3px;
798 | }
799 |
800 | .border{
801 | border-width: 1px;
802 | }
803 |
804 | .border-b-4{
805 | border-bottom-width: 3px;
806 | }
807 |
808 | .border-gray-300{
809 | --tw-border-opacity: 1;
810 | border-color: rgba(209, 213, 219, var(--tw-border-opacity));
811 | }
812 |
813 | .bg-white{
814 | --tw-bg-opacity: 1;
815 | background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
816 | }
817 |
818 | .bg-gray-100{
819 | --tw-bg-opacity: 1;
820 | background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
821 | }
822 |
823 | .bg-yellow-400{
824 | --tw-bg-opacity: 1;
825 | background-color: rgba(251, 191, 36, var(--tw-bg-opacity));
826 | }
827 |
828 | .hover\:bg-yellow-300:hover{
829 | --tw-bg-opacity: 1;
830 | background-color: rgba(252, 211, 77, var(--tw-bg-opacity));
831 | }
832 |
833 | .hover\:bg-blue-100:hover{
834 | --tw-bg-opacity: 1;
835 | background-color: rgba(219, 234, 254, var(--tw-bg-opacity));
836 | }
837 |
838 | .object-cover{
839 | -o-object-fit: cover;
840 | object-fit: cover;
841 | }
842 |
843 | .p-0{
844 | padding: 0px;
845 | }
846 |
847 | .p-2{
848 | padding: 0.5rem;
849 | }
850 |
851 | .p-3{
852 | padding: 0.75rem;
853 | }
854 |
855 | .p-4{
856 | padding: 1rem;
857 | }
858 |
859 | .p-0\.5{
860 | padding: 0.125rem;
861 | }
862 |
863 | .px-2{
864 | padding-left: 0.5rem;
865 | padding-right: 0.5rem;
866 | }
867 |
868 | .px-3{
869 | padding-left: 0.75rem;
870 | padding-right: 0.75rem;
871 | }
872 |
873 | .px-6{
874 | padding-left: 1.5rem;
875 | padding-right: 1.5rem;
876 | }
877 |
878 | .px-8{
879 | padding-left: 2rem;
880 | padding-right: 2rem;
881 | }
882 |
883 | .py-2{
884 | padding-top: 0.5rem;
885 | padding-bottom: 0.5rem;
886 | }
887 |
888 | .py-3{
889 | padding-top: 0.75rem;
890 | padding-bottom: 0.75rem;
891 | }
892 |
893 | .py-4{
894 | padding-top: 1rem;
895 | padding-bottom: 1rem;
896 | }
897 |
898 | .py-6{
899 | padding-top: 1.5rem;
900 | padding-bottom: 1.5rem;
901 | }
902 |
903 | .py-2\.5{
904 | padding-top: 0.625rem;
905 | padding-bottom: 0.625rem;
906 | }
907 |
908 | .pr-6{
909 | padding-right: 1.5rem;
910 | }
911 |
912 | .text-center{
913 | text-align: center;
914 | }
915 |
916 | .font-firasans{
917 | font-family: Fira Sans, sans-serif;
918 | }
919 |
920 | .text-sm{
921 | font-size: 0.875rem;
922 | line-height: 1.25rem;
923 | }
924 |
925 | .text-lg{
926 | font-size: 1.125rem;
927 | line-height: 1.75rem;
928 | }
929 |
930 | .text-xl{
931 | font-size: 1.25rem;
932 | line-height: 1.75rem;
933 | }
934 |
935 | .text-2xl{
936 | font-size: 1.5rem;
937 | line-height: 2rem;
938 | }
939 |
940 | .font-semibold{
941 | font-weight: 600;
942 | }
943 |
944 | .font-bold{
945 | font-weight: 700;
946 | }
947 |
948 | .text-gray-400{
949 | --tw-text-opacity: 1;
950 | color: rgba(156, 163, 175, var(--tw-text-opacity));
951 | }
952 |
953 | .text-gray-600{
954 | --tw-text-opacity: 1;
955 | color: rgba(75, 85, 99, var(--tw-text-opacity));
956 | }
957 |
958 | .text-gray-700{
959 | --tw-text-opacity: 1;
960 | color: rgba(55, 65, 81, var(--tw-text-opacity));
961 | }
962 |
963 | .text-gray-800{
964 | --tw-text-opacity: 1;
965 | color: rgba(31, 41, 55, var(--tw-text-opacity));
966 | }
967 |
968 | .text-yellow-800{
969 | --tw-text-opacity: 1;
970 | color: rgba(146, 64, 14, var(--tw-text-opacity));
971 | }
972 |
973 | .text-blue-900{
974 | --tw-text-opacity: 1;
975 | color: rgba(30, 58, 138, var(--tw-text-opacity));
976 | }
977 |
978 | *, ::before, ::after{
979 | --tw-shadow: 0 0 #0000;
980 | }
981 |
982 | .shadow{
983 | --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
984 | box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
985 | }
986 |
987 | .shadow-md{
988 | --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
989 | box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
990 | }
991 |
992 | *, ::before, ::after{
993 | --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
994 | --tw-ring-offset-width: 0px;
995 | --tw-ring-offset-color: #fff;
996 | --tw-ring-color: rgba(59, 130, 246, 0.5);
997 | --tw-ring-offset-shadow: 0 0 #0000;
998 | --tw-ring-shadow: 0 0 #0000;
999 | }
1000 |
1001 | .transition{
1002 | transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
1003 | transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
1004 | transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
1005 | transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
1006 | transition-duration: 150ms;
1007 | }
1008 |
1009 | .duration-75{
1010 | transition-duration: 75ms;
1011 | }
1012 |
1013 | .ease-linear{
1014 | transition-timing-function: linear;
1015 | }
1016 |
1017 | .course-container {
1018 | margin-top: 1.5rem;
1019 | display: grid;
1020 | grid-template-columns: repeat(2, minmax(0, 1fr));
1021 | -moz-column-gap: 2rem;
1022 | column-gap: 2rem;
1023 | row-gap: 1rem;
1024 | padding-left: 0.75rem;
1025 | padding-right: 0.75rem;
1026 | padding-top: 1rem;
1027 | padding-bottom: 1rem;
1028 | }
1029 |
1030 | @media (min-width: 640px){
1031 | .course-container{
1032 | padding-left: 2rem;
1033 | padding-right: 2rem;
1034 | }
1035 | }
1036 |
1037 | @media (min-width: 768px){
1038 | .course-container{
1039 | grid-template-columns: repeat(3, minmax(0, 1fr));
1040 | }
1041 | }
1042 |
1043 | @media (min-width: 1024px){
1044 | .course-container{
1045 | grid-template-columns: repeat(4, minmax(0, 1fr));
1046 | }
1047 | }
1048 |
1049 | @media (min-width: 640px){
1050 | .sm\:absolute{
1051 | position: absolute;
1052 | }
1053 |
1054 | .sm\:right-0{
1055 | right: 0px;
1056 | }
1057 |
1058 | .sm\:z-10{
1059 | z-index: 10;
1060 | }
1061 |
1062 | .sm\:w-2\/5{
1063 | width: 40%;
1064 | }
1065 |
1066 | .sm\:w-full{
1067 | width: 100%;
1068 | }
1069 | }
1070 |
1071 | @media (min-width: 768px){
1072 | .md\:w-4\/5{
1073 | width: 80%;
1074 | }
1075 |
1076 | .md\:w-3\/12{
1077 | width: 25%;
1078 | }
1079 |
1080 | .md\:p-6{
1081 | padding: 1.5rem;
1082 | }
1083 | }
1084 |
1085 | @media (min-width: 1024px){
1086 | .lg\:flex{
1087 | display: flex;
1088 | }
1089 |
1090 | .lg\:hidden{
1091 | display: none;
1092 | }
1093 |
1094 | .lg\:w-2\/3{
1095 | width: 66.666667%;
1096 | }
1097 |
1098 | .lg\:w-1\/6{
1099 | width: 16.666667%;
1100 | }
1101 | }
1102 |
1103 | @media (min-width: 1280px){
1104 | }
1105 |
1106 | @media (min-width: 1536px){
1107 | }
--------------------------------------------------------------------------------
/Sololearn/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Sololearn: Learn to Code
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 |
34 |
35 |
36 |
37 |
38 |
39 | 1021
40 |
41 |
42 |
43 |
44 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
64 |
65 |
66 |
67 |
68 |
69 | 200
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
Jhon Doe
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 | Go PRO
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
What would you like to learn?
99 |
100 |
101 |
102 |
103 |
104 |
105 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
--------------------------------------------------------------------------------
/Sololearn/src/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@200;300;400;500;600;700&display=swap');
2 |
3 | @tailwind base;
4 | @tailwind components;
5 | @tailwind utilities;
6 |
7 | .course-container {
8 | @apply grid grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-x-8 gap-y-4 mt-6 px-3 sm:px-8 py-4;
9 | }
--------------------------------------------------------------------------------
/WhatsApp/README.md:
--------------------------------------------------------------------------------
1 | ## WhatsApp UI Clone
2 | WhatsApp UI Clones using TailwindCSS ⚡
3 |
4 | ### **Visit Now 🚀**
5 |
6 | ## Tech Stack :
7 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=html)
8 | 
9 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=javascript)
10 | 
11 | 
12 | [](https://instagramwebui.netlify.app)
13 |
14 | ## Sneak Peek of Site 🙈 :
15 | 
16 |
17 |
18 | [](https://forthebadge.com)
19 |
20 |
21 |
--------------------------------------------------------------------------------
/WhatsApp/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "whatsapp-web-ui",
3 | "version": "1.0.0",
4 | "description": "UI Clone of WhatsApp Web",
5 | "main": "index.js",
6 | "scripts": {
7 | "build:css": "tailwind build -i src/style.css -o public/assets/style.css",
8 | "prod": "NODE_ENV=production tailwind build -i src/style.css -o public/assets/style.css"
9 | },
10 | "author": "Jigar",
11 | "license": "ISC",
12 | "dependencies": {
13 | "tailwindcss": "^2.2.7",
14 | "win-node-env": "^0.4.0"
15 | },
16 | "devDependencies": {
17 | "tailwindcss-pseudo-elements": "^2.0.0"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/WhatsApp/public/assets/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/WhatsApp/public/assets/images/favicon.ico
--------------------------------------------------------------------------------
/WhatsApp/public/assets/images/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/WhatsApp/public/assets/images/profile.jpg
--------------------------------------------------------------------------------
/WhatsApp/public/assets/script.js:
--------------------------------------------------------------------------------
1 | const navMenuBtn = document.getElementById('menuBtn');
2 | const navMenuItems = document.getElementById('menuItems');
3 |
4 | navMenuBtn.addEventListener('click', () => {
5 | navMenuItems.classList.toggle('hidden');
6 | })
7 |
8 | const navMenuBtn2 = document.getElementById('menuBtn2');
9 | const navMenuItems2 = document.getElementById('menuItems2');
10 |
11 | navMenuBtn2.addEventListener('click', () => {
12 | navMenuItems2.classList.toggle('hidden');
13 | })
14 |
15 | function scrollDown() {
16 | $('#chats-container').scrollTop($('#chats-container')[0].scrollHeight);
17 | }
18 | scrollDown();
19 |
20 | // chat feature
21 | const chatBoxInput = document.getElementById('chatBoxInput');
22 | const msgContainer = document.getElementById('msgContainer');
23 |
24 | chatBoxInput.addEventListener("keyup", function(e) {
25 | if (e.keyCode === 13) {
26 | e.preventDefault();
27 | if (chatBoxInput.value == ''){
28 | alert("Can't send empty message!")
29 | } else {
30 | sendMsg();
31 | }
32 | }});
33 |
34 | function sendMsg() {
35 | const message = chatBoxInput.value;
36 | const today = new Date();
37 | const time = today.toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true });
38 | let newMsg = `
39 |
${message}
40 |
${time}
41 |
43 |
`;
44 | msgContainer.innerHTML+=newMsg;
45 | chatBoxInput.value='';
46 | scrollDown();
47 | }
--------------------------------------------------------------------------------
/WhatsApp/src/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600&display=swap');
2 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&display=swap');
3 |
4 |
5 | @tailwind base;
6 | @tailwind components;
7 | @tailwind utilities;
8 |
9 | .left-msg {
10 | @apply relative clear-both p-2 px-3 mt-0.5 float-left bg-leftMsgBg rounded-lg text-white shadow;
11 | }
12 | .right-msg {
13 | @apply relative clear-both p-2 px-3 mt-0.5 float-right bg-rightMsgBg rounded-lg shadow;
14 | }
15 |
16 | #contact-list::-webkit-scrollbar{
17 | width: .3rem;
18 | }
19 | #contact-list::-webkit-scrollbar-track{
20 | background: rgba(0, 0, 0, .2);
21 |
22 | }
23 | #contact-list::-webkit-scrollbar-thumb{
24 | background: rgba(255, 255, 255, .16);
25 | }
26 |
27 | #chats-container::-webkit-scrollbar{
28 | width: .4rem;
29 | }
30 | #chats-container::-webkit-scrollbar-track{
31 | background: transparent;
32 | }
33 | #chats-container::-webkit-scrollbar-thumb{
34 | background: rgba(255, 255, 255, .2);
35 | }
36 | #contact-list-item:hover .arrow {
37 | display: block;
38 | }
--------------------------------------------------------------------------------
/YouTube/README.md:
--------------------------------------------------------------------------------
1 | ## YouTube UI Clone
2 | YouTube UI Clones using TailwindCSS ⚡
3 |
4 | ### **Visit Now 🚀**
5 |
6 | ## Tech Stack :
7 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=html)
8 | 
9 | [](https://github.com/jigar-sable/Web-UI-Clones/search?l=javascript)
10 | 
11 | [](https://youtubewebui.netlify.app)
12 |
13 | ## Sneak Peek of Site 🙈 :
14 | 
15 |
16 |
17 | [](https://forthebadge.com)
18 |
19 |
20 |
--------------------------------------------------------------------------------
/YouTube/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "youtube-ui-clone",
3 | "version": "1.0.0",
4 | "description": "YouTube Web UI Clone",
5 | "main": "index.js",
6 | "scripts": {
7 | "build:css": "tailwind build -i src/style.css -o public/assets/style.css",
8 | "prod": "NODE_ENV=production tailwind build -i src/style.css -o public/assets/style.css"
9 | },
10 | "author": "Jigar Sable",
11 | "license": "ISC",
12 | "dependencies": {
13 | "tailwindcss": "^2.2.7",
14 | "win-node-env": "^0.4.0"
15 | },
16 | "devDependencies": {
17 | "tailwind-scrollbar": "^1.3.1"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/YouTube/public/assets/images/favicon1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/YouTube/public/assets/images/favicon1.ico
--------------------------------------------------------------------------------
/YouTube/public/assets/images/ganesh.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/YouTube/public/assets/images/ganesh.jpg
--------------------------------------------------------------------------------
/YouTube/public/assets/images/hero.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/YouTube/public/assets/images/hero.png
--------------------------------------------------------------------------------
/YouTube/public/assets/images/profile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jigar-sable/web-ui-clones/565c70e9727babdafb715e8a87625c756bf7f5de/YouTube/public/assets/images/profile.jpg
--------------------------------------------------------------------------------
/YouTube/public/assets/script.js:
--------------------------------------------------------------------------------
1 | let videosContainer = document.getElementById('videos-container');
2 | let videoCard = "";
3 |
4 | fetch("assets/videos.json")
5 | .then(response => response.json())
6 | .then(videos => {
7 | // console.log(videos);
8 |
9 | videos.forEach(video => {
10 | videoCard += `
11 | `
41 | });
42 | videosContainer.innerHTML = videoCard;
43 | })
--------------------------------------------------------------------------------
/YouTube/public/assets/videos.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "thumbnail": "assets/images/ganesh.jpg",
4 | "videoURL": "#",
5 | "duration": "16:25",
6 | "desc": {
7 | "channelLogo": "assets/images/hero.png",
8 | "channelName": "Jhon Doe",
9 | "channelURL": "#",
10 | "title": "This is YouTube Web UI Clone using TailwindCSS",
11 | "views": "51k",
12 | "published": "1 week"
13 | }
14 | },
15 | {
16 | "thumbnail": "https://cdn.pixabay.com/photo/2021/05/22/10/11/fishing-boat-6273132_960_720.jpg",
17 | "videoURL": "#",
18 | "duration": "16:25",
19 | "desc": {
20 | "channelLogo": "assets/images/hero.png",
21 | "channelName": "Jhon Doe",
22 | "channelURL": "#",
23 | "title": "This is YouTube Web UI Clone using TailwindCSS",
24 | "views": "51k",
25 | "published": "1 week"
26 | }
27 | },
28 | {
29 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/14/14/51/alps-6545561_960_720.jpg",
30 | "videoURL": "#",
31 | "duration": "16:25",
32 | "desc": {
33 | "channelLogo": "assets/images/hero.png",
34 | "channelName": "Jhon Doe",
35 | "channelURL": "#",
36 | "title": "This is YouTube Web UI Clone using TailwindCSS",
37 | "views": "51k",
38 | "published": "1 week"
39 | }
40 | },
41 | {
42 | "thumbnail": "https://cdn.pixabay.com/photo/2018/01/24/17/33/light-bulb-3104355_960_720.jpg",
43 | "videoURL": "#",
44 | "duration": "16:25",
45 | "desc": {
46 | "channelLogo": "assets/images/hero.png",
47 | "channelName": "Jhon Doe",
48 | "channelURL": "#",
49 | "title": "This is YouTube Web UI Clone using TailwindCSS",
50 | "views": "51k",
51 | "published": "1 week"
52 | }
53 | },
54 | {
55 | "thumbnail": "https://cdn.pixabay.com/photo/2020/05/18/16/17/social-media-5187243_960_720.png",
56 | "videoURL": "#",
57 | "duration": "16:25",
58 | "desc": {
59 | "channelLogo": "assets/images/hero.png",
60 | "channelName": "Jhon Doe",
61 | "channelURL": "#",
62 | "title": "This is YouTube Web UI Clone using TailwindCSS",
63 | "views": "51k",
64 | "published": "1 week"
65 | }
66 | },
67 | {
68 | "thumbnail": "https://cdn.pixabay.com/photo/2016/03/09/09/22/meeting-1245776_960_720.jpg",
69 | "videoURL": "#",
70 | "duration": "16:25",
71 | "desc": {
72 | "channelLogo": "assets/images/hero.png",
73 | "channelName": "Jhon Doe",
74 | "channelURL": "#",
75 | "title": "This is YouTube Web UI Clone using TailwindCSS",
76 | "views": "51k",
77 | "published": "1 week"
78 | }
79 | },
80 | {
81 | "thumbnail": "https://cdn.pixabay.com/photo/2021/07/31/18/25/flower-6512726_960_720.jpg",
82 | "videoURL": "#",
83 | "duration": "16:25",
84 | "desc": {
85 | "channelLogo": "assets/images/hero.png",
86 | "channelName": "Jhon Doe",
87 | "channelURL": "#",
88 | "title": "This is YouTube Web UI Clone using TailwindCSS",
89 | "views": "51k",
90 | "published": "1 week"
91 | }
92 | },
93 | {
94 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/15/07/35/ferris-wheel-6547089_960_720.jpg",
95 | "videoURL": "#",
96 | "duration": "16:25",
97 | "desc": {
98 | "channelLogo": "assets/images/hero.png",
99 | "channelName": "Jhon Doe",
100 | "channelURL": "#",
101 | "title": "This is YouTube Web UI Clone using TailwindCSS",
102 | "views": "51k",
103 | "published": "1 week"
104 | }
105 | },
106 | {
107 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/06/18/51/lake-6526995_960_720.jpg",
108 | "videoURL": "#",
109 | "duration": "16:25",
110 | "desc": {
111 | "channelLogo": "assets/images/hero.png",
112 | "channelName": "Jhon Doe",
113 | "channelURL": "#",
114 | "title": "This is YouTube Web UI Clone using TailwindCSS",
115 | "views": "51k",
116 | "published": "1 week"
117 | }
118 | },
119 | {
120 | "thumbnail": "https://cdn.pixabay.com/photo/2021/07/16/09/54/travel-6470467_960_720.jpg",
121 | "videoURL": "#",
122 | "duration": "16:25",
123 | "desc": {
124 | "channelLogo": "assets/images/hero.png",
125 | "channelName": "Jhon Doe",
126 | "channelURL": "#",
127 | "title": "This is YouTube Web UI Clone using TailwindCSS",
128 | "views": "51k",
129 | "published": "1 week"
130 | }
131 | },
132 | {
133 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/12/20/04/barn-6541665_960_720.jpg",
134 | "videoURL": "#",
135 | "duration": "16:25",
136 | "desc": {
137 | "channelLogo": "assets/images/hero.png",
138 | "channelName": "Jhon Doe",
139 | "channelURL": "#",
140 | "title": "This is YouTube Web UI Clone using TailwindCSS",
141 | "views": "51k",
142 | "published": "1 week"
143 | }
144 | },
145 | {
146 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/16/15/18/beach-6550551_960_720.jpg",
147 | "videoURL": "#",
148 | "duration": "16:25",
149 | "desc": {
150 | "channelLogo": "assets/images/hero.png",
151 | "channelName": "Jhon Doe",
152 | "channelURL": "#",
153 | "title": "This is YouTube Web UI Clone using TailwindCSS",
154 | "views": "51k",
155 | "published": "1 week"
156 | }
157 | },
158 | {
159 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/09/00/05/castle-6532247_960_720.jpg",
160 | "videoURL": "#",
161 | "duration": "16:25",
162 | "desc": {
163 | "channelLogo": "assets/images/hero.png",
164 | "channelName": "Jhon Doe",
165 | "channelURL": "#",
166 | "title": "This is YouTube Web UI Clone using TailwindCSS",
167 | "views": "51k",
168 | "published": "1 week"
169 | }
170 | },
171 | {
172 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/17/10/32/city-6552638_960_720.jpg",
173 | "videoURL": "#",
174 | "duration": "16:25",
175 | "desc": {
176 | "channelLogo": "assets/images/hero.png",
177 | "channelName": "Jhon Doe",
178 | "channelURL": "#",
179 | "title": "This is YouTube Web UI Clone using TailwindCSS",
180 | "views": "51k",
181 | "published": "1 week"
182 | }
183 | },
184 | {
185 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/09/17/17/half-timbered-houses-6533888_960_720.jpg",
186 | "videoURL": "#",
187 | "duration": "16:25",
188 | "desc": {
189 | "channelLogo": "assets/images/hero.png",
190 | "channelName": "Jhon Doe",
191 | "channelURL": "#",
192 | "title": "This is YouTube Web UI Clone using TailwindCSS",
193 | "views": "51k",
194 | "published": "1 week"
195 | }
196 | },
197 | {
198 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/19/17/51/italy-6349105_960_720.jpg",
199 | "videoURL": "#",
200 | "duration": "16:25",
201 | "desc": {
202 | "channelLogo": "assets/images/hero.png",
203 | "channelName": "Jhon Doe",
204 | "channelURL": "#",
205 | "title": "This is YouTube Web UI Clone using TailwindCSS",
206 | "views": "51k",
207 | "published": "1 week"
208 | }
209 | },
210 | {
211 | "thumbnail": "https://cdn.pixabay.com/photo/2020/10/02/21/06/dome-5622133_960_720.jpg",
212 | "videoURL": "#",
213 | "duration": "16:25",
214 | "desc": {
215 | "channelLogo": "assets/images/hero.png",
216 | "channelName": "Jhon Doe",
217 | "channelURL": "#",
218 | "title": "This is YouTube Web UI Clone using TailwindCSS",
219 | "views": "51k",
220 | "published": "1 week"
221 | }
222 | },
223 | {
224 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/16/09/28/lychee-6549902_960_720.jpg",
225 | "videoURL": "#",
226 | "duration": "16:25",
227 | "desc": {
228 | "channelLogo": "assets/images/hero.png",
229 | "channelName": "Jhon Doe",
230 | "channelURL": "#",
231 | "title": "This is YouTube Web UI Clone using TailwindCSS",
232 | "views": "51k",
233 | "published": "1 week"
234 | }
235 | },
236 | {
237 | "thumbnail": "https://cdn.pixabay.com/photo/2020/07/08/04/12/work-5382501_960_720.jpg",
238 | "videoURL": "#",
239 | "duration": "16:25",
240 | "desc": {
241 | "channelLogo": "assets/images/hero.png",
242 | "channelName": "Jhon Doe",
243 | "channelURL": "#",
244 | "title": "This is YouTube Web UI Clone using TailwindCSS",
245 | "views": "51k",
246 | "published": "1 week"
247 | }
248 | },
249 | {
250 | "thumbnail": "https://cdn.pixabay.com/photo/2016/02/19/11/19/office-1209640_960_720.jpg",
251 | "videoURL": "#",
252 | "duration": "16:25",
253 | "desc": {
254 | "channelLogo": "assets/images/hero.png",
255 | "channelName": "Jhon Doe",
256 | "channelURL": "#",
257 | "title": "This is YouTube Web UI Clone using TailwindCSS",
258 | "views": "51k",
259 | "published": "1 week"
260 | }
261 | },
262 | {
263 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/01/21/06/shwezigon-pagoda-6515356_960_720.jpg",
264 | "videoURL": "#",
265 | "duration": "16:25",
266 | "desc": {
267 | "channelLogo": "assets/images/hero.png",
268 | "channelName": "Jhon Doe",
269 | "channelURL": "#",
270 | "title": "This is YouTube Web UI Clone using TailwindCSS",
271 | "views": "51k",
272 | "published": "1 week"
273 | }
274 | },
275 | {
276 | "thumbnail": "https://cdn.pixabay.com/photo/2021/08/06/18/49/czech-republic-6526993_960_720.jpg",
277 | "videoURL": "#",
278 | "duration": "16:25",
279 | "desc": {
280 | "channelLogo": "assets/images/hero.png",
281 | "channelName": "Jhon Doe",
282 | "channelURL": "#",
283 | "title": "This is YouTube Web UI Clone using TailwindCSS",
284 | "views": "51k",
285 | "published": "1 week"
286 | }
287 | },
288 | {
289 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
290 | "videoURL": "#",
291 | "duration": "16:25",
292 | "desc": {
293 | "channelLogo": "assets/images/hero.png",
294 | "channelName": "Jhon Doe",
295 | "channelURL": "#",
296 | "title": "This is YouTube Web UI Clone using TailwindCSS",
297 | "views": "51k",
298 | "published": "1 week"
299 | }
300 | },
301 | {
302 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
303 | "videoURL": "#",
304 | "duration": "16:25",
305 | "desc": {
306 | "channelLogo": "assets/images/hero.png",
307 | "channelName": "Jhon Doe",
308 | "channelURL": "#",
309 | "title": "This is YouTube Web UI Clone using TailwindCSS",
310 | "views": "51k",
311 | "published": "1 week"
312 | }
313 | },
314 | {
315 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
316 | "videoURL": "#",
317 | "duration": "16:25",
318 | "desc": {
319 | "channelLogo": "assets/images/hero.png",
320 | "channelName": "Jhon Doe",
321 | "channelURL": "#",
322 | "title": "This is YouTube Web UI Clone using TailwindCSS",
323 | "views": "51k",
324 | "published": "1 week"
325 | }
326 | },
327 | {
328 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
329 | "videoURL": "#",
330 | "duration": "16:25",
331 | "desc": {
332 | "channelLogo": "assets/images/hero.png",
333 | "channelName": "Jhon Doe",
334 | "channelURL": "#",
335 | "title": "This is YouTube Web UI Clone using TailwindCSS",
336 | "views": "51k",
337 | "published": "1 week"
338 | }
339 | },
340 | {
341 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
342 | "videoURL": "#",
343 | "duration": "16:25",
344 | "desc": {
345 | "channelLogo": "assets/images/hero.png",
346 | "channelName": "Jhon Doe",
347 | "channelURL": "#",
348 | "title": "This is YouTube Web UI Clone using TailwindCSS",
349 | "views": "51k",
350 | "published": "1 week"
351 | }
352 | },
353 | {
354 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
355 | "videoURL": "#",
356 | "duration": "16:25",
357 | "desc": {
358 | "channelLogo": "assets/images/hero.png",
359 | "channelName": "Jhon Doe",
360 | "channelURL": "#",
361 | "title": "This is YouTube Web UI Clone using TailwindCSS",
362 | "views": "51k",
363 | "published": "1 week"
364 | }
365 | },
366 | {
367 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
368 | "videoURL": "#",
369 | "duration": "16:25",
370 | "desc": {
371 | "channelLogo": "assets/images/hero.png",
372 | "channelName": "Jhon Doe",
373 | "channelURL": "#",
374 | "title": "This is YouTube Web UI Clone using TailwindCSS",
375 | "views": "51k",
376 | "published": "1 week"
377 | }
378 | },
379 | {
380 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
381 | "videoURL": "#",
382 | "duration": "16:25",
383 | "desc": {
384 | "channelLogo": "assets/images/hero.png",
385 | "channelName": "Jhon Doe",
386 | "channelURL": "#",
387 | "title": "This is YouTube Web UI Clone using TailwindCSS",
388 | "views": "51k",
389 | "published": "1 week"
390 | }
391 | },
392 | {
393 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
394 | "videoURL": "#",
395 | "duration": "16:25",
396 | "desc": {
397 | "channelLogo": "assets/images/hero.png",
398 | "channelName": "Jhon Doe",
399 | "channelURL": "#",
400 | "title": "This is YouTube Web UI Clone using TailwindCSS",
401 | "views": "51k",
402 | "published": "1 week"
403 | }
404 | },
405 | {
406 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
407 | "videoURL": "#",
408 | "duration": "16:25",
409 | "desc": {
410 | "channelLogo": "assets/images/hero.png",
411 | "channelName": "Jhon Doe",
412 | "channelURL": "#",
413 | "title": "This is YouTube Web UI Clone using TailwindCSS",
414 | "views": "51k",
415 | "published": "1 week"
416 | }
417 | },
418 | {
419 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
420 | "videoURL": "#",
421 | "duration": "16:25",
422 | "desc": {
423 | "channelLogo": "assets/images/hero.png",
424 | "channelName": "Jhon Doe",
425 | "channelURL": "#",
426 | "title": "This is YouTube Web UI Clone using TailwindCSS",
427 | "views": "51k",
428 | "published": "1 week"
429 | }
430 | },
431 | {
432 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
433 | "videoURL": "#",
434 | "duration": "16:25",
435 | "desc": {
436 | "channelLogo": "assets/images/hero.png",
437 | "channelName": "Jhon Doe",
438 | "channelURL": "#",
439 | "title": "This is YouTube Web UI Clone using TailwindCSS",
440 | "views": "51k",
441 | "published": "1 week"
442 | }
443 | },
444 | {
445 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
446 | "videoURL": "#",
447 | "duration": "16:25",
448 | "desc": {
449 | "channelLogo": "assets/images/hero.png",
450 | "channelName": "Jhon Doe",
451 | "channelURL": "#",
452 | "title": "This is YouTube Web UI Clone using TailwindCSS",
453 | "views": "51k",
454 | "published": "1 week"
455 | }
456 | },
457 | {
458 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
459 | "videoURL": "#",
460 | "duration": "16:25",
461 | "desc": {
462 | "channelLogo": "assets/images/hero.png",
463 | "channelName": "Jhon Doe",
464 | "channelURL": "#",
465 | "title": "This is YouTube Web UI Clone using TailwindCSS",
466 | "views": "51k",
467 | "published": "1 week"
468 | }
469 | },
470 | {
471 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
472 | "videoURL": "#",
473 | "duration": "16:25",
474 | "desc": {
475 | "channelLogo": "assets/images/hero.png",
476 | "channelName": "Jhon Doe",
477 | "channelURL": "#",
478 | "title": "This is YouTube Web UI Clone using TailwindCSS",
479 | "views": "51k",
480 | "published": "1 week"
481 | }
482 | },
483 | {
484 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
485 | "videoURL": "#",
486 | "duration": "16:25",
487 | "desc": {
488 | "channelLogo": "assets/images/hero.png",
489 | "channelName": "Jhon Doe",
490 | "channelURL": "#",
491 | "title": "This is YouTube Web UI Clone using TailwindCSS",
492 | "views": "51k",
493 | "published": "1 week"
494 | }
495 | },
496 | {
497 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
498 | "videoURL": "#",
499 | "duration": "16:25",
500 | "desc": {
501 | "channelLogo": "assets/images/hero.png",
502 | "channelName": "Jhon Doe",
503 | "channelURL": "#",
504 | "title": "This is YouTube Web UI Clone using TailwindCSS",
505 | "views": "51k",
506 | "published": "1 week"
507 | }
508 | },
509 | {
510 | "thumbnail": "https://cdn.pixabay.com/photo/2021/06/27/03/06/supreme-administrative-court-6367607_960_720.jpg",
511 | "videoURL": "#",
512 | "duration": "16:25",
513 | "desc": {
514 | "channelLogo": "assets/images/hero.png",
515 | "channelName": "Jhon Doe",
516 | "channelURL": "#",
517 | "title": "This is YouTube Web UI Clone using TailwindCSS",
518 | "views": "51k",
519 | "published": "1 week"
520 | }
521 | }
522 | ]
--------------------------------------------------------------------------------
/YouTube/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | YouTube
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
27 |
28 |
29 |
30 |
35 |
36 | mic
37 |
38 |
39 |
40 |
41 |
42 |
video_call
43 |
apps
44 |
notifications
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
209 |
210 |
211 |
212 |
213 |
214 |
231 |
232 |
233 |
258 |
259 |
283 |
284 |
285 |
286 |
287 |
288 |
289 |
290 |
291 |
315 |
316 |
317 |
350 |
351 |
352 |
353 |
354 |
355 |
356 |
--------------------------------------------------------------------------------
/YouTube/src/style.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700&display=swap');
2 |
3 | @tailwind base;
4 | @tailwind components;
5 | @tailwind utilities;
6 |
7 | .body {
8 | @apply font-roboto scrollbar-thin scrollbar-thumb-gray-400 hover:scrollbar-thumb-gray-500 scrollbar-thumb-rounded-full scrollbar-track-mainBg bg-topNavBg;
9 | }
10 | .sidebar {
11 | @apply hidden fixed w-60 bg-sideBarBg h-full lg:flex flex-col mt-12 pb-16 pr-4 pt-2 scrollbar-thin scrollbar-thumb-gray-400 scrollbar-thumb-rounded-full scrollbar-track-sideBarBg;
12 | }
13 | .tags-container {
14 | @apply relative sticky top-14 flex flex-auto items-center space-x-3 px-5 py-2.5 border-t border-b border-sideBarHoverBg bg-topNavBg bg-opacity-95 z-20 overflow-x-scroll overflow-y-hidden scrollbar-none;
15 | }
16 | .videos-container {
17 | @apply grid grid-cols-1 gap-y-6 p-2 sm:grid-cols-2 sm:gap-x-8 sm:gap-y-6 sm:p-4 md:grid-cols-3 md:gap-x-2 md:gap-y-6 md:p-4 lg:grid-cols-3 lg:gap-x-2 lg:gap-y-6 lg:p-4 xl:grid-cols-4 xl:gap-x-4 xl:gap-y-10 xl:p-6 h-full bg-mainBg mt-14 sm:mt-12;
18 | }
19 |
20 | .material-icons.md-18 { font-size: 18px; }
21 | .material-icons.md-21 { font-size: 21px; }
22 | .material-icons.md-24 { font-size: 24px; }
23 | .material-icons.md-36 { font-size: 36px; }
24 | .material-icons.md-48 { font-size: 48px; }
25 | #sideBar {
26 | overflow: hidden;
27 | }
28 | #sideBar:hover {
29 | overflow-y: auto;
30 | }
--------------------------------------------------------------------------------