Eliminate Python dependency: embed frontend assets in odoo-go
- Copy all OWL frontend assets (JS/CSS/XML/fonts/images) into frontend/ directory (2925 files, 43MB) — no more runtime reads from Python Odoo - Replace OdooAddonsPath config with FrontendDir pointing to local frontend/ - Rewire bundle.go, static.go, templates.go, webclient.go to read from frontend/ instead of external Python Odoo addons directory - Auto-detect frontend/ and build/ dirs relative to binary in main.go - Delete obsolete Python helper scripts (tools/*.py) The Go server is now fully self-contained: single binary + frontend/ folder. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
106
frontend/web/static/lib/odoo_ui_icons/style.css
Normal file
106
frontend/web/static/lib/odoo_ui_icons/style.css
Normal file
@@ -0,0 +1,106 @@
|
||||
@font-face {
|
||||
font-family: 'odoo_ui_icons';
|
||||
src: url('fonts/odoo_ui_icons.woff2') format('woff2'), url('fonts/odoo_ui_icons.woff') format('woff');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: block;
|
||||
}
|
||||
|
||||
.oi {
|
||||
display: inline-block;
|
||||
font-family: 'odoo_ui_icons' !important;
|
||||
speak: never;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
line-height: 1;
|
||||
|
||||
/* Better Font Rendering =========== */
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.oi-view-pivot:before { content: '\e800'; }
|
||||
.oi-text-break:before { content: '\e801'; }
|
||||
.oi-text-inline:before { content: '\e802'; }
|
||||
.oi-voip:before { content: '\e803'; }
|
||||
.oi-odoo:before { content: '\e806'; }
|
||||
.oi-search:before { content: '\e808'; }
|
||||
.oi-group:before { content: '\e80a'; }
|
||||
.oi-settings-adjust:before { content: '\e80c'; }
|
||||
.oi-apps:before { content: '\e80d'; }
|
||||
.oi-panel-right:before { content: '\e810'; }
|
||||
.oi-launch:before { content: '\e812'; }
|
||||
.oi-studio:before { content: '\e813'; }
|
||||
.oi-view-kanban:before { content: '\e814'; }
|
||||
.oi-text-wrap:before { content: '\e815'; }
|
||||
.oi-view-cohort:before { content: '\e816'; }
|
||||
.oi-view-list:before { content: '\e817'; }
|
||||
.oi-gif-picker:before { content: '\e82e'; }
|
||||
.oi-chevron-down:before { content: '\e839'; }
|
||||
.oi-chevron-left:before { content: '\e83a'; }
|
||||
.oi-chevron-right:before { content: '\e83b'; }
|
||||
.oi-chevron-up:before { content: '\e83c'; }
|
||||
.oi-arrows-h:before { content: '\e83d'; }
|
||||
.oi-arrows-v:before { content: '\e83e'; }
|
||||
.oi-arrow-down-left:before { content: '\e83f'; }
|
||||
.oi-arrow-down-right:before { content: '\e840'; }
|
||||
.oi-arrow-down:before { content: '\e841'; }
|
||||
.oi-arrow-left:before { content: '\e842'; }
|
||||
.oi-arrow-right:before { content: '\e843'; }
|
||||
.oi-arrow-up-left:before { content: '\e844'; }
|
||||
.oi-arrow-up-right:before { content: '\e845'; }
|
||||
.oi-arrow-up:before { content: '\e846'; }
|
||||
.oi-draggable:before { content: '\e847'; }
|
||||
.oi-view:before { content: '\e861'; }
|
||||
.oi-archive:before { content: '\e862'; }
|
||||
.oi-unarchive:before { content: '\e863'; }
|
||||
.oi-text-effect:before { content: '\e827'; }
|
||||
.oi-smile-add:before { content: '\e84e'; }
|
||||
.oi-close:before { content: '\e852'; }
|
||||
.oi-food-delivery:before { content: '\e82a'; }
|
||||
.oi-schedule-today:before { content: '\e82c'; }
|
||||
.oi-schedule-tomorrow:before { content: '\e82d'; }
|
||||
.oi-schedule-later:before { content: '\e804'; }
|
||||
.oi-activity:before { content: '\e82f'; }
|
||||
.oi-activity-plus:before { content: '\e830'; }
|
||||
.oi-numpad:before { content: '\e833'; }
|
||||
.oi-transfer:before { content: '\e834'; }
|
||||
.oi-suitcase:before { content: '\e835'; }
|
||||
.oi-suitcase-plus:before { content: '\e832'; }
|
||||
.oi-merge:before { content: '\e836'; }
|
||||
.oi-record:before { content: '\e837'; }
|
||||
.oi-backspace-o:before { content: '\e838'; }
|
||||
.oi-user:before { content: '\e805'; }
|
||||
.oi-user-plus:before { content: '\e831'; }
|
||||
.oi-users:before { content: '\e807'; }
|
||||
.oi-ellipsis-h:before { content: '\e867'; }
|
||||
.oi-ellipsis-v:before { content: '\e868'; }
|
||||
.oi-plus:before { content: '\e809'; }
|
||||
.oi-minus:before { content: '\e80b'; }
|
||||
.oi-star-plus:before { content: '\e87c'; }
|
||||
.oi-subtitle:before { content: '\e80e'; }
|
||||
.oi-threads:before { content: '\e818'; }
|
||||
.oi-kickstarter:before { content: '\e819'; }
|
||||
.oi-x:before { content: '\e81a'; }
|
||||
.oi-x-square:before { content: '\e848'; }
|
||||
.oi-tiktok:before { content: '\e81b'; }
|
||||
.oi-bluesky:before { content: '\e81c'; }
|
||||
.oi-google-play:before { content: '\e81d'; }
|
||||
.oi-strava:before { content: '\e80f'; }
|
||||
.oi-discord:before { content: '\e811'; }
|
||||
|
||||
/* RTL adaptations. */
|
||||
/* Flip directional icons by 180 degree. */
|
||||
/* ---------------------------------------------------------------------------- */
|
||||
.o_rtl .oi-chevron-left,
|
||||
.o_rtl .oi-chevron-right,
|
||||
.o_rtl .oi-arrow-down-left,
|
||||
.o_rtl .oi-arrow-down-right,
|
||||
.o_rtl .oi-arrow-left,
|
||||
.o_rtl .oi-arrow-right,
|
||||
.o_rtl .oi-arrow-up-left,
|
||||
.o_rtl .oi-arrow-up-right {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
Reference in New Issue
Block a user