Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d7d4bbc099 | |||
| aeb5fa4fb7 | |||
| 9576b847bd | |||
| 7b22b2abf2 | |||
| 7f726c7d73 |
@@ -3,3 +3,6 @@
|
|||||||
Dockerfile
|
Dockerfile
|
||||||
.dockerignore
|
.dockerignore
|
||||||
docker-compose.yml
|
docker-compose.yml
|
||||||
|
node_modules
|
||||||
|
tests
|
||||||
|
vitest.config.js
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: test
|
needs: test
|
||||||
|
if: startsWith(gitea.ref, 'refs/tags/v')
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
|||||||
node_modules/
|
node_modules/
|
||||||
|
js/version.js
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
FROM nginx:alpine
|
FROM nginx:alpine
|
||||||
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
||||||
COPY . /usr/share/nginx/html
|
COPY . /usr/share/nginx/html
|
||||||
|
RUN awk -F'"' '/"version"/{printf "const VERSION = \"%s\";\n", $4; exit}' \
|
||||||
|
/usr/share/nginx/html/package.json \
|
||||||
|
> /usr/share/nginx/html/js/version.js
|
||||||
|
|||||||
@@ -70,6 +70,8 @@ nav {
|
|||||||
|
|
||||||
.nav-sep { flex: 1; }
|
.nav-sep { flex: 1; }
|
||||||
|
|
||||||
|
.nav-divider { color: var(--border2); }
|
||||||
|
|
||||||
.nav-status {
|
.nav-status {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: var(--text3);
|
color: var(--text3);
|
||||||
|
|||||||
6
docker-compose.yml
Normal file
6
docker-compose.yml
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
services:
|
||||||
|
catalyst:
|
||||||
|
image: ${REGISTRY:-gitea.thewrightserver.net/josh}/catalyst:${TAG:-latest}
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "${PORT:-3000}:80"
|
||||||
@@ -18,6 +18,8 @@
|
|||||||
<div class="nav-status">
|
<div class="nav-status">
|
||||||
<div class="pulse"></div>
|
<div class="pulse"></div>
|
||||||
<span id="nav-count">— instances</span>
|
<span id="nav-count">— instances</span>
|
||||||
|
<span class="nav-divider">·</span>
|
||||||
|
<span id="nav-version"></span>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@@ -175,6 +177,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.10.2/sql-wasm.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/sql.js/1.10.2/sql-wasm.js"></script>
|
||||||
|
<script src="js/version.js" onerror="window.VERSION=null"></script>
|
||||||
<script src="js/config.js"></script>
|
<script src="js/config.js"></script>
|
||||||
<script src="js/db.js"></script>
|
<script src="js/db.js"></script>
|
||||||
<script src="js/ui.js"></script>
|
<script src="js/ui.js"></script>
|
||||||
|
|||||||
@@ -37,6 +37,8 @@ window.addEventListener('popstate', e => {
|
|||||||
|
|
||||||
// ── Bootstrap ─────────────────────────────────────────────────────────────────
|
// ── Bootstrap ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
|
if (VERSION) document.getElementById('nav-version').textContent = `v${VERSION}`;
|
||||||
|
|
||||||
initDB().then(() => {
|
initDB().then(() => {
|
||||||
renderDashboard();
|
renderDashboard();
|
||||||
handleRoute();
|
handleRoute();
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "catalyst",
|
"name": "catalyst",
|
||||||
"version": "1.0.0",
|
"version": "1.0.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "vitest run",
|
"test": "vitest run",
|
||||||
"test:watch": "vitest"
|
"test:watch": "vitest",
|
||||||
|
"version:write": "node -e \"const {version}=JSON.parse(require('fs').readFileSync('package.json','utf8'));require('fs').writeFileSync('js/version.js','const VERSION = \\\"'+version+'\\\";\\n');\""
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"vitest": "^2.0.0",
|
"vitest": "^2.0.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user