Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,4 @@ yarn-error.log*
# Local Netlify folder
.netlify
/static/library/**/*.log
.aider*
2 changes: 1 addition & 1 deletion .pr_trigger
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Last run: 2025-11-28 18:53:03
Last run: 2025-12-02 16:57:53
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]

## [0.0.1-rtw.17] - Q4/2025
Dec-02 - Added static/ew
Nov-13 - TEST 24/7
Nov-13 - Trying something/ Trying something else / Trying something else else
Nov-12 - Added `cloudflare-conditional-deploy.yml` to new top level directory .github/workflow `so preview links can be generated on pull requests'
Expand Down
10 changes: 7 additions & 3 deletions pr_automation.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,13 @@ do
esac
done

# 4. Push the changes to the remote repository (Silent, but allows errors/passphrase prompt)
if ! git push -u origin "$BRANCH_TO_USE" > /dev/null 2>&1; then
# 4. Push the changes to the remote repository
echo "🚀 Pushing changes to remote branch 'origin/$BRANCH_TO_USE'..."
# The redirection to /dev/null has been removed to allow the SSH passphrase prompt to be visible.
if ! git push -u origin "$BRANCH_TO_USE"; then
echo "----------------------------------------------"
echo "❌ **FATAL ERROR: Git push failed.** Please fix your SSH/access rights (use ssh-add)."
echo "❌ **FATAL ERROR: Git push failed.**"
echo "Please ensure your SSH key is loaded (try 'ssh-add' if prompted for a passphrase)."
echo "----------------------------------------------"
exit 1
fi
Expand Down Expand Up @@ -95,3 +98,4 @@ else
echo "❌ **Action Failed.** Could not determine or create the Pull Request URL."
fi
echo "----------------------------------------------"

696 changes: 696 additions & 0 deletions static/ew/index.html

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions static/gui/404.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>404 – Not Found</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {margin:0;font-family:system-ui;background:#ff6b6b;color:white;display:grid;place-items:center;height:100vh;}
.box {text-align:center;background:rgba(0,0,0,0.3);padding:3rem 2rem;border-radius:16px;}
h1 {font-size:7rem;margin:0;}
a {color:white;text-decoration:underline;}
</style>
</head>
<body>
<div class="box">
<h1>404</h1>
<p>Oops! This page doesn’t exist.</p>
<p><a href="/">← Go home</a></p>
</div>

<!-- This tiny script makes the magic happen -->
<script>
// Register the service worker that catches all broken navigation
if ("serviceWorker" in navigator) {
navigator.serviceWorker.register("/sw.js");
}

// Optional: instantly cache this 404 page forever
history.replaceState({is404: true}, "", location.href);
</script>
</body>
</html>
1 change: 1 addition & 0 deletions static/gui/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ and a combination of [Prince2 Project Management](https://prince2.com).
## [gui-0.9] - Q4/2025

### Changes
Nov-29 - Some of the webapps weren't staying installed - fixed it
Nov-13 - Test A - TEST B - TEST C - TEST D - CLAUD YML 1 - CLAUD 2

## [gui-0.8] - Q3/2024
Expand Down
35 changes: 35 additions & 0 deletions static/gui/GEMINI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Gemini CLI Configuration

This file stores configuration and context for the Gemini CLI.

## Project Information

- **Project Name:** static-gui
- **Current Directory:** /home/unclehowell/datro/static/gui
- **Operating System:** linux
- **Today's Date:** 2025-11-29

## Key Files and Directories

- **Main HTML:** index.html
- **Configuration:** tailwind.config.js, package.json, manifest.json
- **Source Code/App Logic:** app-store/, dashboard/
- **Assets:** app-store/css/, app-store/fonts/, app-store/img/, app-store/js/, dashboard/css/, dashboard/fonts/, dashboard/img/, dashboard/js/, dashboard/media/, dashboard/scss/

## Notes

- The project appears to be a static website with a focus on an "app store" and "dashboard" interface.
- It utilizes Tailwind CSS for styling.
- Several JavaScript libraries are included (jQuery, Bootstrap, Featherlight, etc.).
- There are multiple versions or demo HTML files, suggesting a development or staging process.

## Breadcrumb Navigation

- **Order:** Breadcrumb items in the `app-store/` directory appear visually inverted to their order in the HTML code. The first visible item (last in code) should be blank.

## TODO

- [ ] Review `app-store/apps/` for application-specific details.
- [ ] Analyze `dashboard/apps.json` for dashboard data structure.
- [ ] Investigate the purpose of the numerous demo HTML files.
- [ ] Check `package.json` for build scripts or dependencies.
123 changes: 123 additions & 0 deletions static/gui/app-error.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>App Not Available</title>
<style>
body {
margin: 0;
font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
background-color: #454545; /* Dashboard grey background */
color: white;
display: grid;
place-items: center;
height: 100vh;
text-align: center;
}
.error-box {
background: rgba(0,0,0,0.3);
padding: 3rem 2rem;
border-radius: 16px;
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
h1 {
font-size: 7rem;
margin: 0;
color: #ff6b6b;
}
p {
font-size: 1.2rem;
margin-bottom: 1rem;
}
a {
color: white;
text-decoration: underline;
font-size: 1.1rem;
padding: 10px 20px;
border: 1px solid white;
border-radius: 5px;
margin-top: 20px;
display: inline-block;
}
a:hover {
background-color: rgba(255,255,255,0.2);
}
.install-reinstall-btn {
background-color: #6a0dad; /* Purple for emphasis */
border-color: #6a0dad;
}
.install-reinstall-btn:hover {
background-color: #8a2be2;
border-color: #8a2be2;
}
</style>
</head>
<body>
<div class="error-box">
<h1>!</h1>
<p>App not available</p>
<p>This app doesn't appear to be installed or running on your localhost.</p>
<a href="#" id="goBackBtn">← Go Back</a>
<a href="#" id="installReinstallBtn" class="install-reinstall-btn" style="display: none;">Install / Reinstall this app now</a>
</div>

<script>
// Function to get the last visited page from localStorage
function getLastVisitedPage() {
const visitedPages = JSON.parse(localStorage.getItem('visitedPages')) || [];
// Return the second to last page if available, otherwise the last page
return visitedPages.length > 1 ? visitedPages[visitedPages.length - 2] : visitedPages[visitedPages.length - 1];
}

// Function to get the appId that caused the error (needs to be passed or stored)
function getErrorAppId() {
// This is a placeholder. In a real scenario, appId would be passed via URL params or localStorage.
// For now, let's assume it's '004-001' for demonstration.
// A more robust solution would involve passing the appId as a URL parameter to app-error.html
// Example: app-error.html?appId=004-001
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get('appId') || '004-001'; // Default to '004-001' if not provided
}

document.addEventListener('DOMContentLoaded', function() {
const goBackBtn = document.getElementById('goBackBtn');
const installReinstallBtn = document.getElementById('installReinstallBtn');

// Handle "Go Back" button
const lastPage = getLastVisitedPage();
if (goBackBtn) {
if (lastPage) {
goBackBtn.href = lastPage;
} else {
// Fallback if no history is found
goBackBtn.href = '000.html'; // Default to app store main page
}
}

// Handle "Install / Reinstall this app now" button
const appId = getErrorAppId();
if (installReinstallBtn && appId) {
// Construct the app detail page URL
// Assuming app detail pages are like app-store/app-description-APPID.html
installReinstallBtn.href = `../app-store/app-description-${appId}.html`;
installReinstallBtn.style.display = 'inline-block';
}
});

// Script to track visited pages (should ideally be in a global JS file)
// For now, adding it here for demonstration.
document.addEventListener('DOMContentLoaded', function() {
const visitedPages = JSON.parse(localStorage.getItem('visitedPages')) || [];
const currentPage = window.location.href;

// Add current page to history, limit to last 2 pages
visitedPages.push(currentPage);
if (visitedPages.length > 2) {
visitedPages.shift(); // Remove the oldest page
}
localStorage.setItem('visitedPages', JSON.stringify(visitedPages));
});
</script>
</body>
</html>
22 changes: 7 additions & 15 deletions static/gui/app-store/000-new.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,20 +45,12 @@
<div class="box">
<div class="box-row">
<div class="box-cell box1">
<ul class="breadcrumb" id="btn noHover">
<li class='btn noHover'>
<a href="#" style="width:auto!Important;"><span class="icon icon-home"></span> <span class="text2">Categories</span></a>
</li>
<li>
<a href='000.html' style='width:auto!Important;filter: brightness(1);background:rgba(0,0,0,0.55);border: 1px solid rgba(255,255,255,0.4);position: initial; padding-left: 48px!Important; margin-top: 0px;'><span class="text2" style="margin-left:1vw;">Categories</span></a>
</li>
<li class="btn noHover">
<a class='backtodash' href='000.html'><span class="text2">App Store</span></a>
</li>
<li class="btn">
<a href='../dashboard/001-a.html'><span class="icon icon-search"></span> <span class="text"></span></a>
</li>
</ul>
<!-- Dynamic Breadcrumb Placeholder -->
<ul class="breadcrumb"></ul>
<!-- End Dynamic Breadcrumb Placeholder -->

<!-- Include the dynamic breadcrumb script -->
<script src="js/dynamic-breadcrumb.js"></script>
</div>
</div>
</div>
Expand Down Expand Up @@ -138,4 +130,4 @@
.then(response => console.log('Success:', response));
</script>
</body>
</html>
</html>
21 changes: 7 additions & 14 deletions static/gui/app-store/000.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

<!DOCTYPE html>
<html>
<head>
Expand Down Expand Up @@ -163,17 +162,12 @@
<div class="box">
<div class="box-row">
<div class="box-cell box1">
<ul class="breadcrumb" id="btn noHover">
<li class="btn noHover" style=" padding-left: 12px;">
<a href="000.html" style="width:auto!Important;"><span class="text2">Categories</span></a>
</li>
<li class="btn noHover">
<a class="backtodash" href="000.html"><span class="text2">App Store</span></a>
</li>
<li class="btn">
<a href="../dashboard/001-a.html"><span class="icon icon-search"></span> <span class="text"></span></a>
</li>
</ul>
<!-- Dynamic Breadcrumb Placeholder -->
<ul class="breadcrumb"></ul>
<!-- End Dynamic Breadcrumb Placeholder -->

<!-- Include the dynamic breadcrumb script -->
<script src="js/dynamic-breadcrumb.js"></script>
</div>
</div>
</div>
Expand Down Expand Up @@ -255,5 +249,4 @@
<script src="js/rocket-loader.min.js" data-cf-settings="36d8ac766779005746c1cf8b-|49" defer></script>
<!-- noop change -->
</body>
</html>

</html>
Loading
Loading