325 lines
9.1 KiB
JavaScript
325 lines
9.1 KiB
JavaScript
// lib/fonts.js
|
|
import {
|
|
Montserrat,
|
|
Open_Sans,
|
|
Roboto,
|
|
Lato,
|
|
Raleway,
|
|
Poppins,
|
|
Work_Sans,
|
|
Jost,
|
|
Noto_Sans,
|
|
Quicksand,
|
|
Averia_Libre,
|
|
Philosopher,
|
|
Pacifico,
|
|
Caveat,
|
|
Sacramento,
|
|
Dancing_Script,
|
|
Indie_Flower,
|
|
Amatic_SC,
|
|
Kaushan_Script,
|
|
Architects_Daughter,
|
|
Neucha,
|
|
Great_Vibes,
|
|
Satisfy,
|
|
Yellowtail,
|
|
Gloria_Hallelujah,
|
|
Courgette,
|
|
Almendra,
|
|
Oswald,
|
|
Bebas_Neue,
|
|
Anton,
|
|
Ultra,
|
|
Stint_Ultra_Condensed,
|
|
Playfair_Display,
|
|
Abril_Fatface,
|
|
Permanent_Marker,
|
|
Alfa_Slab_One,
|
|
Black_Ops_One,
|
|
Germania_One,
|
|
Holtwood_One_SC,
|
|
Exo,
|
|
Orbitron,
|
|
Audiowide,
|
|
Rajdhani,
|
|
Space_Mono,
|
|
Questrial,
|
|
Syncopate,
|
|
Unica_One,
|
|
Italiana,
|
|
Staatliches,
|
|
Press_Start_2P,
|
|
Righteous,
|
|
Metal_Mania,
|
|
Alegreya,
|
|
Spectral,
|
|
Fjalla_One,
|
|
Glass_Antiqua,
|
|
Cinzel_Decorative,
|
|
Andika,
|
|
} from "next/font/google";
|
|
|
|
function createFont(fontFn, name) {
|
|
return {
|
|
...fontFn,
|
|
className: `font-${name.toLowerCase().replace(/\s+/g, "")}`,
|
|
};
|
|
}
|
|
|
|
// 🔤 Modern Fonts
|
|
const montserrat = Montserrat({
|
|
subsets: ["latin"],
|
|
variable: "--font-montserrat",
|
|
});
|
|
const opensans = Open_Sans({ subsets: ["latin"], variable: "--font-opensans" });
|
|
const roboto = Roboto({ subsets: ["latin"], variable: "--font-roboto" });
|
|
const lato = Lato({ subsets: ["latin"], variable: "--font-lato" });
|
|
const raleway = Raleway({ subsets: ["latin"], variable: "--font-raleway" });
|
|
const poppins = Poppins({ subsets: ["latin"], variable: "--font-poppins" });
|
|
const worksans = Work_Sans({ subsets: ["latin"], variable: "--font-worksans" });
|
|
const jost = Jost({ subsets: ["latin"], variable: "--font-jost" });
|
|
const notosans = Noto_Sans({ subsets: ["latin"], variable: "--font-notosans" });
|
|
const quicksand = Quicksand({
|
|
subsets: ["latin"],
|
|
variable: "--font-quicksand",
|
|
});
|
|
const averialibre = Averia_Libre({
|
|
subsets: ["latin"],
|
|
variable: "--font-averialibre",
|
|
});
|
|
const philosopher = Philosopher({
|
|
subsets: ["latin"],
|
|
variable: "--font-philosopher",
|
|
});
|
|
|
|
// ✍️ Handwriting
|
|
const pacifico = Pacifico({ subsets: ["latin"], variable: "--font-pacifico" });
|
|
const caveat = Caveat({ subsets: ["latin"], variable: "--font-caveat" });
|
|
const sacramento = Sacramento({
|
|
subsets: ["latin"],
|
|
variable: "--font-sacramento",
|
|
});
|
|
const dancingscript = Dancing_Script({
|
|
subsets: ["latin"],
|
|
variable: "--font-dancingscript",
|
|
});
|
|
const indieflower = Indie_Flower({
|
|
subsets: ["latin"],
|
|
variable: "--font-indieflower",
|
|
});
|
|
const amaticsc = Amatic_SC({ subsets: ["latin"], variable: "--font-amatic" });
|
|
const kaushanscript = Kaushan_Script({
|
|
subsets: ["latin"],
|
|
variable: "--font-kaushan",
|
|
});
|
|
const architectsdaughter = Architects_Daughter({
|
|
subsets: ["latin"],
|
|
variable: "--font-architects",
|
|
});
|
|
const neucha = Neucha({ subsets: ["latin"], variable: "--font-neucha" });
|
|
const greatvibes = Great_Vibes({
|
|
subsets: ["latin"],
|
|
variable: "--font-greatvibes",
|
|
});
|
|
const satisfy = Satisfy({ subsets: ["latin"], variable: "--font-satisfy" });
|
|
const yellowtail = Yellowtail({
|
|
subsets: ["latin"],
|
|
variable: "--font-yellowtail",
|
|
});
|
|
const gloriahallelujah = Gloria_Hallelujah({
|
|
subsets: ["latin"],
|
|
variable: "--font-gloria",
|
|
});
|
|
const courgette = Courgette({
|
|
subsets: ["latin"],
|
|
variable: "--font-courgette",
|
|
});
|
|
const almendra = Almendra({ subsets: ["latin"], variable: "--font-almendra" });
|
|
|
|
// 🧑🎤 Statement
|
|
const oswald = Oswald({ subsets: ["latin"], variable: "--font-oswald" });
|
|
const bebasneue = Bebas_Neue({
|
|
subsets: ["latin"],
|
|
variable: "--font-bebasneue",
|
|
});
|
|
const anton = Anton({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-anton",
|
|
});
|
|
const ultra = Ultra({ subsets: ["latin"], variable: "--font-ultra" });
|
|
const stintultracondensed = Stint_Ultra_Condensed({
|
|
subsets: ["latin"],
|
|
variable: "--font-stint",
|
|
});
|
|
const playfair = Playfair_Display({
|
|
subsets: ["latin"],
|
|
variable: "--font-playfair",
|
|
});
|
|
const abril = Abril_Fatface({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-abril",
|
|
});
|
|
const permanentmarker = Permanent_Marker({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-permanentmarker",
|
|
});
|
|
const alfaslab = Alfa_Slab_One({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-alfaslab",
|
|
});
|
|
const blackops = Black_Ops_One({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-blackops",
|
|
});
|
|
const germania = Germania_One({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-germania",
|
|
});
|
|
const holtwood = Holtwood_One_SC({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-holtwood",
|
|
});
|
|
|
|
// 🚀 Futuristic
|
|
const exo = Exo({ subsets: ["latin"], variable: "--font-exo" });
|
|
const orbitron = Orbitron({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-orbitron",
|
|
});
|
|
const audiowide = Audiowide({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-audiowide",
|
|
});
|
|
const rajdhani = Rajdhani({ subsets: ["latin"], variable: "--font-rajdhani" });
|
|
const spacemono = Space_Mono({
|
|
subsets: ["latin"],
|
|
variable: "--font-spacemono",
|
|
});
|
|
const questrial = Questrial({
|
|
subsets: ["latin"],
|
|
variable: "--font-questrial",
|
|
});
|
|
const syncopate = Syncopate({
|
|
subsets: ["latin"],
|
|
variable: "--font-syncopate",
|
|
});
|
|
const unicaone = Unica_One({ subsets: ["latin"], variable: "--font-unicaone" });
|
|
const italiana = Italiana({ subsets: ["latin"], variable: "--font-italiana" });
|
|
const staatliches = Staatliches({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-staatliches",
|
|
});
|
|
|
|
// 🧢 Aesthetic
|
|
const pressstart2p = Press_Start_2P({
|
|
subsets: ["latin"],
|
|
variable: "--font-pressstart2p",
|
|
});
|
|
const righteous = Righteous({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-righteous",
|
|
});
|
|
const metalmania = Metal_Mania({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-metalmania",
|
|
});
|
|
const alegreya = Alegreya({ subsets: ["latin"], variable: "--font-alegreya" });
|
|
const spectral = Spectral({ subsets: ["latin"], variable: "--font-spectral" });
|
|
const fjallaone = Fjalla_One({
|
|
subsets: ["latin"],
|
|
variable: "--font-fjallaone",
|
|
});
|
|
const glassantiqua = Glass_Antiqua({
|
|
subsets: ["latin"],
|
|
variable: "--font-glassantiqua",
|
|
});
|
|
const cinzeldecorative = Cinzel_Decorative({
|
|
subsets: ["latin"],
|
|
variable: "--font-cinzeldecorative",
|
|
});
|
|
const andika = Andika({
|
|
subsets: ["latin"],
|
|
weight: "400",
|
|
variable: "--font-andika",
|
|
});
|
|
|
|
export const fonts = {
|
|
Montserrat: createFont(montserrat, "montserrat"),
|
|
"Open Sans": createFont(opensans, "opensans"),
|
|
Roboto: createFont(roboto, "roboto"),
|
|
Lato: createFont(lato, "lato"),
|
|
Raleway: createFont(raleway, "raleway"),
|
|
Poppins: createFont(poppins, "poppins"),
|
|
"Work Sans": createFont(worksans, "worksans"),
|
|
Jost: createFont(jost, "jost"),
|
|
"Noto Sans": createFont(notosans, "notosans"),
|
|
Quicksand: createFont(quicksand, "quicksand"),
|
|
"Averia Libre": createFont(averialibre, "averialibre"),
|
|
Philosopher: createFont(philosopher, "philosopher"),
|
|
|
|
Pacifico: createFont(pacifico, "pacifico"),
|
|
Caveat: createFont(caveat, "caveat"),
|
|
Sacramento: createFont(sacramento, "sacramento"),
|
|
"Dancing Script": createFont(dancingscript, "dancingscript"),
|
|
"Indie Flower": createFont(indieflower, "indieflower"),
|
|
"Amatic SC": createFont(amaticsc, "amatic"),
|
|
"Kaushan Script": createFont(kaushanscript, "kaushan"),
|
|
"Architects Daughter": createFont(architectsdaughter, "architects"),
|
|
Neucha: createFont(neucha, "neucha"),
|
|
"Great Vibes": createFont(greatvibes, "greatvibes"),
|
|
Satisfy: createFont(satisfy, "satisfy"),
|
|
Yellowtail: createFont(yellowtail, "yellowtail"),
|
|
"Gloria Hallelujah": createFont(gloriahallelujah, "gloria"),
|
|
Courgette: createFont(courgette, "courgette"),
|
|
Almendra: createFont(almendra, "almendra"),
|
|
|
|
Oswald: createFont(oswald, "oswald"),
|
|
"Bebas Neue": createFont(bebasneue, "bebasneue"),
|
|
Anton: createFont(anton, "anton"),
|
|
Ultra: createFont(ultra, "ultra"),
|
|
"Stint Ultra Condensed": createFont(stintultracondensed, "stint"),
|
|
"Playfair Display": createFont(playfair, "playfair"),
|
|
"Abril Fatface": createFont(abril, "abril"),
|
|
"Permanent Marker": createFont(permanentmarker, "permanentmarker"),
|
|
"Alfa Slab One": createFont(alfaslab, "alfaslab"),
|
|
"Black Ops One": createFont(blackops, "blackops"),
|
|
"Germania One": createFont(germania, "germania"),
|
|
"Holtwood One SC": createFont(holtwood, "holtwood"),
|
|
|
|
Exo: createFont(exo, "exo"),
|
|
Orbitron: createFont(orbitron, "orbitron"),
|
|
Audiowide: createFont(audiowide, "audiowide"),
|
|
Rajdhani: createFont(rajdhani, "rajdhani"),
|
|
"Space Mono": createFont(spacemono, "spacemono"),
|
|
Questrial: createFont(questrial, "questrial"),
|
|
Syncopate: createFont(syncopate, "syncopate"),
|
|
"Unica One": createFont(unicaone, "unicaone"),
|
|
Italiana: createFont(italiana, "italiana"),
|
|
Staatliches: createFont(staatliches, "staatliches"),
|
|
|
|
"Press Start 2P": createFont(pressstart2p, "pressstart2p"),
|
|
Righteous: createFont(righteous, "righteous"),
|
|
"Metal Mania": createFont(metalmania, "metalmania"),
|
|
Alegreya: createFont(alegreya, "alegreya"),
|
|
Spectral: createFont(spectral, "spectral"),
|
|
"Fjalla One": createFont(fjallaone, "fjallaone"),
|
|
"Glass Antiqua": createFont(glassantiqua, "glassantiqua"),
|
|
"Cinzel Decorative": createFont(cinzeldecorative, "cinzeldecorative"),
|
|
Andika: createFont(andika, "andika"),
|
|
};
|
|
|
|
export const getFontData = (key) => fonts[key] ?? fonts["Anton"];
|