Rename and purple instant
This commit is contained in:
parent
f948efc06c
commit
6df2812a4e
8 changed files with 28 additions and 10 deletions
|
|
@ -14,8 +14,10 @@ function currentUserId(): string | null {
|
|||
*
|
||||
* Reads the user from the shared PocketBase authStore so it stays self-contained, with no need to
|
||||
* thread a user id down through the map layer tree. Returns a Set for O(1) membership checks in
|
||||
* the map's colour accessor; a fresh Set instance is produced on every change so it can double
|
||||
* as a deck.gl `updateTrigger` (identity-compared).
|
||||
* the map's colour accessor; a fresh Set instance is produced on every change so React re-renders.
|
||||
* Note: a Set can NOT be used directly as a deck.gl `updateTrigger` — deck diffs triggers with
|
||||
* `compareProps`, which finds no enumerable keys on a Set and reports "no change". Callers must
|
||||
* pass `Array.from(clickedUrls)` (or a version counter) as the trigger instead.
|
||||
*
|
||||
* Writes are optimistic: `markClicked` updates local state synchronously so the pin recolours
|
||||
* the instant it is clicked, independent of the PocketBase round-trip or the next listings fetch.
|
||||
|
|
|
|||
|
|
@ -385,7 +385,9 @@ export function useListingLayers({ listings, zoom, isDark }: UseListingLayersPro
|
|||
highlightColor: [29, 228, 195, 220],
|
||||
onHover: stableHover,
|
||||
onClick: stableClick,
|
||||
updateTriggers: { getFillColor: clickedUrls },
|
||||
// deck.gl can't diff a Set (no enumerable keys), so a click never
|
||||
// re-runs getFillColor until data changes. Feed it a diffable array.
|
||||
updateTriggers: { getFillColor: Array.from(clickedUrls) },
|
||||
}),
|
||||
[visibleListings, clickedUrls, stableHover, stableClick]
|
||||
);
|
||||
|
|
@ -483,7 +485,9 @@ export function useListingLayers({ listings, zoom, isDark }: UseListingLayersPro
|
|||
highlightColor: [29, 228, 195, 220],
|
||||
onHover: stableExpandedHover,
|
||||
onClick: stableExpandedClick,
|
||||
updateTriggers: { getFillColor: clickedUrls },
|
||||
// deck.gl can't diff a Set (no enumerable keys), so a click never
|
||||
// re-runs getFillColor until data changes. Feed it a diffable array.
|
||||
updateTriggers: { getFillColor: Array.from(clickedUrls) },
|
||||
}),
|
||||
[expandedListings, clickedUrls, stableExpandedHover, stableExpandedClick]
|
||||
);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ const de: Translations = {
|
|||
minute: 'Min.',
|
||||
or: 'oder',
|
||||
area: 'Gebiet',
|
||||
properties: 'Immobilien',
|
||||
properties: 'Verkaufte Immobilien',
|
||||
postcode: 'Postcode',
|
||||
noAreaSelected: 'Kein Gebiet ausgewählt',
|
||||
noAreaSelectedDesc:
|
||||
|
|
@ -631,6 +631,8 @@ const de: Translations = {
|
|||
email: 'E-Mail',
|
||||
emailPlaceholder: 'name@beispiel.de',
|
||||
password: 'Passwort',
|
||||
showPassword: 'Passwort anzeigen',
|
||||
hidePassword: 'Passwort verbergen',
|
||||
passwordPlaceholderRegister: 'Mind. 8 Zeichen',
|
||||
passwordPlaceholderLogin: 'Dein Passwort',
|
||||
forgotPassword: 'Passwort vergessen?',
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ const en = {
|
|||
minute: 'min',
|
||||
or: 'or',
|
||||
area: 'Area',
|
||||
properties: 'Properties',
|
||||
properties: 'Sold properties',
|
||||
postcode: 'Postcode',
|
||||
noAreaSelected: 'No area selected',
|
||||
noAreaSelectedDesc:
|
||||
|
|
@ -618,6 +618,8 @@ const en = {
|
|||
email: 'Email',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
password: 'Password',
|
||||
showPassword: 'Show password',
|
||||
hidePassword: 'Hide password',
|
||||
passwordPlaceholderRegister: 'Min 8 characters',
|
||||
passwordPlaceholderLogin: 'Your password',
|
||||
forgotPassword: 'Forgot password?',
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ const fr: Translations = {
|
|||
minute: 'min',
|
||||
or: 'ou',
|
||||
area: 'Secteur',
|
||||
properties: 'Biens',
|
||||
properties: 'Biens vendus',
|
||||
postcode: 'Code postal',
|
||||
noAreaSelected: 'Aucun secteur sélectionné',
|
||||
noAreaSelectedDesc:
|
||||
|
|
@ -642,6 +642,8 @@ const fr: Translations = {
|
|||
email: 'E-mail',
|
||||
emailPlaceholder: 'vous@exemple.com',
|
||||
password: 'Mot de passe',
|
||||
showPassword: 'Afficher le mot de passe',
|
||||
hidePassword: 'Masquer le mot de passe',
|
||||
passwordPlaceholderRegister: '8 caractères minimum',
|
||||
passwordPlaceholderLogin: 'Votre mot de passe',
|
||||
forgotPassword: 'Mot de passe oublié ?',
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ const hi: Translations = {
|
|||
minute: 'मिनट',
|
||||
or: 'या',
|
||||
area: 'क्षेत्र',
|
||||
properties: 'प्रॉपर्टीज़',
|
||||
properties: 'बिकी हुई प्रॉपर्टीज़',
|
||||
postcode: 'पोस्टकोड',
|
||||
noAreaSelected: 'कोई क्षेत्र चुना नहीं गया',
|
||||
noAreaSelectedDesc:
|
||||
|
|
@ -615,6 +615,8 @@ const hi: Translations = {
|
|||
email: 'ईमेल',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
password: 'पासवर्ड',
|
||||
showPassword: 'पासवर्ड दिखाएं',
|
||||
hidePassword: 'पासवर्ड छिपाएं',
|
||||
passwordPlaceholderRegister: 'कम से कम 8 अक्षर',
|
||||
passwordPlaceholderLogin: 'आपका पासवर्ड',
|
||||
forgotPassword: 'पासवर्ड भूल गए?',
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ const hu: Translations = {
|
|||
minute: 'perc',
|
||||
or: 'vagy',
|
||||
area: 'Terület',
|
||||
properties: 'Ingatlanok',
|
||||
properties: 'Eladott ingatlanok',
|
||||
postcode: 'Irányítószám',
|
||||
noAreaSelected: 'Nincs kiválasztott terület',
|
||||
noAreaSelectedDesc:
|
||||
|
|
@ -633,6 +633,8 @@ const hu: Translations = {
|
|||
email: 'E-mail',
|
||||
emailPlaceholder: 'te@pelda.hu',
|
||||
password: 'Jelszó',
|
||||
showPassword: 'Jelszó megjelenítése',
|
||||
hidePassword: 'Jelszó elrejtése',
|
||||
passwordPlaceholderRegister: 'Minimum 8 karakter',
|
||||
passwordPlaceholderLogin: 'Jelszavad',
|
||||
forgotPassword: 'Elfelejtetted a jelszavad?',
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ const zh: Translations = {
|
|||
minute: '分钟',
|
||||
or: '或',
|
||||
area: '区域',
|
||||
properties: '房产',
|
||||
properties: '已售房产',
|
||||
postcode: '邮编',
|
||||
noAreaSelected: '未选择区域',
|
||||
noAreaSelectedDesc: '点击地图上的任意彩色区域,查看治安、学校、房价等信息',
|
||||
|
|
@ -579,6 +579,8 @@ const zh: Translations = {
|
|||
email: '邮箱',
|
||||
emailPlaceholder: 'you@example.com',
|
||||
password: '密码',
|
||||
showPassword: '显示密码',
|
||||
hidePassword: '隐藏密码',
|
||||
passwordPlaceholderRegister: '至少 8 个字符',
|
||||
passwordPlaceholderLogin: '您的密码',
|
||||
forgotPassword: '忘记密码?',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue