Compare commits
13 Commits
main
...
4.3.0-glit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
af93f93028 | ||
|
|
598f7000a8 | ||
|
|
486f91327d | ||
|
|
472478efe5 | ||
|
|
6cf361f527 | ||
|
|
feaccac18b | ||
|
|
5ac5be7eba | ||
|
|
8bf83a526c | ||
|
|
b0abbfaf66 | ||
|
|
96fb00b589 | ||
|
|
970248129a | ||
|
|
862235e0c9 | ||
|
|
e376fc57a5 |
7
.gitignore
vendored
7
.gitignore
vendored
@ -60,3 +60,10 @@ yarn-debug.log
|
||||
|
||||
# Ignore Docker option files
|
||||
docker-compose.override.yml
|
||||
|
||||
/public/packs
|
||||
/public/packs-test
|
||||
/node_modules
|
||||
/yarn-error.log
|
||||
yarn-debug.log*
|
||||
.yarn-integrity
|
||||
|
||||
@ -86,3 +86,6 @@ app/javascript/flavours/glitch/styles/reset.scss
|
||||
|
||||
# Ignore win95 theme
|
||||
app/javascript/styles/win95.scss
|
||||
|
||||
# Ignore wobbl themes
|
||||
app/javascript/flavors/glitch/styles/wobbl*
|
||||
|
||||
@ -53,7 +53,7 @@ module StatusesHelper
|
||||
def status_description(status)
|
||||
components = [[media_summary(status), status_text_summary(status)].compact_blank.join(' · ')]
|
||||
|
||||
if status.spoiler_text.blank?
|
||||
if status.spoiler_text.blank? || Setting.preview_sensitive_media
|
||||
components << status.text
|
||||
components << poll_summary(status)
|
||||
end
|
||||
|
||||
BIN
app/javascript/flavours/glitch/images/modern-preview.jpg
Normal file
BIN
app/javascript/flavours/glitch/images/modern-preview.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 424 KiB |
8
app/javascript/flavours/glitch/packs/common-modern.js
Normal file
8
app/javascript/flavours/glitch/packs/common-modern.js
Normal 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);
|
||||
5
app/javascript/flavours/glitch/styles/modern.scss
Normal file
5
app/javascript/flavours/glitch/styles/modern.scss
Normal file
@ -0,0 +1,5 @@
|
||||
@import 'index';
|
||||
|
||||
@import 'modern/modern';
|
||||
|
||||
@import 'modern/diff';
|
||||
294
app/javascript/flavours/glitch/styles/modern/diff.css
Normal file
294
app/javascript/flavours/glitch/styles/modern/diff.css
Normal 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;
|
||||
}
|
||||
5585
app/javascript/flavours/glitch/styles/modern/modern.css
Normal file
5585
app/javascript/flavours/glitch/styles/modern/modern.css
Normal file
File diff suppressed because it is too large
Load Diff
3
app/javascript/flavours/glitch/styles/wobbl-light.scss
Normal file
3
app/javascript/flavours/glitch/styles/wobbl-light.scss
Normal file
@ -0,0 +1,3 @@
|
||||
@import 'wobbl-light/variables';
|
||||
@import 'index';
|
||||
@import 'mastodon-light/diff';
|
||||
@ -0,0 +1,60 @@
|
||||
// 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';
|
||||
@ -0,0 +1,101 @@
|
||||
// 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)};
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
@import 'wobbl-old-light/variables';
|
||||
@import 'index';
|
||||
@import 'mastodon-light/diff';
|
||||
@ -0,0 +1,60 @@
|
||||
// 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';
|
||||
@ -0,0 +1,101 @@
|
||||
// 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)};
|
||||
}
|
||||
2
app/javascript/flavours/glitch/styles/wobbl-old.scss
Normal file
2
app/javascript/flavours/glitch/styles/wobbl-old.scss
Normal file
@ -0,0 +1,2 @@
|
||||
@import 'wobbl-old/variables';
|
||||
@import 'index';
|
||||
101
app/javascript/flavours/glitch/styles/wobbl-old/variables.scss
Normal file
101
app/javascript/flavours/glitch/styles/wobbl-old/variables.scss
Normal file
@ -0,0 +1,101 @@
|
||||
// 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)};
|
||||
}
|
||||
2
app/javascript/flavours/glitch/styles/wobbl.scss
Normal file
2
app/javascript/flavours/glitch/styles/wobbl.scss
Normal file
@ -0,0 +1,2 @@
|
||||
@import 'wobbl/variables';
|
||||
@import 'index';
|
||||
101
app/javascript/flavours/glitch/styles/wobbl/variables.scss
Normal file
101
app/javascript/flavours/glitch/styles/wobbl/variables.scss
Normal file
@ -0,0 +1,101 @@
|
||||
// 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,6 +1,6 @@
|
||||
import EXIF from 'exif-js';
|
||||
|
||||
const MAX_IMAGE_PIXELS = 2073600; // 1920x1080px
|
||||
const MAX_IMAGE_PIXELS = 8294400; // 3840x2160px
|
||||
|
||||
const _browser_quirks = {};
|
||||
|
||||
|
||||
8
app/javascript/flavours/modern-glitch/names.yml
Normal file
8
app/javascript/flavours/modern-glitch/names.yml
Normal 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
|
||||
49
app/javascript/flavours/modern-glitch/theme.yml
Normal file
49
app/javascript/flavours/modern-glitch/theme.yml
Normal 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:
|
||||
1
app/javascript/skins/glitch/wobbl-light/common.scss
Normal file
1
app/javascript/skins/glitch/wobbl-light/common.scss
Normal file
@ -0,0 +1 @@
|
||||
@import 'flavours/glitch/styles/wobbl-light';
|
||||
4
app/javascript/skins/glitch/wobbl-light/names.yml
Normal file
4
app/javascript/skins/glitch/wobbl-light/names.yml
Normal file
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
glitch:
|
||||
wobbl-light: Wobbl (light)
|
||||
1
app/javascript/skins/glitch/wobbl-old-light/common.scss
Normal file
1
app/javascript/skins/glitch/wobbl-old-light/common.scss
Normal file
@ -0,0 +1 @@
|
||||
@import 'flavours/glitch/styles/wobbl-old-light';
|
||||
4
app/javascript/skins/glitch/wobbl-old-light/names.yml
Normal file
4
app/javascript/skins/glitch/wobbl-old-light/names.yml
Normal file
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
glitch:
|
||||
wobbl-old-light: Wobbl Orange (light)
|
||||
1
app/javascript/skins/glitch/wobbl-old/common.scss
Normal file
1
app/javascript/skins/glitch/wobbl-old/common.scss
Normal file
@ -0,0 +1 @@
|
||||
@import 'flavours/glitch/styles/wobbl-old';
|
||||
4
app/javascript/skins/glitch/wobbl-old/names.yml
Normal file
4
app/javascript/skins/glitch/wobbl-old/names.yml
Normal file
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
glitch:
|
||||
wobbl-old: Wobbl Orange
|
||||
1
app/javascript/skins/glitch/wobbl/common.scss
Normal file
1
app/javascript/skins/glitch/wobbl/common.scss
Normal file
@ -0,0 +1 @@
|
||||
@import 'flavours/glitch/styles/wobbl';
|
||||
4
app/javascript/skins/glitch/wobbl/names.yml
Normal file
4
app/javascript/skins/glitch/wobbl/names.yml
Normal file
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
glitch:
|
||||
wobbl: Wobbl
|
||||
@ -0,0 +1,3 @@
|
||||
@import 'flavours/glitch/styles/mastodon-light/variables';
|
||||
@import 'flavours/glitch/styles/modern';
|
||||
@import 'flavours/glitch/styles/mastodon-light/diff';
|
||||
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
modern-glitch:
|
||||
modern-light: Default (light)
|
||||
@ -0,0 +1,3 @@
|
||||
@import 'flavours/glitch/styles/wobbl-light/variables';
|
||||
@import 'flavours/glitch/styles/modern';
|
||||
@import 'flavours/glitch/styles/mastodon-light/diff';
|
||||
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
modern-glitch:
|
||||
wobbl-modern-light: Wobbl Red (light)
|
||||
@ -0,0 +1,2 @@
|
||||
@import 'flavours/glitch/styles/wobbl/variables';
|
||||
@import 'flavours/glitch/styles/modern';
|
||||
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
modern-glitch:
|
||||
wobbl-modern: Wobbl Red
|
||||
@ -0,0 +1,3 @@
|
||||
@import 'flavours/glitch/styles/wobbl-old-light/variables';
|
||||
@import 'flavours/glitch/styles/modern';
|
||||
@import 'flavours/glitch/styles/mastodon-light/diff';
|
||||
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
modern-glitch:
|
||||
wobbl-old-modern-light: Wobbl Orange (light)
|
||||
@ -0,0 +1,2 @@
|
||||
@import 'flavours/glitch/styles/wobbl-old/variables';
|
||||
@import 'flavours/glitch/styles/modern';
|
||||
@ -0,0 +1,4 @@
|
||||
en:
|
||||
skins:
|
||||
modern-glitch:
|
||||
wobbl-old-modern: Wobbl Orange
|
||||
101
app/javascript/styles/wobbl-light.scss
Normal file
101
app/javascript/styles/wobbl-light.scss
Normal file
@ -0,0 +1,101 @@
|
||||
// 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)};
|
||||
}
|
||||
101
app/javascript/styles/wobbl.scss
Normal file
101
app/javascript/styles/wobbl.scss
Normal file
@ -0,0 +1,101 @@
|
||||
// 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)};
|
||||
}
|
||||
@ -7,7 +7,6 @@ require "pathname"
|
||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
||||
Pathname.new(__FILE__).realpath)
|
||||
|
||||
require "rubygems"
|
||||
require "bundler/setup"
|
||||
|
||||
require "webpacker"
|
||||
|
||||
@ -7,7 +7,6 @@ require "pathname"
|
||||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
||||
Pathname.new(__FILE__).realpath)
|
||||
|
||||
require "rubygems"
|
||||
require "bundler/setup"
|
||||
|
||||
require "webpacker"
|
||||
|
||||
129
ca-certificate.crt
Normal file
129
ca-certificate.crt
Normal file
@ -0,0 +1,129 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11" />
|
||||
<meta name="msapplication-TileImage" content="resources/images/icon_tile.png?v=4398" />
|
||||
<meta name="application-name" content="GYRO-NAS" />
|
||||
<meta name="msapplication-TileColor" content="#246BB3"/>
|
||||
<meta name="description" content="Synology NAS provides a full-featured network attached storage (NAS) solution to help you manage, backup and share data among Windows, Mac and Linux easily." />
|
||||
<meta name="keywords" content="Multitasking,Web Application,Personal Cloud" />
|
||||
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
|
||||
|
||||
<link rel="mask-icon" href="webman/safari_pin_icon.svg" color="#0086E5" />
|
||||
<link rel="shortcut icon" href="webman/favicon.ico?v=40438" />
|
||||
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_96.png?v=40438" sizes="96x96"/>
|
||||
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_64.png?v=40438" sizes="64x64"/>
|
||||
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_48.png?v=40438" sizes="48x48"/>
|
||||
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_32.png?v=40438" sizes="32x32"/>
|
||||
<link rel="shortcut icon" href="webman/resources/images/icon_dsm_16.png?v=40438" sizes="16x16"/>
|
||||
<title>GYRO-NAS</title>
|
||||
<link rel="stylesheet" type="text/css" href="scripts/ext-3.4/resources/css/ext-all.css?v=1672898121" />
|
||||
<link rel="stylesheet" type="text/css" href="scripts/scrollbar/flexcroll.css?v=1672898121" />
|
||||
<link rel="stylesheet" type="text/css" href="scripts/ext-3/ux/ux-all.css?v=1672898121" />
|
||||
<link rel="stylesheet" type="text/css" href="synoSDSjslib/sds.css?v=1683108982" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/desktop/dist/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/sds/dist/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/taskbar/dist/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/resources/css/desktop.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/login/dist/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/TinyMCE/style.css?v=1664290641" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/ClipBoardJS/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/Utils/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/Widgets/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/BandwidthControl/style.css?v=1634102886" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/DiskMessageHandler/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/UpdateMaskApp/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/HelpBrowser/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/SharingManager/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/ResourceMonitor/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/MyDSCenter/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/AudioPlayer/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/Share/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/ResetAdminApp/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/DesktopProgress/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/PersonalSettings/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/WelcomeApp/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/BackgroundTaskMonitor/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/HotkeyManager/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/LogCenter/style.css?v=1683102860" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/AdminCenter/style.css?v=1684221484" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/C3/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/VideoPlayer2/style.css?v=1672294400" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/FileChooser/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/EnableNewUpdateSetting/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/ConfigBackup/style.css?v=1681465681" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/PhotoViewer/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/DSMNotify/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/SystemInfoApp/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/SupportForm/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/TaskSchedulerUtils/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/TaskSchedulerWidget/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/StorageManager/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/PkgManApp/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/OTPWizard/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/SecurityScan/style.css?v=1673258467" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/PollingTask/style.css?v=1683795523" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/ExternalDevices/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/modules/DataDrivenDocuments/style.css?v=1683699872" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/ScsiTarget/style.css?v=1682669852" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/MediaServer/style.css?v=1678790334" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/DownloadStation/style.css?v=1678963497" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyApplicationService/style.css?v=1680860414" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SupportService/style.css?v=1684410294" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynoFinder/style.css?v=1679717023" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/HyperBackup/style.css?v=1681269975" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/FileTaskMonitor/style.css?v=1688118145" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/ActiveInsight/style.css?v=1686219681" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyDrive-ShareSync/style.css?v=1684478206" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/CodecPack/style.css?v=1678789109" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/AudioStation/style.css?v=1678958732" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyDrive/style.css?v=1684478211" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/VPNCenter/style.css?v=1678785883" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/AntiVirus/style.css?v=1681806841" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/VideoStation/style.css?v=1682651714" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/LogCenter/style.css?v=1684289330" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyPhotos/style.css?v=1685941114" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/CloudSync/style.css?v=1686280500" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/DhcpServer/style.css?v=1681815017" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SynologyDrive-Drive/style.css?v=1684478206" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/FileBrowser/style.css?v=1688118153" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/SMBService/style.css?v=1688543926" />
|
||||
<link rel="stylesheet" type="text/css" href="webman/3rdparty/OAuthService/style.css?v=1678783966" />
|
||||
<link rel="stylesheet" type="text/css" href="sharing/style.css?v=1669770591" />
|
||||
<link rel="stylesheet" type="text/css" href="../scripts/ext-3.4/resources/css/ext-all.css?v=1690892764" />
|
||||
<link rel="stylesheet" type="text/css" href="../webman/3rdparty/FileBrowser/style.css?v=1690892764" />
|
||||
<link rel="stylesheet" type="text/css" href="../webman/3rdparty/FileBrowser/custom_template.css?v=1690892764" />
|
||||
|
||||
</head>
|
||||
<body role="application">
|
||||
<div id="sds-wallpaper"></div>
|
||||
<!-- Don't contain any text node to avoid IE insertBefore bug -->
|
||||
<div id="sds-login-dialog-form" style="position: absolute; top: -10000px; left: -10000px;"><form id="login-form" class="x-plain-body" method="POST" action="webman/login.cgi" target="login_iframe"><input type="text" class="x-form-text" id="login_username" name="username" maxlength="256" /><input type="password" class="x-form-text" id="login_passwd" name="passwd" maxlength="256" autocomplete="off" /><input class="x-form-text" type="text" id="login_otp" name="OTPcode" maxlength="8" autocomplete="off" /><input type="submit" id="login_submit" style="position: absolute; top: -10000px; left: -10000px;" tabindex="-1" /></form><iframe id="login_iframe" name="login_iframe" width="0" height="0" frameborder="0" style="display: none;"></iframe></div>
|
||||
<div id="sds-apply-preview-form" style="position: absolute; top: -10000px; left: -10000px;"><form id="preview-form" class="x-plain-body" method="POST" action="webman/modules/ControlPanel/modules/dsm.cgi" target="preview_iframe"><input type="submit" id="preview_submit" style="position: absolute; top: -10000px; left: -10000px;" tabindex="-1" /></form><iframe id="preview_iframe" name="preview_iframe" width="0" height="0" frameborder="0" style="display: none;"></iframe></div>
|
||||
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Desktop.Defs&version=1&method=getjs&v=1685730685"></script>
|
||||
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Desktop.JSUIString&version=1&method=getjs&lang=enu&v=1688388798"></script>
|
||||
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Desktop.UIString&version=1&method=getjs&lang=enu&v=1688388802"></script>
|
||||
<script type="text/javascript" src="scripts/babel-polyfill/polyfill.js?v=1672898121"></script>
|
||||
<script type="text/javascript" src="scripts/synowebapi.js/synowebapi.min.js?v=1675322301"></script>
|
||||
<script type="text/javascript" src="scripts/synocredential.js/synocredential.min.js?v=1680089528"></script>
|
||||
<script type="text/javascript" src="scripts/vue/vue.min.js?v=1664290694"></script>
|
||||
<script type="text/javascript" src="scripts/vuex/vuex.min.js?v=1664290698"></script>
|
||||
<script type="text/javascript" src="scripts/vue-router/vue-router.min.js?v=1667901351"></script>
|
||||
<script type="text/javascript" src="scripts/syno-vue-components/syno-vue-components.min.js?v=1684234437"></script>
|
||||
<script type="text/javascript" src="synoSDSjslib/dist/vendor.bundle.js?v=1683108982"></script>
|
||||
<script type="text/javascript" src="synoSDSjslib/dist/sds.bundle.js?v=1683108982"></script>
|
||||
<script type="text/javascript" src="webman/sds/dist/dsm.common.bundle.js?v=1683699872"></script>
|
||||
<script type="text/javascript" src="sharing/sharing-sds.js?v=1683699872"></script>
|
||||
<script type="text/javascript" src="sharing/sharing.js?v=1669770591"></script>
|
||||
<script type="text/javascript" src="../scripts/ext-3.4/adapter/ext/ext-base.js?v=1690892764"></script>
|
||||
<script type="text/javascript" src="../scripts/ext-3.4/ext-all.js?v=1690892764"></script>
|
||||
<script type="text/javascript" src="../scripts/ext-3.4/ux/ux-all.js?v=1690892764"></script>
|
||||
<script type="text/javascript" src="../webman/sds/dist/dsm.common.bundle.js?v=1690892764"></script>
|
||||
<script type="text/javascript" src="../wfmlogindialog.js?v=1690892764"></script>
|
||||
<script type="text/javascript" src="webapi/entry.cgi?api=SYNO.Core.Sharing.Session&version=1&method=get&sharing_id="2VsGPnJVW"&sharing_status="none"&v=1683603442"></script>
|
||||
|
||||
<div id="main"></div>
|
||||
<div class="pre-load-x-window-br"></div>
|
||||
</body>
|
||||
</html>
|
||||
@ -10,6 +10,8 @@ Rails.application.configure do
|
||||
# since you don't have to restart the web server when you make code changes.
|
||||
config.cache_classes = false
|
||||
|
||||
config.hosts << 'wobbldev.tarrien.net'
|
||||
|
||||
# Do not eager load code on boot.
|
||||
config.eager_load = false
|
||||
|
||||
|
||||
@ -1195,9 +1195,9 @@ en:
|
||||
title: Security verification failed
|
||||
'429': Too many requests
|
||||
'500':
|
||||
content: We're sorry, but something went wrong on our end.
|
||||
content: We're sorry, but something went wrong on our end. You can check the status of Wobbl and its companion systems at our status page - https://status.wobbl.xyz.
|
||||
title: This page is not correct
|
||||
'503': The page could not be served due to a temporary server failure.
|
||||
'503': The page could not be served due to a temporary server failure. You can check the status of Wobbl and its companion systems at our status page - https://status.wobbl.xyz.
|
||||
noscript_html: To use the Mastodon web application, please enable JavaScript. Alternatively, try one of the <a href="%{apps_path}">native apps</a> for Mastodon for your platform.
|
||||
existing_username_validator:
|
||||
not_found: could not find a local user with that username
|
||||
|
||||
@ -9,7 +9,7 @@ threads min_threads_count, max_threads_count
|
||||
if ENV['SOCKET']
|
||||
bind "unix://#{ENV['SOCKET']}"
|
||||
else
|
||||
bind "tcp://#{ENV.fetch('BIND', '127.0.0.1')}:#{ENV.fetch('PORT', 3000)}"
|
||||
bind "tcp://#{ENV.fetch('BIND', '0.0.0.0')}:#{ENV.fetch('PORT', 3000)}"
|
||||
end
|
||||
|
||||
environment ENV.fetch('RAILS_ENV') { 'development' }
|
||||
|
||||
@ -18,6 +18,7 @@ module.exports = merge(sharedConfig, {
|
||||
mode: 'development',
|
||||
cache: true,
|
||||
devtool: 'cheap-module-eval-source-map',
|
||||
parallelism: 1,
|
||||
|
||||
stats: {
|
||||
errorDetails: true,
|
||||
|
||||
3
config/webpack/environment.js
Normal file
3
config/webpack/environment.js
Normal file
@ -0,0 +1,3 @@
|
||||
const { environment } = require('@rails/webpacker')
|
||||
|
||||
module.exports = environment
|
||||
5
config/webpack/test.js
Normal file
5
config/webpack/test.js
Normal file
@ -0,0 +1,5 @@
|
||||
process.env.NODE_ENV = process.env.NODE_ENV || 'development'
|
||||
|
||||
const environment = require('./environment')
|
||||
|
||||
module.exports = environment.toWebpackConfig()
|
||||
@ -3,10 +3,6 @@
|
||||
class CopyAccountStats < ActiveRecord::Migration[5.2]
|
||||
disable_ddl_transaction!
|
||||
|
||||
class MigrationAccount < ApplicationRecord
|
||||
self.table_name = :accounts
|
||||
end
|
||||
|
||||
def up
|
||||
safety_assured do
|
||||
if supports_upsert?
|
||||
@ -31,7 +27,7 @@ class CopyAccountStats < ActiveRecord::Migration[5.2]
|
||||
def up_fast
|
||||
say 'Upsert is available, importing counters using the fast method'
|
||||
|
||||
MigrationAccount.unscoped.select('id').find_in_batches(batch_size: 5_000) do |accounts|
|
||||
Account.unscoped.select('id').find_in_batches(batch_size: 5_000) do |accounts|
|
||||
execute <<-SQL.squish
|
||||
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
|
||||
@ -48,7 +44,7 @@ class CopyAccountStats < ActiveRecord::Migration[5.2]
|
||||
|
||||
# We cannot use bulk INSERT or overarching transactions here because of possible
|
||||
# uniqueness violations that we need to skip over
|
||||
MigrationAccount.unscoped.select('id, statuses_count, following_count, followers_count, created_at, updated_at').find_each do |account|
|
||||
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
|
||||
|
||||
@ -46,13 +46,14 @@
|
||||
"@github/webauthn-json": "^2.1.1",
|
||||
"@material-design-icons/svg": "^0.14.10",
|
||||
"@rails/ujs": "^7.0.6",
|
||||
"@rails/webpacker": "5.4.4",
|
||||
"@reduxjs/toolkit": "^1.9.5",
|
||||
"@renchap/compression-webpack-plugin": "^6.1.4",
|
||||
"@svgr/webpack": "^5.5.0",
|
||||
"abortcontroller-polyfill": "^1.7.5",
|
||||
"atrament": "0.2.4",
|
||||
"arrow-key-navigation": "^1.2.0",
|
||||
"async-mutex": "^0.4.0",
|
||||
"atrament": "0.2.4",
|
||||
"autoprefixer": "^10.4.14",
|
||||
"axios": "^1.4.0",
|
||||
"babel-loader": "^8.3.0",
|
||||
@ -212,7 +213,7 @@
|
||||
"stylelint": "^15.10.1",
|
||||
"stylelint-config-standard-scss": "^11.0.0",
|
||||
"typescript": "^5.0.4",
|
||||
"webpack-dev-server": "^3.11.3",
|
||||
"webpack-dev-server": "^3",
|
||||
"yargs": "^17.7.2"
|
||||
},
|
||||
"resolutions": {
|
||||
|
||||
@ -6,3 +6,6 @@ Disallow: /
|
||||
User-agent: *
|
||||
Disallow: /media_proxy/
|
||||
Disallow: /interact/
|
||||
|
||||
User-agent: GPTBot
|
||||
Disallow:/
|
||||
|
||||
8247
stderr.log
Normal file
8247
stderr.log
Normal file
File diff suppressed because it is too large
Load Diff
@ -88,6 +88,11 @@ const pgConfigFromEnv = (env) => {
|
||||
},
|
||||
};
|
||||
|
||||
if (!!process.env.DB_SSLMODE && process.env.DB_SSLMODE !== 'disable') {
|
||||
pgConfigs.development.ssl = true;
|
||||
pgConfigs.production.ssl = {ca: fs.readFileSync("ca-certificate.crt") };
|
||||
}
|
||||
|
||||
let baseConfig;
|
||||
|
||||
if (env.DATABASE_URL) {
|
||||
@ -110,7 +115,7 @@ const pgConfigFromEnv = (env) => {
|
||||
baseConfig.ssl = { rejectUnauthorized: false };
|
||||
break;
|
||||
default:
|
||||
baseConfig.ssl = {};
|
||||
baseConfig.ssl = { rejectUnauthorized: false };
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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/**/*',
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user