mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 10:15:31 +00:00
Move analytics out of Winamp library
This commit is contained in:
parent
547c819919
commit
aeb9522a47
3 changed files with 25 additions and 17 deletions
29
js/index.js
29
js/index.js
|
|
@ -17,6 +17,7 @@ import {
|
|||
SET_BALANCE,
|
||||
SET_BAND_VALUE
|
||||
} from "./actionTypes";
|
||||
import analyticsMiddleware from "./analyticsMiddleware";
|
||||
|
||||
import {
|
||||
hideAbout,
|
||||
|
|
@ -51,6 +52,20 @@ Raven.config(sentryDsn, {
|
|||
release: typeof COMMITHASH !== "undefined" ? COMMITHASH : "DEV"
|
||||
}).install();
|
||||
|
||||
const ravenMiddleware = createMiddleware(Raven, {
|
||||
filterBreadcrumbActions,
|
||||
stateTransformer: state => ({
|
||||
...state,
|
||||
display: {
|
||||
...state.display,
|
||||
skinGenLetterWidths: "[[REDACTED]]",
|
||||
skinImages: "[[REDACTED]]",
|
||||
skinCursors: "[[REDACTED]]",
|
||||
skinRegion: "[[REDACTED]]"
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
// Don't prompt user to install Winamp2-js. It's probably not
|
||||
// what they want.
|
||||
window.addEventListener("beforeinstallprompt", e => {
|
||||
|
|
@ -114,19 +129,7 @@ Raven.context(() => {
|
|||
],
|
||||
enableHotkeys: true,
|
||||
__initialState: initialState,
|
||||
__customMiddleware: createMiddleware(Raven, {
|
||||
filterBreadcrumbActions,
|
||||
stateTransformer: state => ({
|
||||
...state,
|
||||
display: {
|
||||
...state.display,
|
||||
skinGenLetterWidths: "[[REDACTED]]",
|
||||
skinImages: "[[REDACTED]]",
|
||||
skinCursors: "[[REDACTED]]",
|
||||
skinRegion: "[[REDACTED]]"
|
||||
}
|
||||
})
|
||||
})
|
||||
__customMiddlewares: [analyticsMiddleware, ravenMiddleware]
|
||||
});
|
||||
|
||||
winamp.renderWhenReady(document.getElementById("app"));
|
||||
|
|
|
|||
11
js/store.js
11
js/store.js
|
|
@ -3,15 +3,20 @@ import thunk from "redux-thunk";
|
|||
import { composeWithDevTools } from "redux-devtools-extension";
|
||||
import reducer from "./reducers";
|
||||
import mediaMiddleware from "./mediaMiddleware";
|
||||
import analyticsMiddleware from "./analyticsMiddleware";
|
||||
import { merge } from "./utils";
|
||||
import { UPDATE_TIME_ELAPSED, STEP_MARQUEE } from "./actionTypes";
|
||||
import analyticsMiddleware from "./analyticsMiddleware";
|
||||
|
||||
const compose = composeWithDevTools({
|
||||
actionsBlacklist: [UPDATE_TIME_ELAPSED, STEP_MARQUEE]
|
||||
});
|
||||
|
||||
const getStore = (media, actionEmitter, customMiddleware, stateOverrides) => {
|
||||
const getStore = (
|
||||
media,
|
||||
actionEmitter,
|
||||
customMiddlewares = [],
|
||||
stateOverrides
|
||||
) => {
|
||||
let initialState;
|
||||
if (stateOverrides) {
|
||||
initialState = merge(
|
||||
|
|
@ -35,7 +40,7 @@ const getStore = (media, actionEmitter, customMiddleware, stateOverrides) => {
|
|||
thunk,
|
||||
mediaMiddleware(media),
|
||||
emitterMiddleware,
|
||||
customMiddleware,
|
||||
...customMiddlewares,
|
||||
analyticsMiddleware
|
||||
].filter(Boolean)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ class Winamp {
|
|||
this.store = getStore(
|
||||
this.media,
|
||||
this._actionEmitter,
|
||||
this.options.__customMiddleware,
|
||||
this.options.__customMiddlewares,
|
||||
this.options.__initialState
|
||||
);
|
||||
this.store.dispatch({
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue