Cleaning up.
This commit is contained in:
parent
9832dc12cf
commit
4b629f2670
95
.gitignore.orig
Normal file
95
.gitignore.orig
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
||||||
|
#
|
||||||
|
# If you find yourself ignoring temporary files generated by your text editor
|
||||||
|
# or operating system, you probably want to add a global ignore instead:
|
||||||
|
# git config --global core.excludesfile '~/.gitignore_global'
|
||||||
|
|
||||||
|
# Ignore bundler config and downloaded libraries.
|
||||||
|
/.bundle
|
||||||
|
/vendor/bundle
|
||||||
|
|
||||||
|
# Ignore the default SQLite database.
|
||||||
|
/db/*.sqlite3
|
||||||
|
/db/*.sqlite3-journal
|
||||||
|
|
||||||
|
# Ignore all logfiles and tempfiles.
|
||||||
|
.eslintcache
|
||||||
|
/log/*
|
||||||
|
!/log/.keep
|
||||||
|
/tmp
|
||||||
|
/coverage
|
||||||
|
/public/system
|
||||||
|
/public/assets
|
||||||
|
/public/packs
|
||||||
|
/public/packs-dev
|
||||||
|
/public/packs-test
|
||||||
|
stats.html
|
||||||
|
.env
|
||||||
|
.env.production
|
||||||
|
<<<<<<< HEAD
|
||||||
|
node_modules/
|
||||||
|
=======
|
||||||
|
.env.development
|
||||||
|
/node_modules/
|
||||||
|
>>>>>>> c7a554f9cb (Wobbl customizations on Glitch-SOC)
|
||||||
|
/build/
|
||||||
|
|
||||||
|
# Ignore Vagrant files
|
||||||
|
.vagrant/
|
||||||
|
|
||||||
|
# Ignore IDE files
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
|
||||||
|
# Ignore postgres + redis + elasticsearch volume optionally created by docker-compose
|
||||||
|
/postgres
|
||||||
|
/postgres14
|
||||||
|
/redis
|
||||||
|
/elasticsearch
|
||||||
|
|
||||||
|
# Ignore Apple files
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Ignore vim files
|
||||||
|
*~
|
||||||
|
*.swp
|
||||||
|
|
||||||
|
# Ignore npm debug log
|
||||||
|
npm-debug.log
|
||||||
|
|
||||||
|
# Ignore yarn log files
|
||||||
|
yarn-error.log
|
||||||
|
yarn-debug.log
|
||||||
|
|
||||||
|
# From https://yarnpkg.com/getting-started/qa#which-files-should-be-gitignored
|
||||||
|
.pnp.*
|
||||||
|
.yarn/*
|
||||||
|
!.yarn/patches
|
||||||
|
!.yarn/plugins
|
||||||
|
!.yarn/releases
|
||||||
|
!.yarn/sdks
|
||||||
|
!.yarn/versions
|
||||||
|
|
||||||
|
# Ignore vagrant log files
|
||||||
|
*-cloudimg-console.log
|
||||||
|
|
||||||
|
# Ignore Docker option files
|
||||||
|
docker-compose.override.yml
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
# Ignore dotenv .local files
|
||||||
|
.env*.local
|
||||||
|
|
||||||
|
# Ignore local-only rspec configuration
|
||||||
|
.rspec-local
|
||||||
|
|
||||||
|
*storybook.log
|
||||||
|
storybook-static
|
||||||
|
=======
|
||||||
|
/public/packs
|
||||||
|
/public/packs-test
|
||||||
|
/node_modules
|
||||||
|
/yarn-error.log
|
||||||
|
yarn-debug.log*
|
||||||
|
.yarn-integrity
|
||||||
|
>>>>>>> c7a554f9cb (Wobbl customizations on Glitch-SOC)
|
||||||
@ -1,8 +0,0 @@
|
|||||||
import 'packs/public-path';
|
|
||||||
import Rails from '@rails/ujs';
|
|
||||||
import 'flavours/glitch/styles/modern.scss';
|
|
||||||
|
|
||||||
start();
|
|
||||||
|
|
||||||
// This ensures that webpack compiles our images.
|
|
||||||
require.context('../images', true);
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
@import 'index';
|
|
||||||
|
|
||||||
@import 'modern/modern';
|
|
||||||
|
|
||||||
@import 'modern/diff';
|
|
||||||
@ -1,295 +0,0 @@
|
|||||||
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;
|
|
||||||
min-width: 5ch !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
@ -1,3 +0,0 @@
|
|||||||
@import 'wobbl-light/variables';
|
|
||||||
@import 'index';
|
|
||||||
@import 'mastodon-light/diff';
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
// Dependent colors
|
|
||||||
$black: #000000;
|
|
||||||
$white: #ffffff;
|
|
||||||
|
|
||||||
$classic-base-color: #191919;
|
|
||||||
$classic-primary-color: #e7e7e7;
|
|
||||||
$classic-secondary-color: #ff8680;
|
|
||||||
$classic-highlight-color: #850700;
|
|
||||||
|
|
||||||
$blurple-600: #cc3939; // Iris
|
|
||||||
$blurple-500: #850700; // Brand purple
|
|
||||||
$blurple-300: #fa8484; // Faded Blue
|
|
||||||
$grey-600: #4e4c5a; // Trout
|
|
||||||
$grey-100: #dadaf3; // Topaz
|
|
||||||
|
|
||||||
// Differences
|
|
||||||
$success-green: lighten(#3c754d, 8%);
|
|
||||||
|
|
||||||
$base-overlay-background: $white !default;
|
|
||||||
$valid-value-color: $success-green !default;
|
|
||||||
|
|
||||||
$ui-base-color: $classic-primary-color !default;
|
|
||||||
$ui-base-lighter-color: #b0c0cf;
|
|
||||||
$ui-primary-color: #9bcbed;
|
|
||||||
$ui-secondary-color: $classic-base-color !default;
|
|
||||||
$ui-highlight-color: $classic-highlight-color !default;
|
|
||||||
$ui-button-color: $white !default;
|
|
||||||
$ui-button-background-color: $blurple-500 !default;
|
|
||||||
$ui-button-focus-background-color: $blurple-600 !default;
|
|
||||||
|
|
||||||
$ui-button-secondary-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-border-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-tertiary-color: $blurple-500 !default;
|
|
||||||
$ui-button-tertiary-border-color: $blurple-500 !default;
|
|
||||||
|
|
||||||
$primary-text-color: $black !default;
|
|
||||||
$darker-text-color: $classic-base-color !default;
|
|
||||||
$highlight-text-color: darken($ui-highlight-color, 8%) !default;
|
|
||||||
$dark-text-color: #444b5d;
|
|
||||||
$action-button-color: #606984;
|
|
||||||
|
|
||||||
$inverted-text-color: $black !default;
|
|
||||||
$lighter-text-color: $classic-base-color !default;
|
|
||||||
$light-text-color: #444b5d;
|
|
||||||
|
|
||||||
// Newly added colors
|
|
||||||
$account-background-color: $white !default;
|
|
||||||
|
|
||||||
// Invert darkened and lightened colors
|
|
||||||
@function darken($color, $amount) {
|
|
||||||
@return hsl(hue($color), saturation($color), lightness($color) + $amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
@function lighten($color, $amount) {
|
|
||||||
@return hsl(hue($color), saturation($color), lightness($color) - $amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
$emojis-requiring-inversion: 'chains';
|
|
||||||
@ -1,101 +0,0 @@
|
|||||||
// Commonly used web colors
|
|
||||||
$black: #000000; // Black
|
|
||||||
$white: #ffffff; // White
|
|
||||||
$red-600: #b7253d !default; // Deep Carmine
|
|
||||||
$red-500: #df405a !default; // Cerise
|
|
||||||
$blurple-600: #563acc; // Iris
|
|
||||||
$blurple-500: #6364ff; // Brand purple
|
|
||||||
$blurple-300: #858afa; // Faded Blue
|
|
||||||
$grey-600: #4e4c5a; // Trout
|
|
||||||
$grey-100: #dadaf3; // Topaz
|
|
||||||
|
|
||||||
$success-green: #79bd9a !default; // Padua
|
|
||||||
$error-red: $red-500 !default; // Cerise
|
|
||||||
$warning-red: #ff5050 !default; // Sunset Orange
|
|
||||||
$gold-star: #ca8f04 !default; // Dark Goldenrod
|
|
||||||
|
|
||||||
$red-bookmark: $warning-red;
|
|
||||||
|
|
||||||
// Values from the classic Mastodon UI
|
|
||||||
$classic-base-color: #191919;// Dark Gray
|
|
||||||
$classic-primary-color: #E7E7E7;// Platinum
|
|
||||||
$classic-secondary-color: #FF8680; // Paler red
|
|
||||||
$classic-highlight-color: #850700; // Red highlights
|
|
||||||
|
|
||||||
// Variables for defaults in UI
|
|
||||||
$base-shadow-color: $black !default;
|
|
||||||
$base-overlay-background: $black !default;
|
|
||||||
$base-border-color: $white !default;
|
|
||||||
$simple-background-color: $white !default;
|
|
||||||
$valid-value-color: $success-green !default;
|
|
||||||
$error-value-color: $error-red !default;
|
|
||||||
|
|
||||||
// Tell UI to use selected colors
|
|
||||||
$ui-base-color: $classic-base-color !default; // Darkest
|
|
||||||
$ui-base-lighter-color: lighten(
|
|
||||||
$ui-base-color,
|
|
||||||
26%
|
|
||||||
) !default; // Lighter darkest
|
|
||||||
$ui-primary-color: $classic-primary-color !default; // Lighter
|
|
||||||
$ui-secondary-color: $classic-secondary-color !default; // Lightest
|
|
||||||
$ui-highlight-color: $classic-highlight-color !default;
|
|
||||||
$ui-button-color: $white !default;
|
|
||||||
$ui-button-background-color: $blurple-500 !default;
|
|
||||||
$ui-button-focus-background-color: $blurple-600 !default;
|
|
||||||
|
|
||||||
$ui-button-secondary-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-border-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-focus-background-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-tertiary-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-border-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
|
|
||||||
$ui-button-tertiary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-destructive-background-color: $red-500 !default;
|
|
||||||
$ui-button-destructive-focus-background-color: $red-600 !default;
|
|
||||||
|
|
||||||
// Variables for texts
|
|
||||||
$primary-text-color: $white !default;
|
|
||||||
$darker-text-color: $ui-primary-color !default;
|
|
||||||
$dark-text-color: $ui-base-lighter-color !default;
|
|
||||||
$secondary-text-color: $ui-secondary-color !default;
|
|
||||||
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
|
|
||||||
$action-button-color: $ui-base-lighter-color !default;
|
|
||||||
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
|
|
||||||
$passive-text-color: $gold-star !default;
|
|
||||||
$active-passive-text-color: $success-green !default;
|
|
||||||
|
|
||||||
// For texts on inverted backgrounds
|
|
||||||
$inverted-text-color: $ui-base-color !default;
|
|
||||||
$lighter-text-color: $ui-base-lighter-color !default;
|
|
||||||
$light-text-color: $ui-primary-color !default;
|
|
||||||
|
|
||||||
// Language codes that uses CJK fonts
|
|
||||||
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
|
|
||||||
|
|
||||||
// Variables for components
|
|
||||||
$media-modal-media-max-width: 100%;
|
|
||||||
|
|
||||||
// put margins on top and bottom of image to avoid the screen covered by image.
|
|
||||||
$media-modal-media-max-height: 80%;
|
|
||||||
|
|
||||||
$no-gap-breakpoint: 1175px;
|
|
||||||
|
|
||||||
$font-sans-serif: 'mastodon-font-sans-serif' !default;
|
|
||||||
$font-display: 'mastodon-font-display' !default;
|
|
||||||
$font-monospace: 'mastodon-font-monospace' !default;
|
|
||||||
|
|
||||||
// Avatar border size (8% default, 100% for rounded avatars)
|
|
||||||
$ui-avatar-border-size: 8%;
|
|
||||||
|
|
||||||
// More variables
|
|
||||||
$dismiss-overlay-width: 4rem;
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
|
|
||||||
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
|
|
||||||
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
|
|
||||||
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
|
|
||||||
}
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
@import 'wobbl-old-light/variables';
|
|
||||||
@import 'index';
|
|
||||||
@import 'mastodon-light/diff';
|
|
||||||
@ -1,60 +0,0 @@
|
|||||||
// Dependent colors
|
|
||||||
$black: #000000;
|
|
||||||
$white: #ffffff;
|
|
||||||
|
|
||||||
$classic-base-color: #191918;
|
|
||||||
$classic-primary-color: #e7e7e7;
|
|
||||||
$classic-secondary-color: #8c562a;
|
|
||||||
$classic-highlight-color: #c45302;
|
|
||||||
|
|
||||||
$blurple-600: #c45302; // Iris
|
|
||||||
$blurple-500: #fd8128; // Brand purple
|
|
||||||
$blurple-300: #fda15f; // Faded Blue
|
|
||||||
$grey-600: #4e4c5a; // Trout
|
|
||||||
$grey-100: #dadaf3; // Topaz
|
|
||||||
|
|
||||||
// Differences
|
|
||||||
$success-green: lighten(#3c754d, 8%);
|
|
||||||
|
|
||||||
$base-overlay-background: $white !default;
|
|
||||||
$valid-value-color: $success-green !default;
|
|
||||||
|
|
||||||
$ui-base-color: $classic-primary-color !default;
|
|
||||||
$ui-base-lighter-color: #b0c0cf;
|
|
||||||
$ui-primary-color: #9bcbed;
|
|
||||||
$ui-secondary-color: $classic-base-color !default;
|
|
||||||
$ui-highlight-color: $classic-highlight-color !default;
|
|
||||||
$ui-button-color: $white !default;
|
|
||||||
$ui-button-background-color: $blurple-500 !default;
|
|
||||||
$ui-button-focus-background-color: $blurple-600 !default;
|
|
||||||
|
|
||||||
$ui-button-secondary-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-border-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-tertiary-color: $blurple-500 !default;
|
|
||||||
$ui-button-tertiary-border-color: $blurple-500 !default;
|
|
||||||
|
|
||||||
$primary-text-color: $black !default;
|
|
||||||
$darker-text-color: $classic-base-color !default;
|
|
||||||
$highlight-text-color: darken($ui-highlight-color, 8%) !default;
|
|
||||||
$dark-text-color: #444b5d;
|
|
||||||
$action-button-color: #606984;
|
|
||||||
|
|
||||||
$inverted-text-color: $black !default;
|
|
||||||
$lighter-text-color: $classic-base-color !default;
|
|
||||||
$light-text-color: #444b5d;
|
|
||||||
|
|
||||||
// Newly added colors
|
|
||||||
$account-background-color: $white !default;
|
|
||||||
|
|
||||||
// Invert darkened and lightened colors
|
|
||||||
@function darken($color, $amount) {
|
|
||||||
@return hsl(hue($color), saturation($color), lightness($color) + $amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
@function lighten($color, $amount) {
|
|
||||||
@return hsl(hue($color), saturation($color), lightness($color) - $amount);
|
|
||||||
}
|
|
||||||
|
|
||||||
$emojis-requiring-inversion: 'chains';
|
|
||||||
@ -1,101 +0,0 @@
|
|||||||
// Commonly used web colors
|
|
||||||
$black: #000000; // Black
|
|
||||||
$white: #ffffff; // White
|
|
||||||
$red-600: #b7253d !default; // Deep Carmine
|
|
||||||
$red-500: #df405a !default; // Cerise
|
|
||||||
$blurple-600: #563acc; // Iris
|
|
||||||
$blurple-500: #6364ff; // Brand purple
|
|
||||||
$blurple-300: #858afa; // Faded Blue
|
|
||||||
$grey-600: #4e4c5a; // Trout
|
|
||||||
$grey-100: #dadaf3; // Topaz
|
|
||||||
|
|
||||||
$success-green: #79bd9a !default; // Padua
|
|
||||||
$error-red: $red-500 !default; // Cerise
|
|
||||||
$warning-red: #ff5050 !default; // Sunset Orange
|
|
||||||
$gold-star: #ca8f04 !default; // Dark Goldenrod
|
|
||||||
|
|
||||||
$red-bookmark: $warning-red;
|
|
||||||
|
|
||||||
// Values from the classic Mastodon UI
|
|
||||||
$classic-base-color: #191919;// Dark Gray
|
|
||||||
$classic-primary-color: #E7E7E7;// Platinum
|
|
||||||
$classic-secondary-color: #FF8680; // Paler red
|
|
||||||
$classic-highlight-color: #850700; // Red highlights
|
|
||||||
|
|
||||||
// Variables for defaults in UI
|
|
||||||
$base-shadow-color: $black !default;
|
|
||||||
$base-overlay-background: $black !default;
|
|
||||||
$base-border-color: $white !default;
|
|
||||||
$simple-background-color: $white !default;
|
|
||||||
$valid-value-color: $success-green !default;
|
|
||||||
$error-value-color: $error-red !default;
|
|
||||||
|
|
||||||
// Tell UI to use selected colors
|
|
||||||
$ui-base-color: $classic-base-color !default; // Darkest
|
|
||||||
$ui-base-lighter-color: lighten(
|
|
||||||
$ui-base-color,
|
|
||||||
26%
|
|
||||||
) !default; // Lighter darkest
|
|
||||||
$ui-primary-color: $classic-primary-color !default; // Lighter
|
|
||||||
$ui-secondary-color: $classic-secondary-color !default; // Lightest
|
|
||||||
$ui-highlight-color: $classic-highlight-color !default;
|
|
||||||
$ui-button-color: $white !default;
|
|
||||||
$ui-button-background-color: $blurple-500 !default;
|
|
||||||
$ui-button-focus-background-color: $blurple-600 !default;
|
|
||||||
|
|
||||||
$ui-button-secondary-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-border-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-focus-background-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-tertiary-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-border-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
|
|
||||||
$ui-button-tertiary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-destructive-background-color: $red-500 !default;
|
|
||||||
$ui-button-destructive-focus-background-color: $red-600 !default;
|
|
||||||
|
|
||||||
// Variables for texts
|
|
||||||
$primary-text-color: $white !default;
|
|
||||||
$darker-text-color: $ui-primary-color !default;
|
|
||||||
$dark-text-color: $ui-base-lighter-color !default;
|
|
||||||
$secondary-text-color: $ui-secondary-color !default;
|
|
||||||
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
|
|
||||||
$action-button-color: $ui-base-lighter-color !default;
|
|
||||||
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
|
|
||||||
$passive-text-color: $gold-star !default;
|
|
||||||
$active-passive-text-color: $success-green !default;
|
|
||||||
|
|
||||||
// For texts on inverted backgrounds
|
|
||||||
$inverted-text-color: $ui-base-color !default;
|
|
||||||
$lighter-text-color: $ui-base-lighter-color !default;
|
|
||||||
$light-text-color: $ui-primary-color !default;
|
|
||||||
|
|
||||||
// Language codes that uses CJK fonts
|
|
||||||
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
|
|
||||||
|
|
||||||
// Variables for components
|
|
||||||
$media-modal-media-max-width: 100%;
|
|
||||||
|
|
||||||
// put margins on top and bottom of image to avoid the screen covered by image.
|
|
||||||
$media-modal-media-max-height: 80%;
|
|
||||||
|
|
||||||
$no-gap-breakpoint: 1175px;
|
|
||||||
|
|
||||||
$font-sans-serif: 'mastodon-font-sans-serif' !default;
|
|
||||||
$font-display: 'mastodon-font-display' !default;
|
|
||||||
$font-monospace: 'mastodon-font-monospace' !default;
|
|
||||||
|
|
||||||
// Avatar border size (8% default, 100% for rounded avatars)
|
|
||||||
$ui-avatar-border-size: 8%;
|
|
||||||
|
|
||||||
// More variables
|
|
||||||
$dismiss-overlay-width: 4rem;
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
|
|
||||||
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
|
|
||||||
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
|
|
||||||
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
|
|
||||||
}
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
@import 'wobbl-old/variables';
|
|
||||||
@import 'index';
|
|
||||||
@ -1,101 +0,0 @@
|
|||||||
// Commonly used web colors
|
|
||||||
$black: #000000; // Black
|
|
||||||
$white: #ffffff; // White
|
|
||||||
$red-600: #b7253d !default; // Deep Carmine
|
|
||||||
$red-500: #df405a !default; // Cerise
|
|
||||||
$blurple-600: #c45302; // Iris
|
|
||||||
$blurple-500: #fd8128; // Brand purple
|
|
||||||
$blurple-300: #fda15f; // Faded Blue
|
|
||||||
$grey-600: #4e4c5a; // Trout
|
|
||||||
$grey-100: #dadaf3; // Topaz
|
|
||||||
|
|
||||||
$success-green: #79bd9a !default; // Padua
|
|
||||||
$error-red: $red-500 !default; // Cerise
|
|
||||||
$warning-red: #ff5050 !default; // Sunset Orange
|
|
||||||
$gold-star: #ca8f04 !default; // Dark Goldenrod
|
|
||||||
|
|
||||||
$red-bookmark: $warning-red;
|
|
||||||
|
|
||||||
// Values from the classic Mastodon UI
|
|
||||||
$classic-base-color: #37210f; // Dark Gray
|
|
||||||
$classic-primary-color: #e7e7e7; // Platinum
|
|
||||||
$classic-secondary-color: #e7e7e7; // Paler red
|
|
||||||
$classic-highlight-color: #c45302; // Red highlights
|
|
||||||
|
|
||||||
// Variables for defaults in UI
|
|
||||||
$base-shadow-color: $black !default;
|
|
||||||
$base-overlay-background: $black !default;
|
|
||||||
$base-border-color: $white !default;
|
|
||||||
$simple-background-color: $white !default;
|
|
||||||
$valid-value-color: $success-green !default;
|
|
||||||
$error-value-color: $error-red !default;
|
|
||||||
|
|
||||||
// Tell UI to use selected colors
|
|
||||||
$ui-base-color: $classic-base-color !default; // Darkest
|
|
||||||
$ui-base-lighter-color: lighten(
|
|
||||||
$ui-base-color,
|
|
||||||
26%
|
|
||||||
) !default; // Lighter darkest
|
|
||||||
$ui-primary-color: $classic-primary-color !default; // Lighter
|
|
||||||
$ui-secondary-color: $classic-secondary-color !default; // Lightest
|
|
||||||
$ui-highlight-color: $classic-highlight-color !default;
|
|
||||||
$ui-button-color: $white !default;
|
|
||||||
$ui-button-background-color: $blurple-500 !default;
|
|
||||||
$ui-button-focus-background-color: $blurple-600 !default;
|
|
||||||
|
|
||||||
$ui-button-secondary-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-border-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-focus-background-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-tertiary-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-border-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
|
|
||||||
$ui-button-tertiary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-destructive-background-color: $red-500 !default;
|
|
||||||
$ui-button-destructive-focus-background-color: $red-600 !default;
|
|
||||||
|
|
||||||
// Variables for texts
|
|
||||||
$primary-text-color: $white !default;
|
|
||||||
$darker-text-color: $ui-primary-color !default;
|
|
||||||
$dark-text-color: $ui-base-lighter-color !default;
|
|
||||||
$secondary-text-color: $ui-secondary-color !default;
|
|
||||||
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
|
|
||||||
$action-button-color: $ui-base-lighter-color !default;
|
|
||||||
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
|
|
||||||
$passive-text-color: $gold-star !default;
|
|
||||||
$active-passive-text-color: $success-green !default;
|
|
||||||
|
|
||||||
// For texts on inverted backgrounds
|
|
||||||
$inverted-text-color: $ui-base-color !default;
|
|
||||||
$lighter-text-color: $ui-base-lighter-color !default;
|
|
||||||
$light-text-color: $ui-primary-color !default;
|
|
||||||
|
|
||||||
// Language codes that uses CJK fonts
|
|
||||||
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
|
|
||||||
|
|
||||||
// Variables for components
|
|
||||||
$media-modal-media-max-width: 100%;
|
|
||||||
|
|
||||||
// put margins on top and bottom of image to avoid the screen covered by image.
|
|
||||||
$media-modal-media-max-height: 80%;
|
|
||||||
|
|
||||||
$no-gap-breakpoint: 1175px;
|
|
||||||
|
|
||||||
$font-sans-serif: 'mastodon-font-sans-serif' !default;
|
|
||||||
$font-display: 'mastodon-font-display' !default;
|
|
||||||
$font-monospace: 'mastodon-font-monospace' !default;
|
|
||||||
|
|
||||||
// Avatar border size (8% default, 100% for rounded avatars)
|
|
||||||
$ui-avatar-border-size: 8%;
|
|
||||||
|
|
||||||
// More variables
|
|
||||||
$dismiss-overlay-width: 4rem;
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
|
|
||||||
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
|
|
||||||
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
|
|
||||||
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
|
|
||||||
}
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
@import 'wobbl/variables';
|
|
||||||
@import 'index';
|
|
||||||
@ -1,101 +0,0 @@
|
|||||||
// Commonly used web colors
|
|
||||||
$black: #000000; // Black
|
|
||||||
$white: #ffffff; // White
|
|
||||||
$red-600: #b7253d !default; // Deep Carmine
|
|
||||||
$red-500: #df405a !default; // Cerise
|
|
||||||
$blurple-600: #cc3939; // Iris
|
|
||||||
$blurple-500: #850700; // Brand purple
|
|
||||||
$blurple-300: #fa8484; // Faded Blue
|
|
||||||
$grey-600: #4e4c5a; // Trout
|
|
||||||
$grey-100: #dadaf3; // Topaz
|
|
||||||
|
|
||||||
$success-green: #79bd9a !default; // Padua
|
|
||||||
$error-red: $red-500 !default; // Cerise
|
|
||||||
$warning-red: #ff5050 !default; // Sunset Orange
|
|
||||||
$gold-star: #ca8f04 !default; // Dark Goldenrod
|
|
||||||
|
|
||||||
$red-bookmark: $warning-red;
|
|
||||||
|
|
||||||
// Values from the classic Mastodon UI
|
|
||||||
$classic-base-color: #191919; // Dark Gray
|
|
||||||
$classic-primary-color: #e7e7e7; // Platinum
|
|
||||||
$classic-secondary-color: #ff8680; // Paler red
|
|
||||||
$classic-highlight-color: #850700; // Red highlights
|
|
||||||
|
|
||||||
// Variables for defaults in UI
|
|
||||||
$base-shadow-color: $black !default;
|
|
||||||
$base-overlay-background: $black !default;
|
|
||||||
$base-border-color: $white !default;
|
|
||||||
$simple-background-color: $white !default;
|
|
||||||
$valid-value-color: $success-green !default;
|
|
||||||
$error-value-color: $error-red !default;
|
|
||||||
|
|
||||||
// Tell UI to use selected colors
|
|
||||||
$ui-base-color: $classic-base-color !default; // Darkest
|
|
||||||
$ui-base-lighter-color: lighten(
|
|
||||||
$ui-base-color,
|
|
||||||
26%
|
|
||||||
) !default; // Lighter darkest
|
|
||||||
$ui-primary-color: $classic-primary-color !default; // Lighter
|
|
||||||
$ui-secondary-color: $classic-secondary-color !default; // Lightest
|
|
||||||
$ui-highlight-color: $classic-highlight-color !default;
|
|
||||||
$ui-button-color: $white !default;
|
|
||||||
$ui-button-background-color: $blurple-500 !default;
|
|
||||||
$ui-button-focus-background-color: $blurple-600 !default;
|
|
||||||
|
|
||||||
$ui-button-secondary-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-border-color: $grey-100 !default;
|
|
||||||
$ui-button-secondary-focus-background-color: $grey-600 !default;
|
|
||||||
$ui-button-secondary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-tertiary-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-border-color: $blurple-300 !default;
|
|
||||||
$ui-button-tertiary-focus-background-color: $blurple-600 !default;
|
|
||||||
$ui-button-tertiary-focus-color: $white !default;
|
|
||||||
|
|
||||||
$ui-button-destructive-background-color: $red-500 !default;
|
|
||||||
$ui-button-destructive-focus-background-color: $red-600 !default;
|
|
||||||
|
|
||||||
// Variables for texts
|
|
||||||
$primary-text-color: $white !default;
|
|
||||||
$darker-text-color: $ui-primary-color !default;
|
|
||||||
$dark-text-color: $ui-base-lighter-color !default;
|
|
||||||
$secondary-text-color: $ui-secondary-color !default;
|
|
||||||
$highlight-text-color: lighten($ui-highlight-color, 8%) !default;
|
|
||||||
$action-button-color: $ui-base-lighter-color !default;
|
|
||||||
$action-button-focus-color: lighten($ui-base-lighter-color, 4%) !default;
|
|
||||||
$passive-text-color: $gold-star !default;
|
|
||||||
$active-passive-text-color: $success-green !default;
|
|
||||||
|
|
||||||
// For texts on inverted backgrounds
|
|
||||||
$inverted-text-color: $ui-base-color !default;
|
|
||||||
$lighter-text-color: $ui-base-lighter-color !default;
|
|
||||||
$light-text-color: $ui-primary-color !default;
|
|
||||||
|
|
||||||
// Language codes that uses CJK fonts
|
|
||||||
$cjk-langs: ja, ko, zh-CN, zh-HK, zh-TW;
|
|
||||||
|
|
||||||
// Variables for components
|
|
||||||
$media-modal-media-max-width: 100%;
|
|
||||||
|
|
||||||
// put margins on top and bottom of image to avoid the screen covered by image.
|
|
||||||
$media-modal-media-max-height: 80%;
|
|
||||||
|
|
||||||
$no-gap-breakpoint: 1175px;
|
|
||||||
|
|
||||||
$font-sans-serif: 'mastodon-font-sans-serif' !default;
|
|
||||||
$font-display: 'mastodon-font-display' !default;
|
|
||||||
$font-monospace: 'mastodon-font-monospace' !default;
|
|
||||||
|
|
||||||
// Avatar border size (8% default, 100% for rounded avatars)
|
|
||||||
$ui-avatar-border-size: 8%;
|
|
||||||
|
|
||||||
// More variables
|
|
||||||
$dismiss-overlay-width: 4rem;
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--dropdown-border-color: #{lighten($ui-base-color, 12%)};
|
|
||||||
--dropdown-background-color: #{lighten($ui-base-color, 4%)};
|
|
||||||
--dropdown-shadow: 0 20px 25px -5px #{rgba($base-shadow-color, 0.25)},
|
|
||||||
0 8px 10px -6px #{rgba($base-shadow-color, 0.25)};
|
|
||||||
}
|
|
||||||
@ -1,8 +0,0 @@
|
|||||||
en:
|
|
||||||
flavours:
|
|
||||||
modern-glitch:
|
|
||||||
description: Modern Mastodon theme - with Glitch-SOC support
|
|
||||||
name: Modern - Glitch
|
|
||||||
skins:
|
|
||||||
modern-glitch:
|
|
||||||
default: Default
|
|
||||||
@ -1,49 +0,0 @@
|
|||||||
# (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:
|
|
||||||
@ -1 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl-light';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
glitch:
|
|
||||||
wobbl-light: Wobbl (light)
|
|
||||||
@ -1 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl-old-light';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
glitch:
|
|
||||||
wobbl-old-light: Wobbl Orange (light)
|
|
||||||
@ -1 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl-old';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
glitch:
|
|
||||||
wobbl-old: Wobbl Orange
|
|
||||||
@ -1 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
glitch:
|
|
||||||
wobbl: Wobbl
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/mastodon-light/variables';
|
|
||||||
@import 'flavours/glitch/styles/modern';
|
|
||||||
@import 'flavours/glitch/styles/mastodon-light/diff';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
modern-glitch:
|
|
||||||
modern-light: Default (light)
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl-light/variables';
|
|
||||||
@import 'flavours/glitch/styles/modern';
|
|
||||||
@import 'flavours/glitch/styles/mastodon-light/diff';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
modern-glitch:
|
|
||||||
wobbl-modern-light: Wobbl Red (light)
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl/variables';
|
|
||||||
@import 'flavours/glitch/styles/modern';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
modern-glitch:
|
|
||||||
wobbl-modern: Wobbl Red
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl-old-light/variables';
|
|
||||||
@import 'flavours/glitch/styles/modern';
|
|
||||||
@import 'flavours/glitch/styles/mastodon-light/diff';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
modern-glitch:
|
|
||||||
wobbl-old-modern-light: Wobbl Orange (light)
|
|
||||||
@ -1,2 +0,0 @@
|
|||||||
@import 'flavours/glitch/styles/wobbl-old/variables';
|
|
||||||
@import 'flavours/glitch/styles/modern';
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
en:
|
|
||||||
skins:
|
|
||||||
modern-glitch:
|
|
||||||
wobbl-old-modern: Wobbl Orange
|
|
||||||
178
app/serializers/rest/instance_serializer.rb.orig
Normal file
178
app/serializers/rest/instance_serializer.rb.orig
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class REST::InstanceSerializer < ActiveModel::Serializer
|
||||||
|
class ContactSerializer < ActiveModel::Serializer
|
||||||
|
attributes :email
|
||||||
|
|
||||||
|
has_one :account, serializer: REST::AccountSerializer
|
||||||
|
end
|
||||||
|
|
||||||
|
include InstanceHelper
|
||||||
|
include RoutingHelper
|
||||||
|
|
||||||
|
attributes :domain, :title, :version, :source_url, :description,
|
||||||
|
<<<<<<< HEAD
|
||||||
|
:usage, :thumbnail, :icon, :languages, :configuration,
|
||||||
|
:registrations, :api_versions, :wrapstodon
|
||||||
|
=======
|
||||||
|
:usage, :thumbnail, :languages, :configuration,
|
||||||
|
:registrations, :max_toot_chars
|
||||||
|
>>>>>>> 02f81fb4b7 (Theming and such)
|
||||||
|
|
||||||
|
has_one :contact, serializer: ContactSerializer
|
||||||
|
has_many :rules, serializer: REST::RuleSerializer
|
||||||
|
|
||||||
|
def thumbnail
|
||||||
|
if object.thumbnail
|
||||||
|
{
|
||||||
|
url: full_asset_url(object.thumbnail.file.url(:'@1x')),
|
||||||
|
blurhash: object.thumbnail.blurhash,
|
||||||
|
versions: {
|
||||||
|
'@1x': full_asset_url(object.thumbnail.file.url(:'@1x')),
|
||||||
|
'@2x': full_asset_url(object.thumbnail.file.url(:'@2x')),
|
||||||
|
},
|
||||||
|
description: Setting.thumbnail_description,
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
url: frontend_asset_url('images/preview.png'),
|
||||||
|
description: I18n.t('about.default_thumbnail_description', locale: object.languages[0]),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def icon
|
||||||
|
SiteUpload::ANDROID_ICON_SIZES.map do |size|
|
||||||
|
src = app_icon_path(size.to_i)
|
||||||
|
src = URI.join(root_url, src).to_s if src.present?
|
||||||
|
|
||||||
|
{
|
||||||
|
src: src || frontend_asset_url("icons/android-chrome-#{size}x#{size}.png"),
|
||||||
|
size: "#{size}x#{size}",
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def usage
|
||||||
|
{
|
||||||
|
users: {
|
||||||
|
active_month: limited_federation? ? 0 : object.active_user_count(4),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def configuration
|
||||||
|
{
|
||||||
|
urls: {
|
||||||
|
streaming: Rails.configuration.x.streaming_api_base_url,
|
||||||
|
status: object.status_page_url,
|
||||||
|
about: about_url,
|
||||||
|
privacy_policy: privacy_policy_url,
|
||||||
|
terms_of_service: TermsOfService.current.present? ? terms_of_service_url : nil,
|
||||||
|
},
|
||||||
|
|
||||||
|
vapid: {
|
||||||
|
public_key: Rails.configuration.x.vapid.public_key,
|
||||||
|
},
|
||||||
|
|
||||||
|
accounts: {
|
||||||
|
max_display_name_length: Account::DISPLAY_NAME_LENGTH_LIMIT,
|
||||||
|
max_note_length: Account::NOTE_LENGTH_LIMIT,
|
||||||
|
max_avatar_description_length: Account::Avatar::MAX_DESCRIPTION_LENGTH,
|
||||||
|
max_header_description_length: Account::Header::MAX_DESCRIPTION_LENGTH,
|
||||||
|
max_featured_tags: FeaturedTag::LIMIT,
|
||||||
|
max_pinned_statuses: StatusPinValidator::PIN_LIMIT,
|
||||||
|
max_profile_fields: Account::DEFAULT_FIELDS_SIZE,
|
||||||
|
profile_field_name_limit: Account::Field::MAX_CHARACTERS_LOCAL,
|
||||||
|
profile_field_value_limit: Account::Field::MAX_CHARACTERS_LOCAL,
|
||||||
|
},
|
||||||
|
|
||||||
|
statuses: {
|
||||||
|
max_characters: StatusLengthValidator::MAX_CHARS,
|
||||||
|
max_media_attachments: Status::MEDIA_ATTACHMENTS_LIMIT,
|
||||||
|
characters_reserved_per_url: StatusLengthValidator::URL_PLACEHOLDER_CHARS,
|
||||||
|
supported_mime_types: HtmlAwareFormatter::STATUS_MIME_TYPES,
|
||||||
|
},
|
||||||
|
|
||||||
|
media_attachments: {
|
||||||
|
description_limit: MediaAttachment::MAX_DESCRIPTION_LENGTH,
|
||||||
|
image_matrix_limit: Attachmentable::MAX_MATRIX_LIMIT,
|
||||||
|
image_size_limit: MediaAttachment::IMAGE_LIMIT,
|
||||||
|
supported_mime_types: MediaAttachment.supported_mime_types,
|
||||||
|
video_frame_rate_limit: MediaAttachment::MAX_VIDEO_FRAME_RATE,
|
||||||
|
video_matrix_limit: MediaAttachment::MAX_VIDEO_MATRIX_LIMIT,
|
||||||
|
video_size_limit: MediaAttachment::VIDEO_LIMIT,
|
||||||
|
},
|
||||||
|
|
||||||
|
polls: {
|
||||||
|
max_options: PollOptionsValidator::MAX_OPTIONS,
|
||||||
|
max_characters_per_option: PollOptionsValidator::MAX_OPTION_CHARS,
|
||||||
|
min_expiration: PollExpirationValidator::MIN_EXPIRATION,
|
||||||
|
max_expiration: PollExpirationValidator::MAX_EXPIRATION,
|
||||||
|
},
|
||||||
|
|
||||||
|
translation: {
|
||||||
|
enabled: TranslationService.configured?,
|
||||||
|
},
|
||||||
|
|
||||||
|
timelines_access: {
|
||||||
|
live_feeds: {
|
||||||
|
local: Setting.local_live_feed_access,
|
||||||
|
remote: Setting.remote_live_feed_access,
|
||||||
|
},
|
||||||
|
hashtag_feeds: {
|
||||||
|
local: Setting.local_topic_feed_access,
|
||||||
|
remote: Setting.remote_topic_feed_access,
|
||||||
|
},
|
||||||
|
trending_link_feeds: {
|
||||||
|
local: Setting.local_topic_feed_access,
|
||||||
|
remote: Setting.remote_topic_feed_access,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
limited_federation: limited_federation?,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def registrations
|
||||||
|
{
|
||||||
|
enabled: registrations_enabled?,
|
||||||
|
approval_required: Setting.registrations_mode == 'approved',
|
||||||
|
reason_required: Setting.registrations_mode == 'approved' && Setting.require_invite_text,
|
||||||
|
message: registrations_enabled? ? nil : registrations_message,
|
||||||
|
min_age: Setting.min_age.presence,
|
||||||
|
url: ENV.fetch('SSO_ACCOUNT_SIGN_UP', nil),
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
def api_versions
|
||||||
|
Mastodon::Version.api_versions
|
||||||
|
end
|
||||||
|
|
||||||
|
def wrapstodon
|
||||||
|
AnnualReport.current_campaign
|
||||||
|
=======
|
||||||
|
def max_toot_chars
|
||||||
|
1500
|
||||||
|
>>>>>>> 02f81fb4b7 (Theming and such)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def registrations_enabled?
|
||||||
|
Setting.registrations_mode != 'none' && !Rails.configuration.x.single_user_mode
|
||||||
|
end
|
||||||
|
|
||||||
|
def registrations_message
|
||||||
|
markdown.render(Setting.closed_registrations_message) if Setting.closed_registrations_message.present?
|
||||||
|
end
|
||||||
|
|
||||||
|
def limited_federation?
|
||||||
|
Rails.configuration.x.mastodon.limited_federation_mode
|
||||||
|
end
|
||||||
|
|
||||||
|
def markdown
|
||||||
|
@markdown ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML, no_images: true)
|
||||||
|
end
|
||||||
|
end
|
||||||
83
config/initializers/twitter_regex.rb.orig
Normal file
83
config/initializers/twitter_regex.rb.orig
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
module Twitter::TwitterText
|
||||||
|
class Configuration
|
||||||
|
def emoji_parsing_enabled
|
||||||
|
false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Regex
|
||||||
|
<<<<<<< HEAD
|
||||||
|
REGEXEN[:valid_general_url_path_chars] = /[^\p{White_Space}<>()?]/iou
|
||||||
|
REGEXEN[:valid_url_path_ending_chars] = /[^\p{White_Space}()?!*"'「」<>;:=,.$%\[\]~&|]|(?:#{REGEXEN[:valid_url_balanced_parens]})/iou
|
||||||
|
=======
|
||||||
|
REGEXEN[:valid_general_url_path_chars] = /[^\p{White_Space}<>\(\)\?]/iou
|
||||||
|
REGEXEN[:valid_url_path_ending_chars] = /[^\p{White_Space}\(\)\?!\*"'「」<>;:=\,\.\$%\[\]~&\|@]|(?:#{REGEXEN[:valid_url_balanced_parens]})/iou
|
||||||
|
>>>>>>> c37dcab5a9 (Allow carets in URL search params (#25216))
|
||||||
|
REGEXEN[:valid_url_balanced_parens] = /
|
||||||
|
\(
|
||||||
|
(?:
|
||||||
|
#{REGEXEN[:valid_general_url_path_chars]}+
|
||||||
|
|
|
||||||
|
# allow one nested level of balanced parentheses
|
||||||
|
(?:
|
||||||
|
#{REGEXEN[:valid_general_url_path_chars]}*
|
||||||
|
\(
|
||||||
|
#{REGEXEN[:valid_general_url_path_chars]}+
|
||||||
|
\)
|
||||||
|
#{REGEXEN[:valid_general_url_path_chars]}*
|
||||||
|
)
|
||||||
|
)
|
||||||
|
\)
|
||||||
|
/iox
|
||||||
|
UCHARS = '\u{A0}-\u{D7FF}\u{F900}-\u{FDCF}\u{FDF0}-\u{FFEF}\u{10000}-\u{1FFFD}\u{20000}-\u{2FFFD}\u{30000}-\u{3FFFD}\u{40000}-\u{4FFFD}\u{50000}-\u{5FFFD}\u{60000}-\u{6FFFD}\u{70000}-\u{7FFFD}\u{80000}-\u{8FFFD}\u{90000}-\u{9FFFD}\u{A0000}-\u{AFFFD}\u{B0000}-\u{BFFFD}\u{C0000}-\u{CFFFD}\u{D0000}-\u{DFFFD}\u{E1000}-\u{EFFFD}\u{E000}-\u{F8FF}\u{F0000}-\u{FFFFD}\u{100000}-\u{10FFFD}'
|
||||||
|
REGEXEN[:valid_url_query_chars] = /[a-z0-9!?\*'\(\);:&=\+\$\/%#\[\]\-_\.,~|@#{UCHARS}]/iou
|
||||||
|
REGEXEN[:valid_url_query_ending_chars] = /[a-z0-9_&=#\/\-#{UCHARS}]/iou
|
||||||
|
REGEXEN[:valid_url_path] = /(?:
|
||||||
|
(?:
|
||||||
|
#{REGEXEN[:valid_general_url_path_chars]}*
|
||||||
|
(?:#{REGEXEN[:valid_url_balanced_parens]} #{REGEXEN[:valid_general_url_path_chars]}*)*
|
||||||
|
#{REGEXEN[:valid_url_path_ending_chars]}
|
||||||
|
)|(?:#{REGEXEN[:valid_general_url_path_chars]}+\/)
|
||||||
|
)/iox
|
||||||
|
REGEXEN[:valid_url] = %r{
|
||||||
|
( # $1 total match
|
||||||
|
(#{REGEXEN[:valid_url_preceding_chars]}) # $2 Preceding character
|
||||||
|
( # $3 URL
|
||||||
|
((?:https?|dat|dweb|ipfs|ipns|ssb|gopher|gemini):\/\/)? # $4 Protocol (optional)
|
||||||
|
(#{REGEXEN[:valid_domain]}) # $5 Domain(s)
|
||||||
|
(?::(#{REGEXEN[:valid_port_number]}))? # $6 Port number (optional)
|
||||||
|
(/#{REGEXEN[:valid_url_path]}*)? # $7 URL Path and anchor
|
||||||
|
(\?#{REGEXEN[:valid_url_query_chars]}*#{REGEXEN[:valid_url_query_ending_chars]})? # $8 Query String
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}iox
|
||||||
|
REGEXEN[:validate_nodeid] = /(?:
|
||||||
|
#{REGEXEN[:validate_url_unreserved]}|
|
||||||
|
#{REGEXEN[:validate_url_pct_encoded]}|
|
||||||
|
[!$()*+,;=]
|
||||||
|
)/iox
|
||||||
|
REGEXEN[:validate_resid] = /(?:
|
||||||
|
#{REGEXEN[:validate_url_unreserved]}|
|
||||||
|
#{REGEXEN[:validate_url_pct_encoded]}|
|
||||||
|
#{REGEXEN[:validate_url_sub_delims]}
|
||||||
|
)/iox
|
||||||
|
REGEXEN[:valid_extended_uri] = %r{
|
||||||
|
( # $1 total match
|
||||||
|
(#{REGEXEN[:valid_url_preceding_chars]}) # $2 Preceding character
|
||||||
|
( # $3 URL
|
||||||
|
(
|
||||||
|
(xmpp:) # Protocol
|
||||||
|
(//#{REGEXEN[:validate_nodeid]}+@#{REGEXEN[:valid_domain]}/)? # Authority (optional)
|
||||||
|
(#{REGEXEN[:validate_nodeid]}+@)? # Username in path (optional)
|
||||||
|
(#{REGEXEN[:valid_domain]}) # Domain in path
|
||||||
|
(/#{REGEXEN[:validate_resid]}+)? # Resource in path (optional)
|
||||||
|
(\?#{REGEXEN[:valid_url_query_chars]}*#{REGEXEN[:valid_url_query_ending_chars]})? # Query String
|
||||||
|
) | (
|
||||||
|
(magnet:) # Protocol
|
||||||
|
(\?#{REGEXEN[:valid_url_query_chars]}*#{REGEXEN[:valid_url_query_ending_chars]}) # Query String
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}iox
|
||||||
|
end
|
||||||
|
end
|
||||||
2408
config/locales/en.yml.orig
Normal file
2408
config/locales/en.yml.orig
Normal file
File diff suppressed because it is too large
Load Diff
58
db/migrate/20181116173541_copy_account_stats.rb.orig
Normal file
58
db/migrate/20181116173541_copy_account_stats.rb.orig
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class CopyAccountStats < ActiveRecord::Migration[5.2]
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def up
|
||||||
|
safety_assured do
|
||||||
|
if supports_upsert?
|
||||||
|
up_fast
|
||||||
|
else
|
||||||
|
up_slow
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
# Nothing
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def supports_upsert?
|
||||||
|
ActiveRecord::Base.connection.database_version >= 90_500
|
||||||
|
end
|
||||||
|
|
||||||
|
def up_fast
|
||||||
|
say 'Upsert is available, importing counters using the fast method'
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
|
MigrationAccount.unscoped.select('id').find_in_batches(batch_size: 5_000) do |accounts|
|
||||||
|
execute <<~SQL.squish
|
||||||
|
=======
|
||||||
|
Account.unscoped.select('id').find_in_batches(batch_size: 5_000) do |accounts|
|
||||||
|
execute <<-SQL.squish
|
||||||
|
>>>>>>> e4fcf945b7 (Final save before migration)
|
||||||
|
INSERT INTO account_stats (account_id, statuses_count, following_count, followers_count, created_at, updated_at)
|
||||||
|
SELECT id, statuses_count, following_count, followers_count, created_at, updated_at
|
||||||
|
FROM accounts
|
||||||
|
WHERE id IN (#{accounts.map(&:id).join(', ')})
|
||||||
|
ON CONFLICT (account_id) DO UPDATE
|
||||||
|
SET statuses_count = EXCLUDED.statuses_count, following_count = EXCLUDED.following_count, followers_count = EXCLUDED.followers_count
|
||||||
|
SQL
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def up_slow
|
||||||
|
say 'Upsert is not available in PostgreSQL below 9.5, falling back to slow import of counters'
|
||||||
|
|
||||||
|
# We cannot use bulk INSERT or overarching transactions here because of possible
|
||||||
|
# uniqueness violations that we need to skip over
|
||||||
|
Account.unscoped.select('id, statuses_count, following_count, followers_count, created_at, updated_at').find_each do |account|
|
||||||
|
params = [account.id, account[:statuses_count], account[:following_count], account[:followers_count], account.created_at, account.updated_at]
|
||||||
|
exec_insert('INSERT INTO account_stats (account_id, statuses_count, following_count, followers_count, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6)', nil, params)
|
||||||
|
rescue ActiveRecord::RecordNotUnique
|
||||||
|
next
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
47
db/schema.rb
47
db/schema.rb
@ -1609,53 +1609,6 @@ ActiveRecord::Schema[8.1].define(version: 2026_06_11_150940) do
|
|||||||
add_foreign_key "web_settings", "users", name: "fk_11910667b2", on_delete: :cascade
|
add_foreign_key "web_settings", "users", name: "fk_11910667b2", on_delete: :cascade
|
||||||
add_foreign_key "webauthn_credentials", "users", on_delete: :cascade
|
add_foreign_key "webauthn_credentials", "users", on_delete: :cascade
|
||||||
|
|
||||||
create_view "instances", materialized: true, sql_definition: <<-SQL
|
|
||||||
WITH domain_counts(domain, accounts_count) AS (
|
|
||||||
SELECT accounts.domain,
|
|
||||||
count(*) AS accounts_count
|
|
||||||
FROM accounts
|
|
||||||
WHERE (accounts.domain IS NOT NULL)
|
|
||||||
GROUP BY accounts.domain
|
|
||||||
)
|
|
||||||
SELECT domain_counts.domain,
|
|
||||||
domain_counts.accounts_count
|
|
||||||
FROM domain_counts
|
|
||||||
UNION
|
|
||||||
SELECT domain_blocks.domain,
|
|
||||||
COALESCE(domain_counts.accounts_count, (0)::bigint) AS accounts_count
|
|
||||||
FROM (domain_blocks
|
|
||||||
LEFT JOIN domain_counts ON (((domain_counts.domain)::text = (domain_blocks.domain)::text)))
|
|
||||||
UNION
|
|
||||||
SELECT domain_allows.domain,
|
|
||||||
COALESCE(domain_counts.accounts_count, (0)::bigint) AS accounts_count
|
|
||||||
FROM (domain_allows
|
|
||||||
LEFT JOIN domain_counts ON (((domain_counts.domain)::text = (domain_allows.domain)::text)));
|
|
||||||
SQL
|
|
||||||
add_index "instances", "reverse(('.'::text || (domain)::text)), domain", name: "index_instances_on_reverse_domain"
|
|
||||||
add_index "instances", ["domain"], name: "index_instances_on_domain", unique: true
|
|
||||||
|
|
||||||
create_view "user_ips", sql_definition: <<-SQL
|
|
||||||
SELECT t0.user_id,
|
|
||||||
t0.ip,
|
|
||||||
max(t0.used_at) AS used_at
|
|
||||||
FROM ( SELECT users.id AS user_id,
|
|
||||||
users.sign_up_ip AS ip,
|
|
||||||
users.created_at AS used_at
|
|
||||||
FROM users
|
|
||||||
WHERE (users.sign_up_ip IS NOT NULL)
|
|
||||||
UNION ALL
|
|
||||||
SELECT session_activations.user_id,
|
|
||||||
session_activations.ip,
|
|
||||||
session_activations.updated_at
|
|
||||||
FROM session_activations
|
|
||||||
UNION ALL
|
|
||||||
SELECT login_activities.user_id,
|
|
||||||
login_activities.ip,
|
|
||||||
login_activities.created_at
|
|
||||||
FROM login_activities
|
|
||||||
WHERE (login_activities.success = true)) t0
|
|
||||||
GROUP BY t0.user_id, t0.ip;
|
|
||||||
SQL
|
|
||||||
create_view "account_summaries", materialized: true, sql_definition: <<-SQL
|
create_view "account_summaries", materialized: true, sql_definition: <<-SQL
|
||||||
SELECT accounts.id AS account_id,
|
SELECT accounts.id AS account_id,
|
||||||
mode() WITHIN GROUP (ORDER BY t0.language) AS language,
|
mode() WITHIN GROUP (ORDER BY t0.language) AS language,
|
||||||
|
|||||||
1762
db/schema.rb.orig
Normal file
1762
db/schema.rb.orig
Normal file
File diff suppressed because it is too large
Load Diff
98
lib/mastodon/version.rb.orig
Normal file
98
lib/mastodon/version.rb.orig
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Mastodon
|
||||||
|
module Version
|
||||||
|
module_function
|
||||||
|
|
||||||
|
def major
|
||||||
|
4
|
||||||
|
end
|
||||||
|
|
||||||
|
def minor
|
||||||
|
6
|
||||||
|
end
|
||||||
|
|
||||||
|
def patch
|
||||||
|
<<<<<<< HEAD
|
||||||
|
3
|
||||||
|
=======
|
||||||
|
2
|
||||||
|
>>>>>>> 921b03dd98 (Bump version to v4.1.2)
|
||||||
|
end
|
||||||
|
|
||||||
|
def default_prerelease
|
||||||
|
''
|
||||||
|
end
|
||||||
|
|
||||||
|
def prerelease
|
||||||
|
version_configuration[:prerelease].presence || default_prerelease
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_metadata
|
||||||
|
version_configuration[:metadata]
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_a
|
||||||
|
[major, minor, patch].compact
|
||||||
|
end
|
||||||
|
|
||||||
|
def to_s
|
||||||
|
components = [to_a.join('.')]
|
||||||
|
components << "-#{prerelease}" if prerelease.present?
|
||||||
|
components << "+#{build_metadata}" if build_metadata.present?
|
||||||
|
components.join
|
||||||
|
end
|
||||||
|
|
||||||
|
def gem_version
|
||||||
|
@gem_version ||= Gem::Version.new(to_s.split('+')[0])
|
||||||
|
end
|
||||||
|
|
||||||
|
def api_versions
|
||||||
|
{
|
||||||
|
mastodon: 11,
|
||||||
|
glitch: 1,
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def repository
|
||||||
|
source_configuration[:repository]
|
||||||
|
end
|
||||||
|
|
||||||
|
def source_base_url
|
||||||
|
source_configuration[:base_url] || "https://github.com/#{repository}"
|
||||||
|
end
|
||||||
|
|
||||||
|
# specify git tag or commit hash here
|
||||||
|
def source_tag
|
||||||
|
source_configuration[:tag]
|
||||||
|
end
|
||||||
|
|
||||||
|
def source_url
|
||||||
|
if source_tag
|
||||||
|
"#{source_base_url}/tree/#{source_tag}"
|
||||||
|
else
|
||||||
|
source_base_url
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def source_commit
|
||||||
|
ENV.fetch('SOURCE_COMMIT', nil)
|
||||||
|
end
|
||||||
|
|
||||||
|
def user_agent
|
||||||
|
@user_agent ||= "Mastodon/#{Version} (#{HTTP::Request::USER_AGENT}; +http#{'s' if Rails.configuration.x.use_https}://#{Rails.configuration.x.web_domain}/)"
|
||||||
|
end
|
||||||
|
|
||||||
|
def version_configuration
|
||||||
|
mastodon_configuration.version
|
||||||
|
end
|
||||||
|
|
||||||
|
def source_configuration
|
||||||
|
mastodon_configuration.source
|
||||||
|
end
|
||||||
|
|
||||||
|
def mastodon_configuration
|
||||||
|
Rails.configuration.x.mastodon
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
15
public/robots.txt.orig
Normal file
15
public/robots.txt.orig
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file
|
||||||
|
|
||||||
|
User-agent: GPTBot
|
||||||
|
Disallow: /
|
||||||
|
|
||||||
|
User-agent: *
|
||||||
|
Disallow: /media_proxy/
|
||||||
|
Disallow: /interact/
|
||||||
|
<<<<<<< HEAD
|
||||||
|
Disallow: /api/v1/instance/domain_blocks
|
||||||
|
=======
|
||||||
|
|
||||||
|
User-agent: GPTBot
|
||||||
|
Disallow:/
|
||||||
|
>>>>>>> 71fee96ad9 (Block gpt via robots.txt)
|
||||||
77
stylelint.config.js.orig
Normal file
77
stylelint.config.js.orig
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['stylelint-config-standard-scss'],
|
||||||
|
ignoreFiles: [
|
||||||
|
'app/javascript/styles/mastodon/reset.scss',
|
||||||
|
<<<<<<< HEAD
|
||||||
|
'app/javascript/flavours/glitch/styles/mastodon/reset.scss',
|
||||||
|
=======
|
||||||
|
'app/javascript/flavours/glitch/styles/reset.scss',
|
||||||
|
'app/javascript/flavours/glitch/styles/modern/modern.css',
|
||||||
|
>>>>>>> 6427a819b9 (Migrate Modern theme to separate Flavour)
|
||||||
|
'app/javascript/styles/win95.scss',
|
||||||
|
'coverage/**/*',
|
||||||
|
'node_modules/**/*',
|
||||||
|
'public/assets/**/*',
|
||||||
|
'public/packs*/**/*',
|
||||||
|
'vendor/**/*',
|
||||||
|
],
|
||||||
|
reportDescriptionlessDisables: true,
|
||||||
|
reportInvalidScopeDisables: true,
|
||||||
|
reportNeedlessDisables: true,
|
||||||
|
rules: {
|
||||||
|
'at-rule-empty-line-before': null,
|
||||||
|
'color-function-notation': null,
|
||||||
|
'color-function-alias-notation': null,
|
||||||
|
'declaration-block-no-redundant-longhand-properties': null,
|
||||||
|
'no-descending-specificity': null,
|
||||||
|
'no-duplicate-selectors': null,
|
||||||
|
'number-max-precision': 8,
|
||||||
|
'property-no-vendor-prefix': null,
|
||||||
|
'selector-class-pattern': null,
|
||||||
|
'selector-id-pattern': null,
|
||||||
|
'value-keyword-case': null,
|
||||||
|
'value-no-vendor-prefix': null,
|
||||||
|
'custom-property-pattern': [
|
||||||
|
'^_?[a-z]([a-z0-9])*(-[a-z0-9]+)*$',
|
||||||
|
{
|
||||||
|
message: (name) =>
|
||||||
|
`Expected custom property name "${name}" to be kebab-case (optional leading underscore allowed)`,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
'scss/dollar-variable-empty-line-before': null,
|
||||||
|
'scss/no-global-function-names': null,
|
||||||
|
},
|
||||||
|
overrides: [
|
||||||
|
{
|
||||||
|
files: ['app/javascript/styles/entrypoints/mailer.scss'],
|
||||||
|
rules: {
|
||||||
|
'property-no-unknown': [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
ignoreProperties: ['/^mso-/'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
files: [
|
||||||
|
'app/javascript/**/*.module.scss',
|
||||||
|
'app/javascript/**/*.module.css',
|
||||||
|
],
|
||||||
|
rules: {
|
||||||
|
'selector-pseudo-class-no-unknown': [
|
||||||
|
true,
|
||||||
|
{ ignorePseudoClasses: ['global'] },
|
||||||
|
],
|
||||||
|
|
||||||
|
'property-no-unknown': [
|
||||||
|
true,
|
||||||
|
{
|
||||||
|
ignoreProperties: ['composes'],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
Loading…
x
Reference in New Issue
Block a user