37 lines
1.1 KiB
Dart
37 lines
1.1 KiB
Dart
import 'package:equatable/equatable.dart';
|
|
|
|
class OfferModel extends Equatable {
|
|
final String id;
|
|
final String storeName;
|
|
final String title;
|
|
final String discount; // e.g., "۵۰٪ تخفیف" or "با خرید یکی، دوتا ببر"
|
|
final String imageUrl;
|
|
final String category; // e.g., "رستوران", "پوشاک"
|
|
final double distanceInMeters;
|
|
|
|
const OfferModel({
|
|
required this.id,
|
|
required this.storeName,
|
|
required this.title,
|
|
required this.discount,
|
|
required this.imageUrl,
|
|
required this.category,
|
|
required this.distanceInMeters,
|
|
});
|
|
|
|
// این تابع بعدا برای اتصال به API واقعی استفاده خواهد شد
|
|
factory OfferModel.fromJson(Map<String, dynamic> json) {
|
|
return OfferModel(
|
|
id: json['id'],
|
|
storeName: json['storeName'],
|
|
title: json['title'],
|
|
discount: json['discount'],
|
|
imageUrl: json['imageUrl'],
|
|
category: json['category'],
|
|
distanceInMeters: json['distanceInMeters'].toDouble(),
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [id, storeName, title, discount, imageUrl, category, distanceInMeters];
|
|
} |