feat: rebrand CMS information as EpicNext
Local Build and Deploy / deploy (push) Successful in 45s

This commit is contained in:
Simo committed 2026-07-12 14:49:37 +02:00
1 parent 9cdd0b4000
commit b1a60adbc2
2 files changed
+14 -9

No files matched your search

+6 -1
View File
@@ -1,3 +1,5 @@
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
import { renderToStaticMarkup } from "react-dom/server";
import { describe, expect, it } from "vitest";
import { CmsInfoPopup } from "@/components/cms-info-popup";
@@ -5,6 +7,9 @@ import { CmsInfoPopup } from "@/components/cms-info-popup";
describe("CmsInfoPopup", () => {
it("renders the footer trigger", () => {
const html = renderToStaticMarkup(<CmsInfoPopup />);
expect(html).toContain("CMS Info");
const source = readFileSync(resolve(process.cwd(), "src/components/cms-info-popup.tsx"), "utf8");
expect(html).toContain("EpicNext Info");
expect(source).toContain(">EpicNext<");
expect(source).toContain("Modern Next.js CMS");
});
});
+8 -8
View File
@@ -3,14 +3,14 @@
import { useEffect, useState } from "react";
const cmsDetails = [
["Edition", "Next.js rebuild"],
["Interface", "Public CMS"],
["Edition", "EpicNext"],
["Interface", "Modern CMS"],
["Runtime", "Next.js App Router"],
];
const credits = [
["Remco", "AtomCMS direction and original project"],
["Life", "Next.js experience and CMS refinements"],
["Remco", "EpicNext direction and development"],
["Life", "Next.js architecture and CMS refinements"],
];
export function CmsInfoPopup() {
@@ -32,16 +32,16 @@ export function CmsInfoPopup() {
return (
<>
<button type="button" className="cms-info-trigger" onClick={() => setOpen(true)}>
CMS Info
EpicNext Info
</button>
{open ? (
<div className="cms-info-backdrop" role="presentation" onMouseDown={() => setOpen(false)}>
<section aria-labelledby="cms-info-title" aria-modal="true" className="cms-info-dialog" role="dialog" onMouseDown={(event) => event.stopPropagation()}>
<button type="button" aria-label="Close CMS info" className="cms-info-close" onClick={() => setOpen(false)}>x</button>
<div className="cms-info-kicker">CMS information</div>
<h2 id="cms-info-title">AtomCMS</h2>
<div className="cms-info-badge">Next.js edition</div>
<p className="cms-info-copy">A modern web layer for the hotel community, focused on fast navigation, clean administration, and a familiar AtomCMS experience.</p>
<h2 id="cms-info-title">EpicNext</h2>
<div className="cms-info-badge">Modern Next.js CMS</div>
<p className="cms-info-copy">A modern web layer for the hotel community, focused on fast navigation, clean administration, and a coherent EpicNext experience.</p>
<dl className="cms-info-grid">
{cmsDetails.map(([label, value]) => <div key={label}><dt>{label}</dt><dd>{value}</dd></div>)}
</dl>