Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

Commit

Permalink
Update data managment and printing
Browse files Browse the repository at this point in the history
  • Loading branch information
LeoColomb committed Dec 13, 2018
1 parent e153882 commit 0c24bf6
Show file tree
Hide file tree
Showing 7 changed files with 736 additions and 857 deletions.
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,3 @@ _Alpha version_
- [ ] Full name and description
- [ ] Logo and styles ([example](https://github.com/sindresorhus/refined-github/tree/master/media))
- [ ] Parse data from https://github.com/mdiplo/Medias_francais
- [ ] Add extra data (ref)
25 changes: 19 additions & 6 deletions source/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,23 @@ import { isEmpty } from './libs/utils'

localforage.setDriver([localforage.INDEXEDDB, localforage.WEBSQL])

const sitesStore = localforage.createInstance({name: "sites"})
const entitiesStore = localforage.createInstance({name: "entities"})

browser.runtime.onInstalled.addListener(async event => {
if (event.reason === 'install') {
const { default: data } = await import(/* webpackChunkName: "sites" */ './data/sites.json')
for (const site in data) {
sitesStore.setItem(site, data[site])
}
}
})

browser.runtime.onInstalled.addListener(async event => {
if (event.reason === 'install') {
const { default: data } = await import(/* webpackChunkName: "data" */ './data.json')
for (let site in data) {
localforage.setItem(site, data[site])
const { default: data } = await import(/* webpackChunkName: "entities" */ './data/entities.json')
for (const ref in data) {
entitiesStore.setItem(ref, data[ref])
}
}
})
Expand All @@ -16,10 +28,11 @@ browser.runtime.onMessage.addListener(async message => {
if (!message || message.action !== 'request') {
return
}
const data = await localforage.getItem(message.hostname)
if (isEmpty(data)) {
const site = await sitesStore.getItem(message.hostname)
if (isEmpty(site)) {
return
}
// await browser.tabs.insertCSS({ file: 'content.css' })
return data
let dad = await Promise.all(site.map(async name => ((await entitiesStore.getItem(name)) || {name})))
return dad
})
13 changes: 2 additions & 11 deletions source/content.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,7 @@ import { safeElementReady, isEmpty } from './libs/utils'
window.select = select

function dataToString(data) {
if (isEmpty(data)) {
return ''
}
if (!Array.isArray(data)) {
return data
}
const lastEl = data.pop()
return [data.join(', '), lastEl].join(' et ')
return data.reduce((acc, entity) => entity.link ? `${acc} <a href="${entity.link}">${entity.name}</a>,` : `${acc} ${entity.name},`, '')
}

async function init () {
Expand All @@ -32,9 +25,7 @@ async function init () {

const box = document.createElement('p')
box.className = 'capitext-box'
box.innerHTML = `Ce média appartient
aux groupes ${dataToString(boxData['group'])}
et aux actionnaires ${dataToString(boxData['holders'])}.`
box.innerHTML = `Ce média appartient à ${dataToString(boxData)}.`
select('body').append(box)
}

Expand Down
Loading

0 comments on commit 0c24bf6

Please sign in to comment.