11import React , { Component } from 'react' ;
22import axios from 'axios' ;
3+ import ReactGA from 'react-ga' ;
34import { BrowserRouter , Route } from 'react-router-dom' ;
45import { BeatLoader } from 'react-spinners' ;
56
67import './App.css' ;
78
89import Home from './components/Home' ;
910import Content from './components/Content' ;
11+ import AppContainer from './components/AppContainer' ;
1012
1113class App extends Component {
1214 state = {
@@ -16,6 +18,13 @@ class App extends Component {
1618 loading : true
1719 }
1820
21+ constructor ( props ) {
22+ super ( props )
23+
24+ ReactGA . initialize ( 'UA-129387050-1' , { testMode : props . isTestMode } )
25+ ReactGA . pageview ( window . location . href )
26+ }
27+
1928 getData ( ) {
2029 const data = axios ( 'https://raw.githubusercontent.com/devsonket/devsonket.github.io/develop/data/index.json' ) ;
2130 return data ;
@@ -53,7 +62,7 @@ class App extends Component {
5362 render ( ) {
5463 const { searchAItem } = this ;
5564 const { tops, searchResult, data, loading } = this . state ;
56-
65+
5766 if ( loading ) {
5867 return < div className = "loader" >
5968 < BeatLoader color = { '#333' } />
@@ -62,14 +71,16 @@ class App extends Component {
6271
6372 return (
6473 < BrowserRouter >
65- < div className = "App" >
66- < Route exact path = "/" render = { props => (
67- < Home searchAItem = { searchAItem } tops = { tops } searchResult = { searchResult } data = { data } />
68- ) } />
69- < Route exact path = "/:id" render = { props => (
70- < Content { ...props } data = { data } />
71- ) } />
72- </ div >
74+ < AppContainer >
75+ < div className = "App" >
76+ < Route exact path = "/" render = { props => (
77+ < Home searchAItem = { searchAItem } tops = { tops } searchResult = { searchResult } data = { data } />
78+ ) } />
79+ < Route exact path = "/:id" render = { props => (
80+ < Content { ...props } data = { data } />
81+ ) } />
82+ </ div >
83+ </ AppContainer >
7384 </ BrowserRouter >
7485 ) ;
7586 }
0 commit comments