diff options
author | kibigo! <marrus-sh@users.noreply.github.com> | 2017-11-18 15:12:52 -0800 |
---|---|---|
committer | kibigo! <marrus-sh@users.noreply.github.com> | 2017-11-18 15:12:52 -0800 |
commit | a9ed85717163040fb202d49b0342e9e350cb12ba (patch) | |
tree | 542142fa2ed7c1ff5584671c9a678f4b64edc15c /app/javascript/packs | |
parent | 92cc79be7206534e8c9a9957cc89b5d0eb0bcfac (diff) |
WIP static themeing
Diffstat (limited to 'app/javascript/packs')
-rw-r--r-- | app/javascript/packs/about.js | 24 | ||||
-rw-r--r-- | app/javascript/packs/admin.js | 40 | ||||
-rw-r--r-- | app/javascript/packs/application.js | 3 | ||||
-rw-r--r-- | app/javascript/packs/common.js | 6 | ||||
-rw-r--r-- | app/javascript/packs/public.js | 149 | ||||
-rw-r--r-- | app/javascript/packs/share.js | 24 |
6 files changed, 1 insertions, 245 deletions
diff --git a/app/javascript/packs/about.js b/app/javascript/packs/about.js deleted file mode 100644 index 6ce8757dc..000000000 --- a/app/javascript/packs/about.js +++ /dev/null @@ -1,24 +0,0 @@ -import loadPolyfills from 'themes/glitch/util/load_polyfills'; - -require.context('../images/', true); - -function loaded() { - const TimelineContainer = require('themes/glitch/containers/timeline_container').default; - const React = require('react'); - const ReactDOM = require('react-dom'); - const mountNode = document.getElementById('mastodon-timeline'); - - if (mountNode !== null) { - const props = JSON.parse(mountNode.getAttribute('data-props')); - ReactDOM.render(<TimelineContainer {...props} />, mountNode); - } -} - -function main() { - const ready = require('themes/glitch/util/ready').default; - ready(loaded); -} - -loadPolyfills().then(main).catch(error => { - console.error(error); -}); diff --git a/app/javascript/packs/admin.js b/app/javascript/packs/admin.js deleted file mode 100644 index 993827db5..000000000 --- a/app/javascript/packs/admin.js +++ /dev/null @@ -1,40 +0,0 @@ -import { delegate } from 'rails-ujs'; - -function handleDeleteStatus(event) { - const [data] = event.detail; - const element = document.querySelector(`[data-id="${data.id}"]`); - if (element) { - element.parentNode.removeChild(element); - } -} - -[].forEach.call(document.querySelectorAll('.trash-button'), (content) => { - content.addEventListener('ajax:success', handleDeleteStatus); -}); - -const batchCheckboxClassName = '.batch-checkbox input[type="checkbox"]'; - -delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { - [].forEach.call(document.querySelectorAll(batchCheckboxClassName), (content) => { - content.checked = target.checked; - }); -}); - -delegate(document, batchCheckboxClassName, 'change', () => { - const checkAllElement = document.querySelector('#batch_checkbox_all'); - if (checkAllElement) { - checkAllElement.checked = [].every.call(document.querySelectorAll(batchCheckboxClassName), (content) => content.checked); - } -}); - -delegate(document, '.media-spoiler-show-button', 'click', () => { - [].forEach.call(document.querySelectorAll('.activity-stream .media-spoiler-wrapper'), (content) => { - content.classList.add('media-spoiler-wrapper__visible'); - }); -}); - -delegate(document, '.media-spoiler-hide-button', 'click', () => { - [].forEach.call(document.querySelectorAll('.activity-stream .media-spoiler-wrapper'), (content) => { - content.classList.remove('media-spoiler-wrapper__visible'); - }); -}); diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 21dc78986..ee5bf244c 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -5,8 +5,7 @@ import loadPolyfills from '../mastodon/load_polyfills'; // import default stylesheet with variables -require('font-awesome/css/font-awesome.css'); - +import 'font-awesome/css/font-awesome.css'; import '../styles/application.scss'; require.context('../images/', true); diff --git a/app/javascript/packs/common.js b/app/javascript/packs/common.js deleted file mode 100644 index 96e6f4b16..000000000 --- a/app/javascript/packs/common.js +++ /dev/null @@ -1,6 +0,0 @@ -import { start } from 'rails-ujs'; -import 'font-awesome/css/font-awesome.css'; - -require.context('../images/', true); - -start(); diff --git a/app/javascript/packs/public.js b/app/javascript/packs/public.js deleted file mode 100644 index 6adacad98..000000000 --- a/app/javascript/packs/public.js +++ /dev/null @@ -1,149 +0,0 @@ -import loadPolyfills from 'themes/glitch/util/load_polyfills'; -import { processBio } from 'themes/glitch/util/bio_metadata'; -import ready from 'themes/glitch/util/ready'; - -window.addEventListener('message', e => { - const data = e.data || {}; - - if (!window.parent || data.type !== 'setHeight') { - return; - } - - ready(() => { - window.parent.postMessage({ - type: 'setHeight', - id: data.id, - height: document.getElementsByTagName('html')[0].scrollHeight, - }, '*'); - }); -}); - -function main() { - const { length } = require('stringz'); - const IntlRelativeFormat = require('intl-relativeformat').default; - const { delegate } = require('rails-ujs'); - const emojify = require('../themes/glitch/util/emoji').default; - const { getLocale } = require('mastodon/locales'); - const { localeData } = getLocale(); - const VideoContainer = require('../themes/glitch/containers/video_container').default; - const MediaGalleryContainer = require('../themes/glitch/containers/media_gallery_container').default; - const CardContainer = require('../themes/glitch/containers/card_container').default; - const React = require('react'); - const ReactDOM = require('react-dom'); - - localeData.forEach(IntlRelativeFormat.__addLocaleData); - - ready(() => { - const locale = document.documentElement.lang; - - const dateTimeFormat = new Intl.DateTimeFormat(locale, { - year: 'numeric', - month: 'long', - day: 'numeric', - hour: 'numeric', - minute: 'numeric', - }); - - const relativeFormat = new IntlRelativeFormat(locale); - - [].forEach.call(document.querySelectorAll('.emojify'), (content) => { - content.innerHTML = emojify(content.innerHTML); - }); - - [].forEach.call(document.querySelectorAll('time.formatted'), (content) => { - const datetime = new Date(content.getAttribute('datetime')); - const formattedDate = dateTimeFormat.format(datetime); - - content.title = formattedDate; - content.textContent = formattedDate; - }); - - [].forEach.call(document.querySelectorAll('time.time-ago'), (content) => { - const datetime = new Date(content.getAttribute('datetime')); - - content.title = dateTimeFormat.format(datetime); - content.textContent = relativeFormat.format(datetime); - }); - - [].forEach.call(document.querySelectorAll('.logo-button'), (content) => { - content.addEventListener('click', (e) => { - e.preventDefault(); - window.open(e.target.href, 'mastodon-intent', 'width=400,height=400,resizable=no,menubar=no,status=no,scrollbars=yes'); - }); - }); - - [].forEach.call(document.querySelectorAll('[data-component="Video"]'), (content) => { - const props = JSON.parse(content.getAttribute('data-props')); - ReactDOM.render(<VideoContainer locale={locale} {...props} />, content); - }); - - [].forEach.call(document.querySelectorAll('[data-component="MediaGallery"]'), (content) => { - const props = JSON.parse(content.getAttribute('data-props')); - ReactDOM.render(<MediaGalleryContainer locale={locale} {...props} />, content); - }); - - [].forEach.call(document.querySelectorAll('[data-component="Card"]'), (content) => { - const props = JSON.parse(content.getAttribute('data-props')); - ReactDOM.render(<CardContainer locale={locale} {...props} />, content); - }); - }); - - delegate(document, '.webapp-btn', 'click', ({ target, button }) => { - if (button !== 0) { - return true; - } - window.location.href = target.href; - return false; - }); - - delegate(document, '.status__content__spoiler-link', 'click', ({ target }) => { - const contentEl = target.parentNode.parentNode.querySelector('.e-content'); - - if (contentEl.style.display === 'block') { - contentEl.style.display = 'none'; - target.parentNode.style.marginBottom = 0; - } else { - contentEl.style.display = 'block'; - target.parentNode.style.marginBottom = null; - } - - return false; - }); - - delegate(document, '.account_display_name', 'input', ({ target }) => { - const nameCounter = document.querySelector('.name-counter'); - - if (nameCounter) { - nameCounter.textContent = 30 - length(target.value); - } - }); - - delegate(document, '.account_note', 'input', ({ target }) => { - const noteCounter = document.querySelector('.note-counter'); - - if (noteCounter) { - const noteWithoutMetadata = processBio(target.value).text; - noteCounter.textContent = 500 - length(noteWithoutMetadata); - } - }); - - delegate(document, '#account_avatar', 'change', ({ target }) => { - const avatar = document.querySelector('.card.compact .avatar img'); - const [file] = target.files || []; - const url = file ? URL.createObjectURL(file) : avatar.dataset.originalSrc; - - avatar.src = url; - }); - - delegate(document, '#account_header', 'change', ({ target }) => { - const header = document.querySelector('.card.compact'); - const [file] = target.files || []; - const url = file ? URL.createObjectURL(file) : header.dataset.originalSrc; - - header.style.backgroundImage = `url(${url})`; - }); -} - -loadPolyfills().then(main).catch(error => { - console.error(error); -}); diff --git a/app/javascript/packs/share.js b/app/javascript/packs/share.js deleted file mode 100644 index 9cd95bcee..000000000 --- a/app/javascript/packs/share.js +++ /dev/null @@ -1,24 +0,0 @@ -import loadPolyfills from 'themes/glitch/util/load_polyfills'; - -require.context('../images/', true); - -function loaded() { - const ComposeContainer = require('themes/glitch/containers/compose_container').default; - const React = require('react'); - const ReactDOM = require('react-dom'); - const mountNode = document.getElementById('mastodon-compose'); - - if (mountNode !== null) { - const props = JSON.parse(mountNode.getAttribute('data-props')); - ReactDOM.render(<ComposeContainer {...props} />, mountNode); - } -} - -function main() { - const ready = require('themes/glitch/util/ready').default; - ready(loaded); -} - -loadPolyfills().then(main).catch(error => { - console.error(error); -}); |