This commit is contained in:
MisbehavedNinjaRadiator 2025-06-18 17:17:57 +02:00 committed by MisbehavedNinjaRadiator
parent 0edae08cd3
commit 32311fe6db
8 changed files with 20 additions and 39 deletions

View file

@ -0,0 +1,55 @@
import "./footer.css";
import { Link } from "react-router-dom";
import { useAuth } from "../api/Auth";
function Footer() {
const { user } = useAuth();
const { logout } = useAuth();
return (
<footer className="footer">
<div className="footer-left">
<Link to="/" className="footer-link feather">
<img src="/assets/icons/BirdIconO.ico" alt="Feather icon" />
<span className="small-title">Feather Feed</span>
</Link>
<a
href="https://github.com/bubblecup-12/VogelSocialMedia"
target="_blank"
rel="noreferrer"
className="footer-link github"
>
<img src="/assets/icons/github-mark.svg" alt="GitHub mark" />
<img src="/assets/icons/GitHub_Logo.png" alt="GitHub logo" />
</a>
</div>
<div className="footer-right">
<Link className="footer-link" to="/">
Feed
</Link>
{user ? (
<a className="footer-link" onClick={logout}>
Logout
</a>
) : (
<>
<Link className="footer-link" to="login">
Login
</Link>
<Link className="footer-link" to="/register">
Sign up
</Link>
</>
)}
<Link className="footer-link" to="/createPost">
Create Post
</Link>
<Link className="footer-link" to="/about">
About
</Link>
</div>
</footer>
);
}
export default Footer;

View file

@ -0,0 +1,94 @@
/*mobile style first*/
.footer {
display: flex;
flex-direction: row;
align-items: flex-start;
justify-content: space-between;
background-color: var(--Rotkehlchen-gray);
padding: 1rem;
gap: 2rem;
text-align: center;
text-decoration: none;
}
.footer-left {
display: flex;
flex-direction: column;
gap: 2rem;
align-items: flex-start;
}
.footer-link {
display: flex;
align-items: center;
gap: 0.5rem; /*Gap between icon and logo */
text-decoration: none; /*prevents constant underline*/
color: black;
font-weight: 500;
cursor: pointer;
}
.footer-link.feather img {
width: 20px;
height: 20px;
transform: scale(1.5);
}
.footer-link img {
height: 1.5rem;
object-fit: unset;
vertical-align: middle;
}
.footer-link.feather span {
color: var(--Rotkehlchen-orange-default);
font-weight: bold;
}
.footer-right {
display: flex;
flex-direction: column;
gap: 0.4rem; /*gap between the links*/
align-items: flex-end;
}
.footer-column a {
color: black;
text-decoration: none;
font-weight: 500;
}
.footer-link:hover,
.footer-link:active {
text-decoration: underline;
}
.footer-link.feather:hover,
.footer-link.feather:active {
text-decoration-color: var(--Rotkehlchen-orange-default);
}
/*@media adjusts styles for desktop */
@media (min-width: 768px) {
.footer {
flex-direction: row;
justify-content: space-between;
align-items: center;
text-align: left;
padding: 2rem 4rem;
}
.footer-left {
align-items: flex-start;
}
.footer-right {
flex-direction: row;
gap: 4rem;
align-items: flex-start;
}
.footer-column {
align-items: flex-start;
}
}