[IMP] website_sale_aplicoop: accessibility and responsive polish — phase 8
Quantity control layout: changed from wrapping flex to deliberate two-row
grid so the add-to-cart button sits full-width underneath the stepper,
avoiding accidental line breaks and giving the primary action more pulsing
area. Also removed the /Kg suffix's redundant font rules.
Order card delivery row: reordered to badge-then-date (visually centred),
removed the "Delivery" label, and swapped bg-primary to text-bg-primary for
proper contrast on the home-delivery badge (3.13:1 minimum).
Tooltip translations: moved hardcoded static tooltips from data-bs-title
(untranslatable) to title (QWeb-translatable). Handled the edge case of
"Save Cart" and "Back to Cart" which had translations but no model_terms
reference in the POT, causing the merge to discard them — added the view
reference so translations now apply.
Load-from-history page: added accessibility: a visible status message
("Loading your order…"), a <noscript> fallback with link to the group
order, lang and viewport meta tags, and localised strings for all three
languages. Gave the page a minimal inline style block since it does not
inherit the token system (no website.layout).
Translations: 11 new entries (es/eu/ca) for new/reworded UI strings, plus
two code catalogue entries (products found, Close) that needed the
#. odoo-python comment for _() resolution. Documented the silent-failure
pattern in docs/TRANSLATIONS.md: the POT merge, untranslatable attributes,
and missing code comments.
Tests: 246 passing. Pre-commit: clean.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
162ba0b570
commit
5de7573fba
35 changed files with 2181 additions and 2413 deletions
|
|
@ -3,12 +3,45 @@
|
|||
<data>
|
||||
<!-- Template to load items from history and redirect to group order -->
|
||||
<template id="eskaera_load_from_history" name="Load Order from History">
|
||||
<html>
|
||||
<html t-att-lang="page_lang or 'en-US'">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Loading Order...</title>
|
||||
<!-- Standalone document: it does not go through website.layout, so
|
||||
web.assets_frontend is not loaded and there is no design token to
|
||||
reach for. Hence the local style block. -->
|
||||
<style>
|
||||
.eskaera-redirect-page {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 60vh;
|
||||
padding: 2rem 1rem;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
|
||||
"Helvetica Neue", Arial, sans-serif;
|
||||
text-align: center;
|
||||
color: #1a202c;
|
||||
}
|
||||
.eskaera-redirect-message {
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- This page only stages the cart in sessionStorage and redirects, but it is
|
||||
still a page a person can land on: give it something to read while that
|
||||
happens, announced politely, and a way out if the script never runs. -->
|
||||
<main class="eskaera-redirect-page">
|
||||
<p class="eskaera-redirect-message" role="status">Loading your order…</p>
|
||||
<noscript>
|
||||
<p>This page needs JavaScript to load the order into your cart.</p>
|
||||
<p>
|
||||
<a t-att-href="group_order_url">Continue to the group order</a>
|
||||
</p>
|
||||
</noscript>
|
||||
</main>
|
||||
<script type="text/javascript">
|
||||
// Items are embedded directly in the script (pre-serialized JSON from controller)
|
||||
var itemsJson = <t t-raw="items_json"/>; // This is a JSON array/string
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue