feat(offers): asking price on lots, published with sale offers (schema v11)
The data model always meant sale offers to carry an informational price (data-model §2.8, sharing-model §4.4); with offer state collapsed onto the Lot, the price lives there. Null amount on a sell lot = 'to be agreed' — the NIP-99 event simply omits the price tag. - schema v11: Lots.price_amount/price_currency, guarded migration, schema dump + generated schema_v11 for the round-trip test - ShareableLot/VarietyLot carry the price (sell-only in shareableLots); addLot/updateLot persist it and clear it when the lot leaves sale - OffersCubit.publishLots forwards it (outbox flush picks it up free) - lot sheet: price + currency inputs revealed only on 'For sale', with the €/Ğ1/hours quick-picks extracted to a shared CurrencyQuickPicks widget (reused by the sale sheet) - backup JSON round-trips the new columns - i18n share.price/priceHint in en/es/pt/ast
This commit is contained in:
parent
89addb1ed7
commit
cfa1053842
25 changed files with 4690 additions and 31 deletions
|
|
@ -81,6 +81,8 @@ class VarietyDetailCubit extends Cubit<VarietyDetailState> {
|
|||
Abundance? abundance,
|
||||
PreservationFormat? preservationFormat,
|
||||
OfferStatus offerStatus = OfferStatus.private,
|
||||
double? priceAmount,
|
||||
String? priceCurrency,
|
||||
}) => _repo.addLot(
|
||||
varietyId: varietyId,
|
||||
type: type,
|
||||
|
|
@ -93,6 +95,8 @@ class VarietyDetailCubit extends Cubit<VarietyDetailState> {
|
|||
abundance: abundance,
|
||||
preservationFormat: preservationFormat,
|
||||
offerStatus: offerStatus,
|
||||
priceAmount: priceAmount,
|
||||
priceCurrency: priceCurrency,
|
||||
);
|
||||
|
||||
Future<void> updateLot({
|
||||
|
|
@ -107,6 +111,8 @@ class VarietyDetailCubit extends Cubit<VarietyDetailState> {
|
|||
Abundance? abundance,
|
||||
PreservationFormat? preservationFormat,
|
||||
OfferStatus offerStatus = OfferStatus.private,
|
||||
double? priceAmount,
|
||||
String? priceCurrency,
|
||||
}) => _repo.updateLot(
|
||||
lotId: lotId,
|
||||
type: type,
|
||||
|
|
@ -119,6 +125,8 @@ class VarietyDetailCubit extends Cubit<VarietyDetailState> {
|
|||
abundance: abundance,
|
||||
preservationFormat: preservationFormat,
|
||||
offerStatus: offerStatus,
|
||||
priceAmount: priceAmount,
|
||||
priceCurrency: priceCurrency,
|
||||
);
|
||||
|
||||
Future<void> deleteLot(String lotId) => _repo.softDeleteLot(lotId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue