clone of github.com/decent-newsroom/newsroom
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

34 lines
812 B

import { Controller } from '@hotwired/stimulus';
/**
* Simple analytics controller to record page visits
*/
export default class extends Controller {
static values = {
path: String
}
connect() {
// Record the visit when the controller connects
this.recordVisit();
}
recordVisit() {
// Get the current route path
const path = this.pathValue || window.location.pathname;
// Send visit data to API
fetch('/api/visit', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
route: path
})
})
.catch(error => {
console.error('Error recording visit:', error);
});
}
}