Skip to content

Commit 96ec861

Browse files
committed
load carbonads from the server side
1 parent f130349 commit 96ec861

3 files changed

Lines changed: 64 additions & 25 deletions

File tree

public/carbon.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

public/manifest.json

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
{
22
"name": "Hackertab.dev",
33
"description": "The Developer’s Homepage",
4-
"version": "1.12.1",
4+
"version": "1.12.2",
55
"manifest_version": 2,
66
"chrome_url_overrides": {
77
"newtab": "index.html"
88
},
99
"background": {
10-
"scripts": [
11-
"background.js"
12-
]
10+
"scripts": ["background.js"]
1311
},
14-
"permissions": [
15-
"https://*.hackertab.dev/*"
16-
],
12+
"permissions": ["https://*.hackertab.dev/*"],
1713
"icons": {
1814
"16": "/logos/logo16.png",
1915
"32": "/logos/logo32.png",
2016
"48": "/logos/logo48.png",
2117
"128": "/logos/logo128.png"
2218
},
23-
"content_security_policy": "script-src 'self' https://*.carbonads.com https://*.buysellads.net https://*.buysellads.com https://*.servedby-buysellads.com https://*.carbonads.net; object-src 'self'",
19+
"content_security_policy": "script-src 'self' object-src 'self'",
2420
"applications": {
2521
"gecko": {
2622
"id": "{f8793186-e9da-4332-aa1e-dc3d9f7bb04c}"

src/components/CarbonAd.js

Lines changed: 60 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,64 @@
1-
import React, { Component } from 'react';
2-
import './CarbonAd.css';
1+
import axios from 'axios'
2+
import React, { useEffect, useState } from 'react'
3+
import './CarbonAd.css'
34

4-
class CarbonAd extends Component {
5-
componentDidMount() {
6-
const carbon_wrapper = document.querySelector('.carbon-ad-wrapper')
7-
const script = document.createElement('script')
8-
script.src = process.env.PUBLIC_URL + '/carbon.js?serve=CESDP23I&placement=hackertabdev'
9-
script.async = true
10-
script.id = '_carbonads_js'
5+
export default function CarbonAd() {
6+
const [ad, setAd] = useState()
7+
const packageFile = require('../../package.json')
118

12-
carbon_wrapper.appendChild(script)
13-
}
9+
useEffect(() => {
10+
const setup = async () => {
11+
const userAgent = new URLSearchParams(navigator.userAgent).toString()
12+
var baseUrl = process.env.NODE_ENV === 'production' ? packageFile.proxy : ''
13+
const request = await axios.get(`${baseUrl}/monetization/?useragent=${userAgent}`)
14+
if (request.data) {
15+
setAd(request.data.ads[0])
16+
}
17+
}
18+
setup()
19+
}, [])
1420

15-
render() {
16-
return <div className="carbon-ad-wrapper blockRow" />
17-
}
18-
}
21+
return (
22+
<div className="carbon-ad-wrapper blockRow">
23+
{ad && (
24+
<div id="carbonads">
25+
<span>
26+
<span className="carbon-wrap">
27+
<a
28+
href={ad.statlink}
29+
className="carbon-img"
30+
target="_blank"
31+
rel="noopener sponsored"
32+
title={ad.company + ' ' + ad.companyTagline}>
33+
<img
34+
src={ad.smallImage}
35+
alt="ads via Carbon"
36+
border="0"
37+
height="100"
38+
width="130"
39+
style={{ background: ad.backgroundColor }}
40+
/>
41+
</a>
42+
43+
<a
44+
href={ad.statlink}
45+
className="carbon-text"
46+
target="_blank"
47+
rel="noopener sponsored">
48+
{ad.description}
49+
</a>
50+
</span>
1951

20-
export default CarbonAd;
52+
<a
53+
href={ad.ad_via_link}
54+
className="carbon-poweredby"
55+
target="_blank"
56+
rel="noopener sponsored">
57+
ads via Carbon
58+
</a>
59+
</span>
60+
</div>
61+
)}
62+
</div>
63+
)
64+
}

0 commit comments

Comments
 (0)