From 4ba10c24a44a298c6800169ce5f79668e73cbb5e Mon Sep 17 00:00:00 2001
From: Mikhail Chandran
Both{" "}
-
+
Places API
{" "}
and{" "}
@@ -35,14 +38,16 @@ export default function ApiUsagePage() {
Competitions API
{" "}
are public, unauthenticated, read-only endpoints. This page is the honest answer
- to "how much can I call this" - what's actually enforced, not what
- might be assumed.
+ to "how much can I call this" - what's actually enforced, not
+ what might be assumed.
@@ -50,7 +55,10 @@ export default function ApiUsagePage() {
requests-per-minute style limit. What bounds them instead is pagination and
caching, below. If that ever changes (a key requirement, a 429 response), it
will show up on the{" "}
-
+
changelog
{" "}
and this page gets updated alongside it - don't build something that
@@ -62,7 +70,9 @@ export default function ApiUsagePage() {
@@ -107,8 +119,8 @@ export default function ApiUsagePage() {
Cache-Control
{" "}
header with a 6-hour max age. The underlying datasets change a few times a
- week at most, so polling more often than that gets you the same data,
- served from cache either way.
+ week at most, so polling more often than that gets you the same data, served
+ from cache either way.
Nothing stops a tight polling loop today, but nothing has to reward it either.
Respect the 6-hour cache window, page through large pulls with{" "}
-
The map, calendar, and competitions catalog are fully public and need no
- account. Signing in only unlocks a handful of private, per-user features -
- this page is what those store.
+ account. Signing in only unlocks a handful of private, per-user features - this
+ page is what those store.
diff --git a/src/app/docs/(article)/roadmap/page.tsx b/src/app/docs/(article)/roadmap/page.tsx
index a8a2b46..aabf87a 100644
--- a/src/app/docs/(article)/roadmap/page.tsx
+++ b/src/app/docs/(article)/roadmap/page.tsx
@@ -72,11 +72,11 @@ export default function RoadmapPage() {
diff --git a/src/app/docs/(article)/verification-process/page.tsx b/src/app/docs/(article)/verification-process/page.tsx
index ce2035d..c8a7908 100644
--- a/src/app/docs/(article)/verification-process/page.tsx
+++ b/src/app/docs/(article)/verification-process/page.tsx
@@ -31,7 +31,9 @@ export default function VerificationProcessPage() {
@@ -78,15 +80,15 @@ export default function VerificationProcessPage() {
>
Confirm the address and entrance still match what's on the map, and that
- the place is still open and operating. If anything has actually changed - name,
- address, permanently closed - that's a correction, not a verification;
- say so in the issue instead of confirming stale data.
+ the place is still open and operating. If anything has actually changed -
+ name, address, permanently closed - that's a correction, not a
+ verification; say so in the issue instead of confirming stale data.
{humanizeCity(place.city)}
+ {humanizeCity(place.city)}
+
{place.address}
diff --git a/src/components/map/embed-map.tsx b/src/components/map/embed-map.tsx
index 57ad5b7..39e9fd9 100644
--- a/src/components/map/embed-map.tsx
+++ b/src/components/map/embed-map.tsx
@@ -33,7 +33,8 @@ export function EmbedMap({ places }: EmbedMapProps) {
);
const visible = React.useMemo(
- () => filterPlaces(places, { types: state.types, city: state.city, query: state.query }),
+ () =>
+ filterPlaces(places, { types: state.types, city: state.city, query: state.query }),
[places, state.types, state.city, state.query],
);
@@ -53,7 +54,9 @@ export function EmbedMap({ places }: EmbedMapProps) {
focusId={state.placeId}
focusBounds={focusBounds}
closePopupTrigger={0}
- center={state.lat !== null && state.lng !== null ? [state.lat, state.lng] : undefined}
+ center={
+ state.lat !== null && state.lng !== null ? [state.lat, state.lng] : undefined
+ }
zoom={state.zoom ?? studyMapConfig.defaultZoom}
/>
@@ -98,7 +108,9 @@ export default function ApiUsagePage() {
- offset
- {" "}
+ offset{" "}
instead of raising{" "}
-
- limit
- {" "}
+ limit{" "}
past what you need, and if you're running something that calls either
endpoint thousands of times a day, say so in an issue - that's exactly the
kind of usage that would justify adding real rate limiting.
diff --git a/src/app/docs/(article)/embedding-widget/page.tsx b/src/app/docs/(article)/embedding-widget/page.tsx
index dbb4629..ea03813 100644
--- a/src/app/docs/(article)/embedding-widget/page.tsx
+++ b/src/app/docs/(article)/embedding-widget/page.tsx
@@ -35,9 +35,7 @@ export default function EmbeddingWidgetPage() {
/embed is a
second, chrome-free version of the map: no navbar, no sidebar, no sign-in - just
the pins, sized to fit wherever you put it. It's meant to be put inside an{" "}
-
- <iframe>
- {" "}
+ <iframe>{" "}
on a school, library, or organization's own site.
diff --git a/src/app/docs/(article)/privacy-data/page.tsx b/src/app/docs/(article)/privacy-data/page.tsx
index 7262a83..f288979 100644
--- a/src/app/docs/(article)/privacy-data/page.tsx
+++ b/src/app/docs/(article)/privacy-data/page.tsx
@@ -23,7 +23,7 @@ const TABLES: { name: string; stores: string; note?: string }[] = [
},
{
name: "user_home",
- stores: "One lat/lng, if you've set a home location (powers \"Near me\" sorting).",
+ stores: 'One lat/lng, if you\'ve set a home location (powers "Near me" sorting).',
},
{
name: "user_events",
@@ -46,8 +46,8 @@ export default function PrivacyDataPage() {
verified
{" "}
diff --git a/src/components/home/city-switcher.tsx b/src/components/home/city-switcher.tsx
index c9fb647..1372961 100644
--- a/src/components/home/city-switcher.tsx
+++ b/src/components/home/city-switcher.tsx
@@ -65,7 +65,12 @@ export function CitySwitcher({ cities, className }: CitySwitcherProps) {
}
return (
-
- {formatDistance(distanceKm)} away{" "} - from home, straight-line. Roughly {formatWalkingEta(distanceKm)} walking at a 5 km/h - pace, not a real route, so actual walking distance and time can differ. + + {formatDistance(distanceKm)} away + {" "} + from home, straight-line. Roughly {formatWalkingEta(distanceKm)} walking at a 5 + km/h pace, not a real route, so actual walking distance and time can differ.
{place.address}
++ {place.address} +
)} diff --git a/src/components/pins/place-review-badge.tsx b/src/components/pins/place-review-badge.tsx index 9f761c6..4ac871c 100644 --- a/src/components/pins/place-review-badge.tsx +++ b/src/components/pins/place-review-badge.tsx @@ -31,7 +31,11 @@ export interface PlaceReviewBadgeProps { * for a future UI layer that sources ratings from elsewhere (e.g. hardcoded * on a features/showcase list) and passes them in directly. */ -export function PlaceReviewBadge({ rating, reviewCount, className }: PlaceReviewBadgeProps) { +export function PlaceReviewBadge({ + rating, + reviewCount, + className, +}: PlaceReviewBadgeProps) { if (rating == null && reviewCount == null) return null; let label: string;