Replace Vazirmatn with a locally-served Peyda font for Persian text.
Vendor the Peyda woff weights (Thin–Black) under public/fonts/peyda and load them via next/font/local in a shared fonts module, exposed through the --font-peyda CSS variable and the font-peyda Tailwind utility. Drops the runtime Google Fonts fetch on the landing and auth pages. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
Peyda fonts are considered a proprietary software.
|
||||
To gain information about the laws regarding the use of these fonts, please visit www.fontiran.com
|
||||
|
||||
This set of fonts are used in this project under the license: (3YFCCT)
|
||||
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
In case you use this set of fonts in a software product, write the license code in the specified place and place this file next to the fonts.
|
||||
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
فونت های پیدا يک نرم افزار مالکيتی محسوب می شود جهت آگاهی از قوانين استفاده از اين فونتها لطفاً به وبسايت
|
||||
www.fontiran.com
|
||||
مراجعه نماييد
|
||||
اين مجموعه فونت تحت اجازه نامه
|
||||
(3YFCCT)
|
||||
در اين پروژه استفاده می شود
|
||||
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
در صورت استفاده از این مجموعه فونت در یک محصول نرم افزاری یا وبسایت کد ۶ رقمی لایسنس خود را در محل مشخص شده (3YFCCT) درج کنید و این فایل را در کنار فونت ها قرار دهید.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,18 @@
|
||||
import localFont from 'next/font/local';
|
||||
|
||||
// Peyda — Persian/Arabic typeface served locally from public/fonts/peyda.
|
||||
export const peyda = localFont({
|
||||
src: [
|
||||
{ path: '../../public/fonts/peyda/Peyda-Thin.woff', weight: '100', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-ExtraLight.woff', weight: '200', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-Light.woff', weight: '300', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-Regular.woff', weight: '400', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-Medium.woff', weight: '500', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-SemiBold.woff', weight: '600', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-Bold.woff', weight: '700', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-ExtraBold.woff', weight: '800', style: 'normal' },
|
||||
{ path: '../../public/fonts/peyda/Peyda-Black.woff', weight: '900', style: 'normal' },
|
||||
],
|
||||
variable: '--font-peyda',
|
||||
display: 'swap',
|
||||
});
|
||||
@@ -1,13 +1,7 @@
|
||||
import type { Metadata } from 'next';
|
||||
import { Vazirmatn } from 'next/font/google';
|
||||
import { peyda } from './fonts';
|
||||
import { LandingPage } from '@/components/landing/LandingPage';
|
||||
|
||||
const vazir = Vazirmatn({
|
||||
subsets: ['arabic'],
|
||||
variable: '--font-vazir',
|
||||
display: 'swap',
|
||||
});
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: 'ابربان | زیرساخت ابری، در کنترل تو',
|
||||
description:
|
||||
@@ -16,7 +10,7 @@ export const metadata: Metadata = {
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<div dir="rtl" className={`${vazir.variable} font-vazir`}>
|
||||
<div dir="rtl" className={`${peyda.variable} font-peyda`}>
|
||||
<LandingPage />
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import type { ReactNode } from 'react';
|
||||
import { Vazirmatn } from 'next/font/google';
|
||||
import Link from 'next/link';
|
||||
import { peyda } from '@/app/fonts';
|
||||
import { Logo } from '@/components/landing/Logo';
|
||||
|
||||
const vazir = Vazirmatn({ subsets: ['arabic'], variable: '--font-vazir', display: 'swap' });
|
||||
|
||||
// Cinematic auth shell that echoes the Abrban landing: a calm blue sky (the
|
||||
// "clear sky" finale), soft drifting clouds, a warm sun glow, the brand logo,
|
||||
// and the form inside a frosted dark-glass panel. Persian / RTL.
|
||||
@@ -28,7 +26,7 @@ export function AuthShell({
|
||||
return (
|
||||
<div
|
||||
dir="rtl"
|
||||
className={`${vazir.variable} font-vazir relative min-h-screen w-full overflow-hidden bg-gradient-to-b from-[#1b6fd0] via-[#589add] to-[#cfe6f7] text-white`}
|
||||
className={`${peyda.variable} font-peyda relative min-h-screen w-full overflow-hidden bg-gradient-to-b from-[#1b6fd0] via-[#589add] to-[#cfe6f7] text-white`}
|
||||
>
|
||||
{/* Sky atmosphere: warm sun glow, drifting clouds, soft vignette */}
|
||||
<div className="pointer-events-none absolute inset-0 overflow-hidden">
|
||||
|
||||
@@ -9,7 +9,7 @@ const config: Config = {
|
||||
theme: {
|
||||
extend: {
|
||||
fontFamily: {
|
||||
vazir: ['var(--font-vazir)', 'system-ui', 'sans-serif'],
|
||||
peyda: ['var(--font-peyda)', 'system-ui', 'sans-serif'],
|
||||
},
|
||||
colors: {
|
||||
primary: {
|
||||
|
||||
Reference in New Issue
Block a user