Skip to content

Commit

Permalink
FAIR SHARE 1.8.0
Browse files Browse the repository at this point in the history
Add Social Media Icons
Add socialMediaData.json
Update App.js
Update index.css
Update index.html
Update README.md
  • Loading branch information
DavidGomezToca committed Feb 7, 2025
1 parent cadd507 commit 3115606
Show file tree
Hide file tree
Showing 8 changed files with 108 additions and 9 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

- **STACK :**

- **Fair Share** : `1.7.0`
- **Fair Share** : `1.8.0`
- **React** : `18.3.1`
- **React Dom** : `18.3.1`

Expand All @@ -25,4 +25,4 @@
- **CREDITS :**

- **Author : [David Gómez](https://github.com/DavidGomezToca)**
- **Resources : [Flaticon](https://www.flaticon.com/)**
- **Icons : [Font Awesome](https://fontawesome.com)**
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "fair-share",
"version": "1.7.0",
"version": "1.8.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
Expand Down
8 changes: 8 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@
<meta name="Fair Share" />
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!-- Font Awesome -->
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw=="
crossorigin="anonymous"
referrerpolicy="no-referrer"
/>
<title>Fair Share</title>
</head>
<body>
Expand Down
Binary file modified resources/img/Thumbnail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 40 additions & 2 deletions src/components/App.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { useState } from "react"
import FriendsData from "../data/friendsData.json"
import SocialMediaData from "../data/socialMediaData.json"

/**
* @component App.
Expand Down Expand Up @@ -136,8 +137,11 @@ export default function App() {
{showAddFriend && <FormAddFriend onAddFriend={handleAddFriend} />}
<Button onClick={handleShowAddFriend}>{showAddFriend ? "Close" : "Add friend"}</Button>
</div>
{selectedFriend && <FormSplitBill selectedFriend={selectedFriend} onSplitBill={handleSplitBill} setShowMessage={setShowMessage} setSplitSuccess={setSplitSuccess} />}
{showMessage && <Message setShowMessage={setShowMessage} splitSuccess={splitSuccess} />}
<div>
{selectedFriend && <FormSplitBill selectedFriend={selectedFriend} onSplitBill={handleSplitBill} setShowMessage={setShowMessage} setSplitSuccess={setSplitSuccess} />}
{showMessage && <Message setShowMessage={setShowMessage} splitSuccess={splitSuccess} />}
<SocialMedia />
</div>
</div>
)
}
Expand Down Expand Up @@ -429,4 +433,38 @@ function Message({ setShowMessage, splitSuccess }) {
</div>
</div>
)
}

/**
* @component SocialMedia.
* @returns {JSX.Element} - The Social Media component.
*/
function SocialMedia() {
/**
* Social Medias List.
* @type {object}.
*/
const socialMedias = SocialMediaData.socialMedias

return (
<div className="social-media">
{socialMedias.map((socialMedia) => (
<SocialMediaIcon key={`social-media-${socialMedia.name}`} url={socialMedia.url} icon={socialMedia.icon} />
))}
</div>
)

/**
* @component Social Media Icon.
* @param {string} url - The URL of the social media.
* @param {string} icon - The icon of the social media.
* @returns {JSX.Element} - The Social Media Icon component.
*/
function SocialMediaIcon({ url, icon }) {
return (
<a className="icon" href={url} target="_blank" rel="noreferrer">
<i className={icon} />
</a>
)
}
}
24 changes: 24 additions & 0 deletions src/data/socialMediaData.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"socialMedias": [
{
"name": "GitHub",
"url": "https://github.com/DavidGomezToca",
"icon": "fa-brands fa-github"
},
{
"name": "StackOverflow",
"url": "https://stackoverflow.com/users/23405761/david-gomez",
"icon": "fa-brands fa-stack-overflow"
},
{
"name": "LinkedIn",
"url": "https://www.linkedin.com/in/david-alejandro-gomez-toca",
"icon": "fa-brands fa-linkedin"
},
{
"name": "Twitter",
"url": "https://twitter.com/DavidGomezToca",
"icon": "fa-brands fa-twitter"
}
]
}
33 changes: 31 additions & 2 deletions src/index.css
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
:root {
--color-text: #343a40;
--color-lightest: #fff4e6;
--color-light: #ffe8cc;
--color-medium: #ffa94d;
Expand All @@ -24,7 +25,7 @@ html {

body {
min-height: 100vh;
color: #495057;
color: var(--color-text);
display: flex;
align-items: center;
justify-content: center;
Expand All @@ -46,7 +47,7 @@ body {

.button {
background-color: var(--color-medium);
color: #343a40;
color: var(--color-text);
padding: 0.8rem 1.2rem;
border: none;
border-radius: 7px;
Expand Down Expand Up @@ -266,6 +267,34 @@ form h2 {
transform: scale(1.02);
}

.social-media {
display: flex;
justify-content: center;
gap: 2rem;
margin-top: 2rem;
}

.social-media .icon {
text-decoration: none;
border: solid 2px;
border-radius: 100%;
transition: 0.3s;
color: var(--color-text);
}

.social-media .icon:hover {
transform: scale(1.2);
}

.social-media .icon i {
display: flex;
justify-content: center;
align-items: center;
font-size: 2.4rem;
width: 4rem;
height: 4rem;
}

@media (max-width: 1200px) {
.app {
grid-template-columns: 1fr;
Expand Down

0 comments on commit 3115606

Please sign in to comment.