From f6537bad61216aedbb77227f0155852d851d4ebd Mon Sep 17 00:00:00 2001 From: vexorian Date: Sat, 16 Jan 2021 13:50:21 -0400 Subject: [PATCH] Visual Update --- index.js | 6 +++++- resources/dizquetv.png | Bin 14109 -> 14944 bytes resources/favicon.svg | 10 +++++----- src/database-migration.js | 41 +++++++++++++++++++++++++++++++++++--- src/svg/dizquetv.svg | 18 ++++++++--------- web/public/index.html | 4 +++- web/public/style.css | 7 +++++++ 7 files changed, 67 insertions(+), 19 deletions(-) diff --git a/index.js b/index.js index 36ea844..13af0b0 100644 --- a/index.js +++ b/index.js @@ -187,7 +187,11 @@ app.listen(process.env.PORT, () => { }) function initDB(db, channelDB) { - dbMigration.initDB(db, channelDB); + if (!fs.existsSync(process.env.DATABASE + '/images/dizquetv.png')) { + let data = fs.readFileSync(path.resolve(path.join(__dirname, 'resources/dizquetv.png'))) + fs.writeFileSync(process.env.DATABASE + '/images/dizquetv.png', data) + } + dbMigration.initDB(db, channelDB, __dirname); if (!fs.existsSync(process.env.DATABASE + '/font.ttf')) { let data = fs.readFileSync(path.resolve(path.join(__dirname, 'resources/font.ttf'))) fs.writeFileSync(process.env.DATABASE + '/font.ttf', data) diff --git a/resources/dizquetv.png b/resources/dizquetv.png index bac35538c2b2221a4e73d3ab5bf0411d488c9e45..f3c0eec12515570986668a5f2b884b1fe026be56 100644 GIT binary patch literal 14944 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 NzNLS&?8d#P{}0lvu}J^` diff --git a/resources/favicon.svg b/resources/favicon.svg index 679b6ea..8de1542 100644 --- a/resources/favicon.svg +++ b/resources/favicon.svg @@ -29,7 +29,7 @@ inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="3.0547013" - inkscape:cx="173.01248" + inkscape:cx="55.816079" inkscape:cy="84.726326" inkscape:document-units="mm" inkscape:current-layer="layer1" @@ -48,7 +48,7 @@ image/svg+xml - + @@ -58,7 +58,7 @@ id="layer1" transform="translate(0,-244.08278)"> + style="opacity:1;fill:#080808;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> addFPS(db) ], [ 601, 700, (db) => migrateWatermark(db) ], [ 700, 701, (db) => addScalingAlgorithm(db) ], + [ 701, 703, (db,channels,dir) => reAddIcon(dir) ], ] const { v4: uuidv4 } = require('uuid'); @@ -332,7 +333,7 @@ function commercialsRemover(db) { } -function initDB(db, channelDB ) { +function initDB(db, channelDB, dir ) { if (typeof(channelDB) === 'undefined') { throw Error("???"); } @@ -347,7 +348,7 @@ function initDB(db, channelDB ) { ran = true; console.log("Migrating from db version " + dbVersion.version + " to: " + STEPS[i][1] + "..."); try { - STEPS[i][2](db, channelDB); + STEPS[i][2](db, channelDB, dir); if (typeof(dbVersion._id) === 'undefined') { db['db-version'].save( {'version': STEPS[i][1] } ); } else { @@ -755,6 +756,40 @@ function addScalingAlgorithm(db) { fs.writeFileSync( f, JSON.stringify( [ffmpegSettings] ) ); } +function moveBackup(path) { + if (fs.existsSync(`${process.env.DATABASE}${path}`) ) { + let i = 0; + while (fs.existsSync( `${process.env.DATABASE}${path}.bak.${i}`) ) { + i++; + } + fs.renameSync(`${process.env.DATABASE}${path}`, `${process.env.DATABASE}${path}.bak.${i}` ); + } +} + +function reAddIcon(dir) { + moveBackup('/images/dizquetv.png'); + let data = fs.readFileSync(path.resolve(path.join(dir, 'resources/dizquetv.png'))); + fs.writeFileSync(process.env.DATABASE + '/images/dizquetv.png', data); + + if (fs.existsSync(`${process.env.DATABASE}/images/pseudotv.png`) ) { + moveBackup('/images/pseudotv.png'); + let data = fs.readFileSync(path.resolve(path.join(dir, 'resources/dizquetv.png'))); + fs.writeFileSync(process.env.DATABASE + '/images/pseudotv.png', data); + } + + moveBackup('/images/generic-error-screen.png'); + data = fs.readFileSync(path.resolve(path.join(dir, 'resources/generic-error-screen.png'))) + fs.writeFileSync(process.env.DATABASE + '/images/generic-error-screen.png', data) + + moveBackup('/images/generic-offline-screen.png'); + data = fs.readFileSync(path.resolve(path.join(dir, 'resources/generic-offline-screen.png'))); + fs.writeFileSync(process.env.DATABASE + '/images/generic-offline-screen.png', data); + + moveBackup('/images/loading-screen.png'); + data = fs.readFileSync(path.resolve(path.join(dir, 'resources/loading-screen.png'))) + fs.writeFileSync(process.env.DATABASE + '/images/loading-screen.png', data) +} + module.exports = { initDB: initDB, diff --git a/src/svg/dizquetv.svg b/src/svg/dizquetv.svg index 4224dbe..074a661 100644 --- a/src/svg/dizquetv.svg +++ b/src/svg/dizquetv.svg @@ -16,9 +16,9 @@ id="svg8" inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" sodipodi:docname="dizquetv.svg" - inkscape:export-filename="/home/vx/dev/dizqueanimation/01.png" - inkscape:export-xdpi="245.75999" - inkscape:export-ydpi="245.75999"> + inkscape:export-filename="/home/vx/dev/pseudotv/resources/dizquetv.png" + inkscape:export-xdpi="240" + inkscape:export-ydpi="240"> image/svg+xml - + @@ -58,7 +58,7 @@ id="layer1" transform="translate(0,-244.08278)"> + style="opacity:1;fill:#080808;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />