Move Elsewhen into Omarchy as omarchy.elsewhen (#13429)

* Move Elsewhen into Omarchy as omarchy.elsewhen

The world clock ships in the shell tree instead of its own package. A
migration renames existing bar entries with their settings and removes
the retired package.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Remove Elsewhen's shelved Earth row, overlap band and sky tint

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Tidy Elsewhen's models, data helper and docs, and drop currency

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Restructure Elsewhen's panel and globe on the shared shell components

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Show Elsewhen's bar globe upright

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Use the shared city search for Elsewhen's globe jump bar

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Keep legacy Elsewhen entries single and retry offline geocodes

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Fetch Elsewhen's weather with curl instead of a Python helper

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
David Heinemeier HanssonandClaude Opus 5.5 authored and GitHub committed 2026-09-27 21:15:00 +02:00
1 parent 5c7cef1e78
commit e7218e36f2
37 files changed
+6780 -155

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
// GlobeModel.js and Sun.js keep QML's .pragma/.import headers, so node
// strips those lines and evaluates the rest.
const fs = require('fs')
const path = require('path')
const dir = path.join(__dirname, '../../../shell/plugins/panels/elsewhen')
function load(file, scope) {
const source = fs.readFileSync(path.join(dir, file), 'utf8').replace(/^\.(pragma|import) .*$/gm, '')
const module = { exports: {} }
new Function('module', ...Object.keys(scope), source)(module, ...Object.values(scope))
return module.exports
}
const Solar = load('GlobeModel.js', {})
const Sun = load('Sun.js', { Solar })
module.exports = { Solar, Sun }