feat(todo): a pin in the map's middle, and what is around it (ADR 0033, D32)

The location picker fills the screen with its map, the search floating
over it. A pin stays in the middle, lifting while the map moves, as
Molly's; where it lands the instance names the address and lists the
places around, as Threema's. That is `nearby` on the search endpoint,
for those signed in, the point neither kept nor logged, counted among
the searches: two lookups, as a plain one finds house numbers alone.

Fixes the map's credit, which overflowed a phone and was pale on white.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-11-05 23:42:06 +01:00
commit ce07fab193
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -27,6 +27,7 @@ import 'label/label.dart' as _ivak08z4;
import 'privacy/content_key.dart' as _imed3x5d;
import 'project/project.dart' as _i9c44spp;
import 'project/section.dart' as _imadkvi9;
import 'search/nearby.dart' as _ispk4ita;
import 'search/place.dart' as _iadh29yw;
import 'search/place_point.dart' as _itf0ur2u;
import 'search/search_refused.dart' as _ihbxkwke;
@ -36,6 +37,7 @@ export 'label/label.dart';
export 'privacy/content_key.dart';
export 'project/project.dart';
export 'project/section.dart';
export 'search/nearby.dart';
export 'search/place.dart';
export 'search/place_point.dart';
export 'search/search_refused.dart';
@ -509,6 +511,9 @@ class Protocol extends _isd.DatabaseSerializationManager {
if (t == _imadkvi9.Section) {
return _imadkvi9.Section.fromJson(data) as T;
}
if (t == _ispk4ita.Nearby) {
return _ispk4ita.Nearby.fromJson(data) as T;
}
if (t == _iadh29yw.Place) {
return _iadh29yw.Place.fromJson(data) as T;
}
@ -536,6 +541,9 @@ class Protocol extends _isd.DatabaseSerializationManager {
if (t == _isc.getType<_imadkvi9.Section?>()) {
return (data != null ? _imadkvi9.Section.fromJson(data) : null) as T;
}
if (t == _isc.getType<_ispk4ita.Nearby?>()) {
return (data != null ? _ispk4ita.Nearby.fromJson(data) : null) as T;
}
if (t == _isc.getType<_iadh29yw.Place?>()) {
return (data != null ? _iadh29yw.Place.fromJson(data) : null) as T;
}
@ -552,6 +560,10 @@ class Protocol extends _isd.DatabaseSerializationManager {
if (t == _isc.getType<_ib4f8uyw.Task?>()) {
return (data != null ? _ib4f8uyw.Task.fromJson(data) : null) as T;
}
if (t == List<_iadh29yw.Place>) {
return (data as List).map((e) => deserialize<_iadh29yw.Place>(e)).toList()
as T;
}
if (t == List<_i15767wh.Place>) {
return (data as List).map((e) => deserialize<_i15767wh.Place>(e)).toList()
as T;
@ -580,6 +592,7 @@ class Protocol extends _isd.DatabaseSerializationManager {
_imed3x5d.ContentKey => 'ContentKey',
_i9c44spp.Project => 'Project',
_imadkvi9.Section => 'Section',
_ispk4ita.Nearby => 'Nearby',
_iadh29yw.Place => 'Place',
_itf0ur2u.PlacePoint => 'PlacePoint',
_ihbxkwke.SearchRefused => 'SearchRefused',
@ -610,6 +623,8 @@ class Protocol extends _isd.DatabaseSerializationManager {
return 'Project';
case _imadkvi9.Section():
return 'Section';
case _ispk4ita.Nearby():
return 'Nearby';
case _iadh29yw.Place():
return 'Place';
case _itf0ur2u.PlacePoint():
@ -668,6 +683,9 @@ class Protocol extends _isd.DatabaseSerializationManager {
if (dataClassName == 'Section') {
return deserialize<_imadkvi9.Section>(data['data']);
}
if (dataClassName == 'Nearby') {
return deserialize<_ispk4ita.Nearby>(data['data']);
}
if (dataClassName == 'Place') {
return deserialize<_iadh29yw.Place>(data['data']);
}