diff --git a/webapp/public/toll-camera.jpg b/webapp/public/toll-camera.jpg new file mode 100644 index 0000000..7e81b8b Binary files /dev/null and b/webapp/public/toll-camera.jpg differ diff --git a/webapp/src/App.vue b/webapp/src/App.vue index 488dcc3..3b82297 100644 --- a/webapp/src/App.vue +++ b/webapp/src/App.vue @@ -17,8 +17,9 @@ const items = [ { title: 'Known Operators', icon: 'mdi-police-badge', to: '/operators' }, { title: 'About', icon: 'mdi-information', to: '/about' }, { title: 'Contact', icon: 'mdi-email', to: '/contact' }, - { title: 'Feature Roadmap', icon: 'mdi-road-variant', to: '/roadmap' }, - { title: 'GitHub', icon: 'mdi-github', href: 'https://github.com/frillweeman/deflock'} + // { title: 'Feature Roadmap', icon: 'mdi-road-variant', to: '/roadmap' }, + { title: 'GitHub', icon: 'mdi-github', href: 'https://github.com/frillweeman/deflock'}, + { title: 'Donate', icon: 'mdi-heart', href: 'https://github.com/sponsors/frillweeman'} ] const drawer = ref(false) @@ -64,6 +65,7 @@ watch(() => theme.global.name.value, (newTheme) => { link :to="item.to" :href="item.href" + :target="{ '_blank': item.href }" >{{ item.icon }}{{ item.title }} diff --git a/webapp/src/services/apiService.ts b/webapp/src/services/apiService.ts index 1a6c00e..42460a3 100644 --- a/webapp/src/services/apiService.ts +++ b/webapp/src/services/apiService.ts @@ -72,7 +72,7 @@ export const getClusters = async () => { } export const getCities = async () => { - const s3Url = "https://deflock-clusters.s3.us-east-1.amazonaws.com/flock_cameras.json"; + const s3Url = "https://deflock-clusters.s3.us-east-1.amazonaws.com/flock_cameras_null.json"; const response = await apiService.get(s3Url); return response.data; } diff --git a/webapp/src/views/OperatorsView.vue b/webapp/src/views/OperatorsView.vue index f4c9422..20f0288 100644 --- a/webapp/src/views/OperatorsView.vue +++ b/webapp/src/views/OperatorsView.vue @@ -21,10 +21,18 @@ :headers="headers" :items="filteredCities" :items-per-page="8" + :sort-by="[ { key: 'state', order: 'asc' } ]" > + + diff --git a/webapp/src/views/WhatIsAnALPRView.vue b/webapp/src/views/WhatIsAnALPRView.vue index dc19f9d..a33adf8 100644 --- a/webapp/src/views/WhatIsAnALPRView.vue +++ b/webapp/src/views/WhatIsAnALPRView.vue @@ -58,9 +58,9 @@ While Flock Safety is a common brand of ALPRs in the US, there are several others, including Vigilant Solutions, owned by Motorola Solutions. Flock Safety ALPRs are easy to spot as they almost all look the same, typically mounted on poles with a solar panel on top. In rural areas, they are likely to be on standalone black poles, while in cities, they are more likely to be on existing utility or traffic poles. The cameras are often placed near intersections or on main roads at the edge of a city or town. Vigilant Solutions ALPRs, on the other hand, are typically mounted on traffic poles at or near intersections, with a distinctive white box mounted nearby.

-

Not All Cameras are ALPRs

+

Not All Cameras are Law Enforcement ALPRs

- Not all cameras near roads are ALPRs. Many people mistakenly assume that every traffic camera or intersection camera is an ALPR, but that's not true. Here are some things ALPRs are not: + Not all cameras near roads are ALPRs operated by law enforcement. Many people mistakenly assume that every traffic camera or intersection camera is an ALPR, but the reality is more nuanced. Here are some common types of cameras you might see near roads:

@@ -76,10 +76,10 @@

These cameras are set up to capture violations, such as running a red light or speeding. They may record plate numbers when a violation is detected, but they do not perform continuous surveillance or collect location data over time.

-

Security Cameras

+

Toll Cameras

- -

Cameras used by businesses or homeowners for security purposes may capture vehicles incidentally, but they are not specifically designed to automatically read and record license plates.

+ +

Cameras on toll roads are used to capture license plates for billing purposes. They are not designed to track vehicles or store data beyond the transaction.