openvibers/openvibe.tours Commits

OpenVibe.Tours v1

OP OpenVibers committed 13 days ago · d824d9d565 · 3 files, +8 −7


Changes

ddiff --git a/package-lock.json b/package-lock.json
iindex 9c5eda8..6bc8392 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -15,7 +15,7 @@
"express-rate-limit": "^7.5.0",
"helmet": "^8.1.0",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.236.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.265.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.70.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.31.0",
"pg": "^8.23.0"
@@@ -879,9 +879,9 @@
}
},
"node_modules/openvibe-contracts": {
-- "version": "0.236.0",
-- "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.236.0",
-- "integrity": "sha512-SPq+/t6ohdwW2DPqK9nZmtbeFex7q6KN/eQVc19MTQ30Df/m7A/idixZGcfs4I3Z43pUpLN8I4ylfOLlFShqsA==",
++ "version": "0.265.0",
++ "resolved": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.265.0",
++ "integrity": "sha512-0KnKj1Rig6acZcv4U2uwaM2msarGUY36pNqFbqmKdLeOPPozf7haEDTam27A/WzSU9ii2yEZ6SnuusPPQoGZaA==",
"license": "AGPL-3.0-only",
"dependencies": {
"ajv": "^8.17.1",
ddiff --git a/package.json b/package.json
iindex ac26d46..4a762a3 100644
---- a/package.json
++++ b/package.json
@@@ -23,7 +23,7 @@
"express-rate-limit": "^7.5.0",
"helmet": "^8.1.0",
"iovalkey": "^0.4.0",
-- "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.236.0",
++ "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.265.0",
"openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.70.0",
"openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.31.0",
"pg": "^8.23.0"
ddiff --git a/server/views/index.js b/server/views/index.js
iindex b005db0..b581b37 100644
---- a/server/views/index.js
++++ b/server/views/index.js
@@@ -120,12 +120,13 @@ ${safeHttp(p.image_url) ? `<img src="${esc(p.image_url)}" alt="${esc(p.name)}" l
function home({ counts = {}, live = [], recent = [], placeOfDay = null, cities = [], routes = [], stays = [], jobs = [] } = {}) {
const rails = [
-- { id: 'tr-live', title: 'Live tours now', more: { href: '/live', label: 'All live tours' }, items: live.length ? live.map(liveCard) : ['<p class="tr-muted">No IRL tour is live on OpenVibe.Live right now. Recent recordings are below.</p>'], size: 'm' },
++ // Real first (the owner, 10-31): live tours when someone is live, else the recordings; never an empty rail.
++ live.length ? { id: 'tr-live', title: 'Live tours now', more: { href: '/live', label: 'All live tours' }, items: live.map(liveCard), size: 'm' } : null,
!live.length && recent.length ? { id: 'tr-recent', title: 'Recent IRL recordings and clips', more: { href: '/live', label: 'All live tours' }, items: recent.map(liveCard), size: 'm' } : null,
placeOfDay ? { id: 'tr-place-of-day', title: 'Place of the day', items: [placeOfDayCard(placeOfDay)], size: 'l' } : null,
cities.length ? { id: 'tr-cities', title: 'Top cities', more: { href: '/cities', label: 'All cities' }, items: cities.map(cityCard), size: 'm' } : null,
routes.length ? { id: 'tr-routes', title: 'Self-guided routes', more: { href: '/routes', label: 'All routes' }, items: routes.map(routeCard), size: 'm' } : null,
-- { id: 'tr-stays', title: 'Stays', more: { href: '/stays', label: 'All stays' }, items: stays.length ? stays.map(stayCard) : ['<p class="tr-muted">OpenVibe.Rent has no active listing in these cities today. The shelf fills as people post.</p>'], size: 'm' },
++ stays.length ? { id: 'tr-stays', title: 'Stays', more: { href: '/stays', label: 'All stays' }, items: stays.map(stayCard), size: 'm' } : null,
].filter(Boolean);
const lastFetch = jobs.map((j) => j.finished_at).filter(Boolean).sort().pop();
const proof = [