Files
remanso/_scripts/change-theme-dark.ts
Julien Calixte 8e8706e258 chore: init oxc
2026-03-28 09:34:04 +01:00

50 lines
1.5 KiB
JavaScript

#!/usr/bin/env node
// Script pour changer facilement le thème sombre de l'application Remanso
// Usage: pnpm run theme:dark [theme-name]
import { readFileSync, writeFileSync } from 'fs'
import { join } from 'path'
import { commitTheme } from './change-theme'
// Chemins vers les fichiers
const themeConfigPath = join(__dirname, '..', 'src', 'theme.config.ts')
const appCssPath = join(__dirname, '..', 'src', 'styles', 'app.css')
// Vérifier les arguments
if (process.argv.length < 3) {
console.log('Usage: pnpm run theme:dark [theme-name]')
console.log('Exemple: pnpm run theme:dark business')
process.exit(1)
}
// Mode fixé à dark pour ce script
const mode = 'dark'
const newTheme = process.argv[2] // nom du nouveau thème
// Lire le contenu actuel du fichier de configuration
let themeConfigContent = readFileSync(themeConfigPath, 'utf8')
// Remplacer la valeur du thème sombre
themeConfigContent = themeConfigContent.replace(
/dark:\s*['"][^'"]*['"],/,
`dark: '${newTheme}',`
)
// Écrire le contenu mis à jour dans le fichier
writeFileSync(themeConfigPath, themeConfigContent)
// Mettre à jour également le fichier app.css pour le thème --prefersdark
let appCssContent = readFileSync(appCssPath, 'utf8')
appCssContent = appCssContent.replace(
/(\s+)([a-zA-Z0-9-]+)(\s+--prefersdark;)/,
`$1${newTheme}$3`
)
writeFileSync(appCssPath, appCssContent)
commitTheme(mode, newTheme)
console.log(`Thème ${mode} mis à jour avec succès vers: ${newTheme}`)
process.exit(0)