diff --git a/.github/workflows/docker-image-dev.yml b/.github/workflows/docker-image-dev.yml new file mode 100644 index 0000000..ef777b9 --- /dev/null +++ b/.github/workflows/docker-image-dev.yml @@ -0,0 +1,45 @@ +name: Docker Image CI + +on: + push: + branches: [ "cuttingedge" ] + workflow_dispatch: + +jobs: + + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v3 + + # https://github.com/docker/setup-qemu-action#usage + - name: Set up QEMU + uses: docker/setup-qemu-action@v2.2.0 + + # https://github.com/marketplace/actions/docker-setup-buildx + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v2.10.0 + + # https://github.com/docker/login-action#docker-hub + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + # https://github.com/docker/build-push-action#multi-platform-image + - name: Build and push Website + uses: docker/build-push-action@v4.1.1 + with: + context: ./Website + file: ./Dockerfile + #platforms: linux/amd64,linux/arm64,linux/riscv64,linux/ppc64le,linux/s390x,linux/386,linux/mips64le,linux/mips64,linux/arm/v7,linux/arm/v6 + platforms: linux/amd64 + pull: true + push: true + tags: | + glax/tranga-website:dev diff --git a/Website/apiConnector.js b/Website/apiConnector.js index dd07d41..83aa35c 100644 --- a/Website/apiConnector.js +++ b/Website/apiConnector.js @@ -188,6 +188,11 @@ function UpdateLunaSea(lunaseaWebhook){ PostData(uri); } +function UpdateNtfy(ntfyEndpoint, ntfyAuth){ + var uri = `${apiUri}/NotificationConnectors/Update?notificationConnector=Ntfy&ntfyUrl=${ntfyEndpoint}&ntfyAuth=${ntfyAuth}`; + PostData(uri); +} + function RemoveJob(jobId){ var uri = `${apiUri}/Jobs?jobId=${jobId}`; DeleteData(uri); diff --git a/Website/index.html b/Website/index.html index 9dc5459..3ff0ddd 100644 --- a/Website/index.html +++ b/Website/index.html @@ -91,6 +91,12 @@
Configured: ✅❌
+
+ Ntfy +
Configured: ✅❌
+ + +
diff --git a/Website/interaction.js b/Website/interaction.js index fea905b..38fdf89 100644 --- a/Website/interaction.js +++ b/Website/interaction.js @@ -32,10 +32,13 @@ const settingKavitaPass = document.querySelector("#kavitaPassword"); const settingGotifyUrl = document.querySelector("#gotifyUrl"); const settingGotifyAppToken = document.querySelector("#gotifyAppToken"); const settingLunaseaWebhook = document.querySelector("#lunaseaWebhook"); +const settingNtfyEndpoint = document.querySelector("#ntfyEndpoint"); +const settingNtfyAuth = document.querySelector("#ntfyAuth"); const settingKomgaConfigured = document.querySelector("#komgaConfigured"); const settingKavitaConfigured = document.querySelector("#kavitaConfigured"); const settingGotifyConfigured = document.querySelector("#gotifyConfigured"); const settingLunaseaConfigured = document.querySelector("#lunaseaConfigured"); +const settingNtfyConfigured = document.querySelector("#ntfyConfigured"); const settingApiUri = document.querySelector("#settingApiUri"); const settingMangaHoverCheckbox = document.querySelector("#mangaHoverCheckbox"); const newMangaPopup = document.querySelector("#newMangaPopup"); @@ -268,11 +271,14 @@ settingKavitaPass.addEventListener("keypress", (event) => { if(event.key === "En settingGotifyUrl.addEventListener("keypress", (event) => { if(event.key === "Enter") UpdateSettings(); }); settingGotifyAppToken.addEventListener("keypress", (event) => { if(event.key === "Enter") UpdateSettings(); }); settingLunaseaWebhook.addEventListener("keypress", (event) => { if(event.key === "Enter") UpdateSettings(); }); +settingNtfyEndpoint.addEventListener("keypress", (event) => { if(event.key === "Enter") UpdateSettings(); }); +settingNtfyAuth.addEventListener("keypress", (event) => { if(event.key === "Enter") UpdateSettings(); }); settingApiUri.addEventListener("keypress", (event) => { if(event.key === "Enter") UpdateSettings(); }); function OpenSettings(){ settingGotifyConfigured.innerText = "❌"; settingLunaseaConfigured.innerText = "❌"; + settingNtfyConfigured.innerText = "❌"; settingKavitaConfigured.innerText = "❌"; settingKomgaConfigured.innerText = "❌"; settingKomgaUrl.value = ""; @@ -284,6 +290,8 @@ function OpenSettings(){ settingGotifyUrl.value = ""; settingGotifyAppToken.value = ""; settingLunaseaWebhook.value = ""; + settingNtfyAuth.value = ""; + settingNtfyEndpoint.value = ""; settingApiUri.value = ""; settingMangaHoverCheckbox.checked = false; @@ -336,6 +344,11 @@ function OpenSettings(){ settingLunaseaConfigured.innerText = "✅"; settingLunaseaWebhook.placeholder = connector.id; break; + case "Ntfy": + settingNtfyConfigured.innerText = "✅"; + settingNtfyEndpoint.placeholder = connector.endpoint; + settingNtfyAuth.placeholder = "***"; + break; default: console.log("Unknown type"); console.log(connector); @@ -382,6 +395,11 @@ function UpdateSettings(){ UpdateLunaSea(settingLunaseaWebhook.value); } + if(settingNtfyEndpoint.value != "" && + settingNtfyAuth.value != ""){ + UpdateNtfy(settingNtfyEndpoint.value, settingNtfyAuth.value); + } + OpenSettings(); Setup(); } diff --git a/Website/styles/style_default.css b/Website/styles/style_default.css index 0de7061..f468079 100644 --- a/Website/styles/style_default.css +++ b/Website/styles/style_default.css @@ -208,17 +208,29 @@ publication{ flex-shrink: 0; } +publication:hover { + background-color: black; +} + +publication:hover > img { + opacity: 0.5; +} + +publication:hover > publication-information { + display: flex; + opacity:1; +} + publication::after{ content: ''; position: absolute; left: 0; top: 0; border-radius: 5px; width: 100%; height: 100%; - background: linear-gradient(rgba(0,0,0,0.8), rgba(0, 0, 0, 0.7),rgba(0, 0, 0, 0.2)); } publication-information { - display: flex; + display: none; flex-direction: column; justify-content: start; }