SPB Git forge

spb/rent-ka

Public
8commits 1branches 0releases
7.4 MBsize
maindefault branch
19 days agolast push
Python 68.8% TypeScript 18.6% CSS 8.7% JavaScript 3.3% HTML 0.6%
2.3 KB · 65 lines tsx
Raw Blame History
1// -----------------------------------------------------------------------------2// Rent-Ka — Rental listings aggregator (Canada, outside Québec)3// Author: Simon-Pierre Boucher — contact@spboucher.ai4// pages/Contact.tsx: shared Groupe KA contact page (ecosystem.json data)5// -----------------------------------------------------------------------------6import { useEffect } from "react";7import eco from "../ka/ecosystem.json";89export default function ContactPage() {10  useEffect(() => {11    document.title = "Contact | Rent-Ka — A Groupe KA service";12    window.scrollTo(0, 0);13  }, []);1415  const others = eco.sites.filter((s) => s.id !== "rent-ka");1617  return (18    <div className="container contact-page">19      <span className="kicker">Contact</span>20      <h1>21        Write to <span className="hl">Groupe KA</span>22      </h1>23      <p className="lede">24        Rent-Ka — {eco.sites.find((s) => s.id === "rent-ka")?.tagline?.toLowerCase()} —25        is a service of {eco.org.name}. {eco.org.tagline} All requests go26        through the addresses below.27      </p>2829      <div className="contact-grid">30        {eco.contacts.map((c) => (31          <div className="card contact-card" key={c.email}>32            <span className="klabel">{c.role}</span>33            <a className="mail" href={`mailto:${c.email}`}>{c.email}</a>34          </div>35        ))}36      </div>3738      <p className="contact-note">39        <b>{eco.org.disclaimer}</b> The listings displayed on Rent-Ka come from40        the public websites of property managers; every listing links back to41        the original ad. For any question about a rental, contact the manager42        shown on the listing directly.43      </p>4445      <div className="contact-hub">46        <span className="klabel">The ·Ka ecosystem</span>47        <ul className="contact-sites">48          {others.map((s) => (49            <li key={s.id}>50              <a href={`https://${s.domain}`} target="_blank" rel="noopener noreferrer">51                {s.wordmark}52              </a>53            </li>54          ))}55        </ul>56        <p style={{ marginTop: 18 }}>57          <a className="btn btn-primary" href={eco.hub.url} target="_blank" rel="noopener noreferrer">58            Visit the groupe-ka.com portal →59          </a>60        </p>61      </div>62    </div>63  );64}65