Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/frontend
diff options
context:
space:
mode:
authorLeitwolf112026-08-30 17:08:01 +0300
committerLeitwolf112026-08-30 17:08:01 +0300
commit4bdd99b35493631aa4171753aa66d208c018f320 (patch)
tree7025ddd07efd7d5491f996d32c97f66042522021 /frontend
parent178f97b44da88d8653d1f942a993d06aad9b48cf (diff)
downloadwebsite-4bdd99b35493631aa4171753aa66d208c018f320.tar.gz
Move ViGet to its canonical Progmasoft domain. Update registry navigation, authentication redirects, allowed hosts, Google OAuth callback documentation, and catalog identity to viget.progmasoft.com. Publish distinct honest empty-state roots for Visual X# .vipkg packages and Kotlin DSL plugin JARs without inventing unavailable package endpoints. Add production Nginx routing for the new host, preserve path and query strings through permanent redirects from viget.xsharp-lang.xyz, retain both ACME renewal surfaces, and exclude reproducible local publish output.
Diffstat (limited to 'frontend')
-rw-r--r--frontend/public/scripts/auth-flow.v3.js6
-rw-r--r--frontend/public/scripts/dashboard.v1.js6
-rw-r--r--frontend/src/components/AuthPanel.astro10
-rw-r--r--frontend/src/components/RepositoryHeader.astro11
-rw-r--r--frontend/src/pages/index.astro2
-rw-r--r--frontend/src/pages/repo/dashboard/index.astro4
-rw-r--r--frontend/src/pages/repo/dslplugins/index.astro54
-rw-r--r--frontend/src/pages/repo/index.astro4
8 files changed, 76 insertions, 21 deletions
diff --git a/frontend/public/scripts/auth-flow.v3.js b/frontend/public/scripts/auth-flow.v3.js
index 8f4af1f..6c16437 100644
--- a/frontend/public/scripts/auth-flow.v3.js
+++ b/frontend/public/scripts/auth-flow.v3.js
@@ -133,7 +133,7 @@ form?.addEventListener("submit", async (event) => {
}
const response = await request("login", { email, password });
if (!response.ok) return explainFailure(response);
- window.location.assign("https://viget.xsharp-lang.xyz/dashboard/");
+ window.location.assign("https://viget.progmasoft.com/dashboard/");
return;
}
@@ -165,7 +165,7 @@ form?.addEventListener("submit", async (event) => {
}
const response = await request("verify-email", { email, code, publisherName });
if (!response.ok) return explainFailure(response);
- window.location.assign("https://viget.xsharp-lang.xyz/dashboard/");
+ window.location.assign("https://viget.progmasoft.com/dashboard/");
return;
}
@@ -176,7 +176,7 @@ form?.addEventListener("submit", async (event) => {
}
const response = await request("recovery/complete", { email, code: recoveryCode, password });
if (!response.ok) return explainFailure(response);
- window.location.assign("https://viget.xsharp-lang.xyz/dashboard/");
+ window.location.assign("https://viget.progmasoft.com/dashboard/");
});
initializeGoogleVerification();
diff --git a/frontend/public/scripts/dashboard.v1.js b/frontend/public/scripts/dashboard.v1.js
index efb5019..3337df3 100644
--- a/frontend/public/scripts/dashboard.v1.js
+++ b/frontend/public/scripts/dashboard.v1.js
@@ -67,7 +67,7 @@ async function revokeToken(id) {
async function initialize() {
const response = await fetch("/api/v1/auth/me", { credentials: "include" });
if (response.status === 401) {
- window.location.replace("https://viget.xsharp-lang.xyz/login/");
+ window.location.replace("https://viget.progmasoft.com/login/");
return;
}
if (!response.ok) return showAlert("Account information could not be loaded.", true);
@@ -90,7 +90,7 @@ async function initialize() {
root?.querySelector("[data-signout]")?.addEventListener("click", async () => {
await fetch("/api/v1/auth/logout", { method: "POST", credentials: "include" });
- window.location.assign("https://viget.xsharp-lang.xyz/login/");
+ window.location.assign("https://viget.progmasoft.com/login/");
});
root?.querySelector("[data-token-open]")?.addEventListener("click", () => dialog?.showModal());
dialog?.querySelector("[data-token-close]")?.addEventListener("click", () => dialog?.close());
@@ -122,7 +122,7 @@ deleteForm?.addEventListener("submit", async (event) => {
showAlert("The account could not be deleted.", true);
return;
}
- window.location.replace("https://viget.xsharp-lang.xyz/?account=deleted");
+ window.location.replace("https://viget.progmasoft.com/?account=deleted");
});
tokenForm?.addEventListener("submit", async (event) => {
diff --git a/frontend/src/components/AuthPanel.astro b/frontend/src/components/AuthPanel.astro
index 9480562..96ad487 100644
--- a/frontend/src/components/AuthPanel.astro
+++ b/frontend/src/components/AuthPanel.astro
@@ -14,7 +14,7 @@ const copy = {
submit: "Next",
switchText: "New to the registry?",
switchLabel: "Create an account",
- switchHref: "https://viget.xsharp-lang.xyz/register/",
+ switchHref: "https://viget.progmasoft.com/register/",
},
register: {
title: "Create account",
@@ -22,7 +22,7 @@ const copy = {
submit: "Next",
switchText: "Already have an account?",
switchLabel: "Sign in",
- switchHref: "https://viget.xsharp-lang.xyz/login/",
+ switchHref: "https://viget.progmasoft.com/login/",
},
recover: {
title: "Recover account",
@@ -30,7 +30,7 @@ const copy = {
submit: "Send code",
switchText: "Remembered your password?",
switchLabel: "Sign in",
- switchHref: "https://viget.xsharp-lang.xyz/login/",
+ switchHref: "https://viget.progmasoft.com/login/",
},
} as const;
const content = copy[mode];
@@ -38,7 +38,7 @@ const content = copy[mode];
<main class="auth-main" data-auth-flow data-mode={mode}>
<section class="auth-card glass-panel">
- <a class="auth-brand" href="https://viget.xsharp-lang.xyz/" aria-label="Visual X# package registry">
+ <a class="auth-brand" href="https://viget.progmasoft.com/" aria-label="Visual X# package registry">
<img src="/xsharp-logo.webp" width="44" height="44" alt="" />
<span>Visual X# Registry</span>
</a>
@@ -99,7 +99,7 @@ const content = copy[mode];
<button class="auth-submit" type="submit">{mode === "register" ? "Create account" : "Sign in"}</button>
{
mode === "login" && (
- <a class="auth-recovery" href="https://viget.xsharp-lang.xyz/recover/">Forgot password?</a>
+ <a class="auth-recovery" href="https://viget.progmasoft.com/recover/">Forgot password?</a>
)
}
</div>
diff --git a/frontend/src/components/RepositoryHeader.astro b/frontend/src/components/RepositoryHeader.astro
index ac04dfa..4732ca4 100644
--- a/frontend/src/components/RepositoryHeader.astro
+++ b/frontend/src/components/RepositoryHeader.astro
@@ -12,20 +12,21 @@ const { authenticated = false } = Astro.props;
---
<header class="repository-header glass-panel">
- <a class="brand" href="https://viget.xsharp-lang.xyz/" aria-label="Visual X# package registry home">
+ <a class="brand" href="https://viget.progmasoft.com/" aria-label="Visual X# package registry home">
<img class="brand-mark" src="/xsharp-logo.webp" width="38" height="38" alt="" />
<span class="brand-name">Visual X#</span>
<span class="brand-channel">package registry</span>
</a>
<nav class="repository-navigation" aria-label="Registry navigation">
- <a href="https://viget.xsharp-lang.xyz/">Packages</a>
+ <a href="https://viget.progmasoft.com/">Packages</a>
+ <a href="https://viget.progmasoft.com/dslplugins/">DSL plugins</a>
{
authenticated ? (
- <a href="https://viget.xsharp-lang.xyz/dashboard/">Dashboard</a>
+ <a href="https://viget.progmasoft.com/dashboard/">Dashboard</a>
) : (
<>
- <a href="https://viget.xsharp-lang.xyz/login/">Log in</a>
- <a class="repository-register" href="https://viget.xsharp-lang.xyz/register/">Register</a>
+ <a href="https://viget.progmasoft.com/login/">Log in</a>
+ <a class="repository-register" href="https://viget.progmasoft.com/register/">Register</a>
</>
)
}
diff --git a/frontend/src/pages/index.astro b/frontend/src/pages/index.astro
index 642b4ea..742fdf5 100644
--- a/frontend/src/pages/index.astro
+++ b/frontend/src/pages/index.astro
@@ -63,7 +63,7 @@ const capabilities = [
</a>
<nav aria-label="Primary navigation">
<a href="#pipeline">Pipeline</a>
- <a href="https://viget.xsharp-lang.xyz/">Packages</a>
+ <a href="https://viget.progmasoft.com/">Packages</a>
<a href="https://github.com/Progmasoft/visual-xsharp/tree/main/Spec" target="_blank" rel="noreferrer">Specification</a>
<a class="nav-source" href="https://github.com/Progmasoft/visual-xsharp" target="_blank" rel="noreferrer">
<Icon name="github" />
diff --git a/frontend/src/pages/repo/dashboard/index.astro b/frontend/src/pages/repo/dashboard/index.astro
index a031a4a..a004b92 100644
--- a/frontend/src/pages/repo/dashboard/index.astro
+++ b/frontend/src/pages/repo/dashboard/index.astro
@@ -44,7 +44,7 @@ import SiteLayout from "../../../layouts/SiteLayout.astro";
<article class="dashboard-panel glass-panel">
<span>Published packages</span>
<strong>0</strong>
- <small>The registry does not contain public xspkg releases yet.</small>
+ <small>The registry does not contain public .vipkg releases yet.</small>
</article>
<article class="dashboard-panel glass-panel">
<span>Email status</span>
@@ -106,7 +106,7 @@ import SiteLayout from "../../../layouts/SiteLayout.astro";
<strong>Password</strong>
<span>Change your password through a verified recovery email.</span>
</div>
- <a class="button secondary glass-panel" href="https://viget.xsharp-lang.xyz/recover/">Reset password</a>
+ <a class="button secondary glass-panel" href="https://viget.progmasoft.com/recover/">Reset password</a>
</div>
</section>
</div>
diff --git a/frontend/src/pages/repo/dslplugins/index.astro b/frontend/src/pages/repo/dslplugins/index.astro
new file mode 100644
index 0000000..10eb985
--- /dev/null
+++ b/frontend/src/pages/repo/dslplugins/index.astro
@@ -0,0 +1,54 @@
+---
+// SPDX-FileCopyrightText: 2026 Progmasoft <support@progmasoft.com>
+// SPDX-License-Identifier: AGPL-3.0-or-later WITH AdditionRef-Progmasoft-Patent-Grant-1.0
+
+import Icon from "../../../components/Icon.astro";
+import RepositoryHeader from "../../../components/RepositoryHeader.astro";
+import SiteLayout from "../../../layouts/SiteLayout.astro";
+---
+
+<SiteLayout
+ title="DSL Plugins · ViGet Package Registry by Progmasoft"
+ description="The ViGet Kotlin DSL plugin catalog is online, but no plugins have been published yet."
+>
+ <section class="repository-surface">
+ <div class="ambient" aria-hidden="true">
+ <span class="ambient-orb ambient-orb-a"></span>
+ <span class="ambient-orb ambient-orb-b"></span>
+ </div>
+ <RepositoryHeader />
+ <main class="repository-main">
+ <div class="repository-status glass-panel">
+ <span class="repository-status-icon"><Icon name="modules" /></span>
+ DSL plugin catalog online
+ </div>
+ <p class="eyebrow">Kotlin DSL plugins</p>
+ <h1>No DSL plugins<br /><em>published yet.</em></h1>
+ <p class="repository-lede">
+ Kotlin DSL plugins are distributed as JAR artifacts under
+ <code>/dslplugins/&lt;Publisher&gt;/&lt;Name&gt;/</code>. The catalog is ready, but it does not contain any public
+ plugin releases yet.
+ </p>
+ <div class="repository-actions">
+ <a class="button primary" href="https://viget.progmasoft.com/">
+ Browse Visual X# packages
+ <Icon name="arrow" />
+ </a>
+ <a class="button secondary glass-panel" href="https://github.com/Progmasoft/visual-xsharp" target="_blank" rel="noreferrer">
+ Follow development
+ </a>
+ </div>
+ <div class="repository-note glass-panel">
+ <Icon name="terminal" />
+ <div>
+ <strong>Publishing is not available yet</strong>
+ <span>No placeholder artifacts or package identities are shown before real plugins are published.</span>
+ </div>
+ </div>
+ </main>
+ <footer class="repository-footer">
+ <span>viget.progmasoft.com/dslplugins</span>
+ <span>Kotlin DSL plugin catalog</span>
+ </footer>
+ </section>
+</SiteLayout>
diff --git a/frontend/src/pages/repo/index.astro b/frontend/src/pages/repo/index.astro
index 065ac27..014aa5b 100644
--- a/frontend/src/pages/repo/index.astro
+++ b/frontend/src/pages/repo/index.astro
@@ -41,12 +41,12 @@ import SiteLayout from "../../layouts/SiteLayout.astro";
<Icon name="terminal" />
<div>
<strong>Publishing is not available yet</strong>
- <span>The future registry will use the native Visual X# package format and verified package metadata.</span>
+ <span>Visual X# packages use .vipkg coordinates; Kotlin DSL plugins have a separate JAR catalog under /dslplugins.</span>
</div>
</div>
</main>
<footer class="repository-footer">
- <span>viget.xsharp-lang.xyz</span>
+ <span>viget.progmasoft.com</span>
<span>Package registry preview</span>
</footer>
</section>