From 633490c636c5fc6b110926352711673662b6fda9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Barnab=C3=A1s=20Cz=C3=A9m=C3=A1n?= <trabarni@gmail.com>
Date: Sun, 11 Feb 2018 15:50:47 +0100
Subject: [PATCH] Revert "remove unnecesary files"

This reverts commit 6cd64065d255577f64dfca39aedefebb28ee112e.
---
 src/components/Header.js     |   8 +--
 src/config.js                |   0
 src/config.js.temp           |   1 +
 src/index.js                 |   2 +-
 src/registerServiceWorker.js | 108 +++++++++++++++++++++++++++++++++++
 src/routes.js                |  35 ++++++++++++
 6 files changed, 149 insertions(+), 5 deletions(-)
 create mode 100644 src/config.js
 create mode 100644 src/config.js.temp
 create mode 100644 src/registerServiceWorker.js
 create mode 100644 src/routes.js

diff --git a/src/components/Header.js b/src/components/Header.js
index 120c326..773780b 100644
--- a/src/components/Header.js
+++ b/src/components/Header.js
@@ -47,10 +47,10 @@ const FixedMenu = ({ user }) => (
             user.id ?
               <Button.Group>
                 <Button primary as={Link} to='/profile'>Profilom</Button>
-                <Button as='a' href='/api/v1/logout/' icon='sign out' />
+                <Button as='a' href='/api/v1/logout/' target="_blank" rel="noopener noreferrer" icon='sign out' />
               </Button.Group>
             :
-              <Button as='a' href='/api/v1/login/authsch/'>BejelentkezĂŠs</Button>
+              <Button as='a' href='/api/v1/login/authsch/'  target="_blank" rel="noopener noreferrer" >BejelentkezĂŠs</Button>
           }
         </Menu.Item>
       </Menu.Menu>
@@ -103,10 +103,10 @@ class Header extends Component {
                     this.props.user.id ?
                       <Button.Group>
                         <Button inverted as={Link} to='/profile'>Profilom</Button>
-                        <Button as='a' href='/api/v1/logout/' icon='sign out' />
+                        <Button as='a' href='/api/v1/logout/'  target="_blank" rel="noopener noreferrer"  icon='sign out' />
                       </Button.Group>
                     :
-                      <Button as='a' href='/api/v1/login/authsch/' inverted>BejelentkezĂŠs</Button>
+                      <Button as='a' href='/api/v1/login/authsch/'  target="_blank" rel="noopener noreferrer" inverted>BejelentkezĂŠs</Button>
                   }
                 </Menu.Item>
 
diff --git a/src/config.js b/src/config.js
new file mode 100644
index 0000000..e69de29
diff --git a/src/config.js.temp b/src/config.js.temp
new file mode 100644
index 0000000..6436d28
--- /dev/null
+++ b/src/config.js.temp
@@ -0,0 +1 @@
+export const APIKEY = '';
diff --git a/src/index.js b/src/index.js
index 3ee6391..a72306a 100644
--- a/src/index.js
+++ b/src/index.js
@@ -6,9 +6,9 @@ import 'slick-carousel/slick/slick.css';
 import 'slick-carousel/slick/slick-theme.css';
 import 'semantic-ui-css/semantic.min.css';
 
-import registerServiceWorker from './registerServiceWorker';
 import configureStore from './configureStore';
 import App from './components/App';
+import registerServiceWorker from './registerServiceWorker';
 
 const store = configureStore();
 
diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.js
new file mode 100644
index 0000000..4a3ccf0
--- /dev/null
+++ b/src/registerServiceWorker.js
@@ -0,0 +1,108 @@
+// In production, we register a service worker to serve assets from local cache.
+
+// This lets the app load faster on subsequent visits in production, and gives
+// it offline capabilities. However, it also means that developers (and users)
+// will only see deployed updates on the "N+1" visit to a page, since previously
+// cached resources are updated in the background.
+
+// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
+// This link also includes instructions on opting out of this behavior.
+
+const isLocalhost = Boolean(
+  window.location.hostname === 'localhost' ||
+    // [::1] is the IPv6 localhost address.
+    window.location.hostname === '[::1]' ||
+    // 127.0.0.1/8 is considered localhost for IPv4.
+    window.location.hostname.match(
+      /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
+    )
+);
+
+export default function register() {
+  if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
+    // The URL constructor is available in all browsers that support SW.
+    const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
+    if (publicUrl.origin !== window.location.origin) {
+      // Our service worker won't work if PUBLIC_URL is on a different origin
+      // from what our page is served on. This might happen if a CDN is used to
+      // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374
+      return;
+    }
+
+    window.addEventListener('load', () => {
+      const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
+
+      if (!isLocalhost) {
+        // Is not local host. Just register service worker
+        registerValidSW(swUrl);
+      } else {
+        // This is running on localhost. Lets check if a service worker still exists or not.
+        checkValidServiceWorker(swUrl);
+      }
+    });
+  }
+}
+
+function registerValidSW(swUrl) {
+  navigator.serviceWorker
+    .register(swUrl)
+    .then(registration => {
+      registration.onupdatefound = () => {
+        const installingWorker = registration.installing;
+        installingWorker.onstatechange = () => {
+          if (installingWorker.state === 'installed') {
+            if (navigator.serviceWorker.controller) {
+              // At this point, the old content will have been purged and
+              // the fresh content will have been added to the cache.
+              // It's the perfect time to display a "New content is
+              // available; please refresh." message in your web app.
+              console.log('New content is available; please refresh.');
+            } else {
+              // At this point, everything has been precached.
+              // It's the perfect time to display a
+              // "Content is cached for offline use." message.
+              console.log('Content is cached for offline use.');
+            }
+          }
+        };
+      };
+    })
+    .catch(error => {
+      console.error('Error during service worker registration:', error);
+    });
+}
+
+function checkValidServiceWorker(swUrl) {
+  // Check if the service worker can be found. If it can't reload the page.
+  fetch(swUrl)
+    .then(response => {
+      // Ensure service worker exists, and that we really are getting a JS file.
+      if (
+        response.status === 404 ||
+        response.headers.get('content-type').indexOf('javascript') === -1
+      ) {
+        // No service worker found. Probably a different app. Reload the page.
+        navigator.serviceWorker.ready.then(registration => {
+          registration.unregister().then(() => {
+            window.location.reload();
+          });
+        });
+      } else {
+        // Service worker found. Proceed as normal.
+        registerValidSW(swUrl);
+      }
+    })
+    .catch(() => {
+      console.log(
+        'No internet connection found. App is running in offline mode.'
+      );
+    });
+}
+
+export function unregister() {
+  if ('serviceWorker' in navigator) {
+    navigator.serviceWorker.ready.then(registration => {
+      registration.unregister();
+    });
+  }
+}
diff --git a/src/routes.js b/src/routes.js
new file mode 100644
index 0000000..b44e78e
--- /dev/null
+++ b/src/routes.js
@@ -0,0 +1,35 @@
+import { withRouter } from 'react-router-dom';
+
+export const publicRoutes = [
+  {
+    path: '/login',
+    component: Login,
+  },
+  {
+    path: '/register',
+    component: Register,
+  },
+  {
+    path: '/home',
+  },
+  {
+    path: '/news',
+  },
+  {
+    path: '/',
+  },
+  {
+    component: NotFound,
+  },
+];
+
+export const privateRoutes = [
+  {
+    path: '/home',
+    component: withRouter(Home),
+  },
+  {
+    path: '/store/details',
+    component: withRouter(Detail),
+  },
+]
-- 
GitLab