6 Commits

20 changed files with 5990 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

View File

@ -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);

View File

@ -0,0 +1,5 @@
@import 'index';
@import 'modern/modern';
@import 'modern/diff';

View File

@ -0,0 +1,294 @@
body.app-body.flavour-modern-glitch
> #mastodon
.compose-form__autosuggest-wrapper
> :last-child {
padding-bottom: 2em !important;
}
body.app-body.flavour-modern-glitch > #mastodon .compose-form__buttons {
width: 100%;
}
body.app-body.flavour-modern-glitch
> #mastodon
.compose-form__buttons
> div:last-child {
margin-inline-start: auto;
}
body.app-body.flavour-modern-glitch > #mastodon .compose-form__buttons-wrapper {
position: relative;
}
body.app-body.flavour-modern-glitch > #mastodon .character-counter__wrapper {
position: absolute;
inset-inline-end: 0;
bottom: 100%;
margin: 4px;
border-radius: 6px;
padding: 0.1em 0.5em;
}
body.app-body.flavour-modern-glitch
> #mastodon
.character-counter__wrapper
span {
font-size: 0.9em;
font-weight: 500;
}
body.app-body.flavour-modern-glitch > #mastodon .collapsed .status__content {
height: auto !important;
overflow: visible;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
.status__content
.status__content__text {
mask: linear-gradient(to bottom, #000 50px, transparent) !important;
-webkit-mask: linear-gradient(to bottom, #000 50px, transparent) !important;
max-height: 100px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
.status__content
p:not(:last-child) {
margin-bottom: 0.4em;
}
body.app-body.flavour-modern-glitch > #mastodon .collapsed .status__content br {
display: block;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
.status__content::after {
content: unset;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed.muted
.status__content__text
~ * {
display: none;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status:not(.status-direct)
> .status__content {
margin-block: -90px -100px !important;
padding-block: 100px !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status:not(.status-direct)
> .status__content
.status__content__text {
margin-top: 0;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status:not(.status-direct)
> .status__content
> :last-child:not(.status__content__text) {
margin-bottom: 5px !important;
}
body.app-body.flavour-modern-glitch > #mastodon .status .full-width {
margin-inline: 0 !important;
}
body.app-body.flavour-modern-glitch > #mastodon .status .status__action-bar {
position: static;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message {
padding-top: 0 !important;
padding-inline-start: 0 !important;
}
body.app-body.flavour-modern-glitch > #mastodon .status__display-name {
line-height: 22px;
}
body.app-body.flavour-modern-glitch > #mastodon .display-name__account {
font-size: 15px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.media-gallery__item
> .media-gallery__preview {
display: unset;
}
body.app-body.flavour-modern-glitch > #mastodon .status__action-bar-spacer {
min-width: 5px;
}
body.app-body.flavour-modern-glitch > #mastodon .status__relative-time {
margin-inline: auto 5px !important;
z-index: 2;
flex-grow: 0 !important;
}
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar {
width: unset;
margin-top: 8px;
}
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar button {
border-radius: 6px !important;
padding-block: 2px;
}
@media (pointer: coarse) {
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar button {
padding: 4px 8px !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.reactions-bar
button
.reactions-bar__item__emoji {
height: 18px;
width: 18px;
}
}
body.app-body.flavour-modern-glitch > #mastodon .reactions-bar:empty {
display: none;
}
body.app-body.flavour-modern-glitch
> #mastodon
.collapsed
> .status__info
.notification__message {
padding-bottom: 0 !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.notification
> .notification__message {
padding-inline: 15px !important;
padding-top: 18px !important;
}
body.app-body.flavour-modern-glitch > #mastodon .notification .account {
padding-inline-start: 0 !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.notification__favourite-icon-wrapper {
position: static;
margin-inline-end: 10px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.notification__favourite-icon-wrapper
i {
width: 1.28571429em !important;
text-align: center;
}
body.app-body.flavour-modern-glitch > #mastodon .status__prepend,
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message {
padding-bottom: 15px !important;
padding-top: 0 !important;
margin-top: -5px !important;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status__prepend
.status__prepend-icon-wrapper,
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message
.status__prepend-icon-wrapper {
all: unset;
margin-inline-end: 10px;
display: flex;
}
body.app-body.flavour-modern-glitch
> #mastodon
.status__prepend
.status__prepend-icon-wrapper
i,
body.app-body.flavour-modern-glitch
> #mastodon
.status__info
.notification__message
.status__prepend-icon-wrapper
i {
margin: auto;
}
body.app-body.flavour-modern-glitch
> #mastodon
.detailed-status__wrapper
.focusable:not(.status)::before {
content: unset !important;
}
body.app-body.flavour-modern-glitch > #mastodon .setting-text {
border-radius: 0 !important;
margin: 4px;
width: calc(100% - 8px);
}
body.app-body.flavour-modern-glitch > #mastodon .column-settings__pillbar {
border-radius: var(--radius);
}
body.app-body.flavour-modern-glitch > #mastodon .pillbar-button {
border-radius: 0 !important;
padding: 6px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.account-card
.media-modal__close {
left: 10px;
top: 10px;
}
body.app-body.flavour-modern-glitch
> #mastodon
.account-card
.media-modal__close::before {
content: '';
position: absolute;
inset: -60px -30px;
background: linear-gradient(to right, #000, transparent);
transform: rotate(45deg);
z-index: -1;
opacity: 0.5;
}
.layout-multiple-columns.flavour-modern-glitch .drawer__inner {
margin-top: -10px;
padding-top: 30px !important;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
en:
flavours:
modern-glitch:
description: Modern Mastodon theme - with Glitch-SOC support
name: Modern - Glitch
skins:
modern-glitch:
default: Default

View File

@ -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:

View File

@ -0,0 +1,3 @@
@import 'flavours/glitch/styles/mastodon-light/variables';
@import 'flavours/glitch/styles/modern';
@import 'flavours/glitch/styles/mastodon-light/diff';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
modern-light: Default (light)

View File

@ -0,0 +1,3 @@
@import 'flavours/glitch/styles/wobbl-light/variables';
@import 'flavours/glitch/styles/modern';
@import 'flavours/glitch/styles/mastodon-light/diff';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-modern-light: Wobbl Red (light)

View File

@ -0,0 +1,2 @@
@import 'flavours/glitch/styles/wobbl/variables';
@import 'flavours/glitch/styles/modern';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-modern: Wobbl Red

View File

@ -0,0 +1,3 @@
@import 'flavours/glitch/styles/wobbl-old-light/variables';
@import 'flavours/glitch/styles/modern';
@import 'flavours/glitch/styles/mastodon-light/diff';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-old-modern-light: Wobbl Orange (light)

View File

@ -0,0 +1,2 @@
@import 'flavours/glitch/styles/wobbl-old/variables';
@import 'flavours/glitch/styles/modern';

View File

@ -0,0 +1,4 @@
en:
skins:
modern-glitch:
wobbl-old-modern: Wobbl Orange

View File

@ -18,6 +18,7 @@ module.exports = merge(sharedConfig, {
mode: 'development', mode: 'development',
cache: true, cache: true,
devtool: 'cheap-module-eval-source-map', devtool: 'cheap-module-eval-source-map',
parallelism: 1,
stats: { stats: {
errorDetails: true, errorDetails: true,

View File

@ -3,6 +3,7 @@ module.exports = {
ignoreFiles: [ ignoreFiles: [
'app/javascript/styles/mastodon/reset.scss', 'app/javascript/styles/mastodon/reset.scss',
'app/javascript/flavours/glitch/styles/reset.scss', 'app/javascript/flavours/glitch/styles/reset.scss',
'app/javascript/flavours/glitch/styles/modern/modern.css',
'app/javascript/styles/win95.scss', 'app/javascript/styles/win95.scss',
'coverage/**/*', 'coverage/**/*',
'node_modules/**/*', 'node_modules/**/*',

View File

@ -11776,17 +11776,19 @@ sass-loader@^10.2.0:
schema-utils "^3.0.0" schema-utils "^3.0.0"
semver "^7.3.2" semver "^7.3.2"
<<<<<<< HEAD sass@^1.38.0:
sass@^1.38.0, sass@^1.62.1:
version "1.63.6" version "1.63.6"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.6.tgz#481610e612902e0c31c46b46cf2dad66943283ea" resolved "https://registry.yarnpkg.com/sass/-/sass-1.63.6.tgz#481610e612902e0c31c46b46cf2dad66943283ea"
integrity sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw== integrity sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==
======= dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
sass@^1.62.1: sass@^1.62.1:
version "1.64.1" version "1.64.1"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.64.1.tgz#6a46f6d68e0fa5ad90aa59ce025673ddaa8441cf" resolved "https://registry.yarnpkg.com/sass/-/sass-1.64.1.tgz#6a46f6d68e0fa5ad90aa59ce025673ddaa8441cf"
integrity sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ== integrity sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==
>>>>>>> upstream/main
dependencies: dependencies:
chokidar ">=3.0.0 <4.0.0" chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0" immutable "^4.0.0"