* 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>
19 lines
641 B
JavaScript
19 lines
641 B
JavaScript
// 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 }
|