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
33 changes: 0 additions & 33 deletions .github/workflows/build.yml

This file was deleted.

12 changes: 7 additions & 5 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
# This workflow will do a clean install of node dependencies and deploy to AWS.

name: Deploy

on:
push:
branches: [ main , manifest_driven_downloads]
branches: [ main ]
pull_request:
branches: [ main ]

Expand Down Expand Up @@ -37,7 +36,7 @@ jobs:
run: cd site; npm install
- name: Build 🏃
run: cd site; npm run build
env:
env:
BASE_ARIA_URL: ${{ steps.vars.outputs.ariabaseurl }}
- name: Upload artifacts 📤
uses: actions/upload-artifact@v4
Expand All @@ -50,6 +49,9 @@ jobs:
name: Deploy
runs-on: ubuntu-latest
needs: build
environment:
name: preview
url: https://d13285jxgcxetl.cloudfront.net/aria/${{ steps.vars.outputs.distdir }}/index.html

steps:
- name: Checkout 📥
Expand Down Expand Up @@ -94,4 +96,4 @@ jobs:

- name: Deployment complete! 🚀
run: |
echo "Your build is at: https://d13285jxgcxetl.cloudfront.net/aria/${{ steps.vars.outputs.distdir }}/index.html"
echo "Your build is at: https://d13285jxgcxetl.cloudfront.net/aria/${{ steps.vars.outputs.distdir }}/index.html" >> $GITHUB_STEP_SUMMARY
4 changes: 2 additions & 2 deletions site/src/DownloadCatalog.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// URL for the remote manifest file
const STAC_URL = 'https://labs.overturemaps.org/stac/catalog.json'
const STAC_URL = 'https://stac.overturemaps.org/catalog.json'

// Cache the manifest to avoid repeated fetches
let cachedManifest = null;
Expand All @@ -24,7 +24,7 @@ async function fetchManifest() {
})
.then(stacData => {
const latest = stacData.latest;
return fetch(`https://labs.overturemaps.org/stac/${latest}/manifest.geojson`);
return fetch(`https://stac.overturemaps.org/${latest}/manifest.geojson`);
})
.then(response => {
if (!response.ok) {
Expand Down
5 changes: 4 additions & 1 deletion site/src/Map.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,11 @@ import { layers } from "./Layers";
import ThemeTypeLayer from "./ThemeTypeLayer";
import FeaturePopup from "./FeatureSelector";

// Fetch the latest Overture release from Overture STAC
const LATEST_RELEASE = await fetch('https://stac.overturemaps.org/catalog.json').then(r => r.json()).then(r => r.latest.split('.')[0])

const PMTILES_URL =
"pmtiles://https://d3c1b7bog2u1nn.cloudfront.net/2025-07-23/";
"pmtiles://https://d3c1b7bog2u1nn.cloudfront.net/" + LATEST_RELEASE + "/";

const INITIAL_VIEW_STATE = {
latitude: 38.90678,
Expand Down
2 changes: 1 addition & 1 deletion site/src/inspector_panel/InspectorPanel.css
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
overflow-y: scroll;
overflow-x: auto;
max-height: 250px;
table-layout: fixed;
table-layout: auto;
}

table th {
Expand Down
58 changes: 52 additions & 6 deletions site/src/inspector_panel/InspectorPanel.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,19 @@ function InspectorPanel({

const theme = entity["theme"];

// Determine the panel title - use name if available, otherwise default
let panelTitle = "Inspector Panel";
if (entity["names"]) {
try {
const names = JSON.parse(entity["names"]);
if (names["primary"]) {
panelTitle = names["primary"];
}
} catch (e) {
// If parsing fails, keep default title
}
}

let inspectorPanel = <div></div>;

if (theme === "base") {
Expand Down Expand Up @@ -101,14 +114,47 @@ function InspectorPanel({
} else {
console.log("unhandled theme type");
console.log(entity);

// Get all keys except those starting with @
const allKeys = Object.keys(entity).filter((key) => !key.startsWith("@"));

// Create custom ordering for class/subclass hierarchy
const orderedKeys = [];
const processedKeys = new Set();

// First pass: add all keys except subclass
allKeys.forEach(key => {
if (key !== "subclass") {
orderedKeys.push({ key, indented: false });
processedKeys.add(key);

// If this is "class" and "subclass" exists, add subclass right after
if (key === "class" && entity.hasOwnProperty("subclass")) {
orderedKeys.push({ key: "subclass", indented: true });
processedKeys.add("subclass");
}
}
});

// Second pass: add any remaining keys that weren't processed
allKeys.forEach(key => {
if (!processedKeys.has(key)) {
orderedKeys.push({ key, indented: false });
}
});

inspectorPanel = (
<table>
<tbody>
{Object.keys(entity)
.filter((key) => !key.startsWith("@"))
.map((key) => (
<TableRow key={key} mode={mode} table_key={key} entity={entity} />
))}
{orderedKeys.map(({ key, indented }) => (
<TableRow
key={key}
mode={mode}
table_key={key}
entity={entity}
indented={indented}
/>
))}
</tbody>
</table>
);
Expand All @@ -117,7 +163,7 @@ function InspectorPanel({
return (
<div className="inspector-panel">
<div className="panel-header">
<h4 className="title">Inspector Panel</h4>
<h6 className="title">{panelTitle}</h6>
<button
className="close-panel-button"
onClick={() => {
Expand Down
34 changes: 34 additions & 0 deletions site/src/inspector_panel/NestedPropertyRow.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
.property-content {
margin-left: 8px;
}

.property-content p {
margin: 2px 0 !important;
line-height: 1.3;
padding: 0;
}

.property-content strong {
font-size: 11px;
font-weight: 500;
color: #64748b;
}

.panel-row.names,
.panel-row.categories {
overflow: auto;
max-height: 200px;
}

.panel-row.names .property-content > p,
.panel-row.categories .property-content > p {
border-bottom: 1px solid #f1f5f9;
padding-bottom: 4px;
margin-bottom: 4px;
}

.panel-row.names .property-content > p:last-child,
.panel-row.categories .property-content > p:last-child {
border-bottom: none;
margin-bottom: 2px;
}
Loading
Loading