PageSourceSearch

https://pupwife.com/scripts/desktop/citrusDirectMountRoutes.js?v=citrus-daw-20260907

js pupwife.com collected 2026-09-30 15:05:48 UTC 2,340 bytes, 67 lines download raw bytes

1/**
2 * CitrusOS direct-mount routes — JS-only apps with no standalone .html file.
3 * Registered into PupwifeSpa.ROUTES from spaRouteManifest and re-applied on shell boot.
4 */
5(function (global) {
6    'use strict';
7
8    var ROUTE_IDS = ['strudel.html', 'daw.html'];
9
10    function register(api) {
11        if (!api || !api.ROUTES || !api.createModuleRoute || !api.createToolRoute) return false;
12
13        var mod = api.createModuleRoute;
14        var tool = api.createToolRoute;
15
16        api.ROUTES['strudel.html'] = tool({
17            bodyClass: 'dashboard page-strudel',
18            css: ['/css/strudelApp.css'],
19            scripts: [
20                '/scripts/strudel/strudelCore.js',
21                '/scripts/strudel/strudelApp.js',
22                '/scripts/strudel/strudelPageCitrus.js'
23            ],
24            module: 'StrudelPageCitrus'
25        });
26
27        api.ROUTES['daw.html'] = mod({
28            bodyClass: 'dashboard page-daw daw-fit-viewport',
29            directMount: true,
30            css: ['/css/dawDesktop.css?v=citrus-daw-20260907b'],
31            scripts: [
32                '/scripts/daw/dawDesktopMarkup.js',
33                'https://cdn.jsdelivr.net/npm/[email protected]/build/Tone.js',
34                '/scripts/daw/dawFluidsynthBoot.js',
35                '/scripts/daw/dawEngine.js',
36                '/scripts/daw/dawPage.js',
37                '/scripts/daw/dawPageCitrus.js',
38                '/scripts/daw/dawSynthFlyout.js?v=citrus-synth-flyout-3'
39            ],
40            modules: [
41                '/scripts/daw/soundfonts.js',
42                '/scripts/daw/daw.js?v=citrus-synth-flyout-3'
43            ],
44            module: 'DawPageCitrus'
45        });
46
47        return true;
48    }
49
50    function ensureRegistered() {
51        if (!global.PupwifeSpa || !global.PupwifeSpa.routes) return false;
52        return register({
53            ROUTES: global.PupwifeSpa.routes,
54            createModuleRoute: global.PupwifeSpa.createModuleRoute,
55            createToolRoute: global.PupwifeSpa.createToolRoute
56        });
57    }
58
59    global.CitrusDirectMountRoutes = {
60        routeIds: ROUTE_IDS,
61        register: register,
62        ensure: ensureRegistered,
63        isDirectMountRoute: function (routeId) {
64            return ROUTE_IDS.indexOf(routeId) !== -1;
65        }
66    };
67})(typeof window !== 'undefined' ? window : this);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.