diff --git a/package-lock.json b/package-lock.json index 48c68ce..4f74edb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1502,6 +1502,88 @@ "resolved": "https://registry.npmjs.org/@rooks/use-mutation-observer/-/use-mutation-observer-3.4.0.tgz", "integrity": "sha512-q10+v3WbvSt5fj55VMikTPaUZ9Yl+IYDsymodWr2+cKx0PD97VBeWYjk3xHJPqJgejBHwnrwiNkJKGFY5iW+WQ==" }, + "@sentry/browser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-6.0.0.tgz", + "integrity": "sha512-R4+MHb5FyVZCz3EVnaquvT1mwOM2MWP4gBqjYEADY5m0XWoHiJf0skFkWt8iEKJanzGbhl4PMb9gHuJj6YfVLw==", + "requires": { + "@sentry/core": "6.0.0", + "@sentry/types": "6.0.0", + "@sentry/utils": "6.0.0", + "tslib": "^1.9.3" + } + }, + "@sentry/core": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-6.0.0.tgz", + "integrity": "sha512-afAiOachs/WfGWc9LsJBFnJMhqQVENyzfSMnf7sLRvxPAw8n7IrXY0R09MKmG0SlAnTKN2pWoQFzFF+J3NuHBA==", + "requires": { + "@sentry/hub": "6.0.0", + "@sentry/minimal": "6.0.0", + "@sentry/types": "6.0.0", + "@sentry/utils": "6.0.0", + "tslib": "^1.9.3" + } + }, + "@sentry/hub": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-6.0.0.tgz", + "integrity": "sha512-s8IsW6LvEH7ACnniQcxxb/9uEyjmoQ/TAoryTJN2qyPzzrHTw8NCyMuJvK+8ivUvRViz5AvtuOFf8AJlh9lzeA==", + "requires": { + "@sentry/types": "6.0.0", + "@sentry/utils": "6.0.0", + "tslib": "^1.9.3" + } + }, + "@sentry/minimal": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-6.0.0.tgz", + "integrity": "sha512-daYdEzTr+ERMwViu6RpWHOfk0oZrSNqdx+7bejTqmFHqO4pt+9ZrMiw3vinL+MWQcKXwD95uXBz6O/ryrVdPtg==", + "requires": { + "@sentry/hub": "6.0.0", + "@sentry/types": "6.0.0", + "tslib": "^1.9.3" + } + }, + "@sentry/react": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-6.0.0.tgz", + "integrity": "sha512-GYX110NSodd8wGUbnyxemndTijM+U7dI/WjFSPOyJdLB2hzzPjJ9kUqtuobT/JlGzbWE2278WysAuySne6bUGw==", + "requires": { + "@sentry/browser": "6.0.0", + "@sentry/minimal": "6.0.0", + "@sentry/types": "6.0.0", + "@sentry/utils": "6.0.0", + "hoist-non-react-statics": "^3.3.2", + "tslib": "^1.9.3" + } + }, + "@sentry/tracing": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.0.0.tgz", + "integrity": "sha512-7Qes5godGCuvcEBxynFuRT5iiFR5aOfBdvdPmWnx29XbZKQvhjvBsDtdoVSQUmv/nCLtpH6UWeLwddFvXh3A2w==", + "requires": { + "@sentry/hub": "6.0.0", + "@sentry/minimal": "6.0.0", + "@sentry/types": "6.0.0", + "@sentry/utils": "6.0.0", + "tslib": "^1.9.3" + } + }, + "@sentry/types": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-6.0.0.tgz", + "integrity": "sha512-yueRSRGPCahuju/UMdtOt8LIIncbpwLINQd9Q8E4OXtoPpMHR6Oun8sMKCPd+Wq3piI5yRDzKkGCl+sH7mHVrA==" + }, + "@sentry/utils": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-6.0.0.tgz", + "integrity": "sha512-dMMWOT69bQ4CF1R33dOnXIOyiHRWsUAON3nFVljV1JNNTDA69YwaF9f5FIT0DKpO4qhgTlElsm8WgHI9prAVEQ==", + "requires": { + "@sentry/types": "6.0.0", + "tslib": "^1.9.3" + } + }, "@sheerun/mutationobserver-shim": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.3.tgz", diff --git a/package.json b/package.json index 1b7bb91..be8ed71 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ "@fortawesome/free-solid-svg-icons": "^5.14.0", "@fortawesome/react-fontawesome": "^0.1.11", "@material-ui/core": "^4.11.0", + "@sentry/react": "^6.0.0", + "@sentry/tracing": "^6.0.0", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.5.0", "@testing-library/user-event": "^7.2.1", diff --git a/src/components/Home.js b/src/components/Home.js index 889d019..d169d24 100644 --- a/src/components/Home.js +++ b/src/components/Home.js @@ -125,7 +125,6 @@ class Home extends Component { : null} - @@ -32,7 +32,7 @@ export class Account extends Component { Alle Angaben stammen von openSenseMap und können dort verwaltet werden. - + @@ -40,7 +40,7 @@ export class Account extends Component { - + @@ -48,30 +48,36 @@ export class Account extends Component { - + + + + + + + - -
+ +
{this.props.user.boxes.length < 1 ? Du hast noch keine senseBox registriert. Besuche openSenseMap um eine senseBox zu registrieren. - : - Du hast {this.props.user.boxes.length} {this.props.user.boxes.length === 1 ? 'senseBox' : 'senseBoxen'} registriert: + : + Du hast {this.props.user.boxes.length} {this.props.user.boxes.length === 1 ? 'senseBox' : 'senseBoxen'} registriert: }
{this.props.user.boxes.map((box, i) => { - var sensors = box.sensors.map(sensor => sensor.title ); + var sensors = box.sensors.map(sensor => sensor.title); return ( - {box.name} + {box.name} @@ -80,7 +86,7 @@ export class Account extends Component {
- Modell: + Modell: {box.model}
@@ -91,7 +97,7 @@ export class Account extends Component {
- Standort: + Standort: {`${box.exposure} (lon: ${box.currentLocation.coordinates[0]}, lat: ${box.currentLocation.coordinates[1]})`}
@@ -102,7 +108,7 @@ export class Account extends Component {
- Sensoren: + Sensoren: {sensors.join(', ')}
diff --git a/src/index.js b/src/index.js index f5185c1..34c2f28 100644 --- a/src/index.js +++ b/src/index.js @@ -3,6 +3,22 @@ import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; +import * as Sentry from "@sentry/react"; +import { Integrations } from "@sentry/tracing"; + + +Sentry.init({ + dsn: "https://ffe5d54461f64c46b4bed5d77c130d6f@o507523.ingest.sentry.io/5598758", + autoSessionTracking: true, + integrations: [ + new Integrations.BrowserTracing(), + ], + + // We recommend adjusting this value in production, or using tracesSampler + // for finer control + tracesSampleRate: 1.0, +}); + ReactDOM.render(