Skip to content

Commit 7ff24c1

Browse files
Initial with major design finished
0 parents  commit 7ff24c1

38 files changed

+5518
-0
lines changed

.gitignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Avoid accidental Sketch file upload
2+
###############################################
3+
## Please do not remove line 5 - thanks! 🙂 ##
4+
###############################################
5+
*.sketch
6+
7+
# Avoid accidental XD or Figma upload if you convert the design file
8+
#######################################################
9+
## Please do not remove lines 11 and 12 - thanks! 🙂 ##
10+
#######################################################
11+
*.xd
12+
*.fig
13+
14+
# Avoid your project being littered with annoying .DS_Store files!
15+
.DS_Store
16+
###############################################
17+
dist
18+
./css
19+
node_modules

LICENSE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
MIT License
2+
3+
Copyright (c) 2023 Alamin
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6+
7+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8+
9+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

README.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
<h1 align="center">Interactive comments section</h1>
2+
<div align="center">
3+
4+
Challenge from [Frontend Mentor](https://www.frontendmentor.io/challenges)
5+
6+
</div>
7+
8+
<!-- Badges -->
9+
<div align="center">
10+
11+
<!-- Live -->
12+
<a href="https://interactive-comments-section-codepapa360.vercel.app/">
13+
<img src="https://custom-icon-badges.demolab.com/badge/Live%20Demo-blue?style=for-the-badge&logo=live360&labelColor=666666" alt="Live Demo" />
14+
</a>
15+
16+
<!-- Frontend Mentor -->
17+
<a href="#">
18+
<img src="https://img.shields.io/badge/Frontendmentor-100000?style=for-the-badge&logo=frontendmentor&logoColor=white&labelColor=666666&color=2490A9" alt="FrontendMentor">
19+
</a>
20+
</div>
21+
22+
<div align="center">
23+
<!-- Status -->
24+
25+
<!-- <img src="https://img.shields.io/badge/Status-Incomplete-red?style=flat" alt="Status" /> -->
26+
27+
<img src="https://img.shields.io/badge/Status-Completed-success?style=flat" alt="Status" />
28+
29+
<!-- Liceensee -->
30+
<img src="https://img.shields.io/badge/License-MIT-blue?style=flat" alt="License" />
31+
</div>
32+
33+
<hr>
34+
35+
<div align="center">
36+
37+
<p>
38+
39+
</p>
40+
41+
<!-- Screenshot -->
42+
<a align="center" href="https://interactive-comments-section-codepapa360.vercel.app/">
43+
44+
![Screenshot](./screenshots/Interactive-comments-section-screenshot-codepapa360.png)
45+
46+
</a>
47+
48+
</div>
49+
50+
## The challenge
51+
52+
Users should be able to:
53+
54+
- View the optimal layout for the app depending on their device's screen size
55+
- See hover states for all interactive elements on the page
56+
- Create, Read, Update, and Delete comments and replies
57+
- Upvote and downvote comments
58+
- **Bonus**: If you're building a purely front-end project, use `localStorage` to save the current state in the browser that persists when the browser is refreshed.
59+
- **Bonus**: Instead of using the `createdAt` strings from the `data.json` file, try using timestamps and dynamically track the time since the comment or reply was posted.
60+
61+
## Built with
62+
63+
- Semantic HTML5 markup
64+
- Mobile-first workflow
65+
- CSS custom properties
66+
- CSS Grid
67+
- JavaScript
68+
- NPM
69+
- [Webpack - a module bundler](https://webpack.js.org/)
70+
71+
## What I Learned
72+
73+
## Installation
74+
75+
- Clone this repo:
76+
77+
```sh
78+
git clone https://github.com/CodePapa360/Interactive-comments-section.git
79+
```
80+
81+
- Install dependencies:
82+
83+
```sh
84+
npm install
85+
```
86+
87+
- Build command:
88+
89+
```sh
90+
npm run build
91+
```
92+
93+
- Live server:
94+
95+
```sh
96+
npm start
97+
```
98+
99+
## Author
100+
101+
<b>👤 Alamin</b>
102+
103+
- Twitter - [@CodePapa360](https://www.twitter.com/CodePapa360)
104+
- LinkedIn - [@CodePapa360](https://www.linkedin.com/in/codepapa360)
105+
- Frontend Mentor - [@CodePapa360](https://www.frontendmentor.io/profile/CodePapa360)
106+
- Github: [@CodePapa360](https://github.com/codepapa360)
107+
108+
Feel free to contact me with any questions or feedback!
109+
110+
## Show your support
111+
112+
Give a ⭐️ if you liked this project!
113+
114+
## Acknowledgments
115+
116+
Special thanks to Frontend Mentor for providing such an amazing platform to practice and improve my frontend skills.
117+
118+
## License
119+
120+
This project is licensed under the [MIT](https://github.com/CodePapa360/Interactive-comments-section/blob/main/LICENSE.md) license, which means you can use, modify, and distribute the code as you wish. If you have any questions or feedback, feel free to reach out. Thank you for considering my code!

data.json

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
{
2+
"currentUser": {
3+
"image": {
4+
"png": "./images/avatars/image-juliusomo.png",
5+
"webp": "./images/avatars/image-juliusomo.webp"
6+
},
7+
"username": "juliusomo"
8+
},
9+
"comments": [
10+
{
11+
"id": 1,
12+
"content": "Impressive! Though it seems the drag feature could be improved. But overall it looks incredible. You've nailed the design and the responsiveness at various breakpoints works really well.",
13+
"createdAt": "1 month ago",
14+
"score": 12,
15+
"user": {
16+
"image": {
17+
"png": "./images/avatars/image-amyrobson.png",
18+
"webp": "./images/avatars/image-amyrobson.webp"
19+
},
20+
"username": "amyrobson"
21+
},
22+
"replies": []
23+
},
24+
{
25+
"id": 2,
26+
"content": "Woah, your project looks awesome! How long have you been coding for? I'm still new, but think I want to dive into React as well soon. Perhaps you can give me an insight on where I can learn React? Thanks!",
27+
"createdAt": "2 weeks ago",
28+
"score": 5,
29+
"user": {
30+
"image": {
31+
"png": "./images/avatars/image-maxblagun.png",
32+
"webp": "./images/avatars/image-maxblagun.webp"
33+
},
34+
"username": "maxblagun"
35+
},
36+
"replies": [
37+
{
38+
"id": 3,
39+
"content": "If you're still new, I'd recommend focusing on the fundamentals of HTML, CSS, and JS before considering React. It's very tempting to jump ahead but lay a solid foundation first.",
40+
"createdAt": "1 week ago",
41+
"score": 4,
42+
"replyingTo": "maxblagun",
43+
"user": {
44+
"image": {
45+
"png": "./images/avatars/image-ramsesmiron.png",
46+
"webp": "./images/avatars/image-ramsesmiron.webp"
47+
},
48+
"username": "ramsesmiron"
49+
}
50+
},
51+
{
52+
"id": 4,
53+
"content": "I couldn't agree more with this. Everything moves so fast and it always seems like everyone knows the newest library/framework. But the fundamentals are what stay constant.",
54+
"createdAt": "2 days ago",
55+
"score": 2,
56+
"replyingTo": "ramsesmiron",
57+
"user": {
58+
"image": {
59+
"png": "./images/avatars/image-juliusomo.png",
60+
"webp": "./images/avatars/image-juliusomo.webp"
61+
},
62+
"username": "juliusomo"
63+
}
64+
}
65+
]
66+
}
67+
]
68+
}

design/active-states.jpg

95 KB
Loading

design/desktop-design.jpg

62.8 KB
Loading

design/desktop-modal.jpg

49.6 KB
Loading

design/desktop-preview.jpg

58.6 KB
Loading

design/mobile-design.jpg

57.1 KB
Loading

design/mobile-modal.jpg

24.7 KB
Loading

0 commit comments

Comments
 (0)