diff options
| author | Leitwolf11 | 2026-11-08 18:46:08 +0300 |
|---|---|---|
| committer | Leitwolf11 | 2026-11-08 18:46:08 +0300 |
| commit | efa1f584205e93c292ea40b564d92a03f12ab33c (patch) | |
| tree | edc868bb3cb76bbb2032495097323771dd60f89b /apps/web/app | |
| parent | d28c8c216708c3bb59773722e6235c4c8cbb2b73 (diff) | |
| download | progmaweb-feature/remove-xide.tar.gz | |
Remove Xide and ides.progmasoft.comfeature/remove-xide
Xide is no longer developed as of 2026-11-08 (Progmasoft/xide#29), so
Progmaweb stops presenting it:
- product.progmasoft.com: Xide leaves the catalog, its card and its
detail page; /xide on the product host is a 404 like any unknown
product. The catalog's description in every language names the Tala
language with its tools and Catch3.
- ides.progmasoft.com served only the IDE list and the Xide page, so the
whole site goes: the pages under app/ides, its texts in every
language, idesRoute and its host in the proxy, and both nginx server
blocks. The certificate of progmasoft.com no longer has to name it.
Tests: the catalog lists the remaining products and refuses xide.
Diffstat (limited to 'apps/web/app')
| -rw-r--r-- | apps/web/app/ides/layout.tsx | 11 | ||||
| -rw-r--r-- | apps/web/app/ides/page.tsx | 53 | ||||
| -rw-r--r-- | apps/web/app/ides/xide/page.tsx | 93 |
3 files changed, 0 insertions, 157 deletions
diff --git a/apps/web/app/ides/layout.tsx b/apps/web/app/ides/layout.tsx deleted file mode 100644 index 8b1c6b7..0000000 --- a/apps/web/app/ides/layout.tsx +++ /dev/null @@ -1,11 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> -// SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.1 - -import type { ReactNode } from "react"; -import "../site.css"; - -export default function IdesLayout({ - children, -}: Readonly<{ children: ReactNode }>) { - return children; -} diff --git a/apps/web/app/ides/page.tsx b/apps/web/app/ides/page.tsx deleted file mode 100644 index 3a832a8..0000000 --- a/apps/web/app/ides/page.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> -// SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.1 - -import type { Metadata } from "next"; -import { Footer } from "@/components/Footer"; -import { SiteHeader } from "@/components/SiteHeader"; -import { getLocale } from "@/lib/locale.server"; -import { forwardArrow } from "@/lib/localization"; -import { getCatalogMessages, products } from "@/lib/products"; -import { getSitesMessages } from "@/lib/product-sites"; - -export async function generateMetadata(): Promise<Metadata> { - const { ides } = getSitesMessages(await getLocale()); - return { - title: ides.title, - description: ides.description, - alternates: { canonical: "https://ides.progmasoft.com/" }, - }; -} - -/** ides.progmasoft.com: the development environments of Progmasoft. */ -export default async function IdesPage() { - const locale = await getLocale(); - const { ides } = getSitesMessages(locale); - const xide = getCatalogMessages(locale).products.xide; - return ( - <div className="pm-page"> - <SiteHeader locale={locale} /> - <main> - <section className="pm-hero"> - <div className="pm-shell pm-product-hero"> - <h1>{ides.title}</h1> - <p className="pm-lede">{ides.description}</p> - </div> - </section> - <section className="pm-section"> - <div className="pm-shell pm-product-grid"> - <a className="pm-card pm-product-card" href="/xide"> - <span className={`pm-accent pm-accent-${products.xide.accent}`} /> - <span className="pm-tag">{xide.category}</span> - <h3>{products.xide.name}</h3> - <p>{xide.tagline}</p> - <span className="pm-more"> - {ides.open} {forwardArrow(locale)} - </span> - </a> - </div> - </section> - </main> - <Footer locale={locale} /> - </div> - ); -} diff --git a/apps/web/app/ides/xide/page.tsx b/apps/web/app/ides/xide/page.tsx deleted file mode 100644 index 86022e0..0000000 --- a/apps/web/app/ides/xide/page.tsx +++ /dev/null @@ -1,93 +0,0 @@ -// SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com> -// SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.1 - -import type { Metadata } from "next"; -import { Footer } from "@/components/Footer"; -import { SiteHeader } from "@/components/SiteHeader"; -import { getLocale } from "@/lib/locale.server"; -import { products } from "@/lib/products"; -import { getSitesMessages } from "@/lib/product-sites"; - -export async function generateMetadata(): Promise<Metadata> { - const { xide } = getSitesMessages(await getLocale()); - return { - title: `Xide · ${xide.tagline}`, - description: xide.description, - alternates: { canonical: "https://ides.progmasoft.com/xide" }, - }; -} - -/** ides.progmasoft.com/xide: the site of Xide. */ -export default async function XidePage() { - const locale = await getLocale(); - const { xide, common } = getSitesMessages(locale); - return ( - <div className="pm-page"> - <SiteHeader locale={locale} /> - <main> - <section className="pm-hero"> - <div className="pm-shell pm-hero-inner"> - <div> - <p className="eyebrow">{xide.eyebrow}</p> - <h1> - Xide <span>{xide.tagline}</span> - </h1> - <p className="pm-lede">{xide.description}</p> - <div className="pm-actions"> - <a className="button" href={products.xide.source}> - {common.source} - </a> - <a - className="button button-secondary" - href="https://product.progmasoft.com/xide" - > - {common.productPage} - </a> - </div> - </div> - <aside className="pm-aside"> - <span className="pm-tag">{common.status}</span> - <p>{xide.status}</p> - </aside> - </div> - </section> - - <section className="pm-section"> - <div className="pm-shell"> - <div className="pm-heading"> - <h2>{xide.layoutTitle}</h2> - </div> - <div className="pm-bento"> - {xide.layout.map(([title, description]) => ( - <article className="pm-card" key={title}> - <h3>{title}</h3> - <p>{description}</p> - </article> - ))} - </div> - </div> - </section> - - <section className="pm-section pm-section-muted"> - <div className="pm-shell pm-detail"> - <div className="pm-heading"> - <h2>{xide.languagesTitle}</h2> - <p>{xide.languagesDescription}</p> - </div> - <div> - <div className="pm-heading"> - <h2>{xide.architectureTitle}</h2> - </div> - <ul className="pm-features"> - {xide.architecture.map((item) => ( - <li key={item}>{item}</li> - ))} - </ul> - </div> - </div> - </section> - </main> - <Footer locale={locale} /> - </div> - ); -} |