SPB Git

spb/qwhpi Public

QHPI — Quebec Housing Price Index: quality-adjusted, hierarchically pooled housing price indexes.

Python 63.9% TypeScript 25.4% CSS 5.5% TeX 3.5% SQL 0.8% Makefile 0.5% Dockerfile 0.5%
2.8 KB · 77 lines tsx
Raw Blame History
1/**2 * =============================================================================3 * QWHPI — Quebec Weekly Housing Price Index4 * Author  : Simon-Pierre Boucher5 * Contact : contact@spboucher.ai6 * File    : web/app/opengraph-image.tsx7 * Purpose : Generated Open Graph share image (1200×630, brand chart motif).8 * =============================================================================9 */10import { ImageResponse } from "next/og";1112export const runtime = "edge";13export const alt = "QHPI — Quebec Housing Price Index (monthly)";14export const size = { width: 1200, height: 630 };15export const contentType = "image/png";1617export default function OgImage() {18  return new ImageResponse(19    (20      <div21        style={{22          width: "100%", height: "100%", display: "flex",23          flexDirection: "column", justifyContent: "space-between",24          background: "linear-gradient(135deg, #fcfcfb 60%, #e8f0fb 100%)",25          padding: 64, fontFamily: "Georgia, serif",26        }}27      >28        <div style={{ display: "flex", alignItems: "center", gap: 20 }}>29          <div30            style={{31              width: 56, height: 56, borderRadius: 14, background: "#2a78d6",32              display: "flex", alignItems: "center", justifyContent: "center",33            }}34          >35            <svg width="34" height="34" viewBox="0 0 22 22">36              <path d="M5 14.5 L9 10.5 L12 12.5 L17 6.5" fill="none"37                    stroke="#fff" strokeWidth="2.2" strokeLinecap="round"38                    strokeLinejoin="round" />39            </svg>40          </div>41          <div style={{ fontSize: 44, fontWeight: 700, color: "#0b0b0b" }}>42            QHPI43          </div>44          <div style={{ fontSize: 24, color: "#716f66" }}>45            Quebec Housing Price Index · monthly46          </div>47        </div>4849        <svg width="1072" height="270" viewBox="0 0 1072 270">50          <path51            d="M0 240 C 120 235, 180 200, 260 190 S 400 205, 470 18552               S 610 120, 700 110 S 850 70, 940 45 S 1030 25, 1072 15"53            fill="none" stroke="#2a78d6" strokeWidth="6" strokeLinecap="round"54          />55          <path56            d="M0 240 C 120 235, 180 200, 260 190 S 400 205, 470 18557               S 610 120, 700 110 S 850 70, 940 45 S 1030 25, 1072 1558               L 1072 270 L 0 270 Z"59            fill="rgba(42,120,214,0.12)"60          />61        </svg>6263        <div style={{ display: "flex", justifyContent: "space-between",64                      alignItems: "flex-end" }}>65          <div style={{ fontSize: 34, color: "#0b0b0b", maxWidth: 760 }}>66            Quebec housing prices, measured monthly, robustly.67          </div>68          <div style={{ fontSize: 20, color: "#716f66" }}>69            indexqc.house70          </div>71        </div>72      </div>73    ),74    size,75  );76}77