Skip to content

Commit 3d642f7

Browse files
authored
Merge pull request #621 from w3bdesign/dev
Fix "similar-code" issue in pages/produkter.js
2 parents 0d23938 + 8231a7b commit 3d642f7

File tree

3 files changed

+43
-48
lines changed

3 files changed

+43
-48
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import Header from 'components/Header/Header.component';
2+
import LoadingSpinner from 'components/LoadingSpinner/LoadingSpinner.component';
3+
import PageTitle from 'components/Title/PageTitle.component';
4+
5+
/**
6+
*
7+
* Reusable template for pages
8+
*
9+
*/
10+
11+
const PageTemplate = ({ input, title, children }) => {
12+
const error = false;
13+
14+
return (
15+
<>
16+
<Header title={title} />
17+
<PageTitle title={title} />
18+
{children}
19+
{!input && !error && (
20+
<div className="h-64 mt-8 text-2xl text-center">
21+
Laster ...
22+
<LoadingSpinner />
23+
</div>
24+
)}
25+
{/* Display error message if error occured */}
26+
{error && (
27+
<div className="h-12 mt-20 text-2xl text-center">
28+
Feil under lasting av produkter ...
29+
</div>
30+
)}
31+
</>
32+
);
33+
};
34+
35+
export default PageTemplate;

pages/kategorier.js

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import Header from 'components/Header/Header.component';
21
import Categories from 'components/Category/Categories.component';
3-
import LoadingSpinner from 'components/LoadingSpinner/LoadingSpinner.component';
4-
import PageTitle from 'components/Title/PageTitle.component';
2+
import PageTemplate from 'components/PageTemplate/PageTemplate.component';
53

64
import client from 'utils/apollo/ApolloClient.js';
75

@@ -11,29 +9,11 @@ import { FETCH_ALL_CATEGORIES_QUERY } from 'utils/gql/GQL_QUERIES';
119
* Category page displays all of the categories
1210
*/
1311
const CategoryPage = ({ categories }) => {
14-
const error = false;
15-
1612
return (
1713
<>
18-
<Header title="- Kategorier" />
19-
<PageTitle title="Kategorier" />
20-
21-
{categories && <Categories categories={categories} />}
22-
23-
{!categories && !error && (
24-
<div className="h-64 mt-8 text-2xl text-center">
25-
Laster ...
26-
<br />
27-
<LoadingSpinner />
28-
</div>
29-
)}
30-
31-
{/* Display error message if error occured */}
32-
{error && (
33-
<div className="h-12 mt-20 text-2xl text-center">
34-
Feil under lasting av kategorier ...
35-
</div>
36-
)}
14+
<PageTemplate title="Kategorier" input={categories}>
15+
{categories && <Categories categories={categories} />}
16+
</PageTemplate>
3717
</>
3818
);
3919
};

pages/produkter.js

Lines changed: 4 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import Header from 'components/Header/Header.component';
21
import IndexProducts from 'components/Product/IndexProducts.component';
3-
import LoadingSpinner from 'components/LoadingSpinner/LoadingSpinner.component';
4-
import PageTitle from 'components/Title/PageTitle.component';
2+
import PageTemplate from 'components/PageTemplate/PageTemplate.component';
53

64
import { FETCH_ALL_PRODUCTS_QUERY } from 'utils/gql/GQL_QUERIES';
75

@@ -14,29 +12,11 @@ import client from 'utils/apollo/ApolloClient.js';
1412
* Shows an error if the server is down or unreachable.
1513
*/
1614
const Produkter = ({ products }) => {
17-
const error = false;
18-
1915
return (
2016
<>
21-
<Header title="- Produkter" />
22-
<PageTitle title="Produkter" />
23-
24-
{products && <IndexProducts products={products} />}
25-
26-
{!products && !error && (
27-
<div className="h-64 mt-8 text-2xl text-center">
28-
Laster ...
29-
<br />
30-
<LoadingSpinner />
31-
</div>
32-
)}
33-
34-
{/* Display error message if error occured */}
35-
{error && (
36-
<div className="h-12 mt-20 text-2xl text-center">
37-
Feil under lasting av produkter ...
38-
</div>
39-
)}
17+
<PageTemplate title="Produkter" input={products}>
18+
{products && <IndexProducts products={products} />}
19+
</PageTemplate>
4020
</>
4121
);
4222
};

0 commit comments

Comments
 (0)