Improve source editing

This commit is contained in:
foxster-mp4
2023-11-24 18:04:02 -08:00
parent d9be8d9461
commit 03275b1af1
3 changed files with 19 additions and 15 deletions

View File

@@ -7,29 +7,28 @@
// //
import { urlSearchParams, sourceURL } from "./common/modules/constants.js"; import { urlSearchParams, sourceURL } from "./common/modules/constants.js";
import { isValidHTTPURL } from "./common/modules/utilities.js"; import { isValidHTTPURL, open } from "./common/modules/utilities.js";
const { default: sources } = await import("./common/assets/sources.json", { assert: { type: "json" } }); const { default: sources } = await import("./common/assets/sources.json", { assert: { type: "json" } });
(function main() { (function main() {
const success = url => window.location.replace(`./view/?source=${url}`); const textField = document.querySelector("input");
for (const url of sources) { for (const url of sources)
insertSource(url); insertSource(url);
// If source provided
if (urlSearchParams.has('source')) {
textField.value = urlSearchParams.get("source");
textField.focus();
} }
// If valid source provided
if (urlSearchParams.has('source') && isValidHTTPURL(sourceURL))
success(sourceURL);
const textField = document.querySelector("input");
textField.addEventListener("keypress", function (event) { textField.addEventListener("keypress", function (event) {
if (event.key === "Enter") { if (event.key === "Enter") {
event.preventDefault(); event.preventDefault();
const sourceURL = textField.value;
const url = textField.value; if (!isValidHTTPURL(sourceURL))
if (!isValidHTTPURL(url))
alert("Invalid HTTP URL."); alert("Invalid HTTP URL.");
else success(url); else open((`./view/?source=${sourceURL}`))
} }
}); });

View File

@@ -25,7 +25,7 @@
<p>AltSource Viewer</p> <p>AltSource Viewer</p>
<div class="header"> <div class="header">
<h1 id="title">altsource-v2</h1> <h1 id="title">altsource-v2</h1>
<a href="../" style="font-size: 0.75em; font-weight: 750;">EDIT</a> <a id="edit" href="../" style="font-size: 0.75em; font-weight: 750;">EDIT</a>
</div> </div>
<div id="news" class="section"> <div id="news" class="section">
<div class="header"> <div class="header">

View File

@@ -7,12 +7,17 @@
// //
import { sourceURL } from "../common/modules/constants.js"; import { sourceURL } from "../common/modules/constants.js";
import { formatString } from "../common/modules/utilities.js"; import { formatString, open } from "../common/modules/utilities.js";
import { NewsItem } from "../common/components/NewsItem.js"; import { NewsItem } from "../common/components/NewsItem.js";
import { AppHeader } from "../common/components/AppHeader.js"; import { AppHeader } from "../common/components/AppHeader.js";
import { main } from "../common/modules/main.js"; import { main } from "../common/modules/main.js";
main(json => { main(json => {
document.getElementById("edit").addEventListener("click", e => {
e.preventDefault();
open(`../?source=${sourceURL}`);
});
// Set "View All News" link // Set "View All News" link
document.querySelector("#news a").href = `./news/?source=${sourceURL}`; document.querySelector("#news a").href = `./news/?source=${sourceURL}`;
// Set "View All Apps" link // Set "View All Apps" link