@fleetbase/fleetops-engine 0.3.9 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/addon/components/admin/navigator-app.hbs +3 -3
  2. package/addon/components/admin/visibility-controls.hbs +4 -4
  3. package/addon/components/cell/driver-name.hbs +1 -1
  4. package/addon/components/contact-form-panel.hbs +15 -15
  5. package/addon/components/contact-form-panel.js +5 -1
  6. package/addon/components/contact-panel/details.hbs +7 -7
  7. package/addon/components/contact-panel.hbs +2 -2
  8. package/addon/components/display-place.hbs +2 -2
  9. package/addon/components/driver-card.hbs +1 -1
  10. package/addon/components/driver-form-panel.hbs +36 -29
  11. package/addon/components/driver-form-panel.js +5 -1
  12. package/addon/components/driver-panel/details.hbs +10 -10
  13. package/addon/components/driver-panel.hbs +5 -5
  14. package/addon/components/fleet-driver-listing.hbs +5 -5
  15. package/addon/components/fleet-form-panel.hbs +16 -16
  16. package/addon/components/fleet-form-panel.js +5 -1
  17. package/addon/components/fleet-panel/details.hbs +7 -7
  18. package/addon/components/fleet-panel/driver-listing.hbs +5 -5
  19. package/addon/components/fleet-panel/driver-listing.js +6 -0
  20. package/addon/components/fleet-panel/vehicle-listing.hbs +5 -5
  21. package/addon/components/fleet-panel/vehicle-listing.js +6 -0
  22. package/addon/components/fleet-vehicle-listing.hbs +5 -5
  23. package/addon/components/fuel-report-form-panel.hbs +16 -16
  24. package/addon/components/fuel-report-form-panel.js +5 -1
  25. package/addon/components/fuel-report-panel/details.hbs +11 -11
  26. package/addon/components/fuel-report-panel.hbs +3 -3
  27. package/addon/components/global-search.hbs +1 -1
  28. package/addon/components/horizontal-route.hbs +1 -1
  29. package/addon/components/integrated-order-details.hbs +13 -13
  30. package/addon/components/issue-form-panel.hbs +25 -25
  31. package/addon/components/issue-form-panel.js +6 -1
  32. package/addon/components/issue-panel/details.hbs +11 -11
  33. package/addon/components/issue-panel.hbs +3 -3
  34. package/addon/components/layout/fleet-ops-sidebar.hbs +2 -2
  35. package/addon/components/layout/fleet-ops-sidebar.js +28 -12
  36. package/addon/components/live-map-drawer/driver-listing.hbs +1 -1
  37. package/addon/components/live-map-drawer/driver-listing.js +16 -10
  38. package/addon/components/live-map-drawer/place-listing.hbs +1 -1
  39. package/addon/components/live-map-drawer/place-listing.js +12 -7
  40. package/addon/components/live-map-drawer/vehicle-listing.hbs +1 -1
  41. package/addon/components/live-map-drawer/vehicle-listing.js +15 -9
  42. package/addon/components/live-map.hbs +10 -92
  43. package/addon/components/live-map.js +29 -24
  44. package/addon/components/map-container/toolbar/visibility-control-panel.hbs +9 -9
  45. package/addon/components/map-container/toolbar/zones-panel.hbs +10 -10
  46. package/addon/components/map-container/toolbar.hbs +6 -6
  47. package/addon/components/modals/assign-driver.hbs +2 -2
  48. package/addon/components/modals/clone-config-form.hbs +2 -2
  49. package/addon/components/modals/contact-details.hbs +6 -6
  50. package/addon/components/modals/contact-form.hbs +11 -11
  51. package/addon/components/modals/driver-assign-order.hbs +2 -2
  52. package/addon/components/modals/driver-assign-vehicle.hbs +2 -2
  53. package/addon/components/modals/driver-assign-vendor.hbs +2 -2
  54. package/addon/components/modals/driver-details.hbs +14 -14
  55. package/addon/components/modals/driver-form.hbs +18 -18
  56. package/addon/components/modals/edit-meta-form.hbs +2 -2
  57. package/addon/components/modals/entity-form.hbs +16 -16
  58. package/addon/components/modals/entity-meta-field-prompt.hbs +1 -1
  59. package/addon/components/modals/fleet-details.hbs +6 -6
  60. package/addon/components/modals/fleet-form.hbs +8 -8
  61. package/addon/components/modals/fuel-report-details.hbs +9 -9
  62. package/addon/components/modals/fuel-report-form.hbs +8 -8
  63. package/addon/components/modals/group-details.hbs +4 -4
  64. package/addon/components/modals/group-form.hbs +6 -6
  65. package/addon/components/modals/install-prompt.hbs +2 -3
  66. package/addon/components/modals/issue-details.hbs +8 -8
  67. package/addon/components/modals/issue-from.hbs +21 -21
  68. package/addon/components/modals/map-field-form.hbs +2 -2
  69. package/addon/components/modals/map-field-group-form.hbs +1 -1
  70. package/addon/components/modals/map-layer-form.hbs +10 -10
  71. package/addon/components/modals/meta-field-form.hbs +2 -2
  72. package/addon/components/modals/meta-field-group-form.hbs +1 -1
  73. package/addon/components/modals/new-order-config.hbs +4 -4
  74. package/addon/components/modals/order-assign-driver.hbs +2 -2
  75. package/addon/components/modals/order-config-new-status.hbs +1 -1
  76. package/addon/components/modals/order-event.hbs +2 -2
  77. package/addon/components/modals/order-form.hbs +8 -8
  78. package/addon/components/modals/order-import.hbs +8 -8
  79. package/addon/components/modals/order-label.hbs +1 -1
  80. package/addon/components/modals/order-new-activity.hbs +10 -10
  81. package/addon/components/modals/order-route-form.hbs +17 -17
  82. package/addon/components/modals/place-assign-vendor.hbs +2 -2
  83. package/addon/components/modals/place-details.hbs +13 -13
  84. package/addon/components/modals/place-form.hbs +15 -15
  85. package/addon/components/modals/policy-form.hbs +5 -5
  86. package/addon/components/modals/role-form.hbs +3 -3
  87. package/addon/components/modals/select-payment-method.hbs +1 -1
  88. package/addon/components/modals/service-area-form.hbs +8 -8
  89. package/addon/components/modals/set-password.hbs +3 -3
  90. package/addon/components/modals/uninstall-prompt.hbs +2 -3
  91. package/addon/components/modals/user-form.hbs +9 -9
  92. package/addon/components/modals/vehicle-details.hbs +41 -41
  93. package/addon/components/modals/vehicle-form.hbs +73 -73
  94. package/addon/components/modals/vendor-details.hbs +10 -10
  95. package/addon/components/modals/vendor-form.hbs +36 -36
  96. package/addon/components/modals/view-service-area.hbs +1 -1
  97. package/addon/components/modals/zone-form.hbs +6 -6
  98. package/addon/components/order/header.hbs +11 -11
  99. package/addon/components/order/place-card.hbs +2 -2
  100. package/addon/components/order/schedule-card.hbs +6 -6
  101. package/addon/components/order/schedule-card.js +11 -7
  102. package/addon/components/order-config/activity-flow-editor.hbs +14 -14
  103. package/addon/components/order-config/activity-flow-editor.js +11 -11
  104. package/addon/components/order-config/details-editor.hbs +9 -9
  105. package/addon/components/order-config/entities-editor.hbs +13 -13
  106. package/addon/components/order-config/entities-editor.js +2 -2
  107. package/addon/components/order-config/fields-editor.hbs +14 -14
  108. package/addon/components/order-config/fields-editor.js +13 -12
  109. package/addon/components/order-config.hbs +9 -9
  110. package/addon/components/order-config.js +12 -11
  111. package/addon/components/order-list-overlay.hbs +14 -14
  112. package/addon/components/place-form-panel.hbs +18 -18
  113. package/addon/components/place-form-panel.js +6 -1
  114. package/addon/components/place-panel/details.hbs +10 -10
  115. package/addon/components/place-panel.hbs +2 -2
  116. package/addon/components/route-list.hbs +2 -2
  117. package/addon/components/settings-window.hbs +5 -5
  118. package/addon/components/settings-window.js +2 -1
  119. package/addon/components/vehicle-form-panel.hbs +27 -27
  120. package/addon/components/vehicle-form-panel.js +7 -2
  121. package/addon/components/vehicle-panel/details.hbs +7 -7
  122. package/addon/components/vehicle-panel.hbs +4 -4
  123. package/addon/components/vendor-form-panel/create-form.hbs +34 -33
  124. package/addon/components/vendor-form-panel/create-form.js +6 -2
  125. package/addon/components/vendor-form-panel/edit-form.hbs +27 -27
  126. package/addon/components/vendor-form-panel/edit-form.js +1 -0
  127. package/addon/components/vendor-form-panel.hbs +6 -6
  128. package/addon/components/vendor-form-panel.js +6 -1
  129. package/addon/components/vendor-panel/details.hbs +10 -10
  130. package/addon/components/vendor-panel.hbs +3 -3
  131. package/addon/components/widget/fleet-ops-quickstart.hbs +2 -2
  132. package/addon/components/widget/fleet-ops-quickstart.js +1 -0
  133. package/addon/components/widget/key-metrics.hbs +12 -12
  134. package/addon/components/widget/live-order-map.hbs +4 -4
  135. package/addon/components/widget/recent-orders.hbs +4 -4
  136. package/addon/components/widget/transactions.hbs +4 -4
  137. package/addon/controllers/management/contacts/index/edit.js +10 -3
  138. package/addon/controllers/management/contacts/index/new.js +7 -0
  139. package/addon/controllers/management/contacts/index.js +23 -16
  140. package/addon/controllers/management/drivers/index/edit.js +10 -3
  141. package/addon/controllers/management/drivers/index/new.js +7 -0
  142. package/addon/controllers/management/drivers/index.js +33 -19
  143. package/addon/controllers/management/fleets/index/edit.js +10 -3
  144. package/addon/controllers/management/fleets/index/new.js +7 -0
  145. package/addon/controllers/management/fleets/index.js +24 -17
  146. package/addon/controllers/management/fuel-reports/index/edit.js +10 -3
  147. package/addon/controllers/management/fuel-reports/index/new.js +7 -0
  148. package/addon/controllers/management/fuel-reports/index.js +20 -13
  149. package/addon/controllers/management/issues/index/edit.js +10 -3
  150. package/addon/controllers/management/issues/index/new.js +8 -0
  151. package/addon/controllers/management/issues/index.js +22 -15
  152. package/addon/controllers/management/places/index/edit.js +10 -3
  153. package/addon/controllers/management/places/index/new.js +7 -0
  154. package/addon/controllers/management/places/index.js +27 -20
  155. package/addon/controllers/management/vehicles/index/edit.js +10 -3
  156. package/addon/controllers/management/vehicles/index/new.js +7 -0
  157. package/addon/controllers/management/vehicles/index.js +22 -15
  158. package/addon/controllers/management/vendors/index/edit.js +10 -3
  159. package/addon/controllers/management/vendors/index/new.js +7 -0
  160. package/addon/controllers/management/vendors/index.js +23 -16
  161. package/addon/controllers/operations/orders/index/new.js +110 -25
  162. package/addon/controllers/operations/orders/index/view.js +40 -16
  163. package/addon/controllers/operations/orders/index.js +34 -27
  164. package/addon/controllers/operations/scheduler/index.js +3 -2
  165. package/addon/controllers/operations/service-rates/index/edit.js +9 -1
  166. package/addon/controllers/operations/service-rates/index/new.js +9 -1
  167. package/addon/controllers/operations/service-rates/index.js +16 -9
  168. package/addon/routes/management/places/index.js +1 -1
  169. package/addon/routes/operations/orders/index/view.js +2 -14
  170. package/addon/services/driver-actions.js +9 -8
  171. package/addon/services/vehicle-actions.js +2 -1
  172. package/addon/templates/management/contacts/index.hbs +6 -6
  173. package/addon/templates/management/drivers/index.hbs +6 -6
  174. package/addon/templates/management/fleets/index.hbs +6 -6
  175. package/addon/templates/management/fuel-reports/index.hbs +7 -7
  176. package/addon/templates/management/index.hbs +17 -17
  177. package/addon/templates/management/issues/index.hbs +6 -6
  178. package/addon/templates/management/places/index.hbs +6 -6
  179. package/addon/templates/management/vehicles/index.hbs +6 -6
  180. package/addon/templates/management/vendors/index.hbs +6 -6
  181. package/addon/templates/operations/orders/index/config/types.hbs +3 -3
  182. package/addon/templates/operations/orders/index/config.hbs +3 -4
  183. package/addon/templates/operations/orders/index/new.hbs +72 -72
  184. package/addon/templates/operations/orders/index/view.hbs +147 -53
  185. package/addon/templates/operations/orders/index.hbs +13 -13
  186. package/addon/templates/operations/scheduler/index.hbs +3 -3
  187. package/addon/templates/operations/service-rates/index/new.hbs +79 -81
  188. package/addon/templates/operations/service-rates/index.hbs +6 -6
  189. package/composer.json +2 -2
  190. package/extension.json +1 -1
  191. package/package.json +3 -1
  192. package/server/resources/views/labels/default.php +40 -18
  193. package/server/resources/views/labels/waypoint-label.php +126 -0
  194. package/server/src/Console/Commands/FixDriverCompanies.php +65 -0
  195. package/server/src/Exceptions/IntegratedVendorException.php +11 -12
  196. package/server/src/Http/Controllers/Api/v1/DriverController.php +41 -32
  197. package/server/src/Http/Controllers/Api/v1/OrderController.php +1 -1
  198. package/server/src/Http/Controllers/Internal/v1/DriverController.php +17 -1
  199. package/server/src/Http/Resources/v1/Driver.php +1 -1
  200. package/server/src/Http/Resources/v1/Entity.php +2 -2
  201. package/server/src/Http/Resources/v1/Payload.php +11 -30
  202. package/server/src/Http/Resources/v1/Place.php +3 -3
  203. package/server/src/Http/Resources/v1/Waypoint.php +101 -0
  204. package/server/src/Models/Payload.php +39 -0
  205. package/server/src/Models/Place.php +5 -2
  206. package/server/src/Models/Waypoint.php +15 -3
  207. package/server/src/Providers/FleetOpsServiceProvider.php +1 -0
  208. package/server/src/Support/Flow.php +19 -2
  209. package/translations/en-us.yaml +1341 -3
@@ -12,12 +12,12 @@
12
12
  <div class="grid grid-cols-1 gap-2 text-xs dark:text-gray-100">
13
13
 
14
14
  <div class="field-info-container">
15
- <div class="field-name">Name</div>
15
+ <div class="field-name">{{t "fleet-ops.common.name"}}</div>
16
16
  <div class="field-value">{{n-a @options.place.name}}</div>
17
17
  </div>
18
18
 
19
19
  <div class="field-info-container">
20
- <div class="field-name">Street</div>
20
+ <div class="field-name">{{t "fleet-ops.common.street"}}</div>
21
21
  <div class="field-value">{{n-a @options.place.street1}}</div>
22
22
  </div>
23
23
  </div>
@@ -25,17 +25,17 @@
25
25
  <div class="grid grid-cols-3 gap-2 text-xs dark:text-gray-100">
26
26
 
27
27
  <div class="field-info-container">
28
- <div class="field-name">Neighborhood</div>
28
+ <div class="field-name">{{t "fleet-ops.common.neighborhood"}}</div>
29
29
  <div class="field-value">{{n-a @options.place.neighborhood}}</div>
30
30
  </div>
31
31
 
32
32
  <div class="field-info-container">
33
- <div class="field-name">Building</div>
33
+ <div class="field-name">{{t "fleet-ops.common.building"}}</div>
34
34
  <div class="field-value">{{n-a @options.place.building}}</div>
35
35
  </div>
36
36
 
37
37
  <div class="field-info-container">
38
- <div class="field-name">Security Access Code</div>
38
+ <div class="field-name">{{t "fleet-ops.common.security-access-code"}}</div>
39
39
  <div class="field-value">{{n-a @options.place.security_access_code}}</div>
40
40
  </div>
41
41
  </div>
@@ -43,17 +43,17 @@
43
43
  <div class="grid grid-cols-3 gap-2 text-xs dark:text-gray-100">
44
44
 
45
45
  <div class="field-info-container">
46
- <div class="field-name">City</div>
46
+ <div class="field-name">{{t "fleet-ops.common.city"}}</div>
47
47
  <div class="field-value">{{n-a @options.place.city}}</div>
48
48
  </div>
49
49
 
50
50
  <div class="field-info-container">
51
- <div class="field-name">State</div>
51
+ <div class="field-name">{{t "fleet-ops.common.state"}}</div>
52
52
  <div class="field-value">{{n-a @options.place.province}}</div>
53
53
  </div>
54
54
 
55
55
  <div class="field-info-container">
56
- <div class="field-name">Country</div>
56
+ <div class="field-name">{{t "fleet-ops.common.country"}}</div>
57
57
  <div class="field-value"><CountryName @country={{@options.place.country}} @showFlag={{true}} /></div>
58
58
  </div>
59
59
  </div>
@@ -61,17 +61,17 @@
61
61
  <div class="grid grid-cols-3 gap-2 text-xs dark:text-gray-100">
62
62
 
63
63
  <div class="field-info-container">
64
- <div class="field-name">Phone</div>
64
+ <div class="field-name">{{t "fleet-ops.common.phone"}}</div>
65
65
  <div class="field-value">{{n-a @options.place.phone}}</div>
66
66
  </div>
67
67
 
68
68
  <div class="field-info-container">
69
- <div class="field-name">Email</div>
69
+ <div class="field-name">{{t "fleet-ops.common.email"}}</div>
70
70
  <div class="field-value">{{n-a @options.place.email}}</div>
71
71
  </div>
72
72
 
73
73
  <div class="field-info-container">
74
- <div class="field-name">Vendor</div>
74
+ <div class="field-name">{{t "fleet-ops.common.vendor"}}</div>
75
75
  <div class="field-value">
76
76
  {{#if @options.place.vendor_uuid}}
77
77
  <a href="javascript:;" {{on "click" @options.viewVendor}}>
@@ -87,10 +87,10 @@
87
87
  <div class="grid grid-cols-2 gap-2 text-xs dark:text-gray-100">
88
88
  <div class="mb-5">
89
89
  <label class="flex items-center mb-2 font-bold">
90
- Coordinates
90
+ {{t "fleet-ops.common.coordinates"}}
91
91
  <a href="javascript:;" class="block ml-3" {{on "click" @options.viewPlaceOnMap}}>
92
92
  <FaIcon @icon="map" class="mr-1" />
93
- View on map
93
+ {{t "fleet-ops.component.modals.place-details.view"}}
94
94
  </a>
95
95
  </label>
96
96
  <span class="block truncate">
@@ -1,30 +1,30 @@
1
1
  <Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
2
2
  <div class="modal-body-container">
3
3
  <div class="grid grid-cols-3 gap-1 text-xs dark:text-gray-100">
4
- <InputGroup @name="Name" @autocomplete="nope" @value={{@options.place.name}} @wrapperClass="col-span-3" />
5
- <InputGroup @name="Street 1" @value={{@options.place.street1}} @wrapperClass="col-span-3">
6
- <AutocompleteInput @value={{@options.place.street1}} @fetchUrl="places/lookup" @onSelect={{@options.autocomplete}} placeholder="Street 1" class="w-full" as |result|>
4
+ <InputGroup @name={{t "fleet-ops.common.name"}} @autocomplete="nope" @value={{@options.place.name}} @wrapperClass="col-span-3" />
5
+ <InputGroup @name={{t "fleet-ops.common.street-1"}} @value={{@options.place.street1}} @wrapperClass="col-span-3">
6
+ <AutocompleteInput @value={{@options.place.street1}} @fetchUrl="places/lookup" @onSelect={{@options.autocomplete}} placeholder={{t "fleet-ops.common.street-1"}} class="w-full" as |result|>
7
7
  {{result.address}}
8
8
  </AutocompleteInput>
9
9
  </InputGroup>
10
- <InputGroup @name="Street 2" @autocomplete="nope" @value={{@options.place.street2}} @wrapperClass="col-span-3" />
11
- <InputGroup @name="Neighborhood" @autocomplete="nope" @value={{@options.place.neighborhood}} />
12
- <InputGroup @name="Building" @autocomplete="nope" @value={{@options.place.building}} />
13
- <InputGroup @name="Security Access Code" @autocomplete="nope" @value={{@options.place.security_access_code}} />
14
- <InputGroup @name="Postal Code" @autocomplete="nope" @value={{@options.place.postal_code}} />
15
- <InputGroup @name="City" @autocomplete="nope" @value={{@options.place.city}} />
16
- <InputGroup @name="State" @autocomplete="nope" @value={{@options.place.province}} />
17
- <InputGroup @name="Country" @wrapperClass="col-span-2">
18
- <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.place.country}} @onChange={{fn (mut @options.place.country)}} placeholder="Country" />
10
+ <InputGroup @name={{t "fleet-ops.common.street-2"}} @autocomplete="nope" @value={{@options.place.street2}} @wrapperClass="col-span-3" />
11
+ <InputGroup @name={{t "fleet-ops.common.neighborhood"}} @autocomplete="nope" @value={{@options.place.neighborhood}} />
12
+ <InputGroup @name={{t "fleet-ops.common.building"}} @autocomplete="nope" @value={{@options.place.building}} />
13
+ <InputGroup @name={{t "fleet-ops.common.security-access-code"}} @autocomplete="nope" @value={{@options.place.security_access_code}} />
14
+ <InputGroup @name={{t "fleet-ops.common.postal-code"}} @autocomplete="nope" @value={{@options.place.postal_code}} />
15
+ <InputGroup @name={{t "fleet-ops.common.city"}} @autocomplete="nope" @value={{@options.place.city}} />
16
+ <InputGroup @name={{t "fleet-ops.common.state"}} @autocomplete="nope" @value={{@options.place.province}} />
17
+ <InputGroup @name={{t "fleet-ops.common.country"}} @wrapperClass="col-span-2">
18
+ <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.place.country}} @onChange={{fn (mut @options.place.country)}} placeholder={{t "fleet-ops.common.country"}} />
19
19
  </InputGroup>
20
- <InputGroup @name="Coordinates" @wrapperClass="col-span-2">
20
+ <InputGroup @name={{t "fleet-ops.common.coordinates"}} @wrapperClass="col-span-2">
21
21
  <CoordinatesInput @value={{@options.place.location}} @onChange={{@options.updatePlaceCoordinates}} @onGeocode={{@options.autocomplete}} @onUpdatedFromMap={{@options.reverseGeocode}} @onInit={{@options.setCoordinatesInput}} />
22
22
  </InputGroup>
23
23
  <div class="col-span-1"></div>
24
- <InputGroup @name="Phone">
24
+ <InputGroup @name={{t "fleet-ops.common.phone"}}>
25
25
  <PhoneInput @value={{@options.place.phone}} @autocomplete="nope" @onInput={{fn (mut @options.place.phone)}} class="form-input w-full" />
26
26
  </InputGroup>
27
- <InputGroup @name="Email" @autocomplete="nope" @value={{@options.place.email}} />
27
+ <InputGroup @name={{t "fleet-ops.common.email"}} @autocomplete="nope" @value={{@options.place.email}} />
28
28
  </div>
29
29
  </div>
30
30
  </Modal::Default>
@@ -2,19 +2,19 @@
2
2
  <div class="modal-body-container" ...attributes>
3
3
  <div class="input-group">
4
4
  <label>
5
- Policy Name
5
+ {{t "fleet-ops.component.modals.policy-form.name"}}
6
6
  </label>
7
- <Input @value={{@options.policy.name}} @type="text" class="w-full form-input" placeholder="Enter a name for your policy" />
7
+ <Input @value={{@options.policy.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.policy-form.name-text"}} />
8
8
  </div>
9
9
  <div class="input-group">
10
10
  <label>
11
- Policy Description
11
+ {{t "fleet-ops.component.modals.policy-form.description"}}
12
12
  </label>
13
- <Input @value={{@options.policy.description}} @type="text" class="w-full form-input" placeholder="Enter a description for your policy" />
13
+ <Input @value={{@options.policy.description}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.policy-form.description-text"}} />
14
14
  </div>
15
15
  <div class="input-group">
16
16
  <label>
17
- Select Permissions
17
+ {{t "fleet-ops.component.modals.policy-form.permissions"}}
18
18
  </label>
19
19
  <PermissionPicker @selected={{@options.policy.permissions}} @onChange={{fn (mut @options.policy.permissions)}} />
20
20
  </div>
@@ -2,13 +2,13 @@
2
2
  <div class="modal-body-container" ...attributes>
3
3
  <div class="input-group">
4
4
  <label>
5
- Role Name
5
+ {{t "fleet-ops.component.modals.role-form.name"}}
6
6
  </label>
7
- <Input @value={{@options.role.name}} @type="text" class="w-full form-input" placeholder="Enter a name for this role" />
7
+ <Input @value={{@options.role.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.component.modals.role-form.name-text"}} />
8
8
  </div>
9
9
  <div class="input-group">
10
10
  <label>
11
- Select Permissions
11
+ {{t "fleet-ops.component.modals.role-form.permissions"}}
12
12
  </label>
13
13
  <PermissionPicker @selected={{@options.role.permissions}} @onChange={{fn (mut @options.role.permissions)}} />
14
14
  </div>
@@ -4,7 +4,7 @@
4
4
  <a href="javascript:;" {{on "click" (fn @options.selectPaymentMethod paymentMethod)}} class="flex items-center justify-between px-3 py-2 shadow-sm rounded-md border border-gray-900 {{if (eq @options.selectedPaymentMethod.id paymentMethod.id) 'border-blue-500 shadow-outline-blue'}}">
5
5
  <div class="flex items-center dark:text-gray-100">
6
6
  <FaIcon @icon="cc-visa" class="mr-1" />
7
- <span class="mr-2">Card ending in {{paymentMethod.last4}}</span>
7
+ <span class="mr-2">{{t "fleet-ops.component.modals.select-payment-method" htmlSafe=true method=@paymentMethod.last4}}</span>
8
8
  </div>
9
9
  </a>
10
10
  {{/each}}
@@ -1,30 +1,30 @@
1
1
  <Modal::Default @modalIsOpened={{@modalIsOpened}} @options={{@options}} @confirm={{@onConfirm}} @decline={{@onDecline}}>
2
2
  <div class="modal-body-container">
3
- <InputGroup @value={{@options.serviceArea.name}} @name="Service Area Name" @helpText="Set a display name for the service area." @required={{true}} />
4
- <InputGroup @name="Service Area Type" @helpText="Select the type definition for this service area .">
3
+ <InputGroup @value={{@options.serviceArea.name}} @name={{t "fleet-ops.component.modals.service-area-form.name"}} @helpText={{t "fleet-ops.component.modals.service-area-form.name-text"}} @required={{true}} />
4
+ <InputGroup @name={{t "fleet-ops.component.modals.service-area-form.type"}} @helpText={{t "fleet-ops.component.modals.service-area-form.type-text"}}>
5
5
  <Select
6
6
  @options={{@options.serviceAreaTypes}}
7
7
  @value={{@options.serviceArea.type}}
8
8
  @onSelect={{fn (mut @options.serviceArea.type)}}
9
- @placeholder="Select service area type..."
9
+ @placeholder={{t "fleet-ops.component.modals.service-area-form.select-type"}}
10
10
  class="w-full"
11
11
  />
12
12
  </InputGroup>
13
13
  <InputGroup
14
14
  @type="color"
15
15
  @value={{@options.serviceArea.stroke_color}}
16
- @name="Service Area Border Color"
17
- @helpText="Customize the border color for this service area."
16
+ @name={{t "fleet-ops.component.modals.service-area-form.border-color"}}
17
+ @helpText={{t "fleet-ops.component.modals.service-area-form.customize-border-color"}}
18
18
  class="p-0 border-0 m-0 w-8 h-8 bg-transparent rounded-none"
19
19
  />
20
20
  <InputGroup
21
21
  @type="color"
22
22
  @value={{@options.serviceArea.color}}
23
- @name="Service Area Color"
24
- @helpText="Customize the fill color for this service area."
23
+ @name={{t "fleet-ops.component.modals.service-area-form.area-color"}}
24
+ @helpText={{t "fleet-ops.component.modals.service-area-form.customize-area-color"}}
25
25
  class="p-0 border-0 m-0 w-8 h-8 bg-transparent rounded-none"
26
26
  />
27
- <InputGroup @name="Service Area Country" @helpText="Optionally set the country in which this service area is located or based in.">
27
+ <InputGroup @name={{t "fleet-ops.component.modals.service-area-form.country"}} @helpText={{t "fleet-ops.component.modals.service-area-form.country-text"}}>
28
28
  <CountrySelect class="w-full form-input" @value={{@options.serviceArea.country}} @onChange={{fn (mut @options.serviceArea.country)}} />
29
29
  </InputGroup>
30
30
  </div>
@@ -5,11 +5,11 @@
5
5
  <FaIcon @icon="info-circle" class="text-blue-900 mr-4" />
6
6
  </div>
7
7
  <p class="flex-1 text-sm text-blue-900 dark:text-blue-900">
8
- Welcome to Fleetbase! Before you get started, set a new password to continue below.
8
+ {{t "fleet-ops.component.modals.set-password.message"}}
9
9
  </p>
10
10
  </div>
11
11
 
12
- <InputGroup @name="New Password" @value={{@options.password}} @type="password" @inputClass="form-input-lg" @helpText="Enter a password at-least 8 characters to continue." />
13
- <InputGroup @name="Confirm Password" @value={{@options.password_confirmation}} @type="password" @inputClass="form-input-lg" @helpText="Enter a password at-least 8 characters to continue." />
12
+ <InputGroup @name={{t "fleet-ops.component.modals.set-password.new-password"}} @value={{@options.password}} @type="password" @inputClass="form-input-lg" @helpText={{t "fleet-ops.component.modals.set-password.help-text"}} />
13
+ <InputGroup @name={{t "fleet-ops.component.modals.set-password.confirm-password"}} @value={{@options.password_confirmation}} @type="password" @inputClass="form-input-lg" @helpText={{t "fleet-ops.component.modals.set-password.help-text"}} />
14
14
  </div>
15
15
  </Modal::Default>
@@ -7,9 +7,8 @@
7
7
  </div>
8
8
  </div>
9
9
  <div class="flex-1 dark:text-gray-100">
10
- <p class="text-base mb-2">You are attempting to uninstall the extension "{{or @options.extensionName}}".
11
- Are you sure you wish to proceed with this uninstallation?</p>
12
- <small>All configuration and customized settings will be lost.</small>
10
+ <p class="text-base mb-2">{{t "fleet-ops.component.modals.uninstall-prompt.message" htmlSafe=true options=@options.extensionName}}</p>
11
+ <small>{{t "fleet-ops.component.modals.uninstall-prompt.sub-message"}}</small>
13
12
  </div>
14
13
  </div>
15
14
  {{#if @options.isUninstalling}}
@@ -8,12 +8,12 @@
8
8
  {{#if queue.files.length}}
9
9
  <Spinner class="mr-1" />
10
10
  <span>
11
- Uploading...
11
+ {{t "fleet-ops.common.uploading"}}
12
12
  </span>
13
13
  {{else}}
14
14
  <FaIcon @icon="image" class="mr-1" />
15
15
  <span>
16
- Upload new
16
+ {{t "fleet-ops.common.upload-new"}}
17
17
  </span>
18
18
  {{/if}}
19
19
  </a>
@@ -23,30 +23,30 @@
23
23
  <div class="grid grid-cols-2 gap-3 text-xs dark:text-gray-100">
24
24
  <div class="input-group">
25
25
  <label>
26
- Name
26
+ {{t "fleet-ops.common.name"}}
27
27
  </label>
28
- <Input @value={{@options.user.name}} @type="text" class="w-full form-input" placeholder="Name" />
28
+ <Input @value={{@options.user.name}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.name"}} />
29
29
  </div>
30
30
 
31
31
  <div class="input-group">
32
32
  <label>
33
- Email
33
+ {{t "fleet-ops.common.email"}}
34
34
  </label>
35
- <Input @value={{@options.user.email}} @type="text" class="w-full form-input" placeholder="Email" />
35
+ <Input @value={{@options.user.email}} @type="text" class="w-full form-input" placeholder={{t "fleet-ops.common.email"}} />
36
36
  </div>
37
37
 
38
38
  <div class="input-group">
39
39
  <label>
40
- Phone
40
+ {{t "fleet-ops.common.phone"}}
41
41
  </label>
42
42
  <PhoneInput @value={{@options.user.phone}} @onInput={{fn (mut @options.user.phone)}} class="form-input w-full" />
43
43
  </div>
44
44
 
45
45
  <div class="input-group">
46
46
  <label>
47
- Country
47
+ {{t "fleet-ops.common.country"}}
48
48
  </label>
49
- <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.user.country}} @onChange={{fn (mut @options.user.country)}} placeholder="Country" />
49
+ <CountrySelect class="w-full form-input form-select form-datalist" @value={{@options.user.country}} @onChange={{fn (mut @options.user.country)}} placeholder={{t "fleet-ops.common.country"}} />
50
50
  </div>
51
51
  </div>
52
52
  </div>
@@ -10,42 +10,42 @@
10
10
  <ContentPanel @title="Details" @open={{true}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
11
11
  <div class="grid grid-cols-2 gap-2 text-xs md:mb-6 dark:text-gray-100">
12
12
  <div class="field-info-container">
13
- <div class="field-name">Name</div>
13
+ <div class="field-name">{{t "fleet-ops.common.name"}}</div>
14
14
  <div class="field-value">{{n-a @options.vehicle.name}}</div>
15
15
  </div>
16
16
 
17
17
  <div class="field-info-container">
18
- <div class="field-name">Vehicle</div>
18
+ <div class="field-name">{{t "fleet-ops.common.vehicle"}}</div>
19
19
  <div class="field-value">{{n-a @options.vehicle.internal_id}}</div>
20
20
  </div>
21
21
 
22
22
  <div class="field-info-container">
23
- <div class="field-name">Plate Number</div>
23
+ <div class="field-name">{{t "fleet-ops.common.plate-number"}}</div>
24
24
  <div class="field-value">{{n-a @options.vehicle.plate_number}}</div>
25
25
  </div>
26
26
 
27
27
  <div class="field-info-container">
28
- <div class="field-name">VIN Number</div>
28
+ <div class="field-name">{{t "fleet-ops.common.vin-number"}}</div>
29
29
  <div class="field-value">{{n-a @options.vehicle.vin}}</div>
30
30
  </div>
31
31
 
32
32
  <div class="field-info-container">
33
- <div class="field-name">Make</div>
33
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.make"}}</div>
34
34
  <div class="field-value">{{n-a @options.vehicle.name}}</div>
35
35
  </div>
36
36
 
37
37
  <div class="field-info-container">
38
- <div class="field-name">Model</div>
38
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.model"}}</div>
39
39
  <div class="field-value">{{n-a @options.vehicle.model}}</div>
40
40
  </div>
41
41
 
42
42
  <div class="field-info-container">
43
- <div class="field-name">Year</div>
43
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.year"}}</div>
44
44
  <div class="field-value">{{n-a @options.vehicle.year}}</div>
45
45
  </div>
46
46
 
47
47
  <div class="field-info-container">
48
- <div class="field-name">Status</div>
48
+ <div class="field-name">{{t "fleet-ops.common.status"}}</div>
49
49
  <Badge @status={{@options.vehicle.status}} />
50
50
  </div>
51
51
  </div>
@@ -53,12 +53,12 @@
53
53
  <div class="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-2 mb-2 mt-2">
54
54
  <div class="col-span-2">
55
55
  <div class="field-info-container">
56
- <div class="field-name">Driver Assigned</div>
56
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.driver-assigned"}}</div>
57
57
  <div class="field-value">
58
58
  {{#if @options.vehicle.driver}}
59
59
  <DriverCard class="dark:bg-gray-800 rounded-md px-3 py-2" @driver={{@options.vehicle.driver}} @onClick={{@options.viewDriver}} />
60
60
  {{else}}
61
- <span>No driver assigned</span>
61
+ <span>{{t "fleet-ops.component.modals.vehicle-details.no-driver-assigned"}}</span>
62
62
  {{/if}}
63
63
  </div>
64
64
  </div>
@@ -66,7 +66,7 @@
66
66
  </div>
67
67
  </ContentPanel>
68
68
 
69
- <ContentPanel @title="Avatar" @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
69
+ <ContentPanel @title={{t "fleet-ops.component.modals.vehicle-details.avatar"}} @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
70
70
  <div class="grid grid-cols-1 gap-2 text-xs dark:text-gray-100">
71
71
  <div>
72
72
  <Image alt={{@options.vehicle.public_id}} src={{@options.vehicle.avatar_url}} class="w-24 h-24" />
@@ -74,148 +74,148 @@
74
74
  </div>
75
75
  </ContentPanel>
76
76
 
77
- <ContentPanel @title="Model Information" @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
77
+ <ContentPanel @title={{t "fleet-ops.component.modals.vehicle-details.model-information"}} @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
78
78
  <div class="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-2">
79
79
  <div class="field-info-container">
80
- <div class="field-name">0 to 100 Kph</div>
80
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.acceleration"}}</div>
81
81
  <div class="field-value">{{n-a @options.vehicle.model_0_to_100_kph}}</div>
82
82
  </div>
83
83
 
84
84
  <div class="field-info-container">
85
- <div class="field-name">Body</div>
85
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.body"}}</div>
86
86
  <div class="field-value">{{n-a @options.vehicle.model_body}}</div>
87
87
  </div>
88
88
 
89
89
  <div class="field-info-container">
90
- <div class="field-name">Doors</div>
90
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.doors"}}</div>
91
91
  <div class="field-value">{{n-a @options.vehicle.model_doors}}</div>
92
92
  </div>
93
93
 
94
94
  <div class="field-info-container">
95
- <div class="field-name">Drive</div>
95
+ <div class="field-name">{{t "fleet-ops.common.driver"}}</div>
96
96
  <div class="field-value">{{n-a @options.vehicle.model_drive}}</div>
97
97
  </div>
98
98
 
99
99
  <div class="field-info-container">
100
- <div class="field-name">Length (mm)</div>
100
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.length"}}</div>
101
101
  <div class="field-value">{{n-a @options.vehicle.model_length_mm}}</div>
102
102
  </div>
103
103
 
104
104
  <div class="field-info-container">
105
- <div class="field-name">Seats</div>
105
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.seats"}}</div>
106
106
  <div class="field-value">{{n-a @options.vehicle.model_seats}}</div>
107
107
  </div>
108
108
 
109
109
  <div class="field-info-container">
110
- <div class="field-name">Top Speed (kph)</div>
110
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.top-speed"}}</div>
111
111
  <div class="field-value">{{n-a @options.vehicle.model_top_speed_kph}}</div>
112
112
  </div>
113
113
 
114
114
  <div class="field-info-container">
115
- <div class="field-name">Transmission Type</div>
115
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.transmission"}}</div>
116
116
  <div class="field-value">{{n-a @options.vehicle.model_transmission_type}}</div>
117
117
  </div>
118
118
 
119
119
  <div class="field-info-container">
120
- <div class="field-name">Weight (kg)</div>
120
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.weight"}}</div>
121
121
  <div class="field-value">{{n-a @options.vehicle.model_weight_kg}}</div>
122
122
  </div>
123
123
 
124
124
  <div class="field-info-container">
125
- <div class="field-name">Wheelbase (mm)</div>
125
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.wheelbase"}}</div>
126
126
  <div class="field-value">{{n-a @options.vehicle.model_wheelbase_mm}}</div>
127
127
  </div>
128
128
 
129
129
  <div class="field-info-container">
130
- <div class="field-name">Width (mm)</div>
130
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.width"}}</div>
131
131
  <div class="field-value">{{n-a @options.vehicle.model_width_mm}}</div>
132
132
  </div>
133
133
  </div>
134
134
  </ContentPanel>
135
135
 
136
- <ContentPanel @title="Engine Information" @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
136
+ <ContentPanel @title={{t "fleet-ops.component.modals.vehicle-details.engine-information"}} @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
137
137
  <div class="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-2">
138
138
  <div class="field-info-container">
139
- <div class="field-name">Engine Bore (mm)</div>
139
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.engine-bore"}}</div>
140
140
  <div class="field-value">{{n-a @options.vehicle.model_engine_bore_mm}}</div>
141
141
  </div>
142
142
 
143
143
  <div class="field-info-container">
144
- <div class="field-name">CC</div>
144
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.cc"}}</div>
145
145
  <div class="field-value">{{n-a @options.vehicle.model_engine_cc}}</div>
146
146
  </div>
147
147
 
148
148
  <div class="field-info-container">
149
- <div class="field-name">Compression</div>
149
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.compression"}}</div>
150
150
  <div class="field-value">{{n-a @options.vehicle.model_engine_compression}}</div>
151
151
  </div>
152
152
 
153
153
  <div class="field-info-container">
154
- <div class="field-name">Cylinders</div>
154
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.cylinder"}}</div>
155
155
  <div class="field-value">{{n-a @options.vehicle.model_engine_cyl}}</div>
156
156
  </div>
157
157
 
158
158
  <div class="field-info-container">
159
- <div class="field-name">Position</div>
159
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.position"}}</div>
160
160
  <div class="field-value">{{n-a @options.vehicle.model_engine_position}}</div>
161
161
  </div>
162
162
 
163
163
  <div class="field-info-container">
164
- <div class="field-name">Power (ps)</div>
164
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.power-ps"}}</div>
165
165
  <div class="field-value">{{n-a @options.vehicle.model_engine_power_ps}}</div>
166
166
  </div>
167
167
 
168
168
  <div class="field-info-container">
169
- <div class="field-name">Power (rpm)</div>
169
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.power-rpm"}}</div>
170
170
  <div class="field-value">{{n-a @options.vehicle.model_engine_power_rpm}}</div>
171
171
  </div>
172
172
 
173
173
  <div class="field-info-container">
174
- <div class="field-name">Stroke (mm))</div>
174
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.stroke"}}</div>
175
175
  <div class="field-value">{{n-a @options.vehicle.model_engine_stroke_mm}}</div>
176
176
  </div>
177
177
 
178
178
  <div class="field-info-container">
179
- <div class="field-name">Torque (nm)</div>
179
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.torque-nm"}}</div>
180
180
  <div class="field-value">{{n-a @options.vehicle.model_engine_torque_nm}}</div>
181
181
  </div>
182
182
 
183
183
  <div class="field-info-container">
184
- <div class="field-name">Torque (rpm)</div>
184
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.torque-rpm"}}</div>
185
185
  <div class="field-value">{{n-a @options.vehicle.model_engine_torque_rpm}}</div>
186
186
  </div>
187
187
 
188
188
  <div class="field-info-container">
189
- <div class="field-name">Valves Per Cylinder</div>
189
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.valves"}}</div>
190
190
  <div class="field-value">{{n-a @options.vehicle.model_valves_per_cyl}}</div>
191
191
  </div>
192
192
  </div>
193
193
  </ContentPanel>
194
194
 
195
- <ContentPanel @title="Fuel Information" @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
195
+ <ContentPanel @title={{t "fleet-ops.component.modals.vehicle-details.fuel-information"}} @open={{false}} @pad={{true}} @panelBodyClass="bg-white dark:bg-gray-800">
196
196
  <div class="grid grid-cols-1 gap-4 lg:grid-cols-2 lg:gap-2">
197
197
  <div class="field-info-container">
198
- <div class="field-name">Fuel</div>
198
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.fuel"}}</div>
199
199
  <div class="field-value">{{n-a @options.vehicle.model_engine_fuel}}</div>
200
200
  </div>
201
201
 
202
202
  <div class="field-info-container">
203
- <div class="field-name">Fuel Cap (l)</div>
203
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.fuel-cap"}}</div>
204
204
  <div class="field-value">{{n-a @options.vehicle.model_fuel_cap_l}}</div>
205
205
  </div>
206
206
 
207
207
  <div class="field-info-container">
208
- <div class="field-name">Liters Per km City</div>
208
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.liters-city"}}</div>
209
209
  <div class="field-value">{{n-a @options.vehicle.model_lkm_city}}</div>
210
210
  </div>
211
211
 
212
212
  <div class="field-info-container">
213
- <div class="field-name">Liters Per km Highway)</div>
213
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.liters-highway"}}</div>
214
214
  <div class="field-value">{{n-a @options.vehicle.model_lkm_hwy}}</div>
215
215
  </div>
216
216
 
217
217
  <div class="field-info-container">
218
- <div class="field-name">Liters Per km Mixed</div>
218
+ <div class="field-name">{{t "fleet-ops.component.modals.vehicle-details.liters-mixed"}}</div>
219
219
  <div class="field-value">{{n-a @options.vehicle.model_lkm_mixed}}</div>
220
220
  </div>
221
221
  </div>