Skip to content
Open
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Newer npm (11.6+) blocks git dependencies by default (EALLOWGIT), which breaks
# CI on our own `tripsit_drug_db` (github:tripsit/drugs). `root` re-allows git
# deps declared directly in package.json while still blocking transitive ones.
allow-git=root
257 changes: 127 additions & 130 deletions src/components/Footer.tsx
Original file line number Diff line number Diff line change
@@ -1,141 +1,138 @@
export default function Footer() {
return (
<footer id="footer">
<div className="footer-top">
<div className="container">
<div className="row">
<div className="col-lg-3 col-md-6 footer-contact">
<h3>TripSit</h3>
</div>
import Image from "next/image";
import Link from "next/link";
import logo from "../../public/assets/img/logo.png";

<div className="col-lg-2 col-md-6 footer-links">
<h4>Useful Links</h4>
<ul>
<li>
<i className="bx bx-chevron-right"></i> <a href="#">Home</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://tripsit.me/about/">About us</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://wiki.tripsit.me/wiki/Terms_of_Service">
Terms of service
</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://wiki.tripsit.me/wiki/Privacy_Policy">
Privacy policy
</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://home.tripsit.me/">Team Portal</a>
</li>
</ul>
</div>
const columns = [
{
title: "Useful Links",
links: [
{ label: "Home", href: "/" },
{ label: "About us", href: "/#about" },
{
label: "Terms of service",
href: "https://wiki.tripsit.me/wiki/Terms_of_Service",
},
{
label: "Privacy policy",
href: "https://wiki.tripsit.me/wiki/Privacy_Policy",
},
{ label: "Team Portal", href: "https://home.tripsit.me/" },
],
},
{
title: "Our Services",
links: [
{ label: "Combo App", href: "https://combo.tripsit.me/" },
{ label: "Factsheets", href: "https://drugs.tripsit.me/" },
{ label: "Live Chat", href: "https://chat.tripsit.me" },
{
label: "Android App",
href: "https://play.google.com/store/apps/details?id=me.tripsit.mobile",
},
{ label: "Learning Portal", href: "https://learn.tripsit.me/" },
],
},
{
title: "Community",
links: [
{
label: "Discord",
href: "https://discord.gg/tripsit",
icon: "bxl-discord",
},
{
label: "Twitter",
href: "https://twitter.com/teamtripsit",
icon: "bxl-twitter",
},
{
label: "Facebook",
href: "https://www.facebook.com/TripSitme",
icon: "bxl-facebook",
},
{
label: "Reddit",
href: "http://reddit.com/r/TripSit",
icon: "bxl-reddit",
},
{
label: "Matrix",
href: "http://element.tripsit.me",
icon: "bx-message-square-dots",
},
{
label: "LinkedIn",
href: "https://www.linkedin.com/company/tripsit",
icon: "bxl-linkedin",
},
],
},
];

<div className="col-lg-3 col-md-6 footer-links">
<h4>Our Services</h4>
<ul>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://combo.tripsit.me/">Combo App</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://drugs.tripsit.me/">Factsheets</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://chat.tripsit.me">Live Chat</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://play.google.com/store/apps/details?id=me.tripsit.mobile">
Android App
</a>
</li>
<li>
<i className="bx bx-chevron-right"></i>{" "}
<a href="https://learn.tripsit.me/">Learning Portal</a>
</li>
</ul>
</div>
const footerLinkClass =
"text-sm text-mute transition hover:text-cyan focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-cyan";

<div className="col-lg-3 col-md-6 footer-links">
<h4>Contact Us</h4>
<ul>
<li>
<i className="bx bxl-discord"></i>
<a href="https://discord.gg/tripsit">Discord</a>
</li>
<li>
<i className="bx bxl-twitter"></i>
<a href="https://twitter.com/teamtripsit">Twitter</a>
</li>
<li>
<i className="bx bxl-facebook"></i>
<a href="https://www.facebook.com/TripSitme">Facebook</a>
</li>
<li>
<i className="bx bxl-reddit"></i>
<a href="http://reddit.com/r/TripSit">Reddit</a>
</li>
<li>
<i className="ri-sparkling-line"></i>
<a href="http://element.tripsit.me">Matrix</a>
</li>
</ul>
</div>
export default function Footer() {
return (
<footer className="border-t border-line/60 bg-night px-5 text-ink">
<div className="mx-auto grid max-w-6xl gap-10 py-14 sm:grid-cols-2 lg:grid-cols-4">
<div>
<Link href="/" className="inline-block">
<Image src={logo} alt="TripSit" className="h-10 w-auto" />
</Link>
<p className="mt-4 max-w-xs text-sm leading-relaxed text-mute">
Harm Reduction Through Education. A volunteer-run community since
2011.
</p>
</div>

{/* <div className="col-lg-4 col-md-6 footer-newsletter">
<h4>Join Our Newsletter</h4>
<p>Want to stay up to date with new information?</p>
<form action="" method="post">
<input type="email" name="email" />{" "}
<input type="submit" value="Subscribe" />
</form>
</div> */}
{columns.map((column) => (
<div key={column.title}>
<p className="mb-4 text-xs font-semibold uppercase tracking-widest text-mute">
{column.title}
</p>
<ul className="list-none space-y-2.5 pl-0">
{column.links.map((link) => {
const Comp = link.href.startsWith("/") ? Link : "a";
return (
<li key={link.label}>
<Comp href={link.href} className={footerLinkClass}>
{"icon" in link && (
<i
className={`bx ${link.icon} mr-2 align-middle text-base text-violet`}
aria-hidden
/>
)}
{link.label}
</Comp>
</li>
);
})}
</ul>
</div>
</div>
))}
</div>

<div className="container d-md-flex py-4">
<div className="me-md-auto text-center text-md-start">
<div className="copyright">
&copy; Copyright{" "}
<strong>
<span>TripSit</span>
</strong>
. All Rights Reserved
</div>
<div className="credits">
Made with ❤️ by <a href="https://github.com/LunaUrsa">Moonbear</a>{" "}
<div className="border-t border-line/60">

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might be worth adding something like:

const credits = [
  { name: "Moonbear", href: "https://github.com/LunaUrsa" },
  { name: "Sympact06", href: "https://github.com/Sympact06" },
  { name: "Team TripSit" },
];

Then your div block for credits can be simplified:

<p>
  Made with <i className="bx bxs-heart align-middle text-violet" aria-hidden />
  <span className="sr-only">love</span> by {credits.map((c, i) => (
    <span key={c.name}>
      {i > 0 && (i === credits.length - 1 ? " and " : ", ")}
      {c.href ? (
        <a href={c.href} className="text-ink transition hover:text-cyan">
          {c.name}
        </a>
      ) : (
        c.name
      )}
    </span>
  ))}
</p>

<div className="mx-auto flex max-w-6xl flex-col items-center gap-1.5 py-6 text-center text-xs text-mute sm:flex-row sm:justify-between sm:text-left">
<p>&copy; {new Date().getFullYear()} TripSit. All Rights Reserved.</p>
<p>
Made with ❤️ by{" "}
<a
href="https://github.com/LunaUrsa"
className="text-ink transition hover:text-cyan"
>
Moonbear
</a>
,{" "}
<a
href="https://github.com/Sympact06"
className="text-ink transition hover:text-cyan"
>
Sympact06
</a>{" "}
and Team TripSit
</div>
</div>
<div className="social-links text-center text-md-right pt-3 pt-md-0">
<a href="https://discord.gg/tripsit" className="discord">
<i className="bx bxl-discord"></i>
</a>
<a href="https://twitter.com/teamtripsit" className="twitter">
<i className="bx bxl-twitter"></i>
</a>
<a href="https://www.facebook.com/TripSitme" className="facebook">
<i className="bx bxl-facebook"></i>
</a>
<a href="http://reddit.com/r/TripSit" className="reddit">
<i className="bx bxl-reddit"></i>
</a>
<a
href="https://www.linkedin.com/company/tripsit"
className="linkedin"
>
<i className="bx bxl-linkedin"></i>
</a>
</p>
</div>
</div>
</footer>
Expand Down
Loading
Loading