@omega.js/desktop 0.50.0 → 0.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/assets/css/tokens/_index.scss +1 -1
- package/dist/assets/themes/base/_includes/frontend/sections/account-section-header.html +4 -1
- package/dist/assets/themes/base/_includes/frontend/sections/footer.html +13 -6
- package/dist/assets/themes/base/_includes/frontend/sections/nav.html +10 -8
- package/dist/assets/themes/base/_includes/global/sections/account.html +3 -1
- package/dist/assets/themes/base/_includes/global/sections/app-sidebar.html +12 -8
- package/dist/assets/themes/base/_includes/global/sections/app-topbar.html +10 -6
- package/dist/assets/themes/base/_includes/global/sections/page-header.html +8 -4
- package/dist/assets/themes/base/_layouts/backend/pages/dashboard/index.html +24 -24
- package/dist/assets/themes/base/_layouts/frontend/pages/about.html +10 -10
- package/dist/assets/themes/base/_layouts/frontend/pages/account/index.html +35 -35
- package/dist/assets/themes/base/_layouts/frontend/pages/alternatives/index.html +4 -4
- package/dist/assets/themes/base/_layouts/frontend/pages/auth/signin.html +1 -1
- package/dist/assets/themes/base/_layouts/frontend/pages/auth/signup.html +4 -4
- package/dist/assets/themes/base/_layouts/frontend/pages/contact.html +3 -3
- package/dist/assets/themes/base/_layouts/frontend/pages/download.html +34 -33
- package/dist/assets/themes/base/_layouts/frontend/pages/extension/index.html +11 -11
- package/dist/assets/themes/base/_layouts/frontend/pages/legal/document.html +1 -1
- package/dist/assets/themes/base/_layouts/frontend/pages/status.html +1 -1
- package/dist/assets/themes/base/_layouts/frontend/pages/team/index.html +9 -7
- package/dist/assets/themes/base/_layouts/frontend/pages/team/member.html +5 -3
- package/dist/assets/themes/base/_sections/about/letter/section.html +1 -1
- package/dist/assets/themes/base/_sections/about/letter/section.json5 +4 -4
- package/dist/assets/themes/base/_sections/marketing/bento/section.html +1 -1
- package/dist/assets/themes/base/_sections/marketing/bento/section.json5 +15 -15
- package/dist/assets/themes/base/_sections/marketing/cta/section.json5 +1 -1
- package/dist/assets/themes/base/_sections/marketing/hero/section.html +6 -6
- package/dist/assets/themes/base/_sections/marketing/hero/section.json5 +10 -10
- package/dist/assets/themes/base/_sections/marketing/product-demo/section.html +1 -1
- package/dist/assets/themes/base/_sections/marketing/product-demo/section.json5 +2 -2
- package/dist/assets/themes/base/_sections/marketing/stats/section.html +1 -1
- package/dist/assets/themes/base/_sections/marketing/stats/section.json5 +5 -5
- package/dist/assets/themes/base/_sections/marketing/trusted-by/section.html +1 -1
- package/dist/assets/themes/base/_sections/marketing/trusted-by/section.json5 +2 -2
- package/dist/assets/themes/neobrutalism/_layouts/frontend/pages/index.html +10 -10
- package/dist/assets/themes/newsflash/_layouts/frontend/pages/index.html +10 -10
- package/dist/assets/themes/newsflash/_sections/marketing/desks/section.html +2 -2
- package/dist/assets/themes/newsflash/_sections/marketing/desks/section.json5 +4 -4
- package/dist/build.js +69 -28
- package/dist/cli-run.js +20 -13
- package/dist/cli.js +12 -7
- package/dist/commands/build.js +0 -2
- package/dist/commands/deploy.js +116 -44
- package/dist/commands/finalize-release.js +5 -4
- package/dist/commands/launch.js +12 -7
- package/dist/commands/lib/deploy-precheck.js +66 -34
- package/dist/commands/lib/ensure-target.js +71 -11
- package/dist/commands/package.js +0 -1
- package/dist/commands/publish.js +11 -4
- package/dist/commands/release.js +99 -252
- package/dist/commands/runner.js +42 -5
- package/dist/commands/sign-windows.js +46 -15
- package/dist/commands/test.js +4 -3
- package/dist/commands/validate-certs.js +291 -115
- package/dist/config/page-template.html +4 -0
- package/dist/defaults/.github/workflows/build.yml +144 -64
- package/dist/defaults/AGENTS.md +3 -2
- package/dist/defaults/_.gitignore +4 -2
- package/dist/defaults/config/certs/README.md +25 -45
- package/dist/defaults/config/omega.json5 +66 -32
- package/dist/defaults/hooks/deploy/pre.js +10 -0
- package/dist/defaults/src/assets/scss/main.scss +12 -2
- package/dist/defaults/src/integrations/tray/index.js +1 -1
- package/dist/gulp/main.js +13 -25
- package/dist/gulp/tasks/audit.js +18 -6
- package/dist/gulp/tasks/build-config.js +181 -60
- package/dist/gulp/tasks/bundle.js +108 -36
- package/dist/gulp/tasks/release.js +86 -4
- package/dist/gulp/tasks/sass.js +11 -0
- package/dist/hooks/lib/notarize-tools.js +137 -0
- package/dist/hooks/notarize-artifacts.js +57 -0
- package/dist/hooks/notarize.js +59 -8
- package/dist/lib/auth-persistence.js +25 -0
- package/dist/lib/client-bridge.js +11 -8
- package/dist/lib/deep-link.js +15 -8
- package/dist/lib/protocol.js +7 -1
- package/dist/lib/restart-manager/install.js +6 -3
- package/dist/lib/sign-helpers/auto-unlock.js +65 -27
- package/dist/lib/sign-helpers/console-lock.js +34 -0
- package/dist/lib/sign-helpers/exec-with-limit.js +68 -0
- package/dist/lib/sign-helpers/resolve-icons.js +6 -4
- package/dist/lib/tray.js +7 -6
- package/dist/main.js +16 -0
- package/dist/preload.js +8 -0
- package/dist/renderer.js +16 -4
- package/dist/runner/job-started.js +104 -0
- package/dist/test/fixtures/consumer-app/config/omega.json5 +7 -0
- package/dist/test/fixtures/consumer-app/package.json +1 -1
- package/dist/test/fixtures/consumer-app/src/assets/js/components/main/index.js +7 -1
- package/dist/test/harness/main-entry.js +2 -1
- package/dist/test/harness/renderer-preload.js +12 -3
- package/dist/test/runners/boot.js +101 -11
- package/dist/test/runners/electron.js +1 -1
- package/dist/test/suites/boot/consumer-app-boots.test.js +54 -0
- package/dist/test/suites/build/audit.test.js +45 -6
- package/dist/test/suites/build/auth-persistence-resolve.test.js +119 -0
- package/dist/test/suites/build/auto-unlock.test.js +105 -0
- package/dist/test/suites/build/boot-runner-timeout.test.js +253 -0
- package/dist/test/suites/build/brand-scss.test.js +106 -0
- package/dist/test/suites/build/build-config.test.js +146 -36
- package/dist/test/suites/build/build-json-bake.test.js +245 -0
- package/dist/test/suites/build/build-verbs.test.js +48 -15
- package/dist/test/suites/build/build-workflow-jobs.test.js +190 -0
- package/dist/test/suites/build/cli.test.js +32 -10
- package/dist/test/suites/build/config-schema.test.js +4 -4
- package/dist/test/suites/build/console-lock.test.js +51 -0
- package/dist/test/suites/build/defaults-scaffold.test.js +71 -2
- package/dist/test/suites/build/deploy-direct.test.js +241 -0
- package/dist/test/suites/build/deploy-dispatch.test.js +287 -0
- package/dist/test/suites/build/deploy-hook.test.js +169 -0
- package/dist/test/suites/build/ensure-target.test.js +14 -2
- package/dist/test/suites/build/env-delivery.test.js +19 -10
- package/dist/test/suites/build/env-watch.test.js +18 -7
- package/dist/test/suites/build/esm-only-dependency.test.js +127 -0
- package/dist/test/suites/build/exec-with-limit.test.js +53 -0
- package/dist/test/suites/build/finalize-release.test.js +2 -2
- package/dist/test/suites/build/get-config.test.js +120 -8
- package/dist/test/suites/build/github-utils.test.js +12 -6
- package/dist/test/suites/build/license-stamp.test.js +6 -4
- package/dist/test/suites/build/manager.test.js +88 -68
- package/dist/test/suites/build/manifest-deps.test.js +116 -0
- package/dist/test/suites/build/merge-line-files.test.js +27 -4
- package/dist/test/suites/build/notarize-artifacts.test.js +135 -0
- package/dist/test/suites/build/notarize-tools.test.js +38 -0
- package/dist/test/suites/build/notarize.test.js +207 -0
- package/dist/test/suites/build/release-pipeline.test.js +38 -60
- package/dist/test/suites/build/release-skipped-upload.test.js +107 -0
- package/dist/test/suites/build/resolve-icons.test.js +35 -35
- package/dist/test/suites/build/runner-job-guard.test.js +182 -0
- package/dist/test/suites/build/runner.test.js +25 -2
- package/dist/test/suites/build/sentry.test.js +8 -3
- package/dist/test/suites/build/setup-scripts.test.js +3 -0
- package/dist/test/suites/build/sign-windows.test.js +92 -8
- package/dist/test/suites/build/test-stealth.test.js +17 -11
- package/dist/test/suites/build/url-helpers.test.js +37 -17
- package/dist/test/suites/build/validate-certs.test.js +428 -55
- package/dist/test/suites/build/validate-config.test.js +3 -3
- package/dist/test/suites/main/auth-flow.test.js +12 -0
- package/dist/test/suites/main/auth-persistence.test.js +14 -17
- package/dist/test/suites/main/auto-updater.test.js +2 -2
- package/dist/test/suites/main/boot-sequence.test.js +1 -1
- package/dist/test/suites/main/client-bridge.integration.test.js +5 -82
- package/dist/test/suites/main/client-bridge.test.js +19 -6
- package/dist/test/suites/main/deep-link.test.js +54 -0
- package/dist/test/suites/main/startup-paths-and-ua.test.js +1 -1
- package/dist/test/suites/main/url-helpers.test.js +81 -72
- package/dist/test/suites/renderer/cross-context-helpers.test.js +19 -16
- package/dist/utils/build-pipeline.js +10 -10
- package/dist/utils/github.js +12 -51
- package/dist/utils/load-env.js +66 -0
- package/dist/utils/mode-helpers.js +43 -111
- package/dist/utils/platform.js +37 -0
- package/dist/utils/runner-env.js +2 -1
- package/dist/utils/runner-job-guard.js +149 -0
- package/dist/utils/ship-keys.js +52 -0
- package/dist/utils/test-stealth.js +5 -3
- package/dist/utils/url-helpers.js +33 -17
- package/dist/vendor/config/bundle-id.js +53 -0
- package/dist/vendor/config/client-config.js +141 -0
- package/dist/vendor/config/company.js +334 -15
- package/dist/vendor/config/dev-facts.js +48 -0
- package/dist/vendor/config/env-delivery.js +231 -9
- package/dist/vendor/config/env-retired.js +137 -0
- package/dist/vendor/config/env-rules.js +22 -3
- package/dist/vendor/config/env-schema.js +234 -117
- package/dist/vendor/config/env.js +55 -26
- package/dist/vendor/config/environment.js +189 -0
- package/dist/vendor/config/hooks.js +13 -11
- package/dist/vendor/config/index.js +121 -44
- package/dist/vendor/config/load.js +366 -115
- package/dist/vendor/config/merge.js +2 -2
- package/dist/vendor/config/order.js +3 -3
- package/dist/vendor/config/platforms.js +276 -0
- package/dist/vendor/config/repo.js +226 -104
- package/dist/vendor/config/retired-keys.js +232 -27
- package/dist/vendor/config/schema.js +525 -99
- package/dist/vendor/config/site-global.js +63 -53
- package/dist/vendor/config/targets.js +187 -0
- package/dist/vendor/config/validate.js +119 -59
- package/dist/vendor/devkit/argv.js +118 -0
- package/dist/vendor/devkit/attach-log-file.js +21 -13
- package/dist/vendor/devkit/brand-tokens.js +278 -0
- package/dist/vendor/devkit/brand-version.js +264 -0
- package/dist/vendor/devkit/build-json.js +91 -0
- package/dist/vendor/devkit/bundle.js +48 -0
- package/dist/vendor/devkit/certificate-expiry.js +108 -0
- package/dist/vendor/devkit/certs.js +16 -194
- package/dist/vendor/devkit/ci-workflows.js +124 -8
- package/dist/vendor/devkit/cli-router.js +3 -3
- package/dist/vendor/devkit/defaults-engine.js +69 -7
- package/dist/vendor/devkit/deploy-follow.js +297 -0
- package/dist/vendor/devkit/deploy-precheck.js +23 -8
- package/dist/vendor/devkit/deploy-record.js +11 -27
- package/dist/vendor/devkit/deploy-snapshot.js +661 -0
- package/dist/vendor/devkit/deploy.js +445 -75
- package/dist/vendor/devkit/git-auth.js +73 -0
- package/dist/vendor/devkit/git-remote.js +95 -0
- package/dist/vendor/devkit/github-repo.js +290 -0
- package/dist/vendor/devkit/local.js +47 -0
- package/dist/vendor/devkit/merge-line-files.js +23 -16
- package/dist/vendor/devkit/omega-bin.js +18 -3
- package/dist/vendor/devkit/pack-local.js +391 -0
- package/dist/vendor/devkit/preludes/index.js +120 -0
- package/dist/vendor/devkit/preludes/origin-heal.js +156 -0
- package/dist/vendor/devkit/service-account.js +43 -0
- package/dist/vendor/devkit/ship-plan.js +112 -0
- package/dist/vendor/devkit/signing-env.js +180 -0
- package/dist/vendor/devkit/signing-tree.js +92 -0
- package/dist/vendor/devkit/target-seams.js +142 -0
- package/dist/vendor/devkit/target-secrets.js +235 -50
- package/dist/vendor/devkit/test/esm-only-fixture.js +48 -0
- package/dist/vendor/devkit/test/fixtures/esm-only-package/browser.js +19 -0
- package/dist/vendor/devkit/test/fixtures/esm-only-package/index.js +20 -0
- package/dist/vendor/devkit/test/fixtures/esm-only-package/package.json +13 -0
- package/dist/vendor/monitoring/env.js +20 -10
- package/dist/vendor/monitoring/main.js +1 -1
- package/dist/vendor/monitoring/preload.js +1 -1
- package/dist/vendor/monitoring/renderer.js +1 -1
- package/docs/analytics.md +1 -1
- package/docs/auto-updater.md +5 -5
- package/docs/boot-sequence.md +1 -1
- package/docs/build-system.md +15 -7
- package/docs/client-bridge.md +9 -7
- package/docs/config-schema.md +4 -4
- package/docs/css.md +8 -2
- package/docs/deep-link.md +12 -4
- package/docs/environment-detection.md +32 -24
- package/docs/hooks.md +3 -1
- package/docs/icons.md +7 -7
- package/docs/index.md +61 -23
- package/docs/installer-options.md +24 -21
- package/docs/logging.md +5 -5
- package/docs/releasing.md +25 -17
- package/docs/runner.md +40 -5
- package/docs/shared/brands.md +12 -6
- package/docs/shared/breaking-changes.md +375 -21
- package/docs/shared/config.md +757 -199
- package/docs/shared/deploys.md +194 -91
- package/docs/shared/icons.md +18 -0
- package/docs/shared/local-dev.md +24 -6
- package/docs/shared/logging.md +9 -6
- package/docs/shared/monitoring.md +27 -13
- package/docs/shared/publishing.md +3 -3
- package/docs/shared/rulings.md +2 -2
- package/docs/shared/testing.md +1 -1
- package/docs/shared/theming.md +26 -1
- package/docs/shared/translation.md +49 -7
- package/docs/shared/updates.md +1 -1
- package/docs/signing.md +59 -33
- package/docs/test-framework.md +10 -5
- package/docs/themes.md +15 -1
- package/package.json +18 -12
- package/bin/omega-desktop +0 -2
- package/dist/commands/push-secrets.js +0 -141
- package/dist/test/suites/build/deliver-certs.test.js +0 -95
- package/dist/test/suites/build/derive-signing-env.test.js +0 -122
- package/dist/test/suites/build/push-secrets.test.js +0 -226
- package/dist/test/suites/build/resolve-signing-cert.test.js +0 -342
- package/dist/utils/deliver-certs.js +0 -69
- package/dist/utils/derive-signing-env.js +0 -56
- package/dist/utils/resolve-signing-cert.js +0 -175
- package/dist/vendor/config/desktop-artifacts.js +0 -110
- package/dist/vendor/config/instances.js +0 -208
- /package/dist/defaults/config/icons/{macos → mac}/dmg.png +0 -0
- /package/dist/defaults/config/icons/{macos → mac}/icon.png +0 -0
- /package/dist/defaults/config/icons/{macos → mac}/tray.png +0 -0
package/README.md
CHANGED
|
@@ -82,7 +82,7 @@ Five logs in `<projectRoot>/logs/`, each with its own purpose:
|
|
|
82
82
|
| `dev.log` | Gulp pipeline output — sass, bundle, html, electron child stdout from `npm start` | Truncated each `npm start` |
|
|
83
83
|
| `build.log` | Gulp pipeline output for production builds/packages (`npm run build` / `package` / `publish`, i.e. `OMEGA_BUILD_MODE=true`) | Truncated each build |
|
|
84
84
|
| `test.log` | `npx omega test` runner output (suite names, pass/fail, harness boot lines) | Truncated each test run |
|
|
85
|
-
| `
|
|
85
|
+
| `deploy.log` | `omega deploy` and `npm run release`, the whole deploy: the scaffold, the precheck, the dispatch, then the streamed GH Actions run | Truncated each deploy |
|
|
86
86
|
|
|
87
87
|
```bash
|
|
88
88
|
npx omega logs # tail last 50 of runtime.log
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
//
|
|
11
11
|
// The accent family is a BUILD-TIME override surface: when `brand.color`
|
|
12
12
|
// is set, head.html emits inline `:root` ramps from composeBrandTokens
|
|
13
|
-
// (
|
|
13
|
+
// (@omega.js/devkit/brand-tokens): a light ramp AND a dark-variant ramp stamped with
|
|
14
14
|
// this same plumbing — that win the cascade over these placeholders.
|
|
15
15
|
//
|
|
16
16
|
// Theme attribute: `data-bs-theme` is what core/js/core/appearance.js
|
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
Account section header — the admin page-header anatomy (icon chip + page
|
|
3
3
|
title + hairline) stamped INSIDE each hash-driven section, so the visible
|
|
4
4
|
page title tracks the active section with zero JS. Params: title, icon.
|
|
5
|
+
|
|
6
|
+
`icon` carries its OWN Font Awesome classes (#619, #850, #903):
|
|
7
|
+
`icon="fa-brands fa-github"`, emitted verbatim with only the size added.
|
|
5
8
|
{% endcomment %}
|
|
6
9
|
<header class="page-header pb-3 mb-4 hairline-bottom">
|
|
7
10
|
<h2 class="page-title mb-0 d-flex align-items-center">
|
|
8
|
-
<span class="omega-icon-chip omega-icon-chip--neutral me-2"><i class="
|
|
11
|
+
<span class="omega-icon-chip omega-icon-chip--neutral me-2"><i class="{{ include.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
9
12
|
{{ include.title }}
|
|
10
13
|
</h2>
|
|
11
14
|
</header>
|
|
@@ -46,7 +46,11 @@
|
|
|
46
46
|
{% capture social_href %}{% omega_social platform %}{% endcapture %}
|
|
47
47
|
{% iftruthy social_href %}
|
|
48
48
|
<a href="{{ social_href }}" class="omega-footer__social-link" aria-label="{{ platform | capitalize }}">
|
|
49
|
-
|
|
49
|
+
{% comment %} The key names a PLATFORM, not an icon (#929): a social
|
|
50
|
+
profile is always a brand mark, so the family is derived at the one
|
|
51
|
+
site that knows it, never typed by a brand that only named the
|
|
52
|
+
platform. {% endcomment %}
|
|
53
|
+
<i class="fa-brands fa-{{ platform }} fa-sm" aria-hidden="true"></i>
|
|
50
54
|
</a>
|
|
51
55
|
{% endiftruthy %}
|
|
52
56
|
{% endfor %}
|
|
@@ -71,7 +75,9 @@
|
|
|
71
75
|
{% for link in link_group.links %}
|
|
72
76
|
{% capture link_classes %}omega-footer__link{% if link.classes %} {{ link.classes | join: ' ' }}{% endif %}{% endcapture %}
|
|
73
77
|
{% capture link_attributes %}{% if link.attributes %}{% for attr in link.attributes %} {{ attr[0] }}="{{ attr[1] }}"{% endfor %}{% endif %}{% endcapture %}
|
|
74
|
-
{%
|
|
78
|
+
{% comment %} A link carries its OWN Font Awesome classes (#619, #850): `icon: 'fa-brands fa-github'`.
|
|
79
|
+
The name-to-markup `icons` map this used to look the name up in is a retired config key. {% endcomment %}
|
|
80
|
+
{% capture link_icon %}{% if link.icon %}<i class="{{ link.icon }}" aria-hidden="true"></i>{% endif %}{% endcapture %}
|
|
75
81
|
{% capture link_href %}{% if link.href and link.href != '' and link.href != 'null' %}{{ link.href }}{% else %}javascript:void(0){% endif %}{% endcapture %}
|
|
76
82
|
<li>
|
|
77
83
|
<a class="{{ link_classes }}" href="{{ link_href }}"{{ link_attributes }}>
|
|
@@ -94,10 +100,11 @@
|
|
|
94
100
|
{% if data.copyright.text %}
|
|
95
101
|
{{ data.copyright.text | omega_liquify }}
|
|
96
102
|
{% else %}
|
|
97
|
-
{% comment %} A sub-brand credits its parent
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
103
|
+
{% comment %} A sub-brand credits its parent, linked when the
|
|
104
|
+
resolved company.url names one (#677). A standalone brand resolves
|
|
105
|
+
its company to ITSELF, so the name check below keeps the plain line
|
|
106
|
+
with no fallback of its own {% endcomment %}
|
|
107
|
+
{% assign parent_company = resolved.config.company.name %}
|
|
101
108
|
{% if parent_company and parent_company != '' and parent_company != 'null' and parent_company != resolved.config.brand.name %}
|
|
102
109
|
{% if resolved.config.company.url %}
|
|
103
110
|
{% capture parent_mark %}<a href="{{ resolved.config.company.url }}">{{ parent_company }}</a>{% endcapture %}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
{% comment %} Section data: json-in-_includes (a consumer src/_includes/frontend/sections/nav.json overrides the packaged one) — same binding pattern as admin/sections/sidebar {% endcomment %}
|
|
2
|
+
{% comment %} A link's `icon` carries its OWN Font Awesome classes (#619, #850, #903): `icon: 'fa-brands fa-github'`.
|
|
3
|
+
Every icon site below emits that string verbatim and adds only its size and spacing. {% endcomment %}
|
|
2
4
|
{% assign data = site.data._includes.frontend.sections.nav %}
|
|
3
5
|
|
|
4
6
|
<!-- Shared base marketing nav: transparent over the hero, glassy after scroll.
|
|
@@ -60,7 +62,7 @@
|
|
|
60
62
|
<button class="{{ link_class }}" type="button" data-bs-toggle="dropdown" {{ link_attributes }}>
|
|
61
63
|
<span class="d-inline-flex align-items-center">
|
|
62
64
|
{% if link.icon %}
|
|
63
|
-
<i class="
|
|
65
|
+
<i class="{{ link.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
64
66
|
{% endif %}
|
|
65
67
|
<span>{{ link.label }}</span>
|
|
66
68
|
</span>
|
|
@@ -73,7 +75,7 @@
|
|
|
73
75
|
{% capture child_content %}
|
|
74
76
|
<span class="d-inline-flex align-items-center">
|
|
75
77
|
{% if child.icon %}
|
|
76
|
-
<i class="
|
|
78
|
+
<i class="{{ child.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
77
79
|
{% endif %}
|
|
78
80
|
<span>{{ child.label }}</span>
|
|
79
81
|
</span>
|
|
@@ -105,7 +107,7 @@
|
|
|
105
107
|
{% capture link_content %}
|
|
106
108
|
<span class="d-inline-flex align-items-center">
|
|
107
109
|
{% if link.icon %}
|
|
108
|
-
<i class="
|
|
110
|
+
<i class="{{ link.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
109
111
|
{% endif %}
|
|
110
112
|
<span>{{ link.label }}</span>
|
|
111
113
|
</span>
|
|
@@ -140,7 +142,7 @@
|
|
|
140
142
|
<button class="{{ action_class }}" type="button" data-bs-toggle="dropdown" {{ action_attributes }}>
|
|
141
143
|
<span class="d-inline-flex align-items-center">
|
|
142
144
|
{% if action.icon %}
|
|
143
|
-
<i class="
|
|
145
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
144
146
|
{% endif %}
|
|
145
147
|
<span>{{ action.label }}</span>
|
|
146
148
|
</span>
|
|
@@ -153,7 +155,7 @@
|
|
|
153
155
|
{% capture child_content %}
|
|
154
156
|
<span class="d-inline-flex align-items-center">
|
|
155
157
|
{% if child.icon %}
|
|
156
|
-
<i class="
|
|
158
|
+
<i class="{{ child.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
157
159
|
{% endif %}
|
|
158
160
|
<span>{{ child.label }}</span>
|
|
159
161
|
</span>
|
|
@@ -184,7 +186,7 @@
|
|
|
184
186
|
{% capture action_content %}
|
|
185
187
|
<span class="d-inline-flex align-items-center">
|
|
186
188
|
{% if action.icon %}
|
|
187
|
-
<i class="
|
|
189
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
188
190
|
{% endif %}
|
|
189
191
|
<span>{{ action.label }}</span>
|
|
190
192
|
</span>
|
|
@@ -212,7 +214,7 @@
|
|
|
212
214
|
{% capture action_content %}
|
|
213
215
|
<span class="d-inline-flex align-items-center">
|
|
214
216
|
{% if action.icon %}
|
|
215
|
-
<i class="
|
|
217
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
216
218
|
{% endif %}
|
|
217
219
|
<span>{{ action.label }}</span>
|
|
218
220
|
</span>
|
|
@@ -230,7 +232,7 @@
|
|
|
230
232
|
{% capture child_content %}
|
|
231
233
|
<span class="d-inline-flex align-items-center">
|
|
232
234
|
{% if child.icon %}
|
|
233
|
-
<i class="
|
|
235
|
+
<i class="{{ child.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
234
236
|
{% endif %}
|
|
235
237
|
<span>{{ child.label }}</span>
|
|
236
238
|
</span>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
<!-- Account Dropdown (shared across frontend nav, backend topbar, admin topbar) -->
|
|
2
|
+
{% comment %} A dropdown item's `icon` carries its OWN Font Awesome classes (#619, #850, #903):
|
|
3
|
+
`icon: 'fa-brands fa-github'`, emitted verbatim with only the size and spacing added. {% endcomment %}
|
|
2
4
|
{% assign account_data = site.data._includes.global.sections.account %}
|
|
3
5
|
{% assign avatar_size = include.size | default: "md" %}
|
|
4
6
|
|
|
@@ -46,7 +48,7 @@
|
|
|
46
48
|
{% capture child_class %}dropdown-item d-flex align-items-center text-body {{ child_active }} {% if child.class %}{{ child.class }}{% endif %}{% endcapture %}
|
|
47
49
|
{% capture child_content %}
|
|
48
50
|
{% if child.icon %}
|
|
49
|
-
<i class="
|
|
51
|
+
<i class="{{ child.icon }} fa-md me-3" aria-hidden="true"></i>
|
|
50
52
|
{% endif %}
|
|
51
53
|
<span>{{ child.label }}</span>
|
|
52
54
|
{% endcapture %}
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
| { label, icon, dropdown: [ …links, nested dropdowns… ] }]
|
|
13
13
|
bottom: { vert: { enabled } } (optional)
|
|
14
14
|
|
|
15
|
+
An `icon` carries its OWN Font Awesome classes (#619, #850, #903):
|
|
16
|
+
`icon: 'fa-brands fa-github'`. Every icon site below emits that string
|
|
17
|
+
verbatim and adds only its size.
|
|
18
|
+
|
|
15
19
|
Anything textual wears .omega-shell__label so the rail collapse hides it
|
|
16
20
|
(core/css/shell). Active detection via urlmatches, including nested groups.
|
|
17
21
|
|
|
@@ -62,7 +66,7 @@
|
|
|
62
66
|
{% else %}
|
|
63
67
|
<li>
|
|
64
68
|
<a class="dropdown-item" href="{{ item.href | default: '#' }}">
|
|
65
|
-
{% if item.icon %}<i class="
|
|
69
|
+
{% if item.icon %}<i class="{{ item.icon }} fa-sm me-2" aria-hidden="true"></i>{% endif %}
|
|
66
70
|
{{ item.label | omega_liquify }}
|
|
67
71
|
</a>
|
|
68
72
|
</li>
|
|
@@ -104,7 +108,7 @@
|
|
|
104
108
|
<li>
|
|
105
109
|
<button class="omega-side__item {% if dropdown_has_active %}active{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#{{ link_id }}" aria-expanded="{{ dropdown_has_active }}">
|
|
106
110
|
{% if link.icon %}
|
|
107
|
-
<span class="omega-side__icon"><i class="
|
|
111
|
+
<span class="omega-side__icon"><i class="{{ link.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
108
112
|
{% endif %}
|
|
109
113
|
<span class="omega-shell__label">{{ link.label }}</span>
|
|
110
114
|
<span class="omega-side__chevron"><i class="fa-solid fa-chevron-right fa-xs"></i></span>
|
|
@@ -127,7 +131,7 @@
|
|
|
127
131
|
<li>
|
|
128
132
|
<button class="omega-side__item {% if nested_has_active %}active{% endif %}" type="button" data-bs-toggle="collapse" data-bs-target="#{{ nested_id }}" aria-expanded="{{ nested_has_active }}">
|
|
129
133
|
{% if child.icon %}
|
|
130
|
-
<span class="omega-side__icon"><i class="
|
|
134
|
+
<span class="omega-side__icon"><i class="{{ child.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
131
135
|
{% endif %}
|
|
132
136
|
<span class="omega-shell__label">{{ child.label }}</span>
|
|
133
137
|
<span class="omega-side__chevron"><i class="fa-solid fa-chevron-right fa-xs"></i></span>
|
|
@@ -142,7 +146,7 @@
|
|
|
142
146
|
<li>
|
|
143
147
|
<a href="{{ grandchild.href }}" class="omega-side__item {{ grandchild_active }}">
|
|
144
148
|
{% if grandchild.icon %}
|
|
145
|
-
<span class="omega-side__icon"><i class="
|
|
149
|
+
<span class="omega-side__icon"><i class="{{ grandchild.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
146
150
|
{% endif %}
|
|
147
151
|
<span class="omega-shell__label">{{ grandchild.label }}</span>
|
|
148
152
|
</a>
|
|
@@ -159,7 +163,7 @@
|
|
|
159
163
|
{% iftruthy child.href %}
|
|
160
164
|
<a href="{{ child.href }}" class="omega-side__item {{ child_active }}" {{ child_attributes }}>
|
|
161
165
|
{% if child.icon %}
|
|
162
|
-
<span class="omega-side__icon"><i class="
|
|
166
|
+
<span class="omega-side__icon"><i class="{{ child.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
163
167
|
{% endif %}
|
|
164
168
|
<span class="omega-shell__label">{{ child.label }}</span>
|
|
165
169
|
{% if child.badge %}
|
|
@@ -170,7 +174,7 @@
|
|
|
170
174
|
{% iffalsy child.href %}
|
|
171
175
|
<button type="button" class="omega-side__item {% if child.class %}{{ child.class }}{% endif %}" {{ child_attributes }}>
|
|
172
176
|
{% if child.icon %}
|
|
173
|
-
<span class="omega-side__icon"><i class="
|
|
177
|
+
<span class="omega-side__icon"><i class="{{ child.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
174
178
|
{% endif %}
|
|
175
179
|
<span class="omega-shell__label">{{ child.label }}</span>
|
|
176
180
|
</button>
|
|
@@ -189,7 +193,7 @@
|
|
|
189
193
|
{% iftruthy link.href %}
|
|
190
194
|
<a href="{{ link.href }}" class="omega-side__item {{ link_active }}" {{ link_attributes }}>
|
|
191
195
|
{% if link.icon %}
|
|
192
|
-
<span class="omega-side__icon"><i class="
|
|
196
|
+
<span class="omega-side__icon"><i class="{{ link.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
193
197
|
{% endif %}
|
|
194
198
|
<span class="omega-shell__label">{{ link.label }}</span>
|
|
195
199
|
{% if link.badge %}
|
|
@@ -200,7 +204,7 @@
|
|
|
200
204
|
{% iffalsy link.href %}
|
|
201
205
|
<button type="button" class="omega-side__item" {{ link_attributes }}>
|
|
202
206
|
{% if link.icon %}
|
|
203
|
-
<span class="omega-side__icon"><i class="
|
|
207
|
+
<span class="omega-side__icon"><i class="{{ link.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
204
208
|
{% endif %}
|
|
205
209
|
<span class="omega-shell__label">{{ link.label }}</span>
|
|
206
210
|
</button>
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
actions: [{ type: 'account' } | { type: 'notifications', icon, badge, dropdown }
|
|
9
9
|
| { label, href, icon, class, size, dropdown }]
|
|
10
10
|
|
|
11
|
+
An `icon` carries its OWN Font Awesome classes (#619, #850, #903):
|
|
12
|
+
`icon: 'fa-brands fa-github'`. Every icon site below emits that string
|
|
13
|
+
verbatim and adds only its size and spacing.
|
|
14
|
+
|
|
11
15
|
action.size is 'sm' | 'lg' (Bootstrap's button sizes) — anything else
|
|
12
16
|
renders no size class. NEVER test it for truthiness: Liquid answers `.size`
|
|
13
17
|
on a hash with its KEY COUNT, so every action would "have" a size (#43).
|
|
@@ -84,9 +88,9 @@
|
|
|
84
88
|
<!-- Notifications Dropdown -->
|
|
85
89
|
{% capture action_attributes %}{% if action.attributes %}{% for attr in action.attributes %} {{ attr[0] }}="{{ attr[1] }}"{% endfor %}{% endif %}{% endcapture %}
|
|
86
90
|
<div class="dropdown">
|
|
87
|
-
{% capture notif_icon %}{{ action.icon | default: "bell" }}{% endcapture %}
|
|
91
|
+
{% capture notif_icon %}{{ action.icon | default: "fa-solid fa-bell" }}{% endcapture %}
|
|
88
92
|
<button class="btn-icon position-relative" type="button" data-bs-toggle="dropdown" {{ action_attributes }} aria-expanded="false" aria-label="{{ action.label | default: 'Notifications' }}">
|
|
89
|
-
<i class="
|
|
93
|
+
<i class="{{ notif_icon }} fa-sm" aria-hidden="true"></i>
|
|
90
94
|
{% if action.badge %}
|
|
91
95
|
<span class="position-absolute top-0 start-100 translate-middle badge rounded-pill {{ action.badge.class | default: 'bg-danger' }}">
|
|
92
96
|
{{ action.badge.text }}
|
|
@@ -116,7 +120,7 @@
|
|
|
116
120
|
<div class="d-flex">
|
|
117
121
|
{% if notification.icon %}
|
|
118
122
|
<span class="omega-icon-chip omega-icon-chip--neutral me-3 flex-shrink-0">
|
|
119
|
-
<i class="
|
|
123
|
+
<i class="{{ notification.icon }} fa-sm" aria-hidden="true"></i>
|
|
120
124
|
</span>
|
|
121
125
|
{% endif %}
|
|
122
126
|
<div class="flex-fill">
|
|
@@ -165,7 +169,7 @@
|
|
|
165
169
|
<div class="dropdown">
|
|
166
170
|
<button class="{{ action_class }} dropdown-toggle" type="button" data-bs-toggle="dropdown" {{ action_attributes }}>
|
|
167
171
|
{% if action.icon %}
|
|
168
|
-
<i class="
|
|
172
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
169
173
|
{% endif %}
|
|
170
174
|
<span>{{ action.label }}</span>
|
|
171
175
|
</button>
|
|
@@ -176,7 +180,7 @@
|
|
|
176
180
|
{% capture child_class %}dropdown-item {{ child_active }} {% if child.class %}{{ child.class }}{% endif %}{% endcapture %}
|
|
177
181
|
{% capture child_content %}
|
|
178
182
|
{% if child.icon %}
|
|
179
|
-
<i class="
|
|
183
|
+
<i class="{{ child.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
180
184
|
{% endif %}
|
|
181
185
|
<span>{{ child.label }}</span>
|
|
182
186
|
{% endcapture %}
|
|
@@ -208,7 +212,7 @@
|
|
|
208
212
|
{% capture action_attributes %}{% if action.attributes %}{% for attr in action.attributes %} {{ attr[0] }}="{{ attr[1] }}"{% endfor %}{% endif %}{% endcapture %}
|
|
209
213
|
{% capture action_content %}
|
|
210
214
|
{% if action.icon %}
|
|
211
|
-
<i class="
|
|
215
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
212
216
|
{% endif %}
|
|
213
217
|
<span>{{ action.label }}</span>
|
|
214
218
|
{% endcapture %}
|
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
app topbar (global/sections/app-topbar.html) but keep their frontmatter API:
|
|
4
4
|
resolved.config.theme.header.{title, actions} render here.
|
|
5
5
|
|
|
6
|
+
An `icon` (the title's, an action's, a dropdown item's) carries its OWN Font
|
|
7
|
+
Awesome classes (#619, #850, #903): `icon: 'fa-brands fa-github'`. Every icon
|
|
8
|
+
site below emits that string verbatim and adds only its size and spacing.
|
|
9
|
+
|
|
6
10
|
action.size is 'sm' | 'lg' (Bootstrap's button sizes) — anything else renders
|
|
7
11
|
no size class. NEVER test it for truthiness: Liquid answers `.size` on a hash
|
|
8
12
|
with its KEY COUNT, so every action would "have" a size (#43).
|
|
@@ -15,7 +19,7 @@
|
|
|
15
19
|
{% unless resolved.config.theme.header.title.enabled == false %}
|
|
16
20
|
<h1 class="page-title mb-0 d-flex align-items-center {{ resolved.config.theme.header.title.class }}">
|
|
17
21
|
{% if resolved.config.theme.header.title.icon %}
|
|
18
|
-
<span class="omega-icon-chip omega-icon-chip--neutral me-2"><i class="
|
|
22
|
+
<span class="omega-icon-chip omega-icon-chip--neutral me-2"><i class="{{ resolved.config.theme.header.title.icon }} fa-sm" aria-hidden="true"></i></span>
|
|
19
23
|
{% endif %}
|
|
20
24
|
{{- resolved.config.theme.header.title.content | default: resolved.meta.title | omega_liquify -}}
|
|
21
25
|
</h1>
|
|
@@ -46,7 +50,7 @@
|
|
|
46
50
|
data-bs-toggle="dropdown"
|
|
47
51
|
aria-expanded="false">
|
|
48
52
|
{% if action.icon %}
|
|
49
|
-
<i class="
|
|
53
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
50
54
|
{% endif %}
|
|
51
55
|
{{ action.label }}
|
|
52
56
|
</button>
|
|
@@ -58,7 +62,7 @@
|
|
|
58
62
|
<li>
|
|
59
63
|
<a class="dropdown-item" href="{{ item.href | default: '#' }}">
|
|
60
64
|
{% if item.icon %}
|
|
61
|
-
<i class="
|
|
65
|
+
<i class="{{ item.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
62
66
|
{% endif %}
|
|
63
67
|
{{ item.label }}
|
|
64
68
|
</a>
|
|
@@ -73,7 +77,7 @@
|
|
|
73
77
|
{% capture action_attributes %}{% if action.attributes %}{% for attr in action.attributes %} {{ attr[0] }}="{{ attr[1] }}"{% endfor %}{% endif %}{% endcapture %}
|
|
74
78
|
{% capture action_content %}
|
|
75
79
|
{% if action.icon %}
|
|
76
|
-
<i class="
|
|
80
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
77
81
|
{% endif %}
|
|
78
82
|
{{ action.label }}
|
|
79
83
|
{% endcapture %}
|
|
@@ -10,86 +10,86 @@ stats_cards:
|
|
|
10
10
|
value: "$24,300"
|
|
11
11
|
change: "+12.5%"
|
|
12
12
|
change_type: "success"
|
|
13
|
-
icon: "dollar-sign"
|
|
13
|
+
icon: "fa-solid fa-dollar-sign"
|
|
14
14
|
|
|
15
15
|
- id: "new_users"
|
|
16
16
|
title: "New users"
|
|
17
17
|
value: "1,423"
|
|
18
18
|
change: "+5.8%"
|
|
19
19
|
change_type: "success"
|
|
20
|
-
icon: "users"
|
|
20
|
+
icon: "fa-solid fa-users"
|
|
21
21
|
|
|
22
22
|
- id: "active_projects"
|
|
23
23
|
title: "Active projects"
|
|
24
24
|
value: "14"
|
|
25
25
|
change: "2 pending"
|
|
26
26
|
change_type: "warning"
|
|
27
|
-
icon: "folder-open"
|
|
27
|
+
icon: "fa-solid fa-folder-open"
|
|
28
28
|
|
|
29
29
|
- id: "performance"
|
|
30
30
|
title: "Performance"
|
|
31
31
|
value: "89%"
|
|
32
32
|
change: "Good"
|
|
33
33
|
change_type: "info"
|
|
34
|
-
icon: "chart-line"
|
|
34
|
+
icon: "fa-solid fa-chart-line"
|
|
35
35
|
|
|
36
36
|
recent_activity:
|
|
37
37
|
- id: "new_document"
|
|
38
38
|
title: "New document created"
|
|
39
39
|
description: "Project proposal for Q2 2024"
|
|
40
40
|
time: "2 hours ago"
|
|
41
|
-
icon: "file-alt"
|
|
41
|
+
icon: "fa-solid fa-file-alt"
|
|
42
42
|
icon_color: "primary"
|
|
43
43
|
|
|
44
44
|
- id: "task_completed"
|
|
45
45
|
title: "Task completed"
|
|
46
46
|
description: "Website redesign approved"
|
|
47
47
|
time: "5 hours ago"
|
|
48
|
-
icon: "check-circle"
|
|
48
|
+
icon: "fa-solid fa-check-circle"
|
|
49
49
|
icon_color: "success"
|
|
50
50
|
|
|
51
51
|
- id: "new_member"
|
|
52
52
|
title: "New team member"
|
|
53
53
|
description: "Sarah Johnson joined the team"
|
|
54
54
|
time: "1 day ago"
|
|
55
|
-
icon: "user-plus"
|
|
55
|
+
icon: "fa-solid fa-user-plus"
|
|
56
56
|
icon_color: "warning"
|
|
57
57
|
|
|
58
58
|
- id: "code_deployed"
|
|
59
59
|
title: "Code deployed"
|
|
60
60
|
description: "Version 2.4.1 released to production"
|
|
61
61
|
time: "2 days ago"
|
|
62
|
-
icon: "code-branch"
|
|
62
|
+
icon: "fa-solid fa-code-branch"
|
|
63
63
|
icon_color: "info"
|
|
64
64
|
|
|
65
65
|
quick_actions:
|
|
66
66
|
- id: "create_project"
|
|
67
67
|
label: "Create new project"
|
|
68
|
-
icon: "plus"
|
|
68
|
+
icon: "fa-solid fa-plus"
|
|
69
69
|
style: "primary"
|
|
70
70
|
href: "#"
|
|
71
71
|
|
|
72
72
|
- id: "upload_files"
|
|
73
73
|
label: "Upload files"
|
|
74
|
-
icon: "upload"
|
|
74
|
+
icon: "fa-solid fa-upload"
|
|
75
75
|
style: "outline-adaptive"
|
|
76
76
|
href: "#"
|
|
77
77
|
|
|
78
78
|
- id: "invite_members"
|
|
79
79
|
label: "Invite team members"
|
|
80
|
-
icon: "users"
|
|
80
|
+
icon: "fa-solid fa-users"
|
|
81
81
|
style: "outline-adaptive"
|
|
82
82
|
href: "#"
|
|
83
83
|
|
|
84
84
|
- id: "view_analytics"
|
|
85
85
|
label: "View analytics"
|
|
86
|
-
icon: "chart-bar"
|
|
86
|
+
icon: "fa-solid fa-chart-bar"
|
|
87
87
|
style: "outline-adaptive"
|
|
88
88
|
href: "/analytics"
|
|
89
89
|
|
|
90
90
|
- id: "settings"
|
|
91
91
|
label: "Settings"
|
|
92
|
-
icon: "cog"
|
|
92
|
+
icon: "fa-solid fa-cog"
|
|
93
93
|
style: "outline-adaptive"
|
|
94
94
|
href: "/settings"
|
|
95
95
|
|
|
@@ -113,31 +113,31 @@ config:
|
|
|
113
113
|
header:
|
|
114
114
|
title:
|
|
115
115
|
content: "Dashboard"
|
|
116
|
-
icon: "gauge-high"
|
|
116
|
+
icon: "fa-solid fa-gauge-high"
|
|
117
117
|
breadcrumbs:
|
|
118
118
|
items:
|
|
119
119
|
- label: Home
|
|
120
120
|
href: /
|
|
121
|
-
icon: house
|
|
121
|
+
icon: 'fa-solid fa-house'
|
|
122
122
|
- label: Dashboard
|
|
123
123
|
actions:
|
|
124
124
|
items:
|
|
125
125
|
- label: New project
|
|
126
|
-
icon: plus
|
|
126
|
+
icon: "fa-solid fa-plus"
|
|
127
127
|
color: primary
|
|
128
128
|
- label: Reports
|
|
129
|
-
icon: chart-line
|
|
129
|
+
icon: "fa-solid fa-chart-line"
|
|
130
130
|
color: adaptive
|
|
131
131
|
dropdown:
|
|
132
132
|
- label: Sales report
|
|
133
|
-
icon: dollar-sign
|
|
133
|
+
icon: "fa-solid fa-dollar-sign"
|
|
134
134
|
href: /reports/sales
|
|
135
135
|
- label: Analytics report
|
|
136
|
-
icon: chart-bar
|
|
136
|
+
icon: "fa-solid fa-chart-bar"
|
|
137
137
|
href: /reports/analytics
|
|
138
138
|
- divider: true
|
|
139
139
|
- label: Export all
|
|
140
|
-
icon: download
|
|
140
|
+
icon: "fa-solid fa-download"
|
|
141
141
|
href: /reports/export
|
|
142
142
|
---
|
|
143
143
|
|
|
@@ -149,7 +149,7 @@ config:
|
|
|
149
149
|
<div class="omega-statgrid__cell">
|
|
150
150
|
<div class="omega-statgrid__label">
|
|
151
151
|
<span class="omega-micro">{{ card.title }}</span>
|
|
152
|
-
<i class="
|
|
152
|
+
<i class="{{ card.icon }} fa-sm" aria-hidden="true"></i>
|
|
153
153
|
</div>
|
|
154
154
|
<div class="omega-statgrid__value">{{ card.value }}</div>
|
|
155
155
|
<span class="badge bg-{{ card.change_type }}-subtle text-{{ card.change_type }}">{{ card.change }}</span>
|
|
@@ -168,7 +168,7 @@ config:
|
|
|
168
168
|
{% for activity in resolved.recent_activity %}
|
|
169
169
|
<div class="omega-activity__row">
|
|
170
170
|
<span class="omega-icon-chip omega-icon-chip--neutral">
|
|
171
|
-
<i class="
|
|
171
|
+
<i class="{{ activity.icon }} fa-sm" aria-hidden="true"></i>
|
|
172
172
|
</span>
|
|
173
173
|
<div class="omega-activity__body">
|
|
174
174
|
<div class="omega-activity__title">{{ activity.title }}</div>
|
|
@@ -193,12 +193,12 @@ config:
|
|
|
193
193
|
{% if _style == 'primary' %}{% assign _style = 'adaptive' %}{% endif %}
|
|
194
194
|
{% if action.href %}
|
|
195
195
|
<a href="{{ action.href }}" class="btn btn-{{ _style }}">
|
|
196
|
-
<i class="
|
|
196
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
197
197
|
{{ action.label }}
|
|
198
198
|
</a>
|
|
199
199
|
{% else %}
|
|
200
200
|
<button class="btn btn-{{ _style }}">
|
|
201
|
-
<i class="
|
|
201
|
+
<i class="{{ action.icon }} fa-sm me-2" aria-hidden="true"></i>
|
|
202
202
|
{{ action.label }}
|
|
203
203
|
</button>
|
|
204
204
|
{% endif %}
|
|
@@ -16,12 +16,12 @@ hero:
|
|
|
16
16
|
mission:
|
|
17
17
|
title: "Our mission"
|
|
18
18
|
description: "To empower individuals and businesses with technology that <em>simplifies</em> complex challenges and unlocks new possibilities for growth."
|
|
19
|
-
icon: "bullseye"
|
|
19
|
+
icon: "fa-solid fa-bullseye"
|
|
20
20
|
|
|
21
21
|
vision:
|
|
22
22
|
title: "Our vision"
|
|
23
23
|
description: "A world where powerful tools feel effortless, where anyone can build, launch, and grow without wrestling the machinery. That's the product we <em>refuse to stop</em> working toward."
|
|
24
|
-
icon: "lightbulb"
|
|
24
|
+
icon: "fa-solid fa-lightbulb"
|
|
25
25
|
|
|
26
26
|
# The letter band — mission & vision as editorial statements (letter: false
|
|
27
27
|
# kills it). Point image at your own picture and it sits at the head of the
|
|
@@ -84,16 +84,16 @@ stats:
|
|
|
84
84
|
items:
|
|
85
85
|
- number: "2017"
|
|
86
86
|
label: "Founded"
|
|
87
|
-
icon: "calendar"
|
|
87
|
+
icon: "fa-solid fa-calendar"
|
|
88
88
|
- number: "50+"
|
|
89
89
|
label: "Team members"
|
|
90
|
-
icon: "users"
|
|
90
|
+
icon: "fa-solid fa-users"
|
|
91
91
|
- number: "1M+"
|
|
92
92
|
label: "Happy customers"
|
|
93
|
-
icon: "smile"
|
|
93
|
+
icon: "fa-solid fa-smile"
|
|
94
94
|
- number: "120+"
|
|
95
95
|
label: "Countries"
|
|
96
|
-
icon: "globe"
|
|
96
|
+
icon: "fa-solid fa-globe"
|
|
97
97
|
|
|
98
98
|
# Company Values Section — rendered as the numbered principles list
|
|
99
99
|
values:
|
|
@@ -104,16 +104,16 @@ values:
|
|
|
104
104
|
items:
|
|
105
105
|
- title: "Innovation first"
|
|
106
106
|
description: "Push boundaries; challenge the status quo."
|
|
107
|
-
icon: "rocket"
|
|
107
|
+
icon: "fa-solid fa-rocket"
|
|
108
108
|
- title: "Customer obsessed"
|
|
109
109
|
description: "Their success is our success. Full stop."
|
|
110
|
-
icon: "heart"
|
|
110
|
+
icon: "fa-solid fa-heart"
|
|
111
111
|
- title: "Team excellence"
|
|
112
112
|
description: "Hire the best, then get out of their way."
|
|
113
|
-
icon: "users"
|
|
113
|
+
icon: "fa-solid fa-users"
|
|
114
114
|
- title: "Transparent culture"
|
|
115
115
|
description: "Open communication, honest feedback, shared decisions."
|
|
116
|
-
icon: "magnifying-glass"
|
|
116
|
+
icon: "fa-solid fa-magnifying-glass"
|
|
117
117
|
|
|
118
118
|
# Team CTA Section
|
|
119
119
|
team_cta:
|