Waseel: driver app, dispatch, POI suggestions, map fixes
This commit is contained in:
+16
-20
@@ -1,13 +1,9 @@
|
||||
// The services offered on the home screen.
|
||||
//
|
||||
// English-only for now. When the app gets a real language layer these are the
|
||||
// intended Arabic names, chosen Levantine rather than formal MSA — "موتور" is
|
||||
// what a motorcycle taxi is actually called in Lebanon, where "دراجة نارية"
|
||||
// reads like a textbook translation:
|
||||
// car → سيارة
|
||||
// moto → موتور
|
||||
// courier → توصيل طرود
|
||||
// chauffeur → سائق خاص
|
||||
// Labels and taglines are translation keys (resolved via `t()` at the call
|
||||
// site) so each language carries its own names. The Arabic names are Levantine
|
||||
// rather than formal MSA — "موتور" is what a motorcycle taxi is actually called
|
||||
// in Lebanon, where "دراجة نارية" reads like a textbook translation.
|
||||
|
||||
export type ServiceId = "car" | "moto" | "courier" | "chauffeur";
|
||||
|
||||
@@ -15,10 +11,10 @@ export type Service = {
|
||||
id: ServiceId;
|
||||
/** MaterialCommunityIcons glyph name. */
|
||||
icon: "car" | "motorbike" | "package-variant-closed" | "steering";
|
||||
/** Kept to one short word so four tiles fit a phone width without scrolling. */
|
||||
label: string;
|
||||
/** Shown under the row once the service is selected. */
|
||||
tagline: string;
|
||||
/** i18n key for the short label (kept short so four tiles fit a phone width). */
|
||||
labelKey: string;
|
||||
/** i18n key for the tagline shown under the row once the service is selected. */
|
||||
taglineKey: string;
|
||||
/** Multiplier applied to the base fare for this service (car = 1.0). */
|
||||
fareMultiplier: number;
|
||||
};
|
||||
@@ -27,29 +23,29 @@ export const SERVICES: Service[] = [
|
||||
{
|
||||
id: "car",
|
||||
icon: "car",
|
||||
label: "Car",
|
||||
tagline: "An everyday ride, up to 4 seats.",
|
||||
labelKey: "services.car.label",
|
||||
taglineKey: "services.car.tagline",
|
||||
fareMultiplier: 1.0,
|
||||
},
|
||||
{
|
||||
id: "moto",
|
||||
icon: "motorbike",
|
||||
label: "Moto",
|
||||
tagline: "Beat the traffic — one passenger, no luggage.",
|
||||
labelKey: "services.moto.label",
|
||||
taglineKey: "services.moto.tagline",
|
||||
fareMultiplier: 0.7,
|
||||
},
|
||||
{
|
||||
id: "courier",
|
||||
icon: "package-variant-closed",
|
||||
label: "Courier",
|
||||
tagline: "Send a parcel across town without riding along.",
|
||||
labelKey: "services.courier.label",
|
||||
taglineKey: "services.courier.tagline",
|
||||
fareMultiplier: 0.85,
|
||||
},
|
||||
{
|
||||
id: "chauffeur",
|
||||
icon: "steering",
|
||||
label: "My Car",
|
||||
tagline: "A driver comes to you and drives your own car.",
|
||||
labelKey: "services.chauffeur.label",
|
||||
taglineKey: "services.chauffeur.tagline",
|
||||
fareMultiplier: 1.5,
|
||||
},
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user