Use LACONIC_HOSTED_CONFIG #1

Merged
telackey merged 5 commits from telackey/csss into main 2024-02-16 03:59:10 +00:00
4 changed files with 14 additions and 6 deletions
Showing only changes of commit eada2a371f - Show all commits

View File

@ -2,6 +2,7 @@
"name": "webapp-deployment-status-ui", "name": "webapp-deployment-status-ui",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"homepage": "https://gibbon.vdb.to/deployer",
"dependencies": { "dependencies": {
"@tanstack/react-query": "^5.17.15", "@tanstack/react-query": "^5.17.15",
"@testing-library/jest-dom": "^5.14.1", "@testing-library/jest-dom": "^5.14.1",

View File

@ -19,9 +19,11 @@ function StatusTable() {
const [logId, setLogId] = useState(""); const [logId, setLogId] = useState("");
// Queries // Queries
const query = useQuery({queryKey: ['allStatus'], queryFn: fetchAllStatuses}) const query = useQuery({queryKey: ['allStatus'], queryFn: fetchAllStatuses, refetchInterval: 10000});
const queryLog = useQuery({queryKey: ['log', logId], queryFn: () => fetchLogs(logId)}); const queryLog = useQuery({queryKey: ['log', logId], queryFn: () => fetchLogs(logId)});
const linkFmt = "https://console.laconic.com/console?query=%0A%20%20fragment%20ValueParts%20on%20Value%20%7B%0A%20%20%20%20...%20on%20BooleanValue%20%7B%0A%20%20%20%20%20%20bool%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20IntValue%20%7B%0A%20%20%20%20%20%20int%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20FloatValue%20%7B%0A%20%20%20%20%20%20float%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20StringValue%20%7B%0A%20%20%20%20%20%20string%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20BytesValue%20%7B%0A%20%20%20%20%20%20bytes%3A%20value%0A%20%20%20%20%7D%0A%20%20%20%20...%20on%20LinkValue%20%7B%0A%20%20%20%20%20%20link%3A%20value%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20fragment%20AttrParts%20on%20Attribute%20%7B%0A%20%20%20%20key%0A%20%20%20%20value%20%7B%0A%20%20%20%20%20%20...ValueParts%0A%20%20%20%20%20%20...%20on%20ArrayValue%20%7B%0A%20%20%20%20%20%20%20%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20...ValueParts%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20%7B%0A%20%20%20%20getRecordsByIds(ids%3A%20%5B%22$RQID$%22%5D)%20%7B%0A%20%20%20%20%20%20id%0A%20%20%20%20%20%20names%0A%20%20%20%20%20%20bondId%0A%20%20%20%20%20%20createTime%0A%20%20%20%20%20%20expiryTime%0A%20%20%20%20%20%20owners%0A%20%20%20%20%20%20attributes%20%7B%0A%20%20%20%20%20%20%20%20...AttrParts%0A%20%20%20%20%20%20%20%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20...%20on%20MapValue%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20map%3A%20value%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20...AttrParts%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A";
return (<div> return (<div>
{logId && (<Modal open={true}> {logId && (<Modal open={true}>
<button className="close" onClick={() => setLogId("")}>CLOSE</button> <button className="close" onClick={() => setLogId("")}>CLOSE</button>
@ -33,7 +35,7 @@ function StatusTable() {
{query.data?.map((status: any) => <div className={status.lastState.toLowerCase() + " status-row"}> {query.data?.map((status: any) => <div className={status.lastState.toLowerCase() + " status-row"}>
<div className="status-line"> <div className="status-line">
<span className="status-key">Request ID:</span> <span className="status-key">Request ID:</span>
<span className="status-value">{status.id}</span> <span className="status-value"><a href={linkFmt.replace("$RQID$", status.id)}>{status.id}</a></span>
</div> </div>
<div className="status-line"> <div className="status-line">
<span className="status-key">Application:</span> <span className="status-key">Application:</span>

View File

@ -17,6 +17,10 @@ button {
cursor: pointer; cursor: pointer;
} }
a {
color: #444;
}
#all-status { #all-status {
margin: auto; margin: auto;
min-width: 50%; min-width: 50%;

View File

@ -1,6 +1,7 @@
const baseUrl = "https://webapp-deployer-api.apps.snowballtools.com";
export const fetchAllStatuses = async () => { export const fetchAllStatuses = async () => {
let url = "http://localhost:9555" const res = await fetch(baseUrl);
const res = await fetch(url);
if (!res.ok) { if (!res.ok) {
throw new Error('Network response was not ok') throw new Error('Network response was not ok')
} }
@ -12,7 +13,7 @@ export const fetchLogs = async (id: string) => {
if (!id) { if (!id) {
return ""; return "";
} }
let url = `http://localhost:9555/log/${id}` let url = `${baseUrl}/log/${id}`
const res = await fetch(url); const res = await fetch(url);
if (!res.ok) { if (!res.ok) {
throw new Error('Network response was not ok') throw new Error('Network response was not ok')