diff --git a/app/javascript/flavours/glitch/images/modern-preview.jpg b/app/javascript/flavours/glitch/images/modern-preview.jpg new file mode 100644 index 000000000..44a12c3b3 Binary files /dev/null and b/app/javascript/flavours/glitch/images/modern-preview.jpg differ diff --git a/app/javascript/flavours/glitch/packs/common-modern.js b/app/javascript/flavours/glitch/packs/common-modern.js new file mode 100644 index 000000000..59332e171 --- /dev/null +++ b/app/javascript/flavours/glitch/packs/common-modern.js @@ -0,0 +1,8 @@ +import 'packs/public-path'; +import { start } from '@rails/ujs'; +import 'flavours/glitch/styles/modern.scss'; + +start(); + +// This ensures that webpack compiles our images. +require.context('../images', true); diff --git a/app/javascript/flavours/modern-glitch/names.yml b/app/javascript/flavours/modern-glitch/names.yml new file mode 100644 index 000000000..dd9cb655d --- /dev/null +++ b/app/javascript/flavours/modern-glitch/names.yml @@ -0,0 +1,8 @@ +en: + flavours: + modern-glitch: + description: Modern Mastodon theme - with Glitch-SOC support + name: Modern - Glitch + skins: + modern-glitch: + default: Default diff --git a/app/javascript/flavours/modern-glitch/theme.yml b/app/javascript/flavours/modern-glitch/theme.yml new file mode 100644 index 000000000..a389cd162 --- /dev/null +++ b/app/javascript/flavours/modern-glitch/theme.yml @@ -0,0 +1,49 @@ +# (REQUIRED) The location of the pack files. +pack: + admin: + - packs/admin.jsx + - packs/public.jsx + auth: packs/public.jsx + common: + filename: packs/common-modern.js + stylesheet: true + embed: packs/public.jsx + error: packs/error.js + home: + filename: packs/home.js + preload: + - flavours/glitch/async/compose + - flavours/glitch/async/getting_started + - flavours/glitch/async/home_timeline + - flavours/glitch/async/notifications + mailer: + modal: + public: packs/public.jsx + settings: packs/settings.js + sign_up: packs/sign_up.js + share: packs/share.jsx + +# (OPTIONAL) The directory which contains localization files for +# the flavour, relative to this directory. The contents of this +# directory must be `.json` files whose names correspond to +# language tags and whose default exports are a messages object. +locales: locales + +# (OPTIONAL) Which flavour to inherit locales from +inherit_locales: vanilla + +# (OPTIONAL) A file to use as the preview screenshot for the flavour, +# or an array thereof. These are the full path from `app/javascript/`. +screenshot: flavours/glitch/images/modern-preview.jpg + +# (OPTIONAL) The directory which contains the pack files. +# Defaults to the theme directory (`app/javascript/themes/[theme]`), +# which should be sufficient for like 99% of use-cases lol. + +pack_directory: app/javascript/flavours/glitch + +# (OPTIONAL) By default the theme will fallback to the default theme +# if a particular pack is not provided. You can specify different +# fallbacks here, or disable fallback behaviours altogether by +# specifying a `null` value. +fallback: diff --git a/app/javascript/skins/modern-glitch/modern-light/common.scss b/app/javascript/skins/modern-glitch/modern-light/common.scss new file mode 100644 index 000000000..eab6dd948 --- /dev/null +++ b/app/javascript/skins/modern-glitch/modern-light/common.scss @@ -0,0 +1,3 @@ +@import 'flavours/glitch/styles/mastodon-light/variables'; +@import 'flavours/glitch/styles/modern'; +@import 'flavours/glitch/styles/mastodon-light/diff'; diff --git a/app/javascript/skins/modern-glitch/modern-light/names.yml b/app/javascript/skins/modern-glitch/modern-light/names.yml new file mode 100644 index 000000000..b2c758bea --- /dev/null +++ b/app/javascript/skins/modern-glitch/modern-light/names.yml @@ -0,0 +1,4 @@ +en: + skins: + modern-glitch: + modern-light: Default (light) diff --git a/app/javascript/skins/modern-glitch/wobbl-modern-light/common.scss b/app/javascript/skins/modern-glitch/wobbl-modern-light/common.scss new file mode 100644 index 000000000..d9e6857ad --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-modern-light/common.scss @@ -0,0 +1,3 @@ +@import 'flavours/glitch/styles/wobbl-light/variables'; +@import 'flavours/glitch/styles/modern'; +@import 'flavours/glitch/styles/mastodon-light/diff'; diff --git a/app/javascript/skins/modern-glitch/wobbl-modern-light/names.yml b/app/javascript/skins/modern-glitch/wobbl-modern-light/names.yml new file mode 100644 index 000000000..9d35cccd9 --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-modern-light/names.yml @@ -0,0 +1,4 @@ +en: + skins: + modern-glitch: + wobbl-modern-light: Wobbl Red (light) diff --git a/app/javascript/skins/modern-glitch/wobbl-modern/common.scss b/app/javascript/skins/modern-glitch/wobbl-modern/common.scss new file mode 100644 index 000000000..523556a28 --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-modern/common.scss @@ -0,0 +1,2 @@ +@import 'flavours/glitch/styles/wobbl/variables'; +@import 'flavours/glitch/styles/modern'; diff --git a/app/javascript/skins/modern-glitch/wobbl-modern/names.yml b/app/javascript/skins/modern-glitch/wobbl-modern/names.yml new file mode 100644 index 000000000..ad5965e48 --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-modern/names.yml @@ -0,0 +1,4 @@ +en: + skins: + modern-glitch: + wobbl-modern: Wobbl Red diff --git a/app/javascript/skins/modern-glitch/wobbl-old-modern-light/common.scss b/app/javascript/skins/modern-glitch/wobbl-old-modern-light/common.scss new file mode 100644 index 000000000..4743c4918 --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-old-modern-light/common.scss @@ -0,0 +1,3 @@ +@import 'flavours/glitch/styles/wobbl-old-light/variables'; +@import 'flavours/glitch/styles/modern'; +@import 'flavours/glitch/styles/mastodon-light/diff'; diff --git a/app/javascript/skins/modern-glitch/wobbl-old-modern-light/names.yml b/app/javascript/skins/modern-glitch/wobbl-old-modern-light/names.yml new file mode 100644 index 000000000..f6663a1f4 --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-old-modern-light/names.yml @@ -0,0 +1,4 @@ +en: + skins: + modern-glitch: + wobbl-old-modern-light: Wobbl Orange (light) diff --git a/app/javascript/skins/modern-glitch/wobbl-old-modern/common.scss b/app/javascript/skins/modern-glitch/wobbl-old-modern/common.scss new file mode 100644 index 000000000..09ef5fbaa --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-old-modern/common.scss @@ -0,0 +1,2 @@ +@import 'flavours/glitch/styles/wobbl-old/variables'; +@import 'flavours/glitch/styles/modern'; diff --git a/app/javascript/skins/modern-glitch/wobbl-old-modern/names.yml b/app/javascript/skins/modern-glitch/wobbl-old-modern/names.yml new file mode 100644 index 000000000..12e09b12b --- /dev/null +++ b/app/javascript/skins/modern-glitch/wobbl-old-modern/names.yml @@ -0,0 +1,4 @@ +en: + skins: + modern-glitch: + wobbl-old-modern: Wobbl Orange diff --git a/stylelint.config.js b/stylelint.config.js index 0e50d6c14..308d606f6 100644 --- a/stylelint.config.js +++ b/stylelint.config.js @@ -3,6 +3,7 @@ module.exports = { ignoreFiles: [ 'app/javascript/styles/mastodon/reset.scss', 'app/javascript/flavours/glitch/styles/reset.scss', + 'app/javascript/flavours/glitch/styles/modern/modern.css', 'app/javascript/styles/win95.scss', 'coverage/**/*', 'node_modules/**/*',