From 46f927c575df39e1e9ed21e7016bb2a299e66eac Mon Sep 17 00:00:00 2001 From: hexjasur <3.15015959e+08+hexjasur@users.noreply.github.com> Date: Mon, 19 Oct 2026 14:55:04 +0000 Subject: [PATCH 1/3] feat: add step-by-step Newton interpolation --- .../methods/newton-interpolation/page.tsx | 68 +++ components/app-shell.tsx | 22 +- components/dashboard/methods-hub.tsx | 23 +- components/newton-interpolation-method.tsx | 475 ++++++++++++++++++ components/seo/json-ld.tsx | 1 + lib/config.ts | 6 + lib/i18n/locales/en.json | 75 ++- lib/i18n/locales/ru.json | 75 ++- lib/i18n/locales/uz.json | 75 ++- lib/newton-interpolation.ts | 247 +++++++++ public/images/og/newton-interpolation.png | Bin 0 -> 108039 bytes scripts/generate-og-images.ts | 12 + 12 files changed, 1056 insertions(+), 23 deletions(-) create mode 100644 app/(workspace)/methods/newton-interpolation/page.tsx create mode 100644 components/newton-interpolation-method.tsx create mode 100644 lib/newton-interpolation.ts create mode 100644 public/images/og/newton-interpolation.png diff --git a/app/(workspace)/methods/newton-interpolation/page.tsx b/app/(workspace)/methods/newton-interpolation/page.tsx new file mode 100644 index 0000000..477e221 --- /dev/null +++ b/app/(workspace)/methods/newton-interpolation/page.tsx @@ -0,0 +1,68 @@ +import type { Metadata } from 'next'; +import { NewtonInterpolationMethod } from '@/components/newton-interpolation-method'; +import { MethodJsonLd } from '@/components/seo/json-ld'; +import { siteConfig } from '@/lib/config'; + +const route = '/methods/newton-interpolation'; +const pageTitle = 'Nyuton interpolyatsiyasi — bo‘lingan ayirmalar | Newton'; +const pageDescription = + 'Nyuton ko‘phadini hisoblang: bo‘lingan yoki chekli ayirmalar va P(x*) qiymati. Har bir formula hamda sonli qo‘yish qadam-baqadam ko‘rsatiladi.'; +const image = '/images/og/newton-interpolation.png'; + +export const metadata: Metadata = { + title: pageTitle, + description: pageDescription, + keywords: [ + 'Nyuton interpolyatsiyasi', + 'bo‘lingan ayirmalar', + 'Nyuton interpolyatsion ko‘phadi', + 'chekli ayirmalar usuli', + 'интерполяция Ньютона', + 'разделённые разности онлайн', + 'Newton interpolation calculator', + 'divided differences polynomial', + ], + alternates: { canonical: route }, + openGraph: { + type: 'article', + title: 'Newton Interpolation Calculator | Nyuton interpolyatsiyasi', + description: pageDescription, + url: `${siteConfig.url}${route}`, + siteName: siteConfig.name, + images: [{ url: image, width: 1200, height: 630, alt: 'Newton divided differences interpolation calculator' }], + }, + twitter: { + card: 'summary_large_image', + title: 'Newton Interpolation Calculator | Nyuton interpolyatsiyasi', + description: pageDescription, + images: [image], + }, +}; + +const breadcrumbSchema = { + '@context': 'https://schema.org', + '@type': 'BreadcrumbList', + itemListElement: [ + { '@type': 'ListItem', position: 1, name: siteConfig.name, item: siteConfig.url }, + { '@type': 'ListItem', position: 2, name: 'Nyuton interpolyatsiyasi', item: `${siteConfig.url}${route}` }, + ], +}; + +export default function NewtonInterpolationPage() { + return ( + <> + +