import {writeFile, readFile} from 'node:fs/promises'
import {join} from 'node:path';

import {getOdtTemplate} from '../scripts/odf/odtTemplate-forNode.js'
import {fillOdtTemplate} from '../exports.js'

/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/template-anniversaire.odt')
const data = {
    nom: 'David Bruant',
    dateNaissance: '8 mars 1987'
}
*/

/*const templatePath = join(import.meta.dirname, '../tests/fixtures/enum-courses.odt')
const data = {
    listeCourses : [
        'Radis',
        `Jus d'orange`,
        'Pâtes à lasagne (fraîches !)'
    ]
}*/

/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/liste-fruits-et-légumes.odt')
const data = {
    fruits : [
        'Pastèque 🍉',
        `Kiwi 🥝`,
        'Banane 🍌'
    ],
    légumes: [
        'Champignon 🍄‍🟫',
        'Avocat 🥑',
        'Poivron 🫑'
    ]
}*/

/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/légumes-de-saison.odt')
const data = {
    légumesSaison : [
        {
            saison: 'Printemps',
            légumes: [
                'Asperge',
                'Betterave',
                'Blette'
            ]
        },
        {
            saison: 'Été',
            légumes: [
                'Courgette',
                'Poivron',
                'Laitue'
            ]
        },
        {
            saison: 'Automne',
            légumes: [
                'Poireau',
                'Potiron',
                'Brocoli'
            ]
        },
        {
            saison: 'Hiver',
            légumes: [
                'Radis',
                'Chou de Bruxelles',
                'Frisée'
            ]
        }
    ]
}
*/

/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/tableau-simple.odt')
const data = {
    annéeConsos : [
        { année: 1970, conso: 36252.637},
        { année: 1980, conso: 43328.78},
        { année: 1990, conso: 46971.94},
        { année: 2000, conso: 53147.277},
        { année: 2010, conso: 48062.32},
        { année: 2020, conso: 37859.246},
    ]
}
    */


/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/template-avec-image.odt')

const data = {
    commentaire : `J'adooooooore 🤩 West covinaaaaaaaaaaa 🎶`
}
*/
/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/partially-formatted-variable.odt')
const data = {nombre : 37}
*/  

/*
const templatePath = join(import.meta.dirname, '../tests/fixtures/text-after-closing-each.odt')
const data = {
    saison: 'Printemps',
    légumes: [
        'Asperge',
        'Betterave',
        'Blette'
    ]
}
*/
// const templatePath = join(import.meta.dirname, '../tests/fixtures/text-after-closing-each.odt')
// const data = {
//     saison: 'Printemps',
//     légumes: [
//         'Asperge',
//         'Betterave',
//         'Blette'
//     ]
// }

// const templatePath = join(import.meta.dirname, '../tests/fixtures/if-then-each.odt')
// const data = {liste_départements : ['95', '33']}


const templatePath = join(import.meta.dirname, '../tests/fixtures/basic-image-insertion.odt')
const photo1Path = join(import.meta.dirname, '../tests/fixtures/pitchou-1.png')
const photo2Path = join(import.meta.dirname, '../tests/fixtures/pitchou-2.png')

const photo1Buffer = (await readFile(photo1Path)).buffer
const photo2Buffer = (await readFile(photo2Path)).buffer

const photos = [{content: photo1Buffer, fileName: 'pitchou-1.png', mediaType: 'image/png'}, {content: photo2Buffer, fileName: 'pitchou-2.png', mediaType: 'image/png'}]

const data = {
    title: 'Titre de mon projet',
    photos,
}


const odtTemplate = await getOdtTemplate(templatePath)
const odtResult = await fillOdtTemplate(odtTemplate, data)

writeFile('yo.odt', new Uint8Array(odtResult))
