-
-
+
-
-
-
District
+
+
-
Location
+
+
- ID: {crime.id} -
-Date
+
+
Time
+
+
Type
+
+
+
ID: {crime.id}
+- - District ID: {district.id} -
-
-
Crime Level
-- This area has a {district.level || 'unknown'} level of crime based on incident reports. -
+ {/* Tab content with improved section headers */} +Crime Level
++ This area has a {district.level || "unknown"} level of crime based on incident reports. +
+
-
- Land area: {formatNumber(district.geographics.land_area)} km² -
- {district.geographics.address && ( +Geography
- Address: {district.geographics.address} + Land area: {formatNumber(district.geographics.land_area)} km²
- )} + {district.geographics.address && ( +Address: {district.geographics.address}
+ )} +Time Period
-- Data shown for {getTimePeriod()} -
+Time Period
++ Data shown for {getTimePeriod()} + {filterCategory !== "all" ? ` (${filterCategory} category)` : ""} +
+
-
- Total: {formatNumber(district.demographics.population || 0)} -
-- Density: {formatNumber(district.demographics.population_density || 0)} people/km² -
+Population
++ Total: {formatNumber(district.demographics.population || 0)} +
++ Density: {formatNumber(district.demographics.population_density || 0)} people/km² +
+Unemployment
-- {formatNumber(district.demographics.number_of_unemployed || 0)} unemployed people -
- {district.demographics.population && district.demographics.number_of_unemployed && ( +Unemployment
- Rate: {((district.demographics.number_of_unemployed / district.demographics.population) * 100).toFixed(1)}% + {formatNumber(district.demographics.number_of_unemployed || 0)} unemployed people
- )} + {district.demographics.population && district.demographics.number_of_unemployed && ( ++ Rate:{" "} + {( + (district.demographics.number_of_unemployed / district.demographics.population) * + 100 + ).toFixed(1)} + % +
+ )} +Crime Rate
- {district.number_of_crime && district.demographics.population ? ( -- {((district.number_of_crime / district.demographics.population) * 10000).toFixed(2)} crime incidents per 10,000 people -
- ) : ( -No data available
- )} +Crime Rate
+ {district.number_of_crime && district.demographics.population ? ( ++ {((district.number_of_crime / district.demographics.population) * 10000).toFixed(2)} crime + incidents per 10,000 people +
+ ) : ( +No data available
+ )} +- {incident.description || "No description"} -
-- {incident.timestamp ? new Date(incident.timestamp).toLocaleString() : "Unknown date"} -
+{incident.description || "No description"}
++ {incident.timestamp ? new Date(incident.timestamp).toLocaleString() : "Unknown date"} +
+Showing {allCrimeIncidents.length} of {district.number_of_crime} total incidents - {filterCategory !== 'all' ? ` for ${filterCategory} category` : ''} + {filterCategory !== "all" ? ` for ${filterCategory} category` : ""}
No crime incidents available to display{filterCategory !== 'all' ? ` for ${filterCategory}` : ''}.
++ No crime incidents available to display{filterCategory !== "all" ? ` for ${filterCategory}` : ""}. +
Total reported incidents: {district.number_of_crime || 0}
+
SIGAP Crime Map provides real-time visualization and analysis
of crime incidents across Jember region.
- Use the year, month, and category filters at the top to - refine the data shown on the map. -
++ Use the year, month, and category filters at the top to + refine the data shown on the map. +
+- Click on any district to view detailed crime statistics for that area. -
+ ++ Click on any district to view detailed crime statistics for that area. +
+- Click on incident markers to view details about specific crime reports. -
+ ++ Click on incident markers to view details about specific crime reports. +
+{title}
{title}
-