Make request area map draggable

This commit is contained in:
SimpleTest 2026-07-22 15:10:44 +03:00
parent b0abe5248c
commit 3dfdf7a360
9 changed files with 459 additions and 218 deletions

View File

@ -392,6 +392,30 @@ html {
min-width: 0;
}
.request-location-map-hint {
position: absolute;
z-index: 2;
top: 0.75rem;
right: 0.75rem;
display: flex;
max-width: min(20rem, calc(100% - 5.25rem));
align-items: center;
gap: 0.4rem;
padding: 0.5rem 0.65rem;
border: 1px solid color-mix(in oklab, var(--color-base-content) 12%, transparent);
border-radius: 999px;
background: color-mix(in oklab, var(--color-base-100) 92%, transparent);
box-shadow: 0 0.3rem 1rem rgb(23 37 31 / 0.12);
font-size: 0.7rem;
font-weight: 700;
line-height: 1.2;
pointer-events: none;
}
.request-location-map-hint [data-exact-map-hint] {
display: none;
}
.request-location-map {
min-height: 31rem;
border-radius: 0.9rem;
@ -405,6 +429,11 @@ html {
color: color-mix(in oklab, var(--color-base-content) 65%, transparent);
}
.request-location-map-shell:has(.request-location-map[data-map-unavailable="true"])
.request-location-map-hint {
display: none;
}
.request-location-hidden-state {
display: none;
min-height: 16rem;
@ -512,6 +541,18 @@ html {
display: flex;
}
.request-location-workspace[data-location-mode="exact_public"]
.request-location-map-hint
[data-approximate-map-hint] {
display: none;
}
.request-location-workspace[data-location-mode="exact_public"]
.request-location-map-hint
[data-exact-map-hint] {
display: inline;
}
.request-location-workspace[data-location-mode="hidden"] .request-location-grid {
grid-template-columns: 1fr;
}
@ -559,4 +600,12 @@ html {
.request-location-map {
min-height: 22rem;
}
.request-location-map-hint {
top: 0.55rem;
right: 0.55rem;
max-width: calc(100% - 4.65rem);
padding: 0.4rem 0.55rem;
font-size: 0.65rem;
}
}

View File

@ -571,7 +571,9 @@ export const Hooks = {
mounted() {
this.map = null
this.marker = null
this.markerMode = null
this.mapLoaded = false
this.mapUnavailable = false
this.areaSourceId = `${this.el.id}-selection-area`
this.areaFillId = `${this.el.id}-selection-fill`
this.areaLineId = `${this.el.id}-selection-line`
@ -583,6 +585,13 @@ export const Hooks = {
this.statusElement = this.el.querySelector(this.el.dataset.statusTarget)
}
this.renderMapUnavailable = () => {
if (!this.mapElement) return
this.mapElement.dataset.mapUnavailable = "true"
this.mapElement.textContent = this.mapElement.dataset.mapUnavailableLabel
}
this.mode = () =>
this.el.querySelector("[data-location-mode-input]:checked")?.value ||
this.el.dataset.locationMode ||
@ -698,6 +707,59 @@ export const Hooks = {
this.removeMarker = () => {
this.marker?.remove()
this.marker = null
this.markerMode = null
}
this.ensureSelectionMarker = (coordinates, mode) => {
if (this.marker && this.markerMode !== mode) this.removeMarker()
if (!this.marker) {
this.markerMode = mode
this.marker = new maplibregl.Marker({
color: mode === "approximate_public" ? "#16725b" : "#d6573b",
draggable: true
})
.setLngLat([coordinates.longitude, coordinates.latitude])
.addTo(this.map)
const markerElement = this.marker.getElement()
markerElement.setAttribute(
"aria-label",
mode === "approximate_public"
? this.el.dataset.areaMarkerLabel
: this.el.dataset.pointMarkerLabel
)
markerElement.setAttribute(
"title",
mode === "approximate_public"
? this.el.dataset.areaMarkerLabel
: this.el.dataset.pointMarkerLabel
)
this.marker.on("drag", () => {
const point = this.marker.getLngLat()
if (this.latitudeInput) this.latitudeInput.value = point.lat.toFixed(6)
if (this.longitudeInput) this.longitudeInput.value = point.lng.toFixed(6)
if (this.markerMode === "approximate_public") {
this.setAreaData(areaFeatureCollection([{
latitude: point.lat,
longitude: point.lng,
exact: false,
radius_meters: this.radius()
}]))
}
})
this.marker.on("dragend", () => {
const point = this.marker.getLngLat()
this.setCoordinates({latitude: point.lat, longitude: point.lng})
this.setSelectionStatus()
})
} else {
this.marker.setLngLat([coordinates.longitude, coordinates.latitude])
}
}
this.renderSelection = () => {
@ -720,7 +782,7 @@ export const Hooks = {
}
if (mode === "approximate_public") {
this.removeMarker()
this.ensureSelectionMarker(coordinates, mode)
this.setAreaData(areaFeatureCollection([{
...coordinates,
exact: false,
@ -730,20 +792,7 @@ export const Hooks = {
}
this.setAreaData(emptyFeatureCollection())
if (!this.marker) {
this.marker = new maplibregl.Marker({color: "#d6573b", draggable: true})
.setLngLat([coordinates.longitude, coordinates.latitude])
.addTo(this.map)
this.marker.on("dragend", () => {
const point = this.marker.getLngLat()
this.setCoordinates({latitude: point.lat, longitude: point.lng})
this.setStatus(this.el.dataset.pointSelectedLabel)
})
} else {
this.marker.setLngLat([coordinates.longitude, coordinates.latitude])
}
this.ensureSelectionMarker(coordinates, mode)
}
this.syncMode = () => {
@ -824,8 +873,8 @@ export const Hooks = {
if (!this.mapElement || !supportsMapCanvas()) {
if (this.mapElement) {
this.mapElement.dataset.mapUnavailable = "true"
this.mapElement.textContent = this.mapElement.dataset.mapUnavailableLabel
this.mapUnavailable = true
this.renderMapUnavailable()
}
this.syncMode()
return
@ -871,6 +920,7 @@ export const Hooks = {
},
updated() {
this.cacheElements()
if (this.mapUnavailable) this.renderMapUnavailable()
this.syncMode()
},
destroyed() {

View File

@ -1,35 +1,58 @@
# Request location picker — design QA
## Reference and implementation
## Evidence
- Target image: `/home/simple/.codex/generated_images/019f725d-87b5-79e1-8a9f-66e6eaffb35a/exec-d7ad900f-ed0f-4909-8a64-43bfc32dce7e.png`
- Desktop implementation: `/d/my_projects/who_need_help/output/playwright/location-picker-approximate-final.png`
- Mobile implementation: `/d/my_projects/who_need_help/output/playwright/location-picker-mobile-focused.png`
- Side-by-side comparison: `/d/my_projects/who_need_help/output/playwright/location-picker-comparison.png`
- Viewports checked: desktop `1673×1288`, mobile `390×844`
- Source visual truth: `/home/simple/.codex/generated_images/019f725d-87b5-79e1-8a9f-66e6eaffb35a/exec-d7ad900f-ed0f-4909-8a64-43bfc32dce7e.png`
- Browser-rendered implementation: `/d/my_projects/who_need_help/output/playwright/location-picker-real-map-focused.png`
- Full browser viewport: `/d/my_projects/who_need_help/output/playwright/location-picker-real-map-selected.png`
- Side-by-side comparison: `/d/my_projects/who_need_help/output/playwright/location-picker-real-map-comparison.png`
- Source pixels: `1672×941` at the supplied image density.
- Implementation component pixels and CSS size: `1024×888`, captured at `deviceScaleFactor: 1`.
- Full browser viewport: `1673×1288` CSS pixels at `deviceScaleFactor: 1`.
- Normalization: both focused images were scaled to `900 px` height only for the side-by-side comparison; the original captures remain available above.
- State: light theme, authenticated request form, approximate-area mode, `1 km` radius, selected Kyiv map position.
## Comparison
## Full-view comparison evidence
The implementation preserves the selected direction: a public landmark field, three clearly separated privacy modes, a large interactive map, radius choices for an approximate area, privacy guidance, and an optional manual-coordinate fallback. It adapts the reference into the existing Who Need Help visual system and request form rather than reproducing it as a disconnected screen.
The implementation keeps the reference hierarchy: public landmark field, three privacy choices, large map, radius controls, privacy guidance, post-match guidance, status, and manual-coordinate fallback. It uses the existing Who Need Help container width and type scale, so the component is narrower than the standalone concept while preserving the same information structure.
The local end-to-end environment intentionally uses a deterministic solid raster tile. Map controls, marker/circle geometry, dragging, clicking, geolocation handling, and responsive layout are still exercised; the application continues to obtain its real raster tile URL from runtime configuration.
The live implementation now renders real OpenStreetMap raster tiles, a bounded translucent area, and a green draggable MapLibre marker. The marker is intentionally visible only in the editing form. Public request maps render the area without disclosing a center marker.
## Findings
## Focused-region comparison evidence
The focused component capture makes the important interaction details readable. Typography, spacing, semantic green, radii, borders, map attribution, control hierarchy, and instructional copy were compared directly. No additional crop was needed because the component screenshot contains the entire location workspace at native CSS density.
## Required fidelity surfaces
- Fonts and typography: existing application font stack and optical weights are consistent across the form; headings, control labels, help text, and map hint retain clear hierarchy without clipping.
- Spacing and layout rhythm: the three modes align as one segmented control; map and sidebar tracks remain balanced; cards, status, and fallback use the existing form rhythm.
- Colors and visual tokens: success green, neutral borders, translucent area fill, warning semantics, and contrast use the existing DaisyUI/application tokens.
- Image and asset quality: real OpenStreetMap tiles are sharp at the checked density; MapLibre and Heroicons supply map controls, marker, and UI icons. No placeholder map or handcrafted icon remains.
- Copy and content: the interface explicitly says how to move the area, what becomes public, and what can be shared privately after matching.
## Comparison history
1. P1 — the first visual E2E preview used a deterministic solid tile, which looked like a missing map. Fixed by running the visual review stack with the configured OpenStreetMap tile URL. Post-fix evidence: `location-picker-real-map-focused.png`.
2. P1 — the area could be moved by clicking, but that affordance was not discoverable and the circle itself had no drag handle. Fixed by adding a green draggable center marker, live circle movement, a map overlay hint, and a persistent status message. Post-fix evidence: `location-picker-real-map-focused.png` and the passing drag E2E scenario.
3. P2 — the map-unavailable fallback could retain the movement hint after a LiveView patch. Fixed by persisting the unavailable state in the hook and hiding the hint in fallback mode. Post-fix evidence: the Firefox fallback branch in the passing cross-browser E2E scenario.
## Current findings
- P0: none.
- P1: none.
- P2: none.
- P3: the mobile screenshot shows only the location section because the full request form is vertically scrollable; no horizontal overflow was observed.
- P3: the implementation adds more explicit safety/help copy than the concept; this is an intentional product constraint and does not obstruct the map task.
## Interaction checks
## Interaction and runtime checks
- Approximate mode stores and displays a bounded `500 m`, `1 km`, or `2 km` public area.
- Browser geolocation is privacy-snapped before it reaches the form in approximate mode.
- Exact mode displays a draggable marker and makes the public disclosure explicit.
- No-map mode clears coordinates and hides the map.
- A participant can later share live location privately after matching, independently of the public request location.
- The manual coordinate fallback remains open while both values are entered.
- Clicking the map creates or moves the area.
- Dragging the green marker moves the circle and updates the stored center.
- `500 m`, `1 km`, and `2 km` are the only selectable public radii.
- Exact mode uses a separate red draggable marker.
- No-map mode clears coordinates and hides map controls.
- Chromium and WebKit exercised the map and drag interaction; the containerized Firefox runner exercised the no-Canvas fallback.
- Server test suite: `302 passed`.
- Targeted browser E2E: `3 passed` across Chromium, Firefox, and WebKit.
- Visible Chrome console after the final interaction: `0 errors`, `0 warnings`.
## Result
Passed. No P0–P2 design discrepancy remains in the checked desktop and mobile states.
final result: passed

View File

@ -33,18 +33,44 @@ test("request location picker separates approximate, exact, and hidden disclosur
await workspace.getByRole("button", { name: "Use my location" }).click();
await expect(workspace.locator("#request-location-status")).toHaveText(
"Approximate area selected. Your exact position is not stored.",
"Area selected. Drag the green pin or click the map to move it.",
);
await expect(latitude).not.toHaveValue("50.450123");
await expect(longitude).not.toHaveValue("30.523456");
const map = workspace.locator("#request-location-map");
const approximateMarker = workspace.locator(".maplibregl-marker");
if ((await map.locator("canvas").count()) === 0) {
await expect(map).toContainText("The map is unavailable");
await expect(approximateMarker).toHaveCount(0);
await expect(workspace.locator(".request-location-map-hint")).toBeHidden();
} else {
const approximateLatitude = await latitude.inputValue();
await expect(approximateMarker).toBeVisible();
const markerBox = await approximateMarker.boundingBox();
expect(markerBox).not.toBeNull();
await user.page.mouse.move(
markerBox!.x + markerBox!.width / 2,
markerBox!.y + markerBox!.height / 2,
);
await user.page.mouse.down();
await user.page.mouse.move(
markerBox!.x + markerBox!.width / 2 + 48,
markerBox!.y + markerBox!.height / 2 + 24,
{ steps: 5 },
);
await user.page.mouse.up();
await expect(latitude).not.toHaveValue(approximateLatitude);
}
await workspace
.locator('input[name="help_request[location_visibility]"][value="exact_public"]')
.check();
await expect(workspace.getByText("This point is public")).toBeVisible();
await workspace.getByRole("button", { name: "Use my location" }).click();
await expect(workspace.locator("#request-location-status")).toHaveText(
"Exact public point selected.",
"Exact point selected. Drag the red pin or click the map to move it.",
);
await expect(latitude).toHaveValue("50.450123");
await expect(longitude).toHaveValue("30.523456");

View File

@ -382,9 +382,13 @@ defmodule WhoNeedHelpWeb.RequestLive.New do
data-status-target="#request-location-status"
data-map-ready-label={gettext("Choose a place on the map or use your current location.")}
data-area-selected-label={
gettext("Approximate area selected. Your exact position is not stored.")
gettext("Area selected. Drag the green pin or click the map to move it.")
}
data-point-selected-label={gettext("Exact public point selected.")}
data-point-selected-label={
gettext("Exact point selected. Drag the red pin or click the map to move it.")
}
data-area-marker-label={gettext("Drag to move the approximate area")}
data-point-marker-label={gettext("Drag to move the exact point")}
data-hidden-label={gettext("No map coordinates will be stored.")}
data-location-unavailable-label={gettext("Location is unavailable in this browser.")}
data-location-denied-label={gettext("Location permission was denied.")}
@ -460,6 +464,15 @@ defmodule WhoNeedHelpWeb.RequestLive.New do
}
class="aid-map request-location-map"
/>
<div class="request-location-map-hint">
<.icon name="hero-hand-raised" class="size-4 shrink-0" />
<span data-approximate-map-hint>
{gettext("Click the map or drag the green pin to move the area")}
</span>
<span data-exact-map-hint>
{gettext("Click the map or drag the red pin to move the point")}
</span>
</div>
<div class="request-location-hidden-state">
<.icon name="hero-eye-slash" class="size-8" />
<div>

View File

@ -275,7 +275,7 @@ msgstr ""
#: lib/who_need_help_web/controllers/page_html/home.html.heex:80
#: lib/who_need_help_web/live/activity_live/new.ex:261
#: lib/who_need_help_web/live/request_live/new.ex:418
#: lib/who_need_help_web/live/request_live/new.ex:422
#, elixir-autogen, elixir-format
msgid "Approximate area"
msgstr ""
@ -915,7 +915,7 @@ msgid "Join requests close"
msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:285
#: lib/who_need_help_web/live/request_live/new.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:569
#, elixir-autogen, elixir-format
msgid "Latitude"
msgstr ""
@ -972,7 +972,7 @@ msgid "Logged out successfully."
msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:292
#: lib/who_need_help_web/live/request_live/new.ex:566
#: lib/who_need_help_web/live/request_live/new.ex:583
#, elixir-autogen, elixir-format
msgid "Longitude"
msgstr ""
@ -1345,7 +1345,7 @@ msgstr ""
msgid "Please check the submitted message."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:398
#: lib/who_need_help_web/live/request_live/new.ex:402
#, elixir-autogen, elixir-format
msgid "Podil, near the central pharmacy"
msgstr ""
@ -1443,13 +1443,13 @@ msgstr ""
msgid "Publish proposal"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:620
#: lib/who_need_help_web/live/request_live/new.ex:637
#, elixir-autogen, elixir-format
msgid "Publish request"
msgstr ""
#: lib/who_need_help_web/live/activity_live/new.ex:311
#: lib/who_need_help_web/live/request_live/new.ex:618
#: lib/who_need_help_web/live/request_live/new.ex:635
#, elixir-autogen, elixir-format
msgid "Publishing…"
msgstr ""
@ -4052,7 +4052,7 @@ msgstr ""
msgid "A volunteer accepted this request. Use private chat to coordinate safely."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:523
#: lib/who_need_help_web/live/request_live/new.ex:536
#, elixir-autogen, elixir-format
msgid "After a helper accepts"
msgstr ""
@ -4062,17 +4062,12 @@ msgstr ""
msgid "Already registered? Check your email"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Approximate area selected. Your exact position is not stored."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:397
#: lib/who_need_help_web/live/request_live/new.ex:401
#, elixir-autogen, elixir-format
msgid "Area or public landmark"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:487
#: lib/who_need_help_web/live/request_live/new.ex:500
#, elixir-autogen, elixir-format
msgid "Area radius"
msgstr ""
@ -4103,7 +4098,7 @@ msgid "Choose a category from the same mode."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:383
#: lib/who_need_help_web/live/request_live/new.ex:540
#: lib/who_need_help_web/live/request_live/new.ex:553
#, elixir-autogen, elixir-format
msgid "Choose a place on the map or use your current location."
msgstr ""
@ -4144,7 +4139,7 @@ msgstr ""
msgid "Date"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:544
#: lib/who_need_help_web/live/request_live/new.ex:561
#, elixir-autogen, elixir-format
msgid "Enter coordinates manually"
msgstr ""
@ -4154,22 +4149,17 @@ msgstr ""
msgid "Enter the six digits shown to the requester."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:432
#: lib/who_need_help_web/live/request_live/new.ex:436
#, elixir-autogen, elixir-format
msgid "Exact point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:387
#, elixir-autogen, elixir-format
msgid "Exact public point selected."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:610
#: lib/who_need_help_web/live/request_live/new.ex:627
#, elixir-autogen, elixir-format
msgid "Fix the following details and publish again:"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:546
#: lib/who_need_help_web/live/request_live/new.ex:563
#, elixir-autogen, elixir-format
msgid "For an approximate area, these coordinates are the area center—not your exact position."
msgstr ""
@ -4209,7 +4199,7 @@ msgstr ""
msgid "Helper:"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:468
#: lib/who_need_help_web/live/request_live/new.ex:481
#, elixir-autogen, elixir-format
msgid "Helpers will see only the area or landmark written above. You can share a live location later after matching."
msgstr ""
@ -4234,17 +4224,17 @@ msgstr ""
msgid "In 3 hours"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:389
#: lib/who_need_help_web/live/request_live/new.ex:393
#, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:390
#: lib/who_need_help_web/live/request_live/new.ex:394
#, elixir-autogen, elixir-format
msgid "Location permission was denied."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:508
#: lib/who_need_help_web/live/request_live/new.ex:521
#, elixir-autogen, elixir-format
msgid "Move the map area so it covers a useful public meeting place."
msgstr ""
@ -4254,17 +4244,17 @@ msgstr ""
msgid "New notice"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:466
#: lib/who_need_help_web/live/request_live/new.ex:479
#, elixir-autogen, elixir-format
msgid "No coordinates will be stored"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:388
#: lib/who_need_help_web/live/request_live/new.ex:392
#, elixir-autogen, elixir-format
msgid "No map coordinates will be stored."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:446
#: lib/who_need_help_web/live/request_live/new.ex:450
#, elixir-autogen, elixir-format
msgid "No map location"
msgstr ""
@ -4279,7 +4269,7 @@ msgstr ""
msgid "Only notices submitted while signed in appear here. Notices submitted without an account remain accessible through their private email link."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:447
#: lib/who_need_help_web/live/request_live/new.ex:451
#, elixir-autogen, elixir-format
msgid "Only the public area description"
msgstr ""
@ -4321,7 +4311,7 @@ msgstr ""
msgid "Read"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:419
#: lib/who_need_help_web/live/request_live/new.ex:423
#, elixir-autogen, elixir-format
msgid "Recommended for privacy"
msgstr ""
@ -4346,7 +4336,7 @@ msgstr ""
msgid "Request to join again"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:609
#: lib/who_need_help_web/live/request_live/new.ex:626
#, elixir-autogen, elixir-format
msgid "Request was not published"
msgstr ""
@ -4398,7 +4388,7 @@ msgstr ""
msgid "Status updates go to the email address of your signed-in account."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:459
#: lib/who_need_help_web/live/request_live/new.ex:463
#, elixir-autogen, elixir-format
msgid "The map is unavailable. You can use the manual coordinate fallback."
msgstr ""
@ -4413,7 +4403,7 @@ msgstr ""
msgid "This activity is closed. The group chat remains available as read-only history."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:401
#: lib/who_need_help_web/live/request_live/new.ex:405
#, elixir-autogen, elixir-format
msgid "This description is visible to everyone. Do not enter a private address."
msgstr ""
@ -4443,7 +4433,7 @@ msgstr ""
msgid "This person has not added a public bio yet."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:515
#: lib/who_need_help_web/live/request_live/new.ex:528
#, elixir-autogen, elixir-format
msgid "This point is public"
msgstr ""
@ -4478,7 +4468,7 @@ msgstr ""
msgid "Tomorrow"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:516
#: lib/who_need_help_web/live/request_live/new.ex:529
#, elixir-autogen, elixir-format
msgid "Use a safe public meeting point instead of a private address."
msgstr ""
@ -4488,7 +4478,7 @@ msgstr ""
msgid "Use another email"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:483
#: lib/who_need_help_web/live/request_live/new.ex:496
#, elixir-autogen, elixir-format
msgid "Use my location"
msgstr ""
@ -4526,7 +4516,7 @@ msgstr ""
msgid "View my requests"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:433
#: lib/who_need_help_web/live/request_live/new.ex:437
#, elixir-autogen, elixir-format
msgid "Visible before matching"
msgstr ""
@ -4541,12 +4531,12 @@ msgstr ""
msgid "Voted"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:406
#: lib/who_need_help_web/live/request_live/new.ex:410
#, elixir-autogen, elixir-format
msgid "What should people see?"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:394
#: lib/who_need_help_web/live/request_live/new.ex:398
#, elixir-autogen, elixir-format
msgid "Where is help needed?"
msgstr ""
@ -4561,7 +4551,7 @@ msgstr ""
msgid "You are not a participant. You can send a new request while registration is open."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:525
#: lib/who_need_help_web/live/request_live/new.ex:538
#, elixir-autogen, elixir-format
msgid "You can separately share live location with the matched person and stop sharing at any time."
msgstr ""
@ -4581,7 +4571,7 @@ msgstr ""
msgid "Your completion confirmation is saved."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:507
#: lib/who_need_help_web/live/request_live/new.ex:520
#, elixir-autogen, elixir-format
msgid "Your exact position is not shown"
msgstr ""
@ -4605,3 +4595,33 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "← Community helpers"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Area selected. Drag the green pin or click the map to move it."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:470
#, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move the area"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:473
#, elixir-autogen, elixir-format
msgid "Click the map or drag the red pin to move the point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:390
#, elixir-autogen, elixir-format
msgid "Drag to move the approximate area"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:391
#, elixir-autogen, elixir-format
msgid "Drag to move the exact point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:388
#, elixir-autogen, elixir-format
msgid "Exact point selected. Drag the red pin or click the map to move it."
msgstr ""

View File

@ -275,7 +275,7 @@ msgstr "Approved participants"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:80
#: lib/who_need_help_web/live/activity_live/new.ex:261
#: lib/who_need_help_web/live/request_live/new.ex:418
#: lib/who_need_help_web/live/request_live/new.ex:422
#, elixir-autogen, elixir-format
msgid "Approximate area"
msgstr "Approximate area"
@ -915,7 +915,7 @@ msgid "Join requests close"
msgstr "Join requests close"
#: lib/who_need_help_web/live/activity_live/new.ex:285
#: lib/who_need_help_web/live/request_live/new.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:569
#, elixir-autogen, elixir-format
msgid "Latitude"
msgstr "Latitude"
@ -972,7 +972,7 @@ msgid "Logged out successfully."
msgstr "Logged out successfully."
#: lib/who_need_help_web/live/activity_live/new.ex:292
#: lib/who_need_help_web/live/request_live/new.ex:566
#: lib/who_need_help_web/live/request_live/new.ex:583
#, elixir-autogen, elixir-format
msgid "Longitude"
msgstr "Longitude"
@ -1345,7 +1345,7 @@ msgstr "Please check the submitted fields."
msgid "Please check the submitted message."
msgstr "Please check the submitted message."
#: lib/who_need_help_web/live/request_live/new.ex:398
#: lib/who_need_help_web/live/request_live/new.ex:402
#, elixir-autogen, elixir-format
msgid "Podil, near the central pharmacy"
msgstr "Podil, near the central pharmacy"
@ -1443,13 +1443,13 @@ msgstr "Publish activity"
msgid "Publish proposal"
msgstr "Publish proposal"
#: lib/who_need_help_web/live/request_live/new.ex:620
#: lib/who_need_help_web/live/request_live/new.ex:637
#, elixir-autogen, elixir-format
msgid "Publish request"
msgstr "Publish request"
#: lib/who_need_help_web/live/activity_live/new.ex:311
#: lib/who_need_help_web/live/request_live/new.ex:618
#: lib/who_need_help_web/live/request_live/new.ex:635
#, elixir-autogen, elixir-format
msgid "Publishing…"
msgstr "Publishing…"
@ -4052,7 +4052,7 @@ msgstr ""
msgid "A volunteer accepted this request. Use private chat to coordinate safely."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:523
#: lib/who_need_help_web/live/request_live/new.ex:536
#, elixir-autogen, elixir-format
msgid "After a helper accepts"
msgstr ""
@ -4062,17 +4062,12 @@ msgstr ""
msgid "Already registered? Check your email"
msgstr "Already registered? Check your email"
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Approximate area selected. Your exact position is not stored."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:397
#: lib/who_need_help_web/live/request_live/new.ex:401
#, elixir-autogen, elixir-format
msgid "Area or public landmark"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:487
#: lib/who_need_help_web/live/request_live/new.ex:500
#, elixir-autogen, elixir-format
msgid "Area radius"
msgstr ""
@ -4103,7 +4098,7 @@ msgid "Choose a category from the same mode."
msgstr "Choose a category from the same mode."
#: lib/who_need_help_web/live/request_live/new.ex:383
#: lib/who_need_help_web/live/request_live/new.ex:540
#: lib/who_need_help_web/live/request_live/new.ex:553
#, elixir-autogen, elixir-format
msgid "Choose a place on the map or use your current location."
msgstr ""
@ -4144,7 +4139,7 @@ msgstr ""
msgid "Date"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:544
#: lib/who_need_help_web/live/request_live/new.ex:561
#, elixir-autogen, elixir-format
msgid "Enter coordinates manually"
msgstr ""
@ -4154,22 +4149,17 @@ msgstr ""
msgid "Enter the six digits shown to the requester."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:432
#: lib/who_need_help_web/live/request_live/new.ex:436
#, elixir-autogen, elixir-format
msgid "Exact point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:387
#, elixir-autogen, elixir-format, fuzzy
msgid "Exact public point selected."
msgstr "Exact public point selected."
#: lib/who_need_help_web/live/request_live/new.ex:610
#: lib/who_need_help_web/live/request_live/new.ex:627
#, elixir-autogen, elixir-format
msgid "Fix the following details and publish again:"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:546
#: lib/who_need_help_web/live/request_live/new.ex:563
#, elixir-autogen, elixir-format
msgid "For an approximate area, these coordinates are the area center—not your exact position."
msgstr ""
@ -4209,7 +4199,7 @@ msgstr ""
msgid "Helper:"
msgstr "Helper:"
#: lib/who_need_help_web/live/request_live/new.ex:468
#: lib/who_need_help_web/live/request_live/new.ex:481
#, elixir-autogen, elixir-format
msgid "Helpers will see only the area or landmark written above. You can share a live location later after matching."
msgstr ""
@ -4234,17 +4224,17 @@ msgstr ""
msgid "In 3 hours"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:389
#: lib/who_need_help_web/live/request_live/new.ex:393
#, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:390
#: lib/who_need_help_web/live/request_live/new.ex:394
#, elixir-autogen, elixir-format
msgid "Location permission was denied."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:508
#: lib/who_need_help_web/live/request_live/new.ex:521
#, elixir-autogen, elixir-format
msgid "Move the map area so it covers a useful public meeting place."
msgstr ""
@ -4254,17 +4244,17 @@ msgstr ""
msgid "New notice"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:466
#: lib/who_need_help_web/live/request_live/new.ex:479
#, elixir-autogen, elixir-format
msgid "No coordinates will be stored"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:388
#: lib/who_need_help_web/live/request_live/new.ex:392
#, elixir-autogen, elixir-format
msgid "No map coordinates will be stored."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:446
#: lib/who_need_help_web/live/request_live/new.ex:450
#, elixir-autogen, elixir-format
msgid "No map location"
msgstr ""
@ -4279,7 +4269,7 @@ msgstr "No public social links added."
msgid "Only notices submitted while signed in appear here. Notices submitted without an account remain accessible through their private email link."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:447
#: lib/who_need_help_web/live/request_live/new.ex:451
#, elixir-autogen, elixir-format
msgid "Only the public area description"
msgstr ""
@ -4321,7 +4311,7 @@ msgstr ""
msgid "Read"
msgstr "Read"
#: lib/who_need_help_web/live/request_live/new.ex:419
#: lib/who_need_help_web/live/request_live/new.ex:423
#, elixir-autogen, elixir-format
msgid "Recommended for privacy"
msgstr ""
@ -4346,7 +4336,7 @@ msgstr "Request expires"
msgid "Request to join again"
msgstr "Request to join again"
#: lib/who_need_help_web/live/request_live/new.ex:609
#: lib/who_need_help_web/live/request_live/new.ex:626
#, elixir-autogen, elixir-format
msgid "Request was not published"
msgstr ""
@ -4398,7 +4388,7 @@ msgstr "Starts at"
msgid "Status updates go to the email address of your signed-in account."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:459
#: lib/who_need_help_web/live/request_live/new.ex:463
#, elixir-autogen, elixir-format
msgid "The map is unavailable. You can use the manual coordinate fallback."
msgstr ""
@ -4413,7 +4403,7 @@ msgstr ""
msgid "This activity is closed. The group chat remains available as read-only history."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:401
#: lib/who_need_help_web/live/request_live/new.ex:405
#, elixir-autogen, elixir-format
msgid "This description is visible to everyone. Do not enter a private address."
msgstr ""
@ -4443,7 +4433,7 @@ msgstr ""
msgid "This person has not added a public bio yet."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:515
#: lib/who_need_help_web/live/request_live/new.ex:528
#, elixir-autogen, elixir-format
msgid "This point is public"
msgstr ""
@ -4478,7 +4468,7 @@ msgstr ""
msgid "Tomorrow"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:516
#: lib/who_need_help_web/live/request_live/new.ex:529
#, elixir-autogen, elixir-format
msgid "Use a safe public meeting point instead of a private address."
msgstr ""
@ -4488,7 +4478,7 @@ msgstr ""
msgid "Use another email"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:483
#: lib/who_need_help_web/live/request_live/new.ex:496
#, elixir-autogen, elixir-format, fuzzy
msgid "Use my location"
msgstr "Use my location"
@ -4526,7 +4516,7 @@ msgstr ""
msgid "View my requests"
msgstr "View my requests"
#: lib/who_need_help_web/live/request_live/new.ex:433
#: lib/who_need_help_web/live/request_live/new.ex:437
#, elixir-autogen, elixir-format
msgid "Visible before matching"
msgstr ""
@ -4541,12 +4531,12 @@ msgstr ""
msgid "Voted"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:406
#: lib/who_need_help_web/live/request_live/new.ex:410
#, elixir-autogen, elixir-format
msgid "What should people see?"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:394
#: lib/who_need_help_web/live/request_live/new.ex:398
#, elixir-autogen, elixir-format
msgid "Where is help needed?"
msgstr ""
@ -4561,7 +4551,7 @@ msgstr ""
msgid "You are not a participant. You can send a new request while registration is open."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:525
#: lib/who_need_help_web/live/request_live/new.ex:538
#, elixir-autogen, elixir-format
msgid "You can separately share live location with the matched person and stop sharing at any time."
msgstr ""
@ -4581,7 +4571,7 @@ msgstr ""
msgid "Your completion confirmation is saved."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:507
#: lib/who_need_help_web/live/request_live/new.ex:520
#, elixir-autogen, elixir-format
msgid "Your exact position is not shown"
msgstr ""
@ -4605,3 +4595,33 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "← Community helpers"
msgstr "← Community helpers"
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Area selected. Drag the green pin or click the map to move it."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:470
#, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move the area"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:473
#, elixir-autogen, elixir-format
msgid "Click the map or drag the red pin to move the point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:390
#, elixir-autogen, elixir-format
msgid "Drag to move the approximate area"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:391
#, elixir-autogen, elixir-format
msgid "Drag to move the exact point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:388
#, elixir-autogen, elixir-format
msgid "Exact point selected. Drag the red pin or click the map to move it."
msgstr ""

View File

@ -286,7 +286,7 @@ msgstr "Одобренные участники"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:80
#: lib/who_need_help_web/live/activity_live/new.ex:261
#: lib/who_need_help_web/live/request_live/new.ex:418
#: lib/who_need_help_web/live/request_live/new.ex:422
#, elixir-autogen, elixir-format
msgid "Approximate area"
msgstr "Примерный район"
@ -991,7 +991,7 @@ msgid "Join requests close"
msgstr "Приём заявок завершается"
#: lib/who_need_help_web/live/activity_live/new.ex:285
#: lib/who_need_help_web/live/request_live/new.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:569
#, elixir-autogen, elixir-format
msgid "Latitude"
msgstr "Широта"
@ -1050,7 +1050,7 @@ msgid "Logged out successfully."
msgstr "Вы успешно вышли."
#: lib/who_need_help_web/live/activity_live/new.ex:292
#: lib/who_need_help_web/live/request_live/new.ex:566
#: lib/who_need_help_web/live/request_live/new.ex:583
#, elixir-autogen, elixir-format
msgid "Longitude"
msgstr "Долгота"
@ -1444,7 +1444,7 @@ msgstr "Пожалуйста, проверьте представленные п
msgid "Please check the submitted message."
msgstr "Пожалуйста, проверьте отправленное сообщение."
#: lib/who_need_help_web/live/request_live/new.ex:398
#: lib/who_need_help_web/live/request_live/new.ex:402
#, elixir-autogen, elixir-format
msgid "Podil, near the central pharmacy"
msgstr "Подол, рядом с центральной аптекой"
@ -1555,13 +1555,13 @@ msgstr "Опубликовать активность"
msgid "Publish proposal"
msgstr "Опубликовать предложение"
#: lib/who_need_help_web/live/request_live/new.ex:620
#: lib/who_need_help_web/live/request_live/new.ex:637
#, elixir-autogen, elixir-format
msgid "Publish request"
msgstr "Опубликовать заявку"
#: lib/who_need_help_web/live/activity_live/new.ex:311
#: lib/who_need_help_web/live/request_live/new.ex:618
#: lib/who_need_help_web/live/request_live/new.ex:635
#, elixir-autogen, elixir-format
msgid "Publishing…"
msgstr "Публикация…"
@ -4208,7 +4208,7 @@ msgstr ""
msgid "A volunteer accepted this request. Use private chat to coordinate safely."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:523
#: lib/who_need_help_web/live/request_live/new.ex:536
#, elixir-autogen, elixir-format
msgid "After a helper accepts"
msgstr "После принятия заявки помощником"
@ -4218,17 +4218,12 @@ msgstr "После принятия заявки помощником"
msgid "Already registered? Check your email"
msgstr "Уже зарегистрированы?"
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Approximate area selected. Your exact position is not stored."
msgstr "Примерная зона выбрана. Точная позиция не сохраняется."
#: lib/who_need_help_web/live/request_live/new.ex:397
#: lib/who_need_help_web/live/request_live/new.ex:401
#, elixir-autogen, elixir-format
msgid "Area or public landmark"
msgstr "Район или публичный ориентир"
#: lib/who_need_help_web/live/request_live/new.ex:487
#: lib/who_need_help_web/live/request_live/new.ex:500
#, elixir-autogen, elixir-format
msgid "Area radius"
msgstr "Радиус зоны"
@ -4259,7 +4254,7 @@ msgid "Choose a category from the same mode."
msgstr "Выберите категорию"
#: lib/who_need_help_web/live/request_live/new.ex:383
#: lib/who_need_help_web/live/request_live/new.ex:540
#: lib/who_need_help_web/live/request_live/new.ex:553
#, elixir-autogen, elixir-format
msgid "Choose a place on the map or use your current location."
msgstr "Выберите место на карте или используйте текущую геопозицию."
@ -4300,7 +4295,7 @@ msgstr ""
msgid "Date"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:544
#: lib/who_need_help_web/live/request_live/new.ex:561
#, elixir-autogen, elixir-format
msgid "Enter coordinates manually"
msgstr "Ввести координаты вручную"
@ -4310,22 +4305,17 @@ msgstr "Ввести координаты вручную"
msgid "Enter the six digits shown to the requester."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:432
#: lib/who_need_help_web/live/request_live/new.ex:436
#, elixir-autogen, elixir-format
msgid "Exact point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:387
#, elixir-autogen, elixir-format, fuzzy
msgid "Exact public point selected."
msgstr "Выбрана точная публичная точка."
#: lib/who_need_help_web/live/request_live/new.ex:610
#: lib/who_need_help_web/live/request_live/new.ex:627
#, elixir-autogen, elixir-format
msgid "Fix the following details and publish again:"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:546
#: lib/who_need_help_web/live/request_live/new.ex:563
#, elixir-autogen, elixir-format
msgid "For an approximate area, these coordinates are the area center—not your exact position."
msgstr "Для примерной зоны эти координаты задают центр области, а не вашу точную позицию."
@ -4365,7 +4355,7 @@ msgstr ""
msgid "Helper:"
msgstr "Помощник"
#: lib/who_need_help_web/live/request_live/new.ex:468
#: lib/who_need_help_web/live/request_live/new.ex:481
#, elixir-autogen, elixir-format
msgid "Helpers will see only the area or landmark written above. You can share a live location later after matching."
msgstr "Помощники увидят только указанный выше район или ориентир. После совпадения можно отдельно поделиться геопозицией."
@ -4390,17 +4380,17 @@ msgstr ""
msgid "In 3 hours"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:389
#: lib/who_need_help_web/live/request_live/new.ex:393
#, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser."
msgstr "Геопозиция недоступна в этом браузере."
#: lib/who_need_help_web/live/request_live/new.ex:390
#: lib/who_need_help_web/live/request_live/new.ex:394
#, elixir-autogen, elixir-format
msgid "Location permission was denied."
msgstr "Доступ к геопозиции отклонён."
#: lib/who_need_help_web/live/request_live/new.ex:508
#: lib/who_need_help_web/live/request_live/new.ex:521
#, elixir-autogen, elixir-format
msgid "Move the map area so it covers a useful public meeting place."
msgstr "Переместите зону так, чтобы она охватывала удобное публичное место встречи."
@ -4410,17 +4400,17 @@ msgstr "Переместите зону так, чтобы она охватыв
msgid "New notice"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:466
#: lib/who_need_help_web/live/request_live/new.ex:479
#, elixir-autogen, elixir-format
msgid "No coordinates will be stored"
msgstr "Координаты не будут сохранены"
#: lib/who_need_help_web/live/request_live/new.ex:388
#: lib/who_need_help_web/live/request_live/new.ex:392
#, elixir-autogen, elixir-format
msgid "No map coordinates will be stored."
msgstr "Координаты на карте не будут сохранены."
#: lib/who_need_help_web/live/request_live/new.ex:446
#: lib/who_need_help_web/live/request_live/new.ex:450
#, elixir-autogen, elixir-format
msgid "No map location"
msgstr "Не показывать место на карте"
@ -4435,7 +4425,7 @@ msgstr "Ссылки на соцсети не добавлены."
msgid "Only notices submitted while signed in appear here. Notices submitted without an account remain accessible through their private email link."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:447
#: lib/who_need_help_web/live/request_live/new.ex:451
#, elixir-autogen, elixir-format
msgid "Only the public area description"
msgstr "Только публичное описание района"
@ -4477,7 +4467,7 @@ msgstr ""
msgid "Read"
msgstr "Прочитайте"
#: lib/who_need_help_web/live/request_live/new.ex:419
#: lib/who_need_help_web/live/request_live/new.ex:423
#, elixir-autogen, elixir-format
msgid "Recommended for privacy"
msgstr "Рекомендуется для приватности"
@ -4502,7 +4492,7 @@ msgstr "Срок действия заявки (UTC)"
msgid "Request to join again"
msgstr "Подать заявку на участие"
#: lib/who_need_help_web/live/request_live/new.ex:609
#: lib/who_need_help_web/live/request_live/new.ex:626
#, elixir-autogen, elixir-format
msgid "Request was not published"
msgstr ""
@ -4554,7 +4544,7 @@ msgstr "Начало"
msgid "Status updates go to the email address of your signed-in account."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:459
#: lib/who_need_help_web/live/request_live/new.ex:463
#, elixir-autogen, elixir-format
msgid "The map is unavailable. You can use the manual coordinate fallback."
msgstr "Карта недоступна. Можно использовать резервный ручной ввод координат."
@ -4569,7 +4559,7 @@ msgstr ""
msgid "This activity is closed. The group chat remains available as read-only history."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:401
#: lib/who_need_help_web/live/request_live/new.ex:405
#, elixir-autogen, elixir-format
msgid "This description is visible to everyone. Do not enter a private address."
msgstr "Это описание видно всем. Не указывайте частный адрес."
@ -4599,7 +4589,7 @@ msgstr ""
msgid "This person has not added a public bio yet."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:515
#: lib/who_need_help_web/live/request_live/new.ex:528
#, elixir-autogen, elixir-format
msgid "This point is public"
msgstr "Эта точка видна всем"
@ -4634,7 +4624,7 @@ msgstr ""
msgid "Tomorrow"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:516
#: lib/who_need_help_web/live/request_live/new.ex:529
#, elixir-autogen, elixir-format
msgid "Use a safe public meeting point instead of a private address."
msgstr "Укажите безопасное публичное место встречи вместо частного адреса."
@ -4644,7 +4634,7 @@ msgstr "Укажите безопасное публичное место вст
msgid "Use another email"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:483
#: lib/who_need_help_web/live/request_live/new.ex:496
#, elixir-autogen, elixir-format, fuzzy
msgid "Use my location"
msgstr "Использовать мою геопозицию"
@ -4682,7 +4672,7 @@ msgstr ""
msgid "View my requests"
msgstr "Новое обращение"
#: lib/who_need_help_web/live/request_live/new.ex:433
#: lib/who_need_help_web/live/request_live/new.ex:437
#, elixir-autogen, elixir-format
msgid "Visible before matching"
msgstr "Видно до принятия заявки"
@ -4697,12 +4687,12 @@ msgstr ""
msgid "Voted"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:406
#: lib/who_need_help_web/live/request_live/new.ex:410
#, elixir-autogen, elixir-format
msgid "What should people see?"
msgstr "Что должны видеть другие?"
#: lib/who_need_help_web/live/request_live/new.ex:394
#: lib/who_need_help_web/live/request_live/new.ex:398
#, elixir-autogen, elixir-format
msgid "Where is help needed?"
msgstr "Где нужна помощь?"
@ -4717,7 +4707,7 @@ msgstr ""
msgid "You are not a participant. You can send a new request while registration is open."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:525
#: lib/who_need_help_web/live/request_live/new.ex:538
#, elixir-autogen, elixir-format
msgid "You can separately share live location with the matched person and stop sharing at any time."
msgstr "Можно отдельно поделиться геопозицией с подобранным человеком и остановить передачу в любой момент."
@ -4737,7 +4727,7 @@ msgstr ""
msgid "Your completion confirmation is saved."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:507
#: lib/who_need_help_web/live/request_live/new.ex:520
#, elixir-autogen, elixir-format
msgid "Your exact position is not shown"
msgstr "Ваша точная позиция не показывается"
@ -4761,3 +4751,33 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "← Community helpers"
msgstr "Помощники сообщества"
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Area selected. Drag the green pin or click the map to move it."
msgstr "Область выбрана. Перетащите зелёный маркер или нажмите на карту, чтобы переместить её."
#: lib/who_need_help_web/live/request_live/new.ex:470
#, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move the area"
msgstr "Нажмите на карту или перетащите зелёный маркер, чтобы переместить область"
#: lib/who_need_help_web/live/request_live/new.ex:473
#, elixir-autogen, elixir-format
msgid "Click the map or drag the red pin to move the point"
msgstr "Нажмите на карту или перетащите красный маркер, чтобы переместить точку"
#: lib/who_need_help_web/live/request_live/new.ex:390
#, elixir-autogen, elixir-format
msgid "Drag to move the approximate area"
msgstr "Перетащите, чтобы переместить приблизительную область"
#: lib/who_need_help_web/live/request_live/new.ex:391
#, elixir-autogen, elixir-format
msgid "Drag to move the exact point"
msgstr "Перетащите, чтобы переместить точную точку"
#: lib/who_need_help_web/live/request_live/new.ex:388
#, elixir-autogen, elixir-format
msgid "Exact point selected. Drag the red pin or click the map to move it."
msgstr "Точная точка выбрана. Перетащите красный маркер или нажмите на карту, чтобы переместить её."

View File

@ -286,7 +286,7 @@ msgstr "Схвалені учасники"
#: lib/who_need_help_web/controllers/page_html/home.html.heex:80
#: lib/who_need_help_web/live/activity_live/new.ex:261
#: lib/who_need_help_web/live/request_live/new.ex:418
#: lib/who_need_help_web/live/request_live/new.ex:422
#, elixir-autogen, elixir-format
msgid "Approximate area"
msgstr "Орієнтовний район"
@ -988,7 +988,7 @@ msgid "Join requests close"
msgstr "Приймання заявок завершується"
#: lib/who_need_help_web/live/activity_live/new.ex:285
#: lib/who_need_help_web/live/request_live/new.ex:552
#: lib/who_need_help_web/live/request_live/new.ex:569
#, elixir-autogen, elixir-format
msgid "Latitude"
msgstr "Широта"
@ -1047,7 +1047,7 @@ msgid "Logged out successfully."
msgstr "Ви успішно вийшли."
#: lib/who_need_help_web/live/activity_live/new.ex:292
#: lib/who_need_help_web/live/request_live/new.ex:566
#: lib/who_need_help_web/live/request_live/new.ex:583
#, elixir-autogen, elixir-format
msgid "Longitude"
msgstr "Довгота"
@ -1438,7 +1438,7 @@ msgstr "Будь ласка, перевірте вказані поля."
msgid "Please check the submitted message."
msgstr "Будь ласка, перевірте надіслане повідомлення."
#: lib/who_need_help_web/live/request_live/new.ex:398
#: lib/who_need_help_web/live/request_live/new.ex:402
#, elixir-autogen, elixir-format
msgid "Podil, near the central pharmacy"
msgstr "Поділь, поблизу центральної аптеки."
@ -1549,13 +1549,13 @@ msgstr "Опублікувати активність"
msgid "Publish proposal"
msgstr "Оприлюднити пропозицію"
#: lib/who_need_help_web/live/request_live/new.ex:620
#: lib/who_need_help_web/live/request_live/new.ex:637
#, elixir-autogen, elixir-format
msgid "Publish request"
msgstr "Опублікувати заявку"
#: lib/who_need_help_web/live/activity_live/new.ex:311
#: lib/who_need_help_web/live/request_live/new.ex:618
#: lib/who_need_help_web/live/request_live/new.ex:635
#, elixir-autogen, elixir-format
msgid "Publishing…"
msgstr "Публікація…"
@ -4198,7 +4198,7 @@ msgstr ""
msgid "A volunteer accepted this request. Use private chat to coordinate safely."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:523
#: lib/who_need_help_web/live/request_live/new.ex:536
#, elixir-autogen, elixir-format
msgid "After a helper accepts"
msgstr "Після прийняття заявки помічником"
@ -4208,17 +4208,12 @@ msgstr "Після прийняття заявки помічником"
msgid "Already registered? Check your email"
msgstr "Уже зареєстровані?"
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Approximate area selected. Your exact position is not stored."
msgstr "Обрано приблизну зону. Точна позиція не зберігається."
#: lib/who_need_help_web/live/request_live/new.ex:397
#: lib/who_need_help_web/live/request_live/new.ex:401
#, elixir-autogen, elixir-format
msgid "Area or public landmark"
msgstr "Район або публічний орієнтир"
#: lib/who_need_help_web/live/request_live/new.ex:487
#: lib/who_need_help_web/live/request_live/new.ex:500
#, elixir-autogen, elixir-format
msgid "Area radius"
msgstr "Радіус зони"
@ -4249,7 +4244,7 @@ msgid "Choose a category from the same mode."
msgstr "Виберіть категорію"
#: lib/who_need_help_web/live/request_live/new.ex:383
#: lib/who_need_help_web/live/request_live/new.ex:540
#: lib/who_need_help_web/live/request_live/new.ex:553
#, elixir-autogen, elixir-format
msgid "Choose a place on the map or use your current location."
msgstr "Оберіть місце на карті або використайте поточну геопозицію."
@ -4290,7 +4285,7 @@ msgstr ""
msgid "Date"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:544
#: lib/who_need_help_web/live/request_live/new.ex:561
#, elixir-autogen, elixir-format
msgid "Enter coordinates manually"
msgstr "Ввести координати вручну"
@ -4300,22 +4295,17 @@ msgstr "Ввести координати вручну"
msgid "Enter the six digits shown to the requester."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:432
#: lib/who_need_help_web/live/request_live/new.ex:436
#, elixir-autogen, elixir-format
msgid "Exact point"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:387
#, elixir-autogen, elixir-format, fuzzy
msgid "Exact public point selected."
msgstr "Обрано точну публічну точку."
#: lib/who_need_help_web/live/request_live/new.ex:610
#: lib/who_need_help_web/live/request_live/new.ex:627
#, elixir-autogen, elixir-format
msgid "Fix the following details and publish again:"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:546
#: lib/who_need_help_web/live/request_live/new.ex:563
#, elixir-autogen, elixir-format
msgid "For an approximate area, these coordinates are the area center—not your exact position."
msgstr "Для приблизної зони ці координати задають центр області, а не вашу точну позицію."
@ -4355,7 +4345,7 @@ msgstr ""
msgid "Helper:"
msgstr "Помічник"
#: lib/who_need_help_web/live/request_live/new.ex:468
#: lib/who_need_help_web/live/request_live/new.ex:481
#, elixir-autogen, elixir-format
msgid "Helpers will see only the area or landmark written above. You can share a live location later after matching."
msgstr "Помічники бачитимуть лише вказаний вище район або орієнтир. Після збігу можна окремо поділитися геопозицією."
@ -4380,17 +4370,17 @@ msgstr ""
msgid "In 3 hours"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:389
#: lib/who_need_help_web/live/request_live/new.ex:393
#, elixir-autogen, elixir-format
msgid "Location is unavailable in this browser."
msgstr "Геопозиція недоступна в цьому браузері."
#: lib/who_need_help_web/live/request_live/new.ex:390
#: lib/who_need_help_web/live/request_live/new.ex:394
#, elixir-autogen, elixir-format
msgid "Location permission was denied."
msgstr "Доступ до геопозиції відхилено."
#: lib/who_need_help_web/live/request_live/new.ex:508
#: lib/who_need_help_web/live/request_live/new.ex:521
#, elixir-autogen, elixir-format
msgid "Move the map area so it covers a useful public meeting place."
msgstr "Перемістіть зону так, щоб вона охоплювала зручне публічне місце зустрічі."
@ -4400,17 +4390,17 @@ msgstr "Перемістіть зону так, щоб вона охоплюва
msgid "New notice"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:466
#: lib/who_need_help_web/live/request_live/new.ex:479
#, elixir-autogen, elixir-format
msgid "No coordinates will be stored"
msgstr "Координати не зберігатимуться"
#: lib/who_need_help_web/live/request_live/new.ex:388
#: lib/who_need_help_web/live/request_live/new.ex:392
#, elixir-autogen, elixir-format
msgid "No map coordinates will be stored."
msgstr "Координати на карті не зберігатимуться."
#: lib/who_need_help_web/live/request_live/new.ex:446
#: lib/who_need_help_web/live/request_live/new.ex:450
#, elixir-autogen, elixir-format
msgid "No map location"
msgstr "Не показувати місце на карті"
@ -4425,7 +4415,7 @@ msgstr "Не додано соціальних посилань."
msgid "Only notices submitted while signed in appear here. Notices submitted without an account remain accessible through their private email link."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:447
#: lib/who_need_help_web/live/request_live/new.ex:451
#, elixir-autogen, elixir-format
msgid "Only the public area description"
msgstr "Лише публічний опис району"
@ -4467,7 +4457,7 @@ msgstr ""
msgid "Read"
msgstr "Прочитайте"
#: lib/who_need_help_web/live/request_live/new.ex:419
#: lib/who_need_help_web/live/request_live/new.ex:423
#, elixir-autogen, elixir-format
msgid "Recommended for privacy"
msgstr "Рекомендовано для приватності"
@ -4492,7 +4482,7 @@ msgstr "Запит закінчується (UTC)"
msgid "Request to join again"
msgstr "Подати заявку на участь"
#: lib/who_need_help_web/live/request_live/new.ex:609
#: lib/who_need_help_web/live/request_live/new.ex:626
#, elixir-autogen, elixir-format
msgid "Request was not published"
msgstr ""
@ -4544,7 +4534,7 @@ msgstr "Початок"
msgid "Status updates go to the email address of your signed-in account."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:459
#: lib/who_need_help_web/live/request_live/new.ex:463
#, elixir-autogen, elixir-format
msgid "The map is unavailable. You can use the manual coordinate fallback."
msgstr "Карта недоступна. Можна використати резервне ручне введення координат."
@ -4559,7 +4549,7 @@ msgstr ""
msgid "This activity is closed. The group chat remains available as read-only history."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:401
#: lib/who_need_help_web/live/request_live/new.ex:405
#, elixir-autogen, elixir-format
msgid "This description is visible to everyone. Do not enter a private address."
msgstr "Цей опис бачать усі. Не вказуйте приватну адресу."
@ -4589,7 +4579,7 @@ msgstr ""
msgid "This person has not added a public bio yet."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:515
#: lib/who_need_help_web/live/request_live/new.ex:528
#, elixir-autogen, elixir-format
msgid "This point is public"
msgstr "Цю точку видно всім"
@ -4624,7 +4614,7 @@ msgstr ""
msgid "Tomorrow"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:516
#: lib/who_need_help_web/live/request_live/new.ex:529
#, elixir-autogen, elixir-format
msgid "Use a safe public meeting point instead of a private address."
msgstr "Вкажіть безпечне публічне місце зустрічі замість приватної адреси."
@ -4634,7 +4624,7 @@ msgstr "Вкажіть безпечне публічне місце зустрі
msgid "Use another email"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:483
#: lib/who_need_help_web/live/request_live/new.ex:496
#, elixir-autogen, elixir-format, fuzzy
msgid "Use my location"
msgstr "Використати мою геопозицію"
@ -4672,7 +4662,7 @@ msgstr ""
msgid "View my requests"
msgstr "Нове звернення"
#: lib/who_need_help_web/live/request_live/new.ex:433
#: lib/who_need_help_web/live/request_live/new.ex:437
#, elixir-autogen, elixir-format
msgid "Visible before matching"
msgstr "Видно до прийняття заявки"
@ -4687,12 +4677,12 @@ msgstr ""
msgid "Voted"
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:406
#: lib/who_need_help_web/live/request_live/new.ex:410
#, elixir-autogen, elixir-format
msgid "What should people see?"
msgstr "Що мають бачити інші?"
#: lib/who_need_help_web/live/request_live/new.ex:394
#: lib/who_need_help_web/live/request_live/new.ex:398
#, elixir-autogen, elixir-format
msgid "Where is help needed?"
msgstr "Де потрібна допомога?"
@ -4707,7 +4697,7 @@ msgstr ""
msgid "You are not a participant. You can send a new request while registration is open."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:525
#: lib/who_need_help_web/live/request_live/new.ex:538
#, elixir-autogen, elixir-format
msgid "You can separately share live location with the matched person and stop sharing at any time."
msgstr "Можна окремо поділитися геопозицією з підібраною людиною та зупинити передачу будь-коли."
@ -4727,7 +4717,7 @@ msgstr ""
msgid "Your completion confirmation is saved."
msgstr ""
#: lib/who_need_help_web/live/request_live/new.ex:507
#: lib/who_need_help_web/live/request_live/new.ex:520
#, elixir-autogen, elixir-format
msgid "Your exact position is not shown"
msgstr "Вашу точну позицію не показано"
@ -4751,3 +4741,33 @@ msgstr ""
#, elixir-autogen, elixir-format, fuzzy
msgid "← Community helpers"
msgstr "Помічники спільноти"
#: lib/who_need_help_web/live/request_live/new.ex:385
#, elixir-autogen, elixir-format
msgid "Area selected. Drag the green pin or click the map to move it."
msgstr "Область вибрано. Перетягніть зелений маркер або натисніть на карту, щоб перемістити її."
#: lib/who_need_help_web/live/request_live/new.ex:470
#, elixir-autogen, elixir-format
msgid "Click the map or drag the green pin to move the area"
msgstr "Натисніть на карту або перетягніть зелений маркер, щоб перемістити область"
#: lib/who_need_help_web/live/request_live/new.ex:473
#, elixir-autogen, elixir-format
msgid "Click the map or drag the red pin to move the point"
msgstr "Натисніть на карту або перетягніть червоний маркер, щоб перемістити точку"
#: lib/who_need_help_web/live/request_live/new.ex:390
#, elixir-autogen, elixir-format
msgid "Drag to move the approximate area"
msgstr "Перетягніть, щоб перемістити приблизну область"
#: lib/who_need_help_web/live/request_live/new.ex:391
#, elixir-autogen, elixir-format
msgid "Drag to move the exact point"
msgstr "Перетягніть, щоб перемістити точну точку"
#: lib/who_need_help_web/live/request_live/new.ex:388
#, elixir-autogen, elixir-format
msgid "Exact point selected. Drag the red pin or click the map to move it."
msgstr "Точну точку вибрано. Перетягніть червоний маркер або натисніть на карту, щоб перемістити її."