Skip to content

Commit 37c1de6

Browse files
azarzIGNFhc
andauthored
Feat/track record (#156)
Co-authored-by: hcaillaud <hector.caillaud@ign.fr>
1 parent 98d9822 commit 37c1de6

33 files changed

+1215
-51
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
<uses-permission android:name="android.permission.INTERNET" />
104104
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
105105
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
106+
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
106107
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
107108
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
108109

capacitor.config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
},
88
"android": {
99
"overrideUserAgent": "IGN-app-android",
10-
"flavor": "google"
10+
"flavor": "google",
11+
"useLegacyBridge": true
1112
},
1213
"ios": {
1314
"overrideUserAgent": "IGN-app-ios",

ios/App/App/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
<key>NSLocationWhenInUseUsageDescription</key>
5050
<string>Votre position est nécessaire pour vous positionner sur la carte et calculer des itinéraires et isochrones à partir de votre position</string>
5151
<key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
52-
<string>Votre position en arrière-plan est nécessaire pour réaliser de l'enregistrement de trace lorsque le téléphone est vérouillé ou lorsque vous ovrez d'autres applications.</string>
52+
<string>La position en arrière-plan est nécessaire pour enregistrer la trace avec l'application fermée ou le téléphone vérouillé.</string>
5353
<key>UIBackgroundModes</key>
5454
<array>
5555
<string>location</string>

src/css/app.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
@use 'layer-catalogue.css';
1515
@use 'layer-switcher.css';
1616
@use 'route-draw.css';
17+
@use 'track-record.css';
1718
@use 'my-account.css';
1819
@use 'poi.css';
1920
@use 'compare.css';
Lines changed: 4 additions & 0 deletions
Loading
Lines changed: 4 additions & 0 deletions
Loading

src/css/map-buttons.css

Lines changed: 36 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,25 @@ TODO: remove all DOM.$layerManagerBtn.classList.add/remove("highest") in nav.js
211211
bottom: 132px;
212212
}
213213

214+
#trackRecordBtn {
215+
background-color: var(--dark-green);
216+
position: absolute;
217+
bottom: 132px;
218+
outline: 1px solid var(--dark-green);
219+
}
220+
221+
#compassBtn:not(.d-none) + #trackRecordBtn {
222+
bottom: 198px;
223+
}
224+
225+
#trackRecordBtn.recording {
226+
background-image: url("assets/map-buttons/recording.svg");
227+
}
228+
229+
#trackRecordBtn.pause {
230+
background-image: url("assets/map-buttons/pause.svg");
231+
}
232+
214233
#filterPoiBtn {
215234
background-image: url("assets/map-buttons/filtrer.svg");
216235
position: fixed;
@@ -219,9 +238,7 @@ TODO: remove all DOM.$layerManagerBtn.classList.add/remove("highest") in nav.js
219238
display: flex;
220239
align-items: center;
221240
justify-content: center;
222-
padding-left: 25px;
223241
background-position: 13px center;
224-
width: 5.385rem;
225242
transition: top 0.3s, opacity 0.5s;
226243
font-size: 14px;
227244
}
@@ -352,10 +369,16 @@ TODO: remove all DOM.$layerManagerBtn.classList.add/remove("highest") in nav.js
352369
color: var(--dark-grey);
353370
}
354371

355-
#routeDrawEdit > .button#routeDrawSave {
372+
#routeDrawSnap {
373+
background-image: url("assets/route-draw/arrow-left-darkgrey.svg");
374+
}
375+
376+
#routeDrawSave {
356377
background-color: var(--dark-green);
357378
border: 1px solid var(--dark-green);
358379
background-image: url("assets/route-draw/save.svg");
380+
position: fixed;
381+
top: calc(142px + var(--safe-area-inset-top));
359382
}
360383

361384
#routeDrawEdit > .button > span {
@@ -392,7 +415,7 @@ TODO: remove all DOM.$layerManagerBtn.classList.add/remove("highest") in nav.js
392415
display: flex;
393416
position: absolute;
394417
box-sizing: border-box;
395-
top: calc(100% - 77px - max(var(--safe-area-inset-bottom), 20px));
418+
top: calc(100% - 75px - max(var(--safe-area-inset-bottom), 20px));
396419
width: 100%;
397420
height: calc(75px + max(var(--safe-area-inset-bottom), 20px));
398421
font-size: 12px;
@@ -498,6 +521,10 @@ button.maplibregl-ctrl-shrink {
498521
right: 15px;
499522
}
500523

524+
#trackRecordBtn {
525+
right: 15px;
526+
}
527+
501528
#bottomButtons {
502529
position: fixed;
503530
bottom: calc(5px + max(var(--safe-area-inset-bottom), 20px));
@@ -533,6 +560,11 @@ button.maplibregl-ctrl-shrink {
533560
position: fixed;
534561
}
535562

563+
#routeDrawSave {
564+
top: calc(10px + var(--safe-area-inset-top));
565+
transform: translateX(-66px);
566+
}
567+
536568
#routeDrawEdit {
537569
position: fixed;
538570
flex-direction: row;
@@ -547,11 +579,6 @@ button.maplibregl-ctrl-shrink {
547579
margin-bottom: 12px;
548580
}
549581

550-
#routeDrawEdit > .button > span {
551-
position: relative;
552-
bottom: -44px;
553-
}
554-
555582
#mapCenter {
556583
top: calc(50vh - 25px);
557584
right: calc((100vw - 25px));

src/css/nav.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,10 @@
198198
background-image: url(../html/img/tracer.svg);
199199
}
200200

201+
#trackRecord > .nav-picto {
202+
background-image: url(../html/img/tracker.svg);
203+
}
204+
201205
@media screen and (min-aspect-ratio: 1/1) and (min-width:400px) {
202206
#navContainer {
203207
flex-direction: column;

src/css/position.css

Lines changed: 29 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,27 +143,33 @@
143143
}
144144

145145
.lblPositionShareImg {
146-
background-image: url("assets/share.svg");
146+
-webkit-mask: url("assets/share.svg") center;
147+
mask: url("assets/share.svg") center;
147148
}
148149

149150
.lblPositionNearImg {
150-
background-image: url("assets/isochrone-white.svg");
151+
-webkit-mask: url("assets/isochrone-white.svg") center;
152+
mask: url("assets/isochrone-white.svg") center;
151153
}
152154

153155
.lblPositionRouteImg {
154-
background-image: url("assets/syrendre-white.svg");
156+
-webkit-mask: url("assets/syrendre-white.svg") center;
157+
mask: url("assets/syrendre-white.svg") center;
155158
}
156159

157160
.lblPositionSignalImg {
158-
background-image: url("assets/signal.svg");
161+
-webkit-mask: url("assets/signal.svg") center;
162+
mask: url("assets/signal.svg") center;
159163
}
160164

161165
.lblPositionLandmarkImg {
162-
background-image: url("assets/landmark-white.svg");
166+
-webkit-mask: url("assets/landmark-white.svg") center;
167+
mask: url("assets/landmark-white.svg") center;
163168
}
164169

165170
.lblPositionLandmarkEditImg {
166-
background-image: url("assets/edit-white.svg");
171+
-webkit-mask: url("assets/edit-white.svg") center;
172+
mask: url("assets/edit-white.svg") center;
167173
}
168174

169175
.btnPositionButtons {
@@ -184,6 +190,23 @@
184190
font-size: 12px;
185191
}
186192

193+
.btnPositionButtons.secondary {
194+
color: var(--dark-green);
195+
background-color: #fff0;
196+
border: 1px solid var(--dark-green);
197+
box-sizing: border-box;
198+
}
199+
200+
.btnPositionButtons > label {
201+
background-color: white;
202+
-webkit-mask-repeat: no-repeat;
203+
mask-repeat: no-repeat;
204+
}
205+
206+
.btnPositionButtons.secondary > label {
207+
background-color: var(--dark-green);
208+
}
209+
187210
/*
188211
* coordonnées
189212
*/

src/css/route-draw.css

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,22 @@
2222
display: flex;
2323
justify-content: space-between;
2424
align-items: center;
25-
flex-wrap: wrap-reverse;
25+
flex-wrap: wrap;
2626
row-gap: 15px;
2727
}
2828

2929
#routeDrawMode {
3030
background-color: var(--dark-green);
31-
color: white;
3231
font-family: "Open Sans Semibold";
3332
font-size: 14px;
3433
width: fit-content;
3534
padding: 12px 28px;
3635
border-radius: 100px;
3736
flex-shrink: 0;
37+
border-color: var(--dark-green);
38+
color: var(--dark-green);
39+
background-color: white;
40+
border: solid 1px;
3841
}
3942

4043
#routeDrawModeActionSheet > div:not(:first-child) {
@@ -274,7 +277,6 @@
274277
border: 1px solid var(--grey-2);
275278
padding: 9px 8px;
276279
flex-grow: 1;
277-
278280
}
279281

280282
#routeDrawSaveNameInput::placeholder {

0 commit comments

Comments
 (0)