From 73a856a05c5b5821af7685a9ae102b6a9f83c90c Mon Sep 17 00:00:00 2001 From: kike <112205366+kike-alt@users.noreply.github.com> Date: Thu, 24 Sep 2026 21:58:29 +0100 Subject: [PATCH] feat(analytics): map base canvas container and localized recent gists feed --- .../components/analytics/MapBaseComponent.tsx | 29 +++++++++++++++ .../components/analytics/RecentGistsFeed.tsx | 37 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 Frontend/src/components/analytics/MapBaseComponent.tsx create mode 100644 Frontend/src/components/analytics/RecentGistsFeed.tsx diff --git a/Frontend/src/components/analytics/MapBaseComponent.tsx b/Frontend/src/components/analytics/MapBaseComponent.tsx new file mode 100644 index 00000000..80a3514f --- /dev/null +++ b/Frontend/src/components/analytics/MapBaseComponent.tsx @@ -0,0 +1,29 @@ +import React from 'react'; + +export interface MapBaseProps { + latitude?: number; + longitude?: number; + zoom?: number; + children?: React.ReactNode; +} + +export const MapBaseComponent: React.FC = ({ + latitude = 0, + longitude = 0, + zoom = 12, + children, +}) => { + return ( +
+
+ Lat: {latitude.toFixed(4)} | Lng: {longitude.toFixed(4)} | Zoom: {zoom} +
+
+ [Interactive Spatial Map Canvas Viewport] +
+ {children} +
+ ); +}; + +export default MapBaseComponent; diff --git a/Frontend/src/components/analytics/RecentGistsFeed.tsx b/Frontend/src/components/analytics/RecentGistsFeed.tsx new file mode 100644 index 00000000..066fe649 --- /dev/null +++ b/Frontend/src/components/analytics/RecentGistsFeed.tsx @@ -0,0 +1,37 @@ +import React from 'react'; + +export interface FeedGistItem { + id: string; + snippet: string; + timestamp: string; +} + +export interface RecentGistsFeedProps { + items?: FeedGistItem[]; +} + +export const RecentGistsFeed: React.FC = ({ + items = [], +}) => { + return ( +
+

+ Recent Gists in Selected Area +

+
+ {items.length === 0 ? ( +

No recent gists found in this bounding box.

+ ) : ( + items.map(item => ( +
+

{item.snippet}

+ {item.timestamp} +
+ )) + )} +
+
+ ); +}; + +export default RecentGistsFeed;