feat: brand-new interface

This was initally generated by ai, but later has been heavily edited.
The reason why it has been implemented is that there are plans to
implement more features to ui, but it becomes hard to add new features
to plain js, so I decided to rewrite it in typescript.

Yet because it is still ai slop, it is still possible to enable old
interface via configuration, even though new interface is turned on by
default to get feedback
This commit is contained in:
2026-02-25 22:49:38 +02:00
parent 49ebbc34fa
commit d71dbde30b
153 changed files with 5754 additions and 132 deletions

View File

@@ -32,6 +32,9 @@ mypy = [
"--allow-untyped-decorators",
"--allow-subclassing-any",
]
npm = [
"--prefix", "frontend",
]
pydeps = [
"--no-config",
"--cluster",
@@ -78,6 +81,9 @@ commands = [
[env.check]
description = "Run common checks like linter, mypy, etc"
allowlist_externals = [
"npm",
]
dependency_groups = [
"check",
]
@@ -123,6 +129,12 @@ commands = [
"--non-interactive",
"--package", "{[project]name}",
],
[
"npm",
{ replace = "ref", of = ["flags", "npm"], extend = true },
"run",
"lint",
],
]
[env.docs]
@@ -193,6 +205,25 @@ commands = [
],
]
[env.frontend]
description = "Build frontend HTML and JS"
allowlist_externals = [
"npm",
]
commands = [
[
"npm",
{ replace = "ref", of = ["flags", "npm"], extend = true },
"install",
],
[
"npm",
{ replace = "ref", of = ["flags", "npm"], extend = true },
"run",
"build",
],
]
[env.html]
description = "Generate html documentation"
dependency_groups = [
@@ -278,6 +309,7 @@ commands = [
[env.version]
description = "Bump package version"
allowlist_externals = [
"npm",
"sed",
]
deps = [
@@ -295,6 +327,12 @@ commands = [
"s/^__version__ = .*/__version__ = \"{posargs}\"/",
"src/ahriman/__init__.py",
],
[
"npm",
{ replace = "ref", of = ["flags", "npm"], extend = true },
"version",
"{posargs}",
],
[
"sed",
"--in-place",