Skip to content

Commit

Permalink
Primary/Secondary FireFox Backgrounds (#25)
Browse files Browse the repository at this point in the history
* reformat code

* Added toggle switch

* Able to update state with background type

* Initializing the theme toggle switch

* Able to switch between backgrounds

* Added primary backgrounds

* Able to show hide search widget

* Updated changelog and bumped version to v8.1.0
  • Loading branch information
Unthrottled authored Feb 25, 2021
1 parent a1abb4a commit fddf3d1
Show file tree
Hide file tree
Showing 137 changed files with 485 additions and 464 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@ Changelog

# Unreleased

# 8.1.0

## FireFox

- Added support for [Primary and Secondary Backgrounds](https://github.com/doki-theme/doki-theme-web/issues/21)
- Added the ability to show/hide the new tab search widget.

# 8.0.0

## 4 New Themes
Expand Down
2 changes: 1 addition & 1 deletion buildAssets/templates/manifest.template.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "The Doki Theme",
"version": "8.0.0",
"version": "8.1.0",
"description": "Anime based themes for your chrome browser!",
"theme": {
"images": {
Expand Down
57 changes: 39 additions & 18 deletions buildSrc/src/BuildThemes.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// @ts-ignore
import {
ChromeDokiThemeDefinition,
DokiThemeDefinitions, FireFoxTheme,
DokiThemeDefinitions,
FireFoxTheme,
ManifestTemplate,
MasterDokiThemeDefinition,
StringDictonary
Expand Down Expand Up @@ -725,10 +726,11 @@ preBuild()
.then(() => {
// copy asset to directory
const storageShedPath = path.resolve(repoDirectory, '..', 'storage-shed', 'doki', 'backgrounds', 'chrome')
const highResTheme = [
const highResThemes = [
path.resolve(storageShedPath, 'hi-res', stickers.secondary && stickers.secondary.name || 'not_real'),
path.resolve(storageShedPath, 'hi-res', stickers.default.name),
].filter(hiResWaifu => fs.existsSync(hiResWaifu))[0];
].filter(hiResWaifu => fs.existsSync(hiResWaifu));
const highResTheme = highResThemes[0];
if (highResTheme) {
const highResThemeDirectory = path.resolve(hiResGeneratedThemesDirectory, themeDirectoryName);
return (fs.existsSync(highResThemeDirectory) ?
Expand All @@ -752,11 +754,13 @@ preBuild()

// copy high res image to firefox
const highResFireFoxBackgroundDirectory = path.resolve(firefoxThemeDirectory, 'images');
const highResFireFox = path.resolve(highResFireFoxBackgroundDirectory, path.basename(highResTheme));
fs.copyFileSync(
highResTheme,
highResFireFox
)
highResThemes.forEach(hiResTheme => {
const highResFireFox = path.resolve(highResFireFoxBackgroundDirectory, path.basename(hiResTheme));
fs.copyFileSync(
hiResTheme,
highResFireFox
)
});

resolve()
}
Expand All @@ -781,12 +785,22 @@ preBuild()

// back fill any firefox images that don't have
// high res.
const lowResFirefoxPath = path.resolve
(getBackgroundDirectory(firefoxThemeDirectory),
backgroundName)
if (!fs.existsSync(lowResFirefoxPath)) {
fs.copyFileSync(src, lowResFirefoxPath)
}
const bkNames = Object.values(stickers)
.map(sticker => sticker.name)
bkNames.forEach(bkName => {
const chromeLowerRes = path.resolve(repoDirectory, '..', 'storage-shed', 'doki', 'backgrounds', 'chrome',
bkName);
const lowResFallback = fs.existsSync(chromeLowerRes) ?
chromeLowerRes : path.resolve(repoDirectory, '..', 'doki-theme-assets', 'backgrounds', bkName);

const lowResFirefoxPath = path.resolve(
getBackgroundDirectory(firefoxThemeDirectory),
bkName
)
if (!fs.existsSync(lowResFirefoxPath)) {
fs.copyFileSync(lowResFallback, lowResFirefoxPath)
}
})
})
.catch(() => {
// skipping asset copies
Expand All @@ -798,7 +812,7 @@ preBuild()
// write things for firefox extension
const dokiThemeDefinitions = dokiThemes.map(dokiTheme => {
const dokiDefinition = dokiTheme.definition;
const defaultSticker = getDefaultSticker(getStickers(dokiDefinition, dokiTheme));
const stickers = getStickers(dokiDefinition, dokiTheme);
const relativeFireFoxAssetPath = `${FIRE_FOX_EXTENSION_ASSET_DIRECTORY}/${
getFireFoxThemeAssetDirectory(dokiDefinition)
}`
Expand All @@ -810,9 +824,16 @@ preBuild()
'ui',
'icons'
]),
imagePath: `${relativeFireFoxAssetPath}/images/${
defaultSticker.name
}`,
backgrounds: {
primary: `${relativeFireFoxAssetPath}/images/${
stickers.default.name
}`,
...(stickers.secondary ? {
secondary: `${relativeFireFoxAssetPath}/images/${
stickers.secondary.name
}`
} : {})
},
jsonPath: `${relativeFireFoxAssetPath}/theme.json`,
},
colors: dokiDefinition.colors,
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Aqua's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Aqua",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Aqua from KonoSuba",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Asuna Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Asuna Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Asuna from Sword Art Online",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Asuna Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Asuna Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Asuna from Sword Art Online",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Beatrice's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Beatrice",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Beatrice from Re Zero",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Darkness Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Darkness Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Darkness from KonoSuba",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Darkness Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Darkness Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Darkness from KonoSuba",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Echidna's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Echidna",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Echidna from Re Zero",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Emilia Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Emilia Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Emilia from Re Zero",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Emilia Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Emilia Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Emilia from Re Zero",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Hatsune Miku's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Hatsune Miku",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Miku from Miscellaneous",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Ishtar Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Ishtar Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Ishtar from Fate",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Ishtar Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Ishtar Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Ishtar from Fate",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Kanna's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Kanna",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Kanna from Miss Kobayashi's Dragon Maid",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Katsuragi Misato's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Katsuragi Misato",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Misato from Evangelion",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Konata's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Konata",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Konata from Lucky Star",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Mai Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Mai Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Mai from Bunny Senpai",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Mai Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Mai Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Mai from Bunny Senpai",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Makise Kurisu's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Makise Kurisu",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Kurisu from Steins Gate",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Megumin's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Megumin",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Megumin from KonoSuba",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Mioda Ibuki Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Mioda Ibuki Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Ibuki from DanganRonpa",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Mioda Ibuki Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Mioda Ibuki Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Ibuki from DanganRonpa",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Monika Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Monika Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Monika from Literature Club",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Monika Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Monika Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Monika from Literature Club",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Natsuki Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Natsuki Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Natsuki from Literature Club",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Natsuki Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Natsuki Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Natsuki from Literature Club",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Ram's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Ram",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Ram from Re Zero",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Rem's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Rem",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Rem from Re Zero",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Rias's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Rias",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Rias from High School DxD",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Rory Mercury's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Rory Mercury",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Rory from Gate",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Ryuko's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Ryuko",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Ryuko from Kill la Kill",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Satsuki's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Satsuki",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Satsuki from Kill la Kill",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Sayori Dark's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Sayori Dark",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Š̸̘͚̼͎̯̙̣̱̎̋̐͒a̴̖̟̠̳̤͙̟͂̂͑̐͜ỷ̵̧̨̞̠̖̠o̴̧͍̗̬̎̓͆̔͝ͅr̴̡̮̟͈͠ͅi̴̡̨͓͈̬̗̺̍́̃̇̓ from Literature Club",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Sayori Light's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Sayori Light",
"version": "8.0.0",
"version": "8.1.0",
"description": "A light theme modeled after Sayori from Literature Club",
"theme": {
"images": {
Expand Down
2 changes: 1 addition & 1 deletion chromeThemes/Sonoda Umi's Theme/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Doki Theme: Sonoda Umi",
"version": "8.0.0",
"version": "8.1.0",
"description": "A dark theme modeled after Umi from Love Live",
"theme": {
"images": {
Expand Down
Loading

0 comments on commit fddf3d1

Please sign in to comment.