1
0
mirror of https://github.com/hrfee/jfa-go.git synced 2024-09-07 21:10:11 +00:00

Compare commits

...

3 Commits

Author SHA1 Message Date
93180302ae
fix banner link 2020-08-31 15:30:48 +01:00
8e8debd8a4
add about page to web ui 2020-08-31 15:29:35 +01:00
1b0ca34586
include version and commit hash at compile time
when using makefile, version is set to "git". Currently  printed on
start, but an about page in the web UI will be added.
2020-08-31 14:57:42 +01:00
11 changed files with 343 additions and 286 deletions

1
.gitignore vendored
View File

@ -13,3 +13,4 @@ jfa-go
build/
pkg/
old/
version.go

View File

@ -16,6 +16,7 @@ before:
- python3 scss/get_node_deps.py
- python3 scss/compile.py -y
- python3 mail/generate.py -y
- python3 version.py {{.Version}} version.go
builds:
- dir: ./
env:

View File

@ -28,6 +28,9 @@ mail:
echo "Generating email html"
python3 mail/generate.py
version:
python3 version.py git version.go
compile:
echo "Downloading deps"
go mod download
@ -42,8 +45,8 @@ copy:
install:
cp -r build $(DESTDIR)/jfa-go
all: configuration sass mail compile copy
headless: configuration sass-headless mail-headless copy
all: configuration sass mail version compile copy
headless: configuration sass-headless mail-headless version compile copy

View File

@ -1,4 +1,4 @@
# ![jfa-go](images/jfa-go-banner-wide.svg)
# ![jfa-go](data/static/banner.svg)
jfa-go is a user management app for [Jellyfin](https://github.com/jellyfin/jellyfin) that provides invite-based account creation as well as other features that make one's instance much easier to manage.

View File

@ -100,6 +100,7 @@ var userDefaultsModal = createModal('userDefaults');
var usersModal = createModal('users');
var restartModal = createModal('restartModal');
var refreshModal = createModal('refreshModal');
var aboutModal = createModal('aboutModal');
// Parsed invite: [<code>, <expires in _>, <1: Empty invite (no delete/link), 0: Actual invite>, <email address>, <remaining uses>, [<used-by>], <date created>, <notify on expiry>, <notify on creation>]
function parseInvite(invite, empty = false) {
@ -606,6 +607,11 @@ document.getElementById('loginForm').onsubmit = function() {
return false;
};
document.getElementById('openAbout').onclick = function() {
settingsModal.hide();
aboutModal.show();
};
document.getElementById('openDefaultsWizard').onclick = function() {
this.disabled = true
this.innerHTML =

283
data/static/banner.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -168,6 +168,9 @@
<div class="modal-body">
<ul class="list-group list-group-flush">
<p>Note: <sup class="text-danger">*</sup> Indicates required field, <sup class="text-danger">R</sup> Indicates changes require a restart.</p>
<button type="button" class="list-group-item list-group-item-action" id="openAbout">
About <i class="fa fa-info-circle"></i>
</button>
<button type="button" class="list-group-item list-group-item-action" id="openUsers">
Users <i class="fa fa-user"></i>
</button>
@ -256,6 +259,25 @@
</div>
</div>
</div>
<div class="modal fade" id="aboutModal" role="dialog" aria-labelledby="About jfa-go" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">About</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<img src="banner.svg" alt="jfa-go banner">
<p><a href="https://github.com/hrfee/jfa-go"><i class="fa fa-github"></i> jfa-go</a></p>
<p>Version <i>{{ .version }}</i></p>
<p>Commit <i>{{ .commit }}</i></p>
<p><a href="https://github.com/hrfee/jfa-go/blob/main/LICENSE">Available under the MIT License.</a></p>
</div>
</div>
</div>
</div>
<div class="pageContainer">
<h1>
Accounts admin

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 25 B

View File

@ -0,0 +1 @@
../data/static/banner.svg

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 25 B

View File

@ -95,6 +95,7 @@ func setGinLogger(router *gin.Engine, debugMode bool) {
}
func main() {
fmt.Printf("jfa-go version: %s (%s)\n", VERSION, COMMIT)
// app encompasses essentially all useful functions.
app := new(appContext)

20
version.py Normal file
View File

@ -0,0 +1,20 @@
import subprocess
import sys
import os
try:
version = sys.argv[1].replace('v', '')
except IndexError:
version = "git"
commit = subprocess.check_output("git rev-parse --short HEAD".split()).decode("utf-8").rstrip()
file = f'package main; const VERSION = "{version}"; const COMMIT = "{commit}";'
try:
writeto = sys.argv[2]
except IndexError:
writeto = "version.go"
with open(writeto, 'w') as f:
f.write(file)

View File

@ -16,6 +16,8 @@ func (app *appContext) AdminPage(gc *gin.Context) {
"contactMessage": "",
"email_enabled": emailEnabled,
"notifications": notificationsEnabled,
"version": VERSION,
"commit": COMMIT,
})
}