]> cat aescling's git repositories - mastodon.git/commitdiff
Rename themes -> flavours ? ?
authorkibigo! <marrus-sh@users.noreply.github.com>
Mon, 4 Dec 2017 07:26:40 +0000 (23:26 -0800)
committerkibigo! <marrus-sh@users.noreply.github.com>
Mon, 4 Dec 2017 07:26:40 +0000 (23:26 -0800)
313 files changed:
.gitmodules
app/controllers/application_controller.rb
app/javascript/core/settings.js
app/javascript/flavours/glitch/actions/accounts.js [moved from app/javascript/themes/glitch/actions/accounts.js with 99% similarity]
app/javascript/flavours/glitch/actions/alerts.js [moved from app/javascript/themes/glitch/actions/alerts.js with 100% similarity]
app/javascript/flavours/glitch/actions/blocks.js [moved from app/javascript/themes/glitch/actions/blocks.js with 97% similarity]
app/javascript/flavours/glitch/actions/bundles.js [moved from app/javascript/themes/glitch/actions/bundles.js with 100% similarity]
app/javascript/flavours/glitch/actions/cards.js [moved from app/javascript/themes/glitch/actions/cards.js with 96% similarity]
app/javascript/flavours/glitch/actions/columns.js [moved from app/javascript/themes/glitch/actions/columns.js with 100% similarity]
app/javascript/flavours/glitch/actions/compose.js [moved from app/javascript/themes/glitch/actions/compose.js with 98% similarity]
app/javascript/flavours/glitch/actions/domain_blocks.js [moved from app/javascript/themes/glitch/actions/domain_blocks.js with 97% similarity]
app/javascript/flavours/glitch/actions/emojis.js [moved from app/javascript/themes/glitch/actions/emojis.js with 100% similarity]
app/javascript/flavours/glitch/actions/favourites.js [moved from app/javascript/themes/glitch/actions/favourites.js with 97% similarity]
app/javascript/flavours/glitch/actions/height_cache.js [moved from app/javascript/themes/glitch/actions/height_cache.js with 100% similarity]
app/javascript/flavours/glitch/actions/interactions.js [moved from app/javascript/themes/glitch/actions/interactions.js with 99% similarity]
app/javascript/flavours/glitch/actions/local_settings.js [moved from app/javascript/themes/glitch/actions/local_settings.js with 100% similarity]
app/javascript/flavours/glitch/actions/modal.js [moved from app/javascript/themes/glitch/actions/modal.js with 100% similarity]
app/javascript/flavours/glitch/actions/mutes.js [moved from app/javascript/themes/glitch/actions/mutes.js with 95% similarity]
app/javascript/flavours/glitch/actions/notifications.js [moved from app/javascript/themes/glitch/actions/notifications.js with 99% similarity]
app/javascript/flavours/glitch/actions/onboarding.js [moved from app/javascript/themes/glitch/actions/onboarding.js with 100% similarity]
app/javascript/flavours/glitch/actions/pin_statuses.js [moved from app/javascript/themes/glitch/actions/pin_statuses.js with 90% similarity]
app/javascript/flavours/glitch/actions/push_notifications.js [moved from app/javascript/themes/glitch/actions/push_notifications.js with 100% similarity]
app/javascript/flavours/glitch/actions/reports.js [moved from app/javascript/themes/glitch/actions/reports.js with 97% similarity]
app/javascript/flavours/glitch/actions/search.js [moved from app/javascript/themes/glitch/actions/search.js with 96% similarity]
app/javascript/flavours/glitch/actions/settings.js [moved from app/javascript/themes/glitch/actions/settings.js with 100% similarity]
app/javascript/flavours/glitch/actions/statuses.js [moved from app/javascript/themes/glitch/actions/statuses.js with 99% similarity]
app/javascript/flavours/glitch/actions/store.js [moved from app/javascript/themes/glitch/actions/store.js with 100% similarity]
app/javascript/flavours/glitch/actions/streaming.js [moved from app/javascript/themes/glitch/actions/streaming.js with 96% similarity]
app/javascript/flavours/glitch/actions/timelines.js [moved from app/javascript/themes/glitch/actions/timelines.js with 99% similarity]
app/javascript/flavours/glitch/components/account.js [moved from app/javascript/themes/glitch/components/account.js with 98% similarity]
app/javascript/flavours/glitch/components/attachment_list.js [moved from app/javascript/themes/glitch/components/attachment_list.js with 100% similarity]
app/javascript/flavours/glitch/components/autosuggest_emoji.js [moved from app/javascript/themes/glitch/components/autosuggest_emoji.js with 90% similarity]
app/javascript/flavours/glitch/components/autosuggest_textarea.js [moved from app/javascript/themes/glitch/components/autosuggest_textarea.js with 97% similarity]
app/javascript/flavours/glitch/components/avatar.js [moved from app/javascript/themes/glitch/components/avatar.js with 100% similarity]
app/javascript/flavours/glitch/components/avatar_overlay.js [moved from app/javascript/themes/glitch/components/avatar_overlay.js with 100% similarity]
app/javascript/flavours/glitch/components/button.js [moved from app/javascript/themes/glitch/components/button.js with 100% similarity]
app/javascript/flavours/glitch/components/collapsable.js [moved from app/javascript/themes/glitch/components/collapsable.js with 92% similarity]
app/javascript/flavours/glitch/components/column.js [moved from app/javascript/themes/glitch/components/column.js with 95% similarity]
app/javascript/flavours/glitch/components/column_back_button.js [moved from app/javascript/themes/glitch/components/column_back_button.js with 100% similarity]
app/javascript/flavours/glitch/components/column_back_button_slim.js [moved from app/javascript/themes/glitch/components/column_back_button_slim.js with 100% similarity]
app/javascript/flavours/glitch/components/column_header.js [moved from app/javascript/themes/glitch/components/column_header.js with 98% similarity]
app/javascript/flavours/glitch/components/display_name.js [moved from app/javascript/themes/glitch/components/display_name.js with 100% similarity]
app/javascript/flavours/glitch/components/dropdown_menu.js [moved from app/javascript/themes/glitch/components/dropdown_menu.js with 98% similarity]
app/javascript/flavours/glitch/components/extended_video_player.js [moved from app/javascript/themes/glitch/components/extended_video_player.js with 100% similarity]
app/javascript/flavours/glitch/components/icon_button.js [moved from app/javascript/themes/glitch/components/icon_button.js with 98% similarity]
app/javascript/flavours/glitch/components/intersection_observer_article.js [moved from app/javascript/themes/glitch/components/intersection_observer_article.js with 96% similarity]
app/javascript/flavours/glitch/components/load_more.js [moved from app/javascript/themes/glitch/components/load_more.js with 100% similarity]
app/javascript/flavours/glitch/components/loading_indicator.js [moved from app/javascript/themes/glitch/components/loading_indicator.js with 100% similarity]
app/javascript/flavours/glitch/components/media_gallery.js [moved from app/javascript/themes/glitch/components/media_gallery.js with 98% similarity]
app/javascript/flavours/glitch/components/missing_indicator.js [moved from app/javascript/themes/glitch/components/missing_indicator.js with 100% similarity]
app/javascript/flavours/glitch/components/notification_purge_buttons.js [moved from app/javascript/themes/glitch/components/notification_purge_buttons.js with 100% similarity]
app/javascript/flavours/glitch/components/permalink.js [moved from app/javascript/themes/glitch/components/permalink.js with 100% similarity]
app/javascript/flavours/glitch/components/relative_timestamp.js [moved from app/javascript/themes/glitch/components/relative_timestamp.js with 100% similarity]
app/javascript/flavours/glitch/components/scrollable_list.js [moved from app/javascript/themes/glitch/components/scrollable_list.js with 95% similarity]
app/javascript/flavours/glitch/components/setting_text.js [moved from app/javascript/themes/glitch/components/setting_text.js with 100% similarity]
app/javascript/flavours/glitch/components/status.js [moved from app/javascript/themes/glitch/components/status.js with 98% similarity]
app/javascript/flavours/glitch/components/status_action_bar.js [moved from app/javascript/themes/glitch/components/status_action_bar.js with 96% similarity]
app/javascript/flavours/glitch/components/status_content.js [moved from app/javascript/themes/glitch/components/status_content.js with 99% similarity]
app/javascript/flavours/glitch/components/status_header.js [moved from app/javascript/themes/glitch/components/status_header.js with 100% similarity]
app/javascript/flavours/glitch/components/status_list.js [moved from app/javascript/themes/glitch/components/status_list.js with 95% similarity]
app/javascript/flavours/glitch/components/status_prepend.js [moved from app/javascript/themes/glitch/components/status_prepend.js with 100% similarity]
app/javascript/flavours/glitch/components/status_visibility_icon.js [moved from app/javascript/themes/glitch/components/status_visibility_icon.js with 100% similarity]
app/javascript/flavours/glitch/containers/account_container.js [moved from app/javascript/themes/glitch/containers/account_container.js with 84% similarity]
app/javascript/flavours/glitch/containers/card_container.js [moved from app/javascript/themes/glitch/containers/card_container.js with 84% similarity]
app/javascript/flavours/glitch/containers/compose_container.js [moved from app/javascript/themes/glitch/containers/compose_container.js with 74% similarity]
app/javascript/flavours/glitch/containers/dropdown_menu_container.js [moved from app/javascript/themes/glitch/containers/dropdown_menu_container.js with 65% similarity]
app/javascript/flavours/glitch/containers/intersection_observer_article_container.js [moved from app/javascript/themes/glitch/containers/intersection_observer_article_container.js with 70% similarity]
app/javascript/flavours/glitch/containers/mastodon.js [moved from app/javascript/themes/glitch/containers/mastodon.js with 82% similarity]
app/javascript/flavours/glitch/containers/media_gallery_container.js [moved from app/javascript/themes/glitch/containers/media_gallery_container.js with 92% similarity]
app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js [moved from app/javascript/themes/glitch/containers/notification_purge_buttons_container.js with 86% similarity]
app/javascript/flavours/glitch/containers/status_container.js [moved from app/javascript/themes/glitch/containers/status_container.js with 85% similarity]
app/javascript/flavours/glitch/containers/timeline_container.js [moved from app/javascript/themes/glitch/containers/timeline_container.js with 72% similarity]
app/javascript/flavours/glitch/containers/video_container.js [moved from app/javascript/themes/glitch/containers/video_container.js with 91% similarity]
app/javascript/flavours/glitch/features/account/components/action_bar.js [moved from app/javascript/themes/glitch/features/account/components/action_bar.js with 97% similarity]
app/javascript/flavours/glitch/features/account/components/header.js [moved from app/javascript/themes/glitch/features/account/components/header.js with 92% similarity]
app/javascript/flavours/glitch/features/account_gallery/components/media_item.js [moved from app/javascript/themes/glitch/features/account_gallery/components/media_item.js with 93% similarity]
app/javascript/flavours/glitch/features/account_gallery/index.js [moved from app/javascript/themes/glitch/features/account_gallery/index.js with 84% similarity]
app/javascript/flavours/glitch/features/account_timeline/components/header.js [moved from app/javascript/themes/glitch/features/account_timeline/components/header.js with 90% similarity]
app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js [moved from app/javascript/themes/glitch/features/account_timeline/containers/header_container.js with 86% similarity]
app/javascript/flavours/glitch/features/account_timeline/index.js [moved from app/javascript/themes/glitch/features/account_timeline/index.js with 93% similarity]
app/javascript/flavours/glitch/features/blocks/index.js [moved from app/javascript/themes/glitch/features/blocks/index.js with 81% similarity]
app/javascript/flavours/glitch/features/community_timeline/components/column_settings.js [moved from app/javascript/themes/glitch/features/community_timeline/components/column_settings.js with 94% similarity]
app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js [moved from app/javascript/themes/glitch/features/community_timeline/containers/column_settings_container.js with 86% similarity]
app/javascript/flavours/glitch/features/community_timeline/index.js [moved from app/javascript/themes/glitch/features/community_timeline/index.js with 85% similarity]
app/javascript/flavours/glitch/features/compose/components/advanced_options.js [moved from app/javascript/themes/glitch/features/compose/components/advanced_options.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/components/advanced_options_toggle.js [moved from app/javascript/themes/glitch/features/compose/components/advanced_options_toggle.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/components/attach_options.js [moved from app/javascript/themes/glitch/features/compose/components/attach_options.js with 96% similarity]
app/javascript/flavours/glitch/features/compose/components/autosuggest_account.js [moved from app/javascript/themes/glitch/features/compose/components/autosuggest_account.js with 82% similarity]
app/javascript/flavours/glitch/features/compose/components/character_counter.js [moved from app/javascript/themes/glitch/features/compose/components/character_counter.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/components/compose_form.js [moved from app/javascript/themes/glitch/features/compose/components/compose_form.js with 96% similarity]
app/javascript/flavours/glitch/features/compose/components/dropdown.js [moved from app/javascript/themes/glitch/features/compose/components/dropdown.js with 96% similarity]
app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.js [moved from app/javascript/themes/glitch/features/compose/components/emoji_picker_dropdown.js with 98% similarity]
app/javascript/flavours/glitch/features/compose/components/navigation_bar.js [moved from app/javascript/themes/glitch/features/compose/components/navigation_bar.js with 87% similarity]
app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.js [moved from app/javascript/themes/glitch/features/compose/components/privacy_dropdown.js with 98% similarity]
app/javascript/flavours/glitch/features/compose/components/reply_indicator.js [moved from app/javascript/themes/glitch/features/compose/components/reply_indicator.js with 90% similarity]
app/javascript/flavours/glitch/features/compose/components/search.js [moved from app/javascript/themes/glitch/features/compose/components/search.js with 98% similarity]
app/javascript/flavours/glitch/features/compose/components/search_results.js [moved from app/javascript/themes/glitch/features/compose/components/search_results.js with 93% similarity]
app/javascript/flavours/glitch/features/compose/components/text_icon_button.js [moved from app/javascript/themes/glitch/features/compose/components/text_icon_button.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/components/upload.js [moved from app/javascript/themes/glitch/features/compose/components/upload.js with 96% similarity]
app/javascript/flavours/glitch/features/compose/components/upload_button.js [moved from app/javascript/themes/glitch/features/compose/components/upload_button.js with 97% similarity]
app/javascript/flavours/glitch/features/compose/components/upload_form.js [moved from app/javascript/themes/glitch/features/compose/components/upload_form.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/components/upload_progress.js [moved from app/javascript/themes/glitch/features/compose/components/upload_progress.js with 94% similarity]
app/javascript/flavours/glitch/features/compose/components/warning.js [moved from app/javascript/themes/glitch/features/compose/components/warning.js with 93% similarity]
app/javascript/flavours/glitch/features/compose/containers/advanced_options_container.js [moved from app/javascript/themes/glitch/features/compose/containers/advanced_options_container.js with 85% similarity]
app/javascript/flavours/glitch/features/compose/containers/autosuggest_account_container.js [moved from app/javascript/themes/glitch/features/compose/containers/autosuggest_account_container.js with 86% similarity]
app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js [moved from app/javascript/themes/glitch/features/compose/containers/compose_form_container.js with 93% similarity]
app/javascript/flavours/glitch/features/compose/containers/emoji_picker_dropdown_container.js [moved from app/javascript/themes/glitch/features/compose/containers/emoji_picker_dropdown_container.js with 93% similarity]
app/javascript/flavours/glitch/features/compose/containers/navigation_container.js [moved from app/javascript/themes/glitch/features/compose/containers/navigation_container.js with 81% similarity]
app/javascript/flavours/glitch/features/compose/containers/privacy_dropdown_container.js [moved from app/javascript/themes/glitch/features/compose/containers/privacy_dropdown_container.js with 73% similarity]
app/javascript/flavours/glitch/features/compose/containers/reply_indicator_container.js [moved from app/javascript/themes/glitch/features/compose/containers/reply_indicator_container.js with 79% similarity]
app/javascript/flavours/glitch/features/compose/containers/search_container.js [moved from app/javascript/themes/glitch/features/compose/containers/search_container.js with 93% similarity]
app/javascript/flavours/glitch/features/compose/containers/search_results_container.js [moved from app/javascript/themes/glitch/features/compose/containers/search_results_container.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/containers/sensitive_button_container.js [moved from app/javascript/themes/glitch/features/compose/containers/sensitive_button_container.js with 91% similarity]
app/javascript/flavours/glitch/features/compose/containers/spoiler_button_container.js [moved from app/javascript/themes/glitch/features/compose/containers/spoiler_button_container.js with 89% similarity]
app/javascript/flavours/glitch/features/compose/containers/upload_button_container.js [moved from app/javascript/themes/glitch/features/compose/containers/upload_button_container.js with 90% similarity]
app/javascript/flavours/glitch/features/compose/containers/upload_container.js [moved from app/javascript/themes/glitch/features/compose/containers/upload_container.js with 84% similarity]
app/javascript/flavours/glitch/features/compose/containers/upload_form_container.js [moved from app/javascript/themes/glitch/features/compose/containers/upload_form_container.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/containers/upload_progress_container.js [moved from app/javascript/themes/glitch/features/compose/containers/upload_progress_container.js with 100% similarity]
app/javascript/flavours/glitch/features/compose/containers/warning_container.js [moved from app/javascript/themes/glitch/features/compose/containers/warning_container.js with 94% similarity]
app/javascript/flavours/glitch/features/compose/index.js [moved from app/javascript/themes/glitch/features/compose/index.js with 93% similarity]
app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js [moved from app/javascript/themes/glitch/features/direct_timeline/containers/column_settings_container.js with 67% similarity]
app/javascript/flavours/glitch/features/direct_timeline/index.js [moved from app/javascript/themes/glitch/features/direct_timeline/index.js with 85% similarity]
app/javascript/flavours/glitch/features/favourited_statuses/index.js [moved from app/javascript/themes/glitch/features/favourited_statuses/index.js with 87% similarity]
app/javascript/flavours/glitch/features/favourites/index.js [moved from app/javascript/themes/glitch/features/favourites/index.js with 79% similarity]
app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.js [moved from app/javascript/themes/glitch/features/follow_requests/components/account_authorize.js with 87% similarity]
app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js [moved from app/javascript/themes/glitch/features/follow_requests/containers/account_authorize_container.js with 78% similarity]
app/javascript/flavours/glitch/features/follow_requests/index.js [moved from app/javascript/themes/glitch/features/follow_requests/index.js with 85% similarity]
app/javascript/flavours/glitch/features/followers/index.js [moved from app/javascript/themes/glitch/features/followers/index.js with 83% similarity]
app/javascript/flavours/glitch/features/following/index.js [moved from app/javascript/themes/glitch/features/following/index.js with 83% similarity]
app/javascript/flavours/glitch/features/generic_not_found/index.js [new file with mode: 0644]
app/javascript/flavours/glitch/features/getting_started/index.js [moved from app/javascript/themes/glitch/features/getting_started/index.js with 95% similarity]
app/javascript/flavours/glitch/features/hashtag_timeline/index.js [moved from app/javascript/themes/glitch/features/hashtag_timeline/index.js with 86% similarity]
app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js [moved from app/javascript/themes/glitch/features/home_timeline/components/column_settings.js with 92% similarity]
app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js [moved from app/javascript/themes/glitch/features/home_timeline/containers/column_settings_container.js with 84% similarity]
app/javascript/flavours/glitch/features/home_timeline/index.js [moved from app/javascript/themes/glitch/features/home_timeline/index.js with 86% similarity]
app/javascript/flavours/glitch/features/local_settings/index.js [moved from app/javascript/themes/glitch/features/local_settings/index.js with 91% similarity]
app/javascript/flavours/glitch/features/local_settings/navigation/index.js [moved from app/javascript/themes/glitch/features/local_settings/navigation/index.js with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/navigation/item/index.js [moved from app/javascript/themes/glitch/features/local_settings/navigation/item/index.js with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/navigation/item/style.scss [moved from app/javascript/themes/glitch/features/local_settings/navigation/item/style.scss with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/navigation/style.scss [moved from app/javascript/themes/glitch/features/local_settings/navigation/style.scss with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/page/index.js [moved from app/javascript/themes/glitch/features/local_settings/page/index.js with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/page/item/index.js [moved from app/javascript/themes/glitch/features/local_settings/page/item/index.js with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/page/item/style.scss [moved from app/javascript/themes/glitch/features/local_settings/page/item/style.scss with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/page/style.scss [moved from app/javascript/themes/glitch/features/local_settings/page/style.scss with 100% similarity]
app/javascript/flavours/glitch/features/local_settings/style.scss [moved from app/javascript/themes/glitch/features/local_settings/style.scss with 100% similarity]
app/javascript/flavours/glitch/features/mutes/index.js [moved from app/javascript/themes/glitch/features/mutes/index.js with 81% similarity]
app/javascript/flavours/glitch/features/notifications/components/clear_column_button.js [moved from app/javascript/themes/glitch/features/notifications/components/clear_column_button.js with 100% similarity]
app/javascript/flavours/glitch/features/notifications/components/column_settings.js [moved from app/javascript/themes/glitch/features/notifications/components/column_settings.js with 100% similarity]
app/javascript/flavours/glitch/features/notifications/components/follow.js [moved from app/javascript/themes/glitch/features/notifications/components/follow.js with 95% similarity]
app/javascript/flavours/glitch/features/notifications/components/notification.js [moved from app/javascript/themes/glitch/features/notifications/components/notification.js with 96% similarity]
app/javascript/flavours/glitch/features/notifications/components/overlay.js [moved from app/javascript/themes/glitch/features/notifications/components/overlay.js with 100% similarity]
app/javascript/flavours/glitch/features/notifications/components/setting_toggle.js [moved from app/javascript/themes/glitch/features/notifications/components/setting_toggle.js with 100% similarity]
app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js [moved from app/javascript/themes/glitch/features/notifications/containers/column_settings_container.js with 81% similarity]
app/javascript/flavours/glitch/features/notifications/containers/notification_container.js [moved from app/javascript/themes/glitch/features/notifications/containers/notification_container.js with 84% similarity]
app/javascript/flavours/glitch/features/notifications/containers/overlay_container.js [moved from app/javascript/themes/glitch/features/notifications/containers/overlay_container.js with 84% similarity]
app/javascript/flavours/glitch/features/notifications/index.js [moved from app/javascript/themes/glitch/features/notifications/index.js with 94% similarity]
app/javascript/flavours/glitch/features/pinned_statuses/index.js [moved from app/javascript/themes/glitch/features/pinned_statuses/index.js with 82% similarity]
app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js [moved from app/javascript/themes/glitch/features/public_timeline/containers/column_settings_container.js with 67% similarity]
app/javascript/flavours/glitch/features/public_timeline/index.js [moved from app/javascript/themes/glitch/features/public_timeline/index.js with 85% similarity]
app/javascript/flavours/glitch/features/reblogs/index.js [moved from app/javascript/themes/glitch/features/reblogs/index.js with 79% similarity]
app/javascript/flavours/glitch/features/report/components/status_check_box.js [moved from app/javascript/themes/glitch/features/report/components/status_check_box.js with 100% similarity]
app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js [moved from app/javascript/themes/glitch/features/report/containers/status_check_box_container.js with 88% similarity]
app/javascript/flavours/glitch/features/standalone/compose/index.js [new file with mode: 0644]
app/javascript/flavours/glitch/features/standalone/hashtag_timeline/index.js [moved from app/javascript/themes/glitch/features/standalone/hashtag_timeline/index.js with 84% similarity]
app/javascript/flavours/glitch/features/standalone/public_timeline/index.js [moved from app/javascript/themes/glitch/features/standalone/public_timeline/index.js with 85% similarity]
app/javascript/flavours/glitch/features/status/components/action_bar.js [moved from app/javascript/themes/glitch/features/status/components/action_bar.js with 95% similarity]
app/javascript/flavours/glitch/features/status/components/card.js [moved from app/javascript/themes/glitch/features/status/components/card.js with 100% similarity]
app/javascript/flavours/glitch/features/status/components/detailed_status.js [moved from app/javascript/themes/glitch/features/status/components/detailed_status.js with 90% similarity]
app/javascript/flavours/glitch/features/status/containers/card_container.js [moved from app/javascript/themes/glitch/features/status/containers/card_container.js with 100% similarity]
app/javascript/flavours/glitch/features/status/index.js [moved from app/javascript/themes/glitch/features/status/index.js with 91% similarity]
app/javascript/flavours/glitch/features/ui/components/actions_modal.js [moved from app/javascript/themes/glitch/features/ui/components/actions_modal.js with 86% similarity]
app/javascript/flavours/glitch/features/ui/components/boost_modal.js [moved from app/javascript/themes/glitch/features/ui/components/boost_modal.js with 88% similarity]
app/javascript/flavours/glitch/features/ui/components/bundle.js [moved from app/javascript/themes/glitch/features/ui/components/bundle.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/bundle_column_error.js [moved from app/javascript/themes/glitch/features/ui/components/bundle_column_error.js with 88% similarity]
app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.js [moved from app/javascript/themes/glitch/features/ui/components/bundle_modal_error.js with 95% similarity]
app/javascript/flavours/glitch/features/ui/components/column.js [moved from app/javascript/themes/glitch/features/ui/components/column.js with 93% similarity]
app/javascript/flavours/glitch/features/ui/components/column_header.js [moved from app/javascript/themes/glitch/features/ui/components/column_header.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/column_link.js [moved from app/javascript/themes/glitch/features/ui/components/column_link.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/column_loading.js [moved from app/javascript/themes/glitch/features/ui/components/column_loading.js with 83% similarity]
app/javascript/flavours/glitch/features/ui/components/column_subheading.js [moved from app/javascript/themes/glitch/features/ui/components/column_subheading.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/columns_area.js [moved from app/javascript/themes/glitch/features/ui/components/columns_area.js with 98% similarity]
app/javascript/flavours/glitch/features/ui/components/confirmation_modal.js [moved from app/javascript/themes/glitch/features/ui/components/confirmation_modal.js with 95% similarity]
app/javascript/flavours/glitch/features/ui/components/doodle_modal.js [moved from app/javascript/themes/glitch/features/ui/components/doodle_modal.js with 98% similarity]
app/javascript/flavours/glitch/features/ui/components/drawer_loading.js [moved from app/javascript/themes/glitch/features/ui/components/drawer_loading.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/embed_modal.js [moved from app/javascript/themes/glitch/features/ui/components/embed_modal.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/image_loader.js [moved from app/javascript/themes/glitch/features/ui/components/image_loader.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/components/media_modal.js [moved from app/javascript/themes/glitch/features/ui/components/media_modal.js with 96% similarity]
app/javascript/flavours/glitch/features/ui/components/modal_loading.js [moved from app/javascript/themes/glitch/features/ui/components/modal_loading.js with 86% similarity]
app/javascript/flavours/glitch/features/ui/components/modal_root.js [moved from app/javascript/themes/glitch/features/ui/components/modal_root.js with 98% similarity]
app/javascript/flavours/glitch/features/ui/components/mute_modal.js [moved from app/javascript/themes/glitch/features/ui/components/mute_modal.js with 91% similarity]
app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js [moved from app/javascript/themes/glitch/features/ui/components/onboarding_modal.js with 97% similarity]
app/javascript/flavours/glitch/features/ui/components/report_modal.js [moved from app/javascript/themes/glitch/features/ui/components/report_modal.js with 89% similarity]
app/javascript/flavours/glitch/features/ui/components/tabs_bar.js [moved from app/javascript/themes/glitch/features/ui/components/tabs_bar.js with 98% similarity]
app/javascript/flavours/glitch/features/ui/components/upload_area.js [moved from app/javascript/themes/glitch/features/ui/components/upload_area.js with 96% similarity]
app/javascript/flavours/glitch/features/ui/components/video_modal.js [moved from app/javascript/themes/glitch/features/ui/components/video_modal.js with 94% similarity]
app/javascript/flavours/glitch/features/ui/containers/bundle_container.js [moved from app/javascript/themes/glitch/features/ui/containers/bundle_container.js with 91% similarity]
app/javascript/flavours/glitch/features/ui/containers/columns_area_container.js [moved from app/javascript/themes/glitch/features/ui/containers/columns_area_container.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/containers/loading_bar_container.js [moved from app/javascript/themes/glitch/features/ui/containers/loading_bar_container.js with 100% similarity]
app/javascript/flavours/glitch/features/ui/containers/modal_container.js [moved from app/javascript/themes/glitch/features/ui/containers/modal_container.js with 86% similarity]
app/javascript/flavours/glitch/features/ui/containers/notifications_container.js [moved from app/javascript/themes/glitch/features/ui/containers/notifications_container.js with 76% similarity]
app/javascript/flavours/glitch/features/ui/containers/status_list_container.js [moved from app/javascript/themes/glitch/features/ui/containers/status_list_container.js with 92% similarity]
app/javascript/flavours/glitch/features/ui/index.js [moved from app/javascript/themes/glitch/features/ui/index.js with 96% similarity]
app/javascript/flavours/glitch/features/video/index.js [moved from app/javascript/themes/glitch/features/video/index.js with 99% similarity]
app/javascript/flavours/glitch/middleware/errors.js [moved from app/javascript/themes/glitch/middleware/errors.js with 92% similarity]
app/javascript/flavours/glitch/middleware/loading_bar.js [moved from app/javascript/themes/glitch/middleware/loading_bar.js with 100% similarity]
app/javascript/flavours/glitch/middleware/sounds.js [moved from app/javascript/themes/glitch/middleware/sounds.js with 100% similarity]
app/javascript/flavours/glitch/packs/about.js [moved from app/javascript/themes/glitch/packs/about.js with 67% similarity]
app/javascript/flavours/glitch/packs/common.js [new file with mode: 0644]
app/javascript/flavours/glitch/packs/home.js [new file with mode: 0644]
app/javascript/flavours/glitch/packs/public.js [moved from app/javascript/themes/glitch/packs/public.js with 85% similarity]
app/javascript/flavours/glitch/packs/share.js [moved from app/javascript/themes/glitch/packs/share.js with 66% similarity]
app/javascript/flavours/glitch/reducers/accounts.js [moved from app/javascript/themes/glitch/reducers/accounts.js with 85% similarity]
app/javascript/flavours/glitch/reducers/accounts_counters.js [moved from app/javascript/themes/glitch/reducers/accounts_counters.js with 87% similarity]
app/javascript/flavours/glitch/reducers/alerts.js [moved from app/javascript/themes/glitch/reducers/alerts.js with 93% similarity]
app/javascript/flavours/glitch/reducers/cards.js [moved from app/javascript/themes/glitch/reducers/cards.js with 80% similarity]
app/javascript/flavours/glitch/reducers/compose.js [moved from app/javascript/themes/glitch/reducers/compose.js with 97% similarity]
app/javascript/flavours/glitch/reducers/contexts.js [moved from app/javascript/themes/glitch/reducers/contexts.js with 91% similarity]
app/javascript/flavours/glitch/reducers/custom_emojis.js [moved from app/javascript/themes/glitch/reducers/custom_emojis.js with 63% similarity]
app/javascript/flavours/glitch/reducers/height_cache.js [moved from app/javascript/themes/glitch/reducers/height_cache.js with 85% similarity]
app/javascript/flavours/glitch/reducers/index.js [moved from app/javascript/themes/glitch/reducers/index.js with 100% similarity]
app/javascript/flavours/glitch/reducers/local_settings.js [moved from app/javascript/themes/glitch/reducers/local_settings.js with 88% similarity]
app/javascript/flavours/glitch/reducers/media_attachments.js [moved from app/javascript/themes/glitch/reducers/media_attachments.js with 83% similarity]
app/javascript/flavours/glitch/reducers/meta.js [moved from app/javascript/themes/glitch/reducers/meta.js with 84% similarity]
app/javascript/flavours/glitch/reducers/modal.js [moved from app/javascript/themes/glitch/reducers/modal.js with 81% similarity]
app/javascript/flavours/glitch/reducers/mutes.js [moved from app/javascript/themes/glitch/reducers/mutes.js with 94% similarity]
app/javascript/flavours/glitch/reducers/notifications.js [moved from app/javascript/themes/glitch/reducers/notifications.js with 97% similarity]
app/javascript/flavours/glitch/reducers/push_notifications.js [moved from app/javascript/themes/glitch/reducers/push_notifications.js with 91% similarity]
app/javascript/flavours/glitch/reducers/relationships.js [moved from app/javascript/themes/glitch/reducers/relationships.js with 93% similarity]
app/javascript/flavours/glitch/reducers/reports.js [moved from app/javascript/themes/glitch/reducers/reports.js with 97% similarity]
app/javascript/flavours/glitch/reducers/search.js [moved from app/javascript/themes/glitch/reducers/search.js with 90% similarity]
app/javascript/flavours/glitch/reducers/settings.js [moved from app/javascript/themes/glitch/reducers/settings.js with 88% similarity]
app/javascript/flavours/glitch/reducers/status_lists.js [moved from app/javascript/themes/glitch/reducers/status_lists.js with 94% similarity]
app/javascript/flavours/glitch/reducers/statuses.js [moved from app/javascript/themes/glitch/reducers/statuses.js with 90% similarity]
app/javascript/flavours/glitch/reducers/timelines.js [moved from app/javascript/themes/glitch/reducers/timelines.js with 98% similarity]
app/javascript/flavours/glitch/reducers/user_lists.js [moved from app/javascript/themes/glitch/reducers/user_lists.js with 95% similarity]
app/javascript/flavours/glitch/selectors/index.js [moved from app/javascript/themes/glitch/selectors/index.js with 100% similarity]
app/javascript/flavours/glitch/service_worker/entry.js [moved from app/javascript/themes/glitch/service_worker/entry.js with 100% similarity]
app/javascript/flavours/glitch/service_worker/web_push_notifications.js [moved from app/javascript/themes/glitch/service_worker/web_push_notifications.js with 100% similarity]
app/javascript/flavours/glitch/store/configureStore.js [moved from app/javascript/themes/glitch/store/configureStore.js with 100% similarity]
app/javascript/flavours/glitch/styles/_mixins.scss [moved from app/javascript/themes/glitch/styles/_mixins.scss with 100% similarity]
app/javascript/flavours/glitch/styles/about.scss [moved from app/javascript/themes/glitch/styles/about.scss with 100% similarity]
app/javascript/flavours/glitch/styles/accounts.scss [moved from app/javascript/themes/glitch/styles/accounts.scss with 100% similarity]
app/javascript/flavours/glitch/styles/admin.scss [moved from app/javascript/themes/glitch/styles/admin.scss with 100% similarity]
app/javascript/flavours/glitch/styles/basics.scss [moved from app/javascript/themes/glitch/styles/basics.scss with 100% similarity]
app/javascript/flavours/glitch/styles/boost.scss [moved from app/javascript/themes/glitch/styles/boost.scss with 100% similarity]
app/javascript/flavours/glitch/styles/compact_header.scss [moved from app/javascript/themes/glitch/styles/compact_header.scss with 100% similarity]
app/javascript/flavours/glitch/styles/components.scss [moved from app/javascript/themes/glitch/styles/components.scss with 100% similarity]
app/javascript/flavours/glitch/styles/containers.scss [moved from app/javascript/themes/glitch/styles/containers.scss with 100% similarity]
app/javascript/flavours/glitch/styles/doodle.scss [moved from app/javascript/themes/glitch/styles/doodle.scss with 100% similarity]
app/javascript/flavours/glitch/styles/emoji_picker.scss [moved from app/javascript/themes/glitch/styles/emoji_picker.scss with 100% similarity]
app/javascript/flavours/glitch/styles/footer.scss [moved from app/javascript/themes/glitch/styles/footer.scss with 100% similarity]
app/javascript/flavours/glitch/styles/forms.scss [moved from app/javascript/themes/glitch/styles/forms.scss with 100% similarity]
app/javascript/flavours/glitch/styles/index.scss [moved from app/javascript/themes/glitch/styles/index.scss with 100% similarity]
app/javascript/flavours/glitch/styles/landing_strip.scss [moved from app/javascript/themes/glitch/styles/landing_strip.scss with 100% similarity]
app/javascript/flavours/glitch/styles/lists.scss [moved from app/javascript/themes/glitch/styles/lists.scss with 100% similarity]
app/javascript/flavours/glitch/styles/reset copy.scss [moved from app/javascript/themes/glitch/styles/reset copy.scss with 100% similarity]
app/javascript/flavours/glitch/styles/reset.scss [moved from app/javascript/themes/glitch/styles/reset.scss with 100% similarity]
app/javascript/flavours/glitch/styles/rtl.scss [moved from app/javascript/themes/glitch/styles/rtl.scss with 100% similarity]
app/javascript/flavours/glitch/styles/stream_entries.scss [moved from app/javascript/themes/glitch/styles/stream_entries.scss with 100% similarity]
app/javascript/flavours/glitch/styles/tables.scss [moved from app/javascript/themes/glitch/styles/tables.scss with 100% similarity]
app/javascript/flavours/glitch/styles/variables.scss [moved from app/javascript/themes/glitch/styles/variables.scss with 100% similarity]
app/javascript/flavours/glitch/theme.yml [moved from app/javascript/themes/glitch/theme.yml with 83% similarity]
app/javascript/flavours/glitch/util/api.js [moved from app/javascript/themes/glitch/util/api.js with 100% similarity]
app/javascript/flavours/glitch/util/async-components.js [new file with mode: 0644]
app/javascript/flavours/glitch/util/base_polyfills.js [moved from app/javascript/themes/glitch/util/base_polyfills.js with 100% similarity]
app/javascript/flavours/glitch/util/bio_metadata.js [moved from app/javascript/themes/glitch/util/bio_metadata.js with 100% similarity]
app/javascript/flavours/glitch/util/counter.js [moved from app/javascript/themes/glitch/util/counter.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_compressed.js [moved from app/javascript/themes/glitch/util/emoji/emoji_compressed.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_map.json [moved from app/javascript/themes/glitch/util/emoji/emoji_map.json with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_mart_data_light.js [moved from app/javascript/themes/glitch/util/emoji/emoji_mart_data_light.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_mart_search_light.js [moved from app/javascript/themes/glitch/util/emoji/emoji_mart_search_light.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_picker.js [moved from app/javascript/themes/glitch/util/emoji/emoji_picker.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_unicode_mapping_light.js [moved from app/javascript/themes/glitch/util/emoji/emoji_unicode_mapping_light.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/emoji_utils.js [moved from app/javascript/themes/glitch/util/emoji/emoji_utils.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/index.js [moved from app/javascript/themes/glitch/util/emoji/index.js with 97% similarity]
app/javascript/flavours/glitch/util/emoji/unicode_to_filename.js [moved from app/javascript/themes/glitch/util/emoji/unicode_to_filename.js with 100% similarity]
app/javascript/flavours/glitch/util/emoji/unicode_to_unified_name.js [moved from app/javascript/themes/glitch/util/emoji/unicode_to_unified_name.js with 100% similarity]
app/javascript/flavours/glitch/util/extra_polyfills.js [moved from app/javascript/themes/glitch/util/extra_polyfills.js with 100% similarity]
app/javascript/flavours/glitch/util/fullscreen.js [moved from app/javascript/themes/glitch/util/fullscreen.js with 100% similarity]
app/javascript/flavours/glitch/util/get_rect_from_entry.js [moved from app/javascript/themes/glitch/util/get_rect_from_entry.js with 100% similarity]
app/javascript/flavours/glitch/util/initial_state.js [moved from app/javascript/themes/glitch/util/initial_state.js with 100% similarity]
app/javascript/flavours/glitch/util/intersection_observer_wrapper.js [moved from app/javascript/themes/glitch/util/intersection_observer_wrapper.js with 100% similarity]
app/javascript/flavours/glitch/util/is_mobile.js [moved from app/javascript/themes/glitch/util/is_mobile.js with 100% similarity]
app/javascript/flavours/glitch/util/link_header.js [moved from app/javascript/themes/glitch/util/link_header.js with 100% similarity]
app/javascript/flavours/glitch/util/load_polyfills.js [moved from app/javascript/themes/glitch/util/load_polyfills.js with 100% similarity]
app/javascript/flavours/glitch/util/main.js [moved from app/javascript/themes/glitch/util/main.js with 95% similarity]
app/javascript/flavours/glitch/util/optional_motion.js [moved from app/javascript/themes/glitch/util/optional_motion.js with 68% similarity]
app/javascript/flavours/glitch/util/performance.js [moved from app/javascript/themes/glitch/util/performance.js with 100% similarity]
app/javascript/flavours/glitch/util/react_router_helpers.js [moved from app/javascript/themes/glitch/util/react_router_helpers.js with 85% similarity]
app/javascript/flavours/glitch/util/ready.js [moved from app/javascript/themes/glitch/util/ready.js with 100% similarity]
app/javascript/flavours/glitch/util/reduced_motion.js [moved from app/javascript/themes/glitch/util/reduced_motion.js with 100% similarity]
app/javascript/flavours/glitch/util/rtl.js [moved from app/javascript/themes/glitch/util/rtl.js with 100% similarity]
app/javascript/flavours/glitch/util/schedule_idle_task.js [moved from app/javascript/themes/glitch/util/schedule_idle_task.js with 100% similarity]
app/javascript/flavours/glitch/util/scroll.js [moved from app/javascript/themes/glitch/util/scroll.js with 100% similarity]
app/javascript/flavours/glitch/util/stream.js [moved from app/javascript/themes/glitch/util/stream.js with 100% similarity]
app/javascript/flavours/glitch/util/url_regex.js [moved from app/javascript/themes/glitch/util/url_regex.js with 100% similarity]
app/javascript/flavours/glitch/util/uuid.js [moved from app/javascript/themes/glitch/util/uuid.js with 100% similarity]
app/javascript/flavours/glitch/util/web_push_subscription.js [moved from app/javascript/themes/glitch/util/web_push_subscription.js with 97% similarity]
app/javascript/flavours/vanilla/theme.yml [moved from app/javascript/themes/vanilla/theme.yml with 100% similarity]
app/javascript/themes/glitch/features/generic_not_found/index.js [deleted file]
app/javascript/themes/glitch/features/standalone/compose/index.js [deleted file]
app/javascript/themes/glitch/packs/common.js [deleted file]
app/javascript/themes/glitch/packs/home.js [deleted file]
app/javascript/themes/glitch/util/async-components.js [deleted file]
app/javascript/themes/mastodon-go [deleted submodule]
app/lib/themes.rb
app/models/user.rb
app/views/layouts/_theme.html.haml
app/views/settings/preferences/show.html.haml
config/locales/simple_form.en.yml
config/settings.yml
config/webpack/configuration.js
config/webpack/shared.js

index 35b0cd787d275bcd7cb0fdf264e273bacbdbc584..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,3 +0,0 @@
-[submodule "app/javascript/themes/mastodon-go"]
-       path = app/javascript/themes/mastodon-go
-       url = https://github.com/marrus-sh/mastodon-go
index f5753963df9e70f416e202766b46ab0942982dbd..d116c4767eb50e81f4e7529c3b3f7a878f26e242 100644 (file)
@@ -12,7 +12,7 @@ class ApplicationController < ActionController::Base
 
   helper_method :current_account
   helper_method :current_session
-  helper_method :current_theme
+  helper_method :current_flavour
   helper_method :current_skin
   helper_method :single_user_mode?
 
@@ -57,8 +57,8 @@ class ApplicationController < ActionController::Base
   def pack(data, pack_name, skin = 'default')
     return nil unless pack?(data, pack_name)
     pack_data = {
-      common: pack_name == 'common' ? nil : resolve_pack(data['name'] ? Themes.instance.get(current_theme) : Themes.instance.core, 'common'),
-      name: data['name'],
+      common: pack_name == 'common' ? nil : resolve_pack(data['name'] ? Themes.instance.flavour(current_flavour) : Themes.instance.core, 'common'),
+      flavour: data['name'],
       pack: pack_name,
       preload: nil,
       skin: nil,
@@ -88,8 +88,8 @@ class ApplicationController < ActionController::Base
 
   def nil_pack(data, pack_name, skin = 'default')
     {
-      common: pack_name == 'common' ? nil : resolve_pack(data['name'] ? Themes.instance.get(current_theme) : Themes.instance.core, 'common', skin),
-      name: data['name'],
+      common: pack_name == 'common' ? nil : resolve_pack(data['name'] ? Themes.instance.flavour(current_flavour) : Themes.instance.core, 'common', skin),
+      flavour: data['name'],
       pack: nil,
       preload: nil,
       skin: nil,
@@ -102,23 +102,23 @@ class ApplicationController < ActionController::Base
       if data['name'] && data.key?('fallback')
         if data['fallback'].nil?
           return nil_pack(data, pack_name, skin)
-        elsif data['fallback'].is_a?(String) && Themes.instance.get(data['fallback'])
-          return resolve_pack(Themes.instance.get(data['fallback']), pack_name, skin)
+        elsif data['fallback'].is_a?(String) && Themes.instance.flavour(data['fallback'])
+          return resolve_pack(Themes.instance.flavour(data['fallback']), pack_name, skin)
         elsif data['fallback'].is_a?(Array)
           data['fallback'].each do |fallback|
-            return resolve_pack(Themes.instance.get(fallback), pack_name, skin) if Themes.instance.get(fallback)
+            return resolve_pack(Themes.instance.flavour(fallback), pack_name, skin) if Themes.instance.flavour(fallback)
           end
         end
         return nil_pack(data, pack_name, skin)
       end
-      return data.key?('name') && data['name'] != default_theme ? resolve_pack(Themes.instance.get(default_theme), pack_name, skin) : nil_pack(data, pack_name, skin)
+      return data.key?('name') && data['name'] != Setting.default_settings['flavour'] ? resolve_pack(Themes.instance.flavour(Setting.default_settings['flavour']), pack_name, skin) : nil_pack(data, pack_name, skin)
     end
     result
   end
 
   def use_pack(pack_name)
     @core = resolve_pack(Themes.instance.core, pack_name)
-    @theme = resolve_pack(Themes.instance.get(current_theme), pack_name, current_skin)
+    @theme = resolve_pack(Themes.instance.flavour(current_flavour), pack_name, current_skin)
   end
 
   protected
@@ -151,21 +151,13 @@ class ApplicationController < ActionController::Base
     @current_session ||= SessionActivation.find_by(session_id: cookies.signed['_session_id'])
   end
 
-  def default_theme
-    Setting.default_settings['theme']
-  end
-
-  def current_theme
-    return default_theme unless Themes.instance.names.include? current_user&.setting_theme
-    current_user.setting_theme
-  end
-
-  def default_skin
-    'default'
+  def current_flavour
+    return Setting.default_settings['flavour'] unless Themes.instance.flavours.include? current_user&.setting_flavour
+    current_user.setting_flavour
   end
 
   def current_skin
-    return default_skin unless Themes.instance.skins_for(current_theme).include? current_user&.setting_skin
+    return 'default' unless Themes.instance.skins_for(current_flavour).include? current_user&.setting_skin
     current_user.setting_skin
   end
 
index bc5f9ed1d9e3a386917ae45bfd3e5c9b194c6194..1e4bb4cede5e6979c01c39d573954641d4ad90f3 100644 (file)
@@ -3,7 +3,7 @@
 const { length } = require('stringz');
 const { delegate } = require('rails-ujs');
 
-import { processBio } from 'themes/glitch/util/bio_metadata';
+import { processBio } from 'flavours/glitch/util/bio_metadata';
 
 delegate(document, '.account_display_name', 'input', ({ target }) => {
   const nameCounter = document.querySelector('.name-counter');
similarity index 99%
rename from app/javascript/themes/glitch/actions/accounts.js
rename to app/javascript/flavours/glitch/actions/accounts.js
index f1a8c5471e1c7b28fd7361dfda14d2aa4d920a14..8ab92f9e7ad3ba5c9e8ddccdc5ae701e332dee53 100644 (file)
@@ -1,4 +1,4 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 
 export const ACCOUNT_FETCH_REQUEST = 'ACCOUNT_FETCH_REQUEST';
 export const ACCOUNT_FETCH_SUCCESS = 'ACCOUNT_FETCH_SUCCESS';
similarity index 97%
rename from app/javascript/themes/glitch/actions/blocks.js
rename to app/javascript/flavours/glitch/actions/blocks.js
index 6ba9460f02a2e70ea571913f411bbeab0dcf530e..fe44ca19a0f6a8c5d72cd937c563aae98b1dc1c3 100644 (file)
@@ -1,4 +1,4 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 import { fetchRelationships } from './accounts';
 
 export const BLOCKS_FETCH_REQUEST = 'BLOCKS_FETCH_REQUEST';
similarity index 96%
rename from app/javascript/themes/glitch/actions/cards.js
rename to app/javascript/flavours/glitch/actions/cards.js
index 2a1bc369a35f565c6bd673458d22cbbe68d583cb..c897daf58d1008ab942d7405b3a4706f24eaf044 100644 (file)
@@ -1,4 +1,4 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 
 export const STATUS_CARD_FETCH_REQUEST = 'STATUS_CARD_FETCH_REQUEST';
 export const STATUS_CARD_FETCH_SUCCESS = 'STATUS_CARD_FETCH_SUCCESS';
similarity index 98%
rename from app/javascript/themes/glitch/actions/compose.js
rename to app/javascript/flavours/glitch/actions/compose.js
index 07c4694773188b2d7240940197e9e08feb8ce346..32746f27b62009b2206cc486df51e51fde65687c 100644 (file)
@@ -1,6 +1,6 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 import { throttle } from 'lodash';
-import { search as emojiSearch } from 'themes/glitch/util/emoji/emoji_mart_search_light';
+import { search as emojiSearch } from 'flavours/glitch/util/emoji/emoji_mart_search_light';
 import { useEmoji } from './emojis';
 
 import {
similarity index 97%
rename from app/javascript/themes/glitch/actions/domain_blocks.js
rename to app/javascript/flavours/glitch/actions/domain_blocks.js
index 0a880394a831d52948aac4af20b891dec71c158e..8506df91c9369b0939e16551c88bd0e04c5aec95 100644 (file)
@@ -1,4 +1,4 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 
 export const DOMAIN_BLOCK_REQUEST = 'DOMAIN_BLOCK_REQUEST';
 export const DOMAIN_BLOCK_SUCCESS = 'DOMAIN_BLOCK_SUCCESS';
similarity index 97%
rename from app/javascript/themes/glitch/actions/favourites.js
rename to app/javascript/flavours/glitch/actions/favourites.js
index e9b3559af6b950404ae277dc05a9b63e5d567247..decdcee4f2a953677719064c7123d7625353be0c 100644 (file)
@@ -1,4 +1,4 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 
 export const FAVOURITED_STATUSES_FETCH_REQUEST = 'FAVOURITED_STATUSES_FETCH_REQUEST';
 export const FAVOURITED_STATUSES_FETCH_SUCCESS = 'FAVOURITED_STATUSES_FETCH_SUCCESS';
similarity index 99%
rename from app/javascript/themes/glitch/actions/interactions.js
rename to app/javascript/flavours/glitch/actions/interactions.js
index d61a7ba2ad4085dee69586f3344574fd519fd041..ceeb2773bdb223a358adc2d1580a6cc80cc1cac3 100644 (file)
@@ -1,4 +1,4 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 
 export const REBLOG_REQUEST = 'REBLOG_REQUEST';
 export const REBLOG_SUCCESS = 'REBLOG_SUCCESS';
similarity index 95%
rename from app/javascript/themes/glitch/actions/mutes.js
rename to app/javascript/flavours/glitch/actions/mutes.js
index bb19e86577738b54fd484efad850c467b4a52f67..e061305336c53bdd487b44fb5e4c5d84280ea543 100644 (file)
@@ -1,6 +1,6 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 import { fetchRelationships } from './accounts';
-import { openModal } from 'themes/glitch/actions/modal';
+import { openModal } from 'flavours/glitch/actions/modal';
 
 export const MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';
 export const MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';
similarity index 99%
rename from app/javascript/themes/glitch/actions/notifications.js
rename to app/javascript/flavours/glitch/actions/notifications.js
index fbf06f7c42f0873611d823721cc97cd0152a498d..9b9ebf86d10b54dfa26ee3b7b8255b1f7753160b 100644 (file)
@@ -1,4 +1,4 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 import { List as ImmutableList } from 'immutable';
 import IntlMessageFormat from 'intl-messageformat';
 import { fetchRelationships } from './accounts';
similarity index 90%
rename from app/javascript/themes/glitch/actions/pin_statuses.js
rename to app/javascript/flavours/glitch/actions/pin_statuses.js
index b3e064e586a2b56076ddf64f2b30aab0ac210c19..d3d1a154f625c6b4b5ff38ef3840a09e9e542ee6 100644 (file)
@@ -1,10 +1,10 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 
 export const PINNED_STATUSES_FETCH_REQUEST = 'PINNED_STATUSES_FETCH_REQUEST';
 export const PINNED_STATUSES_FETCH_SUCCESS = 'PINNED_STATUSES_FETCH_SUCCESS';
 export const PINNED_STATUSES_FETCH_FAIL = 'PINNED_STATUSES_FETCH_FAIL';
 
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 export function fetchPinnedStatuses() {
   return (dispatch, getState) => {
similarity index 97%
rename from app/javascript/themes/glitch/actions/reports.js
rename to app/javascript/flavours/glitch/actions/reports.js
index 93f9085b2ca02e7575073bfd85fb0a1e5a3f8589..ad4fd18a931ea9420e6526b93797139cb81b958b 100644 (file)
@@ -1,4 +1,4 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 import { openModal, closeModal } from './modal';
 
 export const REPORT_INIT   = 'REPORT_INIT';
similarity index 96%
rename from app/javascript/themes/glitch/actions/search.js
rename to app/javascript/flavours/glitch/actions/search.js
index 414e4755ebc1beb500009cc19f318bf42d77d010..e86bd848e56634302590a4db1b771bc1ff25f873 100644 (file)
@@ -1,4 +1,4 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 
 export const SEARCH_CHANGE = 'SEARCH_CHANGE';
 export const SEARCH_CLEAR  = 'SEARCH_CLEAR';
similarity index 99%
rename from app/javascript/themes/glitch/actions/statuses.js
rename to app/javascript/flavours/glitch/actions/statuses.js
index 702f4e9b6ff9117e61bdea681451e76e81ebe455..8b49083ac26f6993bddc43aed044630055d3b66e 100644 (file)
@@ -1,4 +1,4 @@
-import api from 'themes/glitch/util/api';
+import api from 'flavours/glitch/util/api';
 
 import { deleteFromTimelines } from './timelines';
 import { fetchStatusCard } from './cards';
similarity index 96%
rename from app/javascript/themes/glitch/actions/streaming.js
rename to app/javascript/flavours/glitch/actions/streaming.js
index ccf6c27d82551332a863be12ef81b63a94d55540..595eefa41f77c9d084dcae453322f31ece5df8f2 100644 (file)
@@ -1,4 +1,4 @@
-import { connectStream } from 'themes/glitch/util/stream';
+import { connectStream } from 'flavours/glitch/util/stream';
 import {
   updateTimeline,
   deleteFromTimelines,
similarity index 99%
rename from app/javascript/themes/glitch/actions/timelines.js
rename to app/javascript/flavours/glitch/actions/timelines.js
index 5ce14fbe9f141b863e5f2c5ceb19f9c5e72ccad9..3fabf3885818d9a0187af3f18053e6c471c66aa0 100644 (file)
@@ -1,4 +1,4 @@
-import api, { getLinks } from 'themes/glitch/util/api';
+import api, { getLinks } from 'flavours/glitch/util/api';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 
 export const TIMELINE_UPDATE  = 'TIMELINE_UPDATE';
similarity index 98%
rename from app/javascript/themes/glitch/components/account.js
rename to app/javascript/flavours/glitch/components/account.js
index d0ff7705043a500ff9d77c25cb2d4ab29afe3728..c8dacb0ab939461cf30611b6fc2ba3f6d773bf2e 100644 (file)
@@ -7,7 +7,7 @@ import Permalink from './permalink';
 import IconButton from './icon_button';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   follow: { id: 'account.follow', defaultMessage: 'Follow' },
similarity index 90%
rename from app/javascript/themes/glitch/components/autosuggest_emoji.js
rename to app/javascript/flavours/glitch/components/autosuggest_emoji.js
index 3c6f915e408ca0891a5457ddf15bc98c8e2fc6ea..79e113d9cf00881105e53ca2394c8a38ed6c202a 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import unicodeMapping from 'themes/glitch/util/emoji/emoji_unicode_mapping_light';
+import unicodeMapping from 'flavours/glitch/util/emoji/emoji_unicode_mapping_light';
 
 const assetHost = process.env.CDN_HOST || '';
 
similarity index 97%
rename from app/javascript/themes/glitch/components/autosuggest_textarea.js
rename to app/javascript/flavours/glitch/components/autosuggest_textarea.js
index fa93847a236f8af605351f40260df5bd5759db4e..551528e5ace912b05f1d1179a539e43820e43586 100644 (file)
@@ -1,9 +1,9 @@
 import React from 'react';
-import AutosuggestAccountContainer from 'themes/glitch/features/compose/containers/autosuggest_account_container';
+import AutosuggestAccountContainer from 'flavours/glitch/features/compose/containers/autosuggest_account_container';
 import AutosuggestEmoji from './autosuggest_emoji';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import { isRtl } from 'themes/glitch/util/rtl';
+import { isRtl } from 'flavours/glitch/util/rtl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import Textarea from 'react-textarea-autosize';
 import classNames from 'classnames';
similarity index 92%
rename from app/javascript/themes/glitch/components/collapsable.js
rename to app/javascript/flavours/glitch/components/collapsable.js
index 8bc0a54f4f241e85cce3bdf047b6f3c8e2011146..fe125a729a14f3cc8a456b6c4e37a153b80db35f 100644 (file)
@@ -1,5 +1,5 @@
 import React from 'react';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import PropTypes from 'prop-types';
 
similarity index 95%
rename from app/javascript/themes/glitch/components/column.js
rename to app/javascript/flavours/glitch/components/column.js
index adeba9cc1142840bfa641abbb60a2bc55b2d497c..57c4c7a4048fce6b2b3fd2aeb3b897497d4e802f 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import detectPassiveEvents from 'detect-passive-events';
-import { scrollTop } from 'themes/glitch/util/scroll';
+import { scrollTop } from 'flavours/glitch/util/scroll';
 
 export default class Column extends React.PureComponent {
 
similarity index 98%
rename from app/javascript/themes/glitch/components/column_header.js
rename to app/javascript/flavours/glitch/components/column_header.js
index e601082c8516adc2ea19eb0ae2617b508b36560a..ae90b6f81ff9ada944e00c940b5e8f077df78857 100644 (file)
@@ -4,8 +4,7 @@ import classNames from 'classnames';
 import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 
-// Glitch imports
-import NotificationPurgeButtonsContainer from 'themes/glitch/containers/notification_purge_buttons_container';
+import NotificationPurgeButtonsContainer from 'flavours/glitch/containers/notification_purge_buttons_container';
 
 const messages = defineMessages({
   show: { id: 'column_header.show_settings', defaultMessage: 'Show settings' },
similarity index 98%
rename from app/javascript/themes/glitch/components/dropdown_menu.js
rename to app/javascript/flavours/glitch/components/dropdown_menu.js
index d30dc2aaf63dd5690fbb103aaaee397adf313a70..d4a886a8b30edbda8f0cac15889abbf1c256b3cf 100644 (file)
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import IconButton from './icon_button';
 import Overlay from 'react-overlays/lib/Overlay';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import detectPassiveEvents from 'detect-passive-events';
 
similarity index 98%
rename from app/javascript/themes/glitch/components/icon_button.js
rename to app/javascript/flavours/glitch/components/icon_button.js
index 31cdf4703648e3e832cc9b5603e5b66ebe8e64be..13b91e8a1fe5ce6aecd760b0cbd6b22f6910a868 100644 (file)
@@ -1,5 +1,5 @@
 import React from 'react';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import PropTypes from 'prop-types';
 import classNames from 'classnames';
similarity index 96%
rename from app/javascript/themes/glitch/components/intersection_observer_article.js
rename to app/javascript/flavours/glitch/components/intersection_observer_article.js
index f0139ac75439ad38fab09b5226f0e2bdc65975fd..8b06f9a8c817ec4e097c16a0e44071bbdca89a70 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import scheduleIdleTask from 'themes/glitch/util/schedule_idle_task';
-import getRectFromEntry from 'themes/glitch/util/get_rect_from_entry';
+import scheduleIdleTask from 'flavours/glitch/util/schedule_idle_task';
+import getRectFromEntry from 'flavours/glitch/util/get_rect_from_entry';
 import { is } from 'immutable';
 
 // Diff these props in the "rendered" state
similarity index 98%
rename from app/javascript/themes/glitch/components/media_gallery.js
rename to app/javascript/flavours/glitch/components/media_gallery.js
index b6b40c5855aae7ba4b66bac033eb7c6b83f26738..d2e80de49644a46df9a99310078c2bb4449ae303 100644 (file)
@@ -4,9 +4,9 @@ import PropTypes from 'prop-types';
 import { is } from 'immutable';
 import IconButton from './icon_button';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { isIOS } from 'themes/glitch/util/is_mobile';
+import { isIOS } from 'flavours/glitch/util/is_mobile';
 import classNames from 'classnames';
-import { autoPlayGif } from 'themes/glitch/util/initial_state';
+import { autoPlayGif } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   toggle_visible: { id: 'media_gallery.toggle_visible', defaultMessage: 'Toggle visibility' },
similarity index 95%
rename from app/javascript/themes/glitch/components/scrollable_list.js
rename to app/javascript/flavours/glitch/components/scrollable_list.js
index ccdcd7c854a82101006cbb6b137297f660f902f6..8b1e3c93dd9621ca3cf7cda18fef7d8b239571ac 100644 (file)
@@ -1,13 +1,13 @@
 import React, { PureComponent } from 'react';
 import { ScrollContainer } from 'react-router-scroll-4';
 import PropTypes from 'prop-types';
-import IntersectionObserverArticleContainer from 'themes/glitch/containers/intersection_observer_article_container';
+import IntersectionObserverArticleContainer from 'flavours/glitch/containers/intersection_observer_article_container';
 import LoadMore from './load_more';
-import IntersectionObserverWrapper from 'themes/glitch/util/intersection_observer_wrapper';
+import IntersectionObserverWrapper from 'flavours/glitch/util/intersection_observer_wrapper';
 import { throttle } from 'lodash';
 import { List as ImmutableList } from 'immutable';
 import classNames from 'classnames';
-import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from 'themes/glitch/util/fullscreen';
+import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from 'flavours/glitch/util/fullscreen';
 
 export default class ScrollableList extends PureComponent {
 
similarity index 98%
rename from app/javascript/themes/glitch/components/status.js
rename to app/javascript/flavours/glitch/components/status.js
index e2ef47f5f17203e3d6cdbfbb23db39f051129ec5..6662285d0ac2bd306c344f0886ecf213c5a508e6 100644 (file)
@@ -6,9 +6,9 @@ import StatusHeader from './status_header';
 import StatusContent from './status_content';
 import StatusActionBar from './status_action_bar';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import { MediaGallery, Video } from 'themes/glitch/util/async-components';
+import { MediaGallery, Video } from 'flavours/glitch/util/async-components';
 import { HotKeys } from 'react-hotkeys';
-import NotificationOverlayContainer from 'themes/glitch/features/notifications/containers/overlay_container';
+import NotificationOverlayContainer from 'flavours/glitch/features/notifications/containers/overlay_container';
 
 // We use the component (and not the container) since we do not want
 // to use the progress bar to show download progress
similarity index 96%
rename from app/javascript/themes/glitch/components/status_action_bar.js
rename to app/javascript/flavours/glitch/components/status_action_bar.js
index 9d615ed7cfd491ba6506aeb3a17dc7bffd937617..5a06782bec4354e8e5962d884ca158a85b4d1bba 100644 (file)
@@ -1,14 +1,11 @@
-//  THIS FILE EXISTS FOR UPSTREAM COMPATIBILITY & SHOULDN'T BE USED !!
-//  SEE INSTEAD : glitch/components/status/action_bar
-
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
 import IconButton from './icon_button';
-import DropdownMenuContainer from 'themes/glitch/containers/dropdown_menu_container';
+import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 import RelativeTimestamp from './relative_timestamp';
 
 const messages = defineMessages({
similarity index 99%
rename from app/javascript/themes/glitch/components/status_content.js
rename to app/javascript/flavours/glitch/components/status_content.js
index 3eba6eaa0ed4311a0e8182c7d5a8ddaebd90fb65..0c40e62ccae6302bc8c966ddb6d61cfe895d861f 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import { isRtl } from 'themes/glitch/util/rtl';
+import { isRtl } from 'flavours/glitch/util/rtl';
 import { FormattedMessage } from 'react-intl';
 import Permalink from './permalink';
 import classnames from 'classnames';
similarity index 95%
rename from app/javascript/themes/glitch/components/status_list.js
rename to app/javascript/flavours/glitch/components/status_list.js
index ddb1354c674e38156dade30a670dd6b7d9de644f..f190ba6ab614aca0470266e045ac450fcccda9da 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import StatusContainer from 'themes/glitch/containers/status_container';
+import StatusContainer from 'flavours/glitch/containers/status_container';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import ScrollableList from './scrollable_list';
 
similarity index 84%
rename from app/javascript/themes/glitch/containers/account_container.js
rename to app/javascript/flavours/glitch/containers/account_container.js
index c1ce4998715b42769aa5c828b00c8e0e456e4779..bc84d299b49c9da00771e066e9833503c0e9de3f 100644 (file)
@@ -1,8 +1,8 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { makeGetAccount } from 'themes/glitch/selectors';
-import Account from 'themes/glitch/components/account';
+import { makeGetAccount } from 'flavours/glitch/selectors';
+import Account from 'flavours/glitch/components/account';
 import {
   followAccount,
   unfollowAccount,
@@ -10,10 +10,10 @@ import {
   unblockAccount,
   muteAccount,
   unmuteAccount,
-} from 'themes/glitch/actions/accounts';
-import { openModal } from 'themes/glitch/actions/modal';
-import { initMuteModal } from 'themes/glitch/actions/mutes';
-import { unfollowModal } from 'themes/glitch/util/initial_state';
+} from 'flavours/glitch/actions/accounts';
+import { openModal } from 'flavours/glitch/actions/modal';
+import { initMuteModal } from 'flavours/glitch/actions/mutes';
+import { unfollowModal } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },
similarity index 84%
rename from app/javascript/themes/glitch/containers/card_container.js
rename to app/javascript/flavours/glitch/containers/card_container.js
index 8285437bbfc92a40bf150e94212584d9d7e38760..dec7df5223660cc57aabaae4d28a2d6d78c513a6 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import Card from 'themes/glitch/features/status/components/card';
+import Card from 'flavours/glitch/features/status/components/card';
 import { fromJS } from 'immutable';
 
 export default class CardContainer extends React.PureComponent {
similarity index 74%
rename from app/javascript/themes/glitch/containers/compose_container.js
rename to app/javascript/flavours/glitch/containers/compose_container.js
index 82980ee36f3c0b93e1b1e40a1cc7ad28b2988f43..60f6a9c9f2c238698cbcdb892183e6c37297b4af 100644 (file)
@@ -1,12 +1,12 @@
 import React from 'react';
 import { Provider } from 'react-redux';
 import PropTypes from 'prop-types';
-import configureStore from 'themes/glitch/store/configureStore';
-import { hydrateStore } from 'themes/glitch/actions/store';
+import configureStore from 'flavours/glitch/store/configureStore';
+import { hydrateStore } from 'flavours/glitch/actions/store';
 import { IntlProvider, addLocaleData } from 'react-intl';
 import { getLocale } from 'mastodon/locales';
-import Compose from 'themes/glitch/features/standalone/compose';
-import initialState from 'themes/glitch/util/initial_state';
+import Compose from 'flavours/glitch/features/standalone/compose';
+import initialState from 'flavours/glitch/util/initial_state';
 
 const { localeData, messages } = getLocale();
 addLocaleData(localeData);
similarity index 65%
rename from app/javascript/themes/glitch/containers/dropdown_menu_container.js
rename to app/javascript/flavours/glitch/containers/dropdown_menu_container.js
index 15e8da2e3a042219fff194ff8586a15e74febc98..0b4f72fa1632dc411c1e7cb322999b6ff45aacfa 100644 (file)
@@ -1,7 +1,7 @@
-import { openModal, closeModal } from 'themes/glitch/actions/modal';
+import { openModal, closeModal } from 'flavours/glitch/actions/modal';
 import { connect } from 'react-redux';
-import DropdownMenu from 'themes/glitch/components/dropdown_menu';
-import { isUserTouching } from 'themes/glitch/util/is_mobile';
+import DropdownMenu from 'flavours/glitch/components/dropdown_menu';
+import { isUserTouching } from 'flavours/glitch/util/is_mobile';
 
 const mapStateToProps = state => ({
   isModalOpen: state.get('modal').modalType === 'ACTIONS',
similarity index 70%
rename from app/javascript/themes/glitch/containers/intersection_observer_article_container.js
rename to app/javascript/flavours/glitch/containers/intersection_observer_article_container.js
index 6ede64738b2154e3516c5fe6ca7f164ecfbeefdd..f2741f2d4fff998d85350d0031becf4047b68039 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
-import IntersectionObserverArticle from 'themes/glitch/components/intersection_observer_article';
-import { setHeight } from 'themes/glitch/actions/height_cache';
+import IntersectionObserverArticle from 'flavours/glitch/components/intersection_observer_article';
+import { setHeight } from 'flavours/glitch/actions/height_cache';
 
 const makeMapStateToProps = (state, props) => ({
   cachedHeight: state.getIn(['height_cache', props.saveHeightKey, props.id]),
similarity index 82%
rename from app/javascript/themes/glitch/containers/mastodon.js
rename to app/javascript/flavours/glitch/containers/mastodon.js
index 755b5564a18da6c43874eb3220c5b32e6eaa1f0b..1c98cd5f75db3059e20b0750a57232549a2fc9ed 100644 (file)
@@ -1,16 +1,16 @@
 import React from 'react';
 import { Provider } from 'react-redux';
 import PropTypes from 'prop-types';
-import configureStore from 'themes/glitch/store/configureStore';
-import { showOnboardingOnce } from 'themes/glitch/actions/onboarding';
+import configureStore from 'flavours/glitch/store/configureStore';
+import { showOnboardingOnce } from 'flavours/glitch/actions/onboarding';
 import { BrowserRouter, Route } from 'react-router-dom';
 import { ScrollContext } from 'react-router-scroll-4';
-import UI from 'themes/glitch/features/ui';
-import { hydrateStore } from 'themes/glitch/actions/store';
-import { connectUserStream } from 'themes/glitch/actions/streaming';
+import UI from 'flavours/glitch/features/ui';
+import { hydrateStore } from 'flavours/glitch/actions/store';
+import { connectUserStream } from 'flavours/glitch/actions/streaming';
 import { IntlProvider, addLocaleData } from 'react-intl';
 import { getLocale } from 'locales';
-import initialState from 'themes/glitch/util/initial_state';
+import initialState from 'flavours/glitch/util/initial_state';
 
 const { localeData, messages } = getLocale();
 addLocaleData(localeData);
similarity index 92%
rename from app/javascript/themes/glitch/containers/media_gallery_container.js
rename to app/javascript/flavours/glitch/containers/media_gallery_container.js
index 86965f73b3bc7e8dd1b97274426ca403118ed7d2..54bfbf4535ab7208860b8114d97a4da57315fd7e 100644 (file)
@@ -2,7 +2,7 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import { IntlProvider, addLocaleData } from 'react-intl';
 import { getLocale } from 'mastodon/locales';
-import MediaGallery from 'themes/glitch/components/media_gallery';
+import MediaGallery from 'flavours/glitch/components/media_gallery';
 import { fromJS } from 'immutable';
 
 const { localeData, messages } = getLocale();
similarity index 86%
rename from app/javascript/themes/glitch/containers/notification_purge_buttons_container.js
rename to app/javascript/flavours/glitch/containers/notification_purge_buttons_container.js
index ee4cb84cdf1565aedfe2eabaea3eb791f9f51474..2570cf4a5678901203a086b350c55c54b3fba4f9 100644 (file)
@@ -3,13 +3,13 @@ import { connect } from 'react-redux';
 import { defineMessages, injectIntl } from 'react-intl';
 
 //  Our imports.
-import NotificationPurgeButtons from 'themes/glitch/components/notification_purge_buttons';
+import NotificationPurgeButtons from 'flavours/glitch/components/notification_purge_buttons';
 import {
   deleteMarkedNotifications,
   enterNotificationClearingMode,
   markAllNotifications,
-} from 'themes/glitch/actions/notifications';
-import { openModal } from 'themes/glitch/actions/modal';
+} from 'flavours/glitch/actions/notifications';
+import { openModal } from 'flavours/glitch/actions/modal';
 
 const messages = defineMessages({
   clearMessage: { id: 'notifications.marked_clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all selected notifications?' },
similarity index 85%
rename from app/javascript/themes/glitch/containers/status_container.js
rename to app/javascript/flavours/glitch/containers/status_container.js
index 14906723a68db4a74817338bf12102feb59fd28f..1a4f3527867da66811124a3e9be0d9f664f3de10 100644 (file)
@@ -1,11 +1,11 @@
 import React from 'react';
 import { connect } from 'react-redux';
-import Status from 'themes/glitch/components/status';
-import { makeGetStatus } from 'themes/glitch/selectors';
+import Status from 'flavours/glitch/components/status';
+import { makeGetStatus } from 'flavours/glitch/selectors';
 import {
   replyCompose,
   mentionCompose,
-} from 'themes/glitch/actions/compose';
+} from 'flavours/glitch/actions/compose';
 import {
   reblog,
   favourite,
@@ -13,14 +13,14 @@ import {
   unfavourite,
   pin,
   unpin,
-} from 'themes/glitch/actions/interactions';
-import { blockAccount } from 'themes/glitch/actions/accounts';
-import { muteStatus, unmuteStatus, deleteStatus } from 'themes/glitch/actions/statuses';
-import { initMuteModal } from 'themes/glitch/actions/mutes';
-import { initReport } from 'themes/glitch/actions/reports';
-import { openModal } from 'themes/glitch/actions/modal';
+} from 'flavours/glitch/actions/interactions';
+import { blockAccount } from 'flavours/glitch/actions/accounts';
+import { muteStatus, unmuteStatus, deleteStatus } from 'flavours/glitch/actions/statuses';
+import { initMuteModal } from 'flavours/glitch/actions/mutes';
+import { initReport } from 'flavours/glitch/actions/reports';
+import { openModal } from 'flavours/glitch/actions/modal';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { boostModal, deleteModal } from 'themes/glitch/util/initial_state';
+import { boostModal, deleteModal } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
similarity index 72%
rename from app/javascript/themes/glitch/containers/timeline_container.js
rename to app/javascript/flavours/glitch/containers/timeline_container.js
index a75f8808dc4f9d3aabf2cfe942b67a66df6c175c..c5ffe1b63306a35932ec291591c6bf279f381794 100644 (file)
@@ -1,13 +1,13 @@
 import React from 'react';
 import { Provider } from 'react-redux';
 import PropTypes from 'prop-types';
-import configureStore from 'themes/glitch/store/configureStore';
-import { hydrateStore } from 'themes/glitch/actions/store';
+import configureStore from 'flavours/glitch/store/configureStore';
+import { hydrateStore } from 'flavours/glitch/actions/store';
 import { IntlProvider, addLocaleData } from 'react-intl';
 import { getLocale } from 'mastodon/locales';
-import PublicTimeline from 'themes/glitch/features/standalone/public_timeline';
-import HashtagTimeline from 'themes/glitch/features/standalone/hashtag_timeline';
-import initialState from 'themes/glitch/util/initial_state';
+import PublicTimeline from 'flavours/glitch/features/standalone/public_timeline';
+import HashtagTimeline from 'flavours/glitch/features/standalone/hashtag_timeline';
+import initialState from 'flavours/glitch/util/initial_state';
 
 const { localeData, messages } = getLocale();
 addLocaleData(localeData);
similarity index 91%
rename from app/javascript/themes/glitch/containers/video_container.js
rename to app/javascript/flavours/glitch/containers/video_container.js
index 2b0e98666215c534140ddaf521387b1eafb82ed5..b206e9a100168c4772a5791f4e80f3428714aae8 100644 (file)
@@ -2,7 +2,7 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import { IntlProvider, addLocaleData } from 'react-intl';
 import { getLocale } from 'mastodon/locales';
-import Video from 'themes/glitch/features/video';
+import Video from 'flavours/glitch/features/video';
 
 const { localeData, messages } = getLocale();
 addLocaleData(localeData);
similarity index 97%
rename from app/javascript/themes/glitch/features/account/components/action_bar.js
rename to app/javascript/flavours/glitch/features/account/components/action_bar.js
index 0edd5c8481d978efca39c30ae7e15a428d37e87f..7c9c1af4e8dcd8a934ab2c83296ac56baa219d6a 100644 (file)
@@ -1,10 +1,10 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import DropdownMenuContainer from 'themes/glitch/containers/dropdown_menu_container';
+import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
 import { Link } from 'react-router-dom';
 import { defineMessages, injectIntl, FormattedMessage, FormattedNumber } from 'react-intl';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   mention: { id: 'account.mention', defaultMessage: 'Mention @{name}' },
similarity index 92%
rename from app/javascript/themes/glitch/features/account/components/header.js
rename to app/javascript/flavours/glitch/features/account/components/header.js
index 696bb1991908e7ea49aac4378ba053b7b83179b9..f5ecaae71e9cf217b6ad5cb2e1ea9c4fe6ba9958 100644 (file)
@@ -4,12 +4,12 @@ import PropTypes from 'prop-types';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
-import Avatar from 'themes/glitch/components/avatar';
-import IconButton from 'themes/glitch/components/icon_button';
+import Avatar from 'flavours/glitch/components/avatar';
+import IconButton from 'flavours/glitch/components/icon_button';
 
-import emojify from 'themes/glitch/util/emoji';
-import { me } from 'themes/glitch/util/initial_state';
-import { processBio } from 'themes/glitch/util/bio_metadata';
+import emojify from 'flavours/glitch/util/emoji';
+import { me } from 'flavours/glitch/util/initial_state';
+import { processBio } from 'flavours/glitch/util/bio_metadata';
 
 const messages = defineMessages({
   unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },
similarity index 93%
rename from app/javascript/themes/glitch/features/account_gallery/components/media_item.js
rename to app/javascript/flavours/glitch/features/account_gallery/components/media_item.js
index 88c9156b5e8495a6006ed0421682b2347cd2a21f..e52d3b0bb0c1f0fdc683eb6305e59d06884d78c8 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import Permalink from 'themes/glitch/components/permalink';
+import Permalink from 'flavours/glitch/components/permalink';
 
 export default class MediaItem extends ImmutablePureComponent {
 
similarity index 84%
rename from app/javascript/themes/glitch/features/account_gallery/index.js
rename to app/javascript/flavours/glitch/features/account_gallery/index.js
index a21c089da730dd807a9f8da487cd1ba2d36d0a83..951e019e37093158960ce15d38015459cd9899a3 100644 (file)
@@ -2,18 +2,18 @@ import React from 'react';
 import { connect } from 'react-redux';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import { fetchAccount } from 'themes/glitch/actions/accounts';
-import { refreshAccountMediaTimeline, expandAccountMediaTimeline } from 'themes/glitch/actions/timelines';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButton from 'themes/glitch/components/column_back_button';
+import { fetchAccount } from 'flavours/glitch/actions/accounts';
+import { refreshAccountMediaTimeline, expandAccountMediaTimeline } from 'flavours/glitch/actions/timelines';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButton from 'flavours/glitch/components/column_back_button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import { getAccountGallery } from 'themes/glitch/selectors';
+import { getAccountGallery } from 'flavours/glitch/selectors';
 import MediaItem from './components/media_item';
-import HeaderContainer from 'themes/glitch/features/account_timeline/containers/header_container';
+import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
 import { FormattedMessage } from 'react-intl';
 import { ScrollContainer } from 'react-router-scroll-4';
-import LoadMore from 'themes/glitch/components/load_more';
+import LoadMore from 'flavours/glitch/components/load_more';
 
 const mapStateToProps = (state, props) => ({
   medias: getAccountGallery(state, props.params.accountId),
similarity index 90%
rename from app/javascript/themes/glitch/features/account_timeline/components/header.js
rename to app/javascript/flavours/glitch/features/account_timeline/components/header.js
index c719a7bcba920be3841fce2346a5937f99395336..4ad677fbeb870a2d35a97ba1e078a8ae4a2640ef 100644 (file)
@@ -1,9 +1,9 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import InnerHeader from 'themes/glitch/features/account/components/header';
-import ActionBar from 'themes/glitch/features/account/components/action_bar';
-import MissingIndicator from 'themes/glitch/components/missing_indicator';
+import InnerHeader from 'flavours/glitch/features/account/components/header';
+import ActionBar from 'flavours/glitch/features/account/components/action_bar';
+import MissingIndicator from 'flavours/glitch/components/missing_indicator';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 export default class Header extends ImmutablePureComponent {
similarity index 86%
rename from app/javascript/themes/glitch/features/account_timeline/containers/header_container.js
rename to app/javascript/flavours/glitch/features/account_timeline/containers/header_container.js
index 766b57b564a29f87f5951840b60bfb80e4b61ca4..815a1a6136d216df22e7cea756b893567344384c 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import { connect } from 'react-redux';
-import { makeGetAccount } from 'themes/glitch/selectors';
+import { makeGetAccount } from 'flavours/glitch/selectors';
 import Header from '../components/header';
 import {
   followAccount,
@@ -8,14 +8,14 @@ import {
   blockAccount,
   unblockAccount,
   unmuteAccount,
-} from 'themes/glitch/actions/accounts';
-import { mentionCompose } from 'themes/glitch/actions/compose';
-import { initMuteModal } from 'themes/glitch/actions/mutes';
-import { initReport } from 'themes/glitch/actions/reports';
-import { openModal } from 'themes/glitch/actions/modal';
-import { blockDomain, unblockDomain } from 'themes/glitch/actions/domain_blocks';
+} from 'flavours/glitch/actions/accounts';
+import { mentionCompose } from 'flavours/glitch/actions/compose';
+import { initMuteModal } from 'flavours/glitch/actions/mutes';
+import { initReport } from 'flavours/glitch/actions/reports';
+import { openModal } from 'flavours/glitch/actions/modal';
+import { blockDomain, unblockDomain } from 'flavours/glitch/actions/domain_blocks';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import { unfollowModal } from 'themes/glitch/util/initial_state';
+import { unfollowModal } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },
similarity index 93%
rename from app/javascript/themes/glitch/features/account_timeline/index.js
rename to app/javascript/flavours/glitch/features/account_timeline/index.js
index 81336ef3a257d5e3fd58b50feefe151cfd2e8a21..75dba5049013b6f24ea8e66dc6f877d47e8e27d9 100644 (file)
@@ -2,8 +2,8 @@ import React from 'react';
 import { connect } from 'react-redux';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import { fetchAccount } from 'themes/glitch/actions/accounts';
-import { refreshAccountTimeline, expandAccountTimeline } from 'themes/glitch/actions/timelines';
+import { fetchAccount } from 'flavours/glitch/actions/accounts';
+import { refreshAccountTimeline, expandAccountTimeline } from 'flavours/glitch/actions/timelines';
 import StatusList from '../../components/status_list';
 import LoadingIndicator from '../../components/loading_indicator';
 import Column from '../ui/components/column';
similarity index 81%
rename from app/javascript/themes/glitch/features/blocks/index.js
rename to app/javascript/flavours/glitch/features/blocks/index.js
index 70630818c611ee71420ff2379e997a2fefd2eb39..edd448921e47aa9817c433be5d94f3334cb7c490 100644 (file)
@@ -2,12 +2,12 @@ import React from 'react';
 import { connect } from 'react-redux';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 import { ScrollContainer } from 'react-router-scroll-4';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'themes/glitch/components/column_back_button_slim';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import { fetchBlocks, expandBlocks } from 'themes/glitch/actions/blocks';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import { fetchBlocks, expandBlocks } from 'flavours/glitch/actions/blocks';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 94%
rename from app/javascript/themes/glitch/features/community_timeline/components/column_settings.js
rename to app/javascript/flavours/glitch/features/community_timeline/components/column_settings.js
index 988e3630826a473ef0c9db5df0a17e84d41b4287..6dc292ee5468ca549ef3ef93db624e5e3c56a12b 100644 (file)
@@ -2,7 +2,7 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import SettingText from 'themes/glitch/components/setting_text';
+import SettingText from 'flavours/glitch/components/setting_text';
 
 const messages = defineMessages({
   filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },
similarity index 86%
rename from app/javascript/themes/glitch/features/community_timeline/containers/column_settings_container.js
rename to app/javascript/flavours/glitch/features/community_timeline/containers/column_settings_container.js
index cd9c3436527cad08c43019a93c51000174c44a37..84234a836ba2e8ad16ef5a717edbb691e0c04b41 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import ColumnSettings from '../components/column_settings';
-import { changeSetting } from 'themes/glitch/actions/settings';
+import { changeSetting } from 'flavours/glitch/actions/settings';
 
 const mapStateToProps = state => ({
   settings: state.getIn(['settings', 'community']),
similarity index 85%
rename from app/javascript/themes/glitch/features/community_timeline/index.js
rename to app/javascript/flavours/glitch/features/community_timeline/index.js
index 9d255bd01ccab4833c8b31892a821d79b8cae5dc..55355414f4626d5ee373406438de2484b8c8a4aa 100644 (file)
@@ -1,17 +1,17 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import {
   refreshCommunityTimeline,
   expandCommunityTimeline,
-} from 'themes/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
+} from 'flavours/glitch/actions/timelines';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ColumnSettingsContainer from './containers/column_settings_container';
-import { connectCommunityStream } from 'themes/glitch/actions/streaming';
+import { connectCommunityStream } from 'flavours/glitch/actions/streaming';
 
 const messages = defineMessages({
   title: { id: 'column.community', defaultMessage: 'Local timeline' },
similarity index 96%
rename from app/javascript/themes/glitch/features/compose/components/attach_options.js
rename to app/javascript/flavours/glitch/features/compose/components/attach_options.js
index c396714f3a8f0a7f92a7e1126f71923857bd16fc..6c7a1f55f68bdcd0052acb9ee87639e8fb9bec18 100644 (file)
@@ -6,10 +6,10 @@ import { injectIntl, defineMessages } from 'react-intl';
 
 //  Our imports  //
 import ComposeDropdown from './dropdown';
-import { uploadCompose } from 'themes/glitch/actions/compose';
+import { uploadCompose } from 'flavours/glitch/actions/compose';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import { openModal } from 'themes/glitch/actions/modal';
+import { openModal } from 'flavours/glitch/actions/modal';
 
 const messages = defineMessages({
   upload :
similarity index 82%
rename from app/javascript/themes/glitch/features/compose/components/autosuggest_account.js
rename to app/javascript/flavours/glitch/features/compose/components/autosuggest_account.js
index 4a98d89fec69b394fee72c2aab15e99c403e2e15..3d474af30e5983fd0ddacf337a984f7a48384ffd 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
-import Avatar from 'themes/glitch/components/avatar';
-import DisplayName from 'themes/glitch/components/display_name';
+import Avatar from 'flavours/glitch/components/avatar';
+import DisplayName from 'flavours/glitch/components/display_name';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 96%
rename from app/javascript/themes/glitch/features/compose/components/compose_form.js
rename to app/javascript/flavours/glitch/features/compose/components/compose_form.js
index 54b1944a4658856d92e0a9f09c90b423a938d155..67ce935f43cd79738ac51b72585e10d7b2188159 100644 (file)
@@ -1,12 +1,12 @@
 import React from 'react';
 import CharacterCounter from './character_counter';
-import Button from 'themes/glitch/components/button';
+import Button from 'flavours/glitch/components/button';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
 import ReplyIndicatorContainer from '../containers/reply_indicator_container';
-import AutosuggestTextarea from 'themes/glitch/components/autosuggest_textarea';
+import AutosuggestTextarea from 'flavours/glitch/components/autosuggest_textarea';
 import { defineMessages, injectIntl } from 'react-intl';
-import Collapsable from 'themes/glitch/components/collapsable';
+import Collapsable from 'flavours/glitch/components/collapsable';
 import SpoilerButtonContainer from '../containers/spoiler_button_container';
 import PrivacyDropdownContainer from '../containers/privacy_dropdown_container';
 import ComposeAdvancedOptionsContainer from '../containers/advanced_options_container';
@@ -14,12 +14,12 @@ import SensitiveButtonContainer from '../containers/sensitive_button_container';
 import EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';
 import UploadFormContainer from '../containers/upload_form_container';
 import WarningContainer from '../containers/warning_container';
-import { isMobile } from 'themes/glitch/util/is_mobile';
+import { isMobile } from 'flavours/glitch/util/is_mobile';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { length } from 'stringz';
-import { countableText } from 'themes/glitch/util/counter';
+import { countableText } from 'flavours/glitch/util/counter';
 import ComposeAttachOptions from './attach_options';
-import initialState from 'themes/glitch/util/initial_state';
+import initialState from 'flavours/glitch/util/initial_state';
 
 const maxChars = initialState.max_toot_chars;
 
similarity index 96%
rename from app/javascript/themes/glitch/features/compose/components/dropdown.js
rename to app/javascript/flavours/glitch/features/compose/components/dropdown.js
index f3d9f094e5455cc64a4decb31d5ddb115ba1a1a6..1b0000fb7f9430f634ab13cfad09574b0b956674 100644 (file)
@@ -3,7 +3,7 @@ import React from 'react';
 import PropTypes from 'prop-types';
 
 //  Our imports.
-import IconButton from 'themes/glitch/components/icon_button';
+import IconButton from 'flavours/glitch/components/icon_button';
 
 const iconStyle = {
   height     : null,
similarity index 98%
rename from app/javascript/themes/glitch/features/compose/components/emoji_picker_dropdown.js
rename to app/javascript/flavours/glitch/features/compose/components/emoji_picker_dropdown.js
index fd59efb8512f961a4ed6a306e100a02fe51a95bf..cf89f91d3363404ee15a9b7bf3739fdc269992cb 100644 (file)
@@ -1,12 +1,12 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import { defineMessages, injectIntl } from 'react-intl';
-import { EmojiPicker as EmojiPickerAsync } from 'themes/glitch/util/async-components';
+import { EmojiPicker as EmojiPickerAsync } from 'flavours/glitch/util/async-components';
 import Overlay from 'react-overlays/lib/Overlay';
 import classNames from 'classnames';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import detectPassiveEvents from 'detect-passive-events';
-import { buildCustomEmojis } from 'themes/glitch/util/emoji';
+import { buildCustomEmojis } from 'flavours/glitch/util/emoji';
 
 const messages = defineMessages({
   emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
similarity index 87%
rename from app/javascript/themes/glitch/features/compose/components/navigation_bar.js
rename to app/javascript/flavours/glitch/features/compose/components/navigation_bar.js
index 24a70949b86f8cdc5c5fb5d28a9c0a3a664e1638..1b6d74123e76b07d2fe9fc4fe2188a0ba5d2609e 100644 (file)
@@ -1,9 +1,9 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import Avatar from 'themes/glitch/components/avatar';
-import IconButton from 'themes/glitch/components/icon_button';
-import Permalink from 'themes/glitch/components/permalink';
+import Avatar from 'flavours/glitch/components/avatar';
+import IconButton from 'flavours/glitch/components/icon_button';
+import Permalink from 'flavours/glitch/components/permalink';
 import { FormattedMessage } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 98%
rename from app/javascript/themes/glitch/features/compose/components/privacy_dropdown.js
rename to app/javascript/flavours/glitch/features/compose/components/privacy_dropdown.js
index 0cd92d174f4e3a0b5790de2c90fb5871a8016236..90f062f8f0813b98a4d8bddb2a804c173642426d 100644 (file)
@@ -1,9 +1,9 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import { injectIntl, defineMessages } from 'react-intl';
-import IconButton from 'themes/glitch/components/icon_button';
+import IconButton from 'flavours/glitch/components/icon_button';
 import Overlay from 'react-overlays/lib/Overlay';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import detectPassiveEvents from 'detect-passive-events';
 import classNames from 'classnames';
similarity index 90%
rename from app/javascript/themes/glitch/features/compose/components/reply_indicator.js
rename to app/javascript/flavours/glitch/features/compose/components/reply_indicator.js
index 9a8d10cebc7b097bfe8fa36a500705e7beaf8723..cb28e51be1e8a5b5c1207ba41375f73dbd3e7ae9 100644 (file)
@@ -1,9 +1,9 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import Avatar from 'themes/glitch/components/avatar';
-import IconButton from 'themes/glitch/components/icon_button';
-import DisplayName from 'themes/glitch/components/display_name';
+import Avatar from 'flavours/glitch/components/avatar';
+import IconButton from 'flavours/glitch/components/icon_button';
+import DisplayName from 'flavours/glitch/components/display_name';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 98%
rename from app/javascript/themes/glitch/features/compose/components/search.js
rename to app/javascript/flavours/glitch/features/compose/components/search.js
index c3218137f885530dcc190710689efb309482225d..1ce66b19dadc7fde40de4e99f1c0d0ed78ca980f 100644 (file)
@@ -2,7 +2,7 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import Overlay from 'react-overlays/lib/Overlay';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 
 const messages = defineMessages({
similarity index 93%
rename from app/javascript/themes/glitch/features/compose/components/search_results.js
rename to app/javascript/flavours/glitch/features/compose/components/search_results.js
index 3fdafa5f3c1044c247dbc81e0244eea053bccfd5..2a4818d4e290258b037ec6e9ab5d8239fa5c1b31 100644 (file)
@@ -1,8 +1,8 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import { FormattedMessage } from 'react-intl';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import StatusContainer from 'themes/glitch/containers/status_container';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import StatusContainer from 'flavours/glitch/containers/status_container';
 import { Link } from 'react-router-dom';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 96%
rename from app/javascript/themes/glitch/features/compose/components/upload.js
rename to app/javascript/flavours/glitch/features/compose/components/upload.js
index ded376ada3523215d0ee5d5046ebdb2b643b22c9..a1fc93234c165cf6c6d09dd56642f2d8a82879c4 100644 (file)
@@ -1,8 +1,8 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import IconButton from 'themes/glitch/components/icon_button';
-import Motion from 'themes/glitch/util/optional_motion';
+import IconButton from 'flavours/glitch/components/icon_button';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { defineMessages, injectIntl } from 'react-intl';
similarity index 97%
rename from app/javascript/themes/glitch/features/compose/components/upload_button.js
rename to app/javascript/flavours/glitch/features/compose/components/upload_button.js
index d7742adfe766d3e38d90d60e8592ec04d447abb9..f06167a2a98fd8334e0bffa8a43c1c3e8c310a0e 100644 (file)
@@ -1,5 +1,5 @@
 import React from 'react';
-import IconButton from 'themes/glitch/components/icon_button';
+import IconButton from 'flavours/glitch/components/icon_button';
 import PropTypes from 'prop-types';
 import { defineMessages, injectIntl } from 'react-intl';
 import { connect } from 'react-redux';
similarity index 94%
rename from app/javascript/themes/glitch/features/compose/components/upload_progress.js
rename to app/javascript/flavours/glitch/features/compose/components/upload_progress.js
index b923d0a2269c155360d1d1c4ab224250f2eb7af1..2a3b8ceb481e13b37e10e29ba095cc7634227e2b 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import { FormattedMessage } from 'react-intl';
 
similarity index 93%
rename from app/javascript/themes/glitch/features/compose/components/warning.js
rename to app/javascript/flavours/glitch/features/compose/components/warning.js
index 82df55a31d2b2b9a52ca80980174a9b608de227f..4962e76c8ad6a519bf76d379c037c0dc8b341869 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 
 export default class Warning extends React.PureComponent {
similarity index 85%
rename from app/javascript/themes/glitch/features/compose/containers/advanced_options_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/advanced_options_container.js
index 9f168942a0a2ef362cc0ad7af638855bbe8f365b..da381568b2bd57d01c6a8141ea091fa95bbd6c1a 100644 (file)
@@ -2,7 +2,7 @@
 import { connect } from 'react-redux';
 
 //  Our imports.
-import { toggleComposeAdvancedOption } from 'themes/glitch/actions/compose';
+import { toggleComposeAdvancedOption } from 'flavours/glitch/actions/compose';
 import ComposeAdvancedOptions from '../components/advanced_options';
 
 const mapStateToProps = state => ({
similarity index 86%
rename from app/javascript/themes/glitch/features/compose/containers/autosuggest_account_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/autosuggest_account_container.js
index 96eb70c185fede4e93c4c416d03b50591e75903f..0e1c328fe907caa3ad48a50b10429e98f814a2c0 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import AutosuggestAccount from '../components/autosuggest_account';
-import { makeGetAccount } from 'themes/glitch/selectors';
+import { makeGetAccount } from 'flavours/glitch/selectors';
 
 const makeMapStateToProps = () => {
   const getAccount = makeGetAccount();
similarity index 93%
rename from app/javascript/themes/glitch/features/compose/containers/compose_form_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/compose_form_container.js
index 7afa988f1fcafb0037dda1f402d881661639a2bd..e2e93e44b6121c58184d7fdc2748e78f143b4aab 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import ComposeForm from '../components/compose_form';
-import { changeComposeVisibility, uploadCompose } from 'themes/glitch/actions/compose';
+import { changeComposeVisibility, uploadCompose } from 'flavours/glitch/actions/compose';
 import {
   changeCompose,
   submitCompose,
@@ -9,7 +9,7 @@ import {
   selectComposeSuggestion,
   changeComposeSpoilerText,
   insertEmojiCompose,
-} from 'themes/glitch/actions/compose';
+} from 'flavours/glitch/actions/compose';
 
 const mapStateToProps = state => ({
   text: state.getIn(['compose', 'text']),
similarity index 93%
rename from app/javascript/themes/glitch/features/compose/containers/emoji_picker_dropdown_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/emoji_picker_dropdown_container.js
index 55a13bd6539f3659bce65fa3232ae32845c0b581..ba85edd87374be4872514ec8a5b2be0a1673f318 100644 (file)
@@ -1,9 +1,9 @@
 import { connect } from 'react-redux';
 import EmojiPickerDropdown from '../components/emoji_picker_dropdown';
-import { changeSetting } from 'themes/glitch/actions/settings';
+import { changeSetting } from 'flavours/glitch/actions/settings';
 import { createSelector } from 'reselect';
 import { Map as ImmutableMap } from 'immutable';
-import { useEmoji } from 'themes/glitch/actions/emojis';
+import { useEmoji } from 'flavours/glitch/actions/emojis';
 
 const perLine = 8;
 const lines   = 2;
similarity index 81%
rename from app/javascript/themes/glitch/features/compose/containers/navigation_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/navigation_container.js
index b6d737b462d09241451d10ed1146e4cffe8f0403..eb630ffbb5dc3b5d0848ecf89a04db49f8108b29 100644 (file)
@@ -1,6 +1,6 @@
 import { connect }   from 'react-redux';
 import NavigationBar from '../components/navigation_bar';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const mapStateToProps = state => {
   return {
similarity index 73%
rename from app/javascript/themes/glitch/features/compose/containers/privacy_dropdown_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/privacy_dropdown_container.js
index 9636ceab2443e9810244614dbe012f0e57d44e8d..cb94fcc8064d88605d5869e025ebd8ef021f7d2b 100644 (file)
@@ -1,8 +1,8 @@
 import { connect } from 'react-redux';
 import PrivacyDropdown from '../components/privacy_dropdown';
-import { changeComposeVisibility } from 'themes/glitch/actions/compose';
-import { openModal, closeModal } from 'themes/glitch/actions/modal';
-import { isUserTouching } from 'themes/glitch/util/is_mobile';
+import { changeComposeVisibility } from 'flavours/glitch/actions/compose';
+import { openModal, closeModal } from 'flavours/glitch/actions/modal';
+import { isUserTouching } from 'flavours/glitch/util/is_mobile';
 
 const mapStateToProps = state => ({
   isModalOpen: state.get('modal').modalType === 'ACTIONS',
similarity index 79%
rename from app/javascript/themes/glitch/features/compose/containers/reply_indicator_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/reply_indicator_container.js
index 6dcabb3cd187b6376b82cbfbc8b9a689b702d882..a7c82d135dc85f4630a6349344fb9eecac1a8701 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
-import { cancelReplyCompose } from 'themes/glitch/actions/compose';
-import { makeGetStatus } from 'themes/glitch/selectors';
+import { cancelReplyCompose } from 'flavours/glitch/actions/compose';
+import { makeGetStatus } from 'flavours/glitch/selectors';
 import ReplyIndicator from '../components/reply_indicator';
 
 const makeMapStateToProps = () => {
similarity index 93%
rename from app/javascript/themes/glitch/features/compose/containers/search_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/search_container.js
index a450d27e7a489b051b89f0116fcab653040c4ce0..8f4bfcf088465f911f0c6182e53828bd2c301b06 100644 (file)
@@ -4,7 +4,7 @@ import {
   clearSearch,
   submitSearch,
   showSearch,
-} from 'themes/glitch/actions/search';
+} from 'flavours/glitch/actions/search';
 import Search from '../components/search';
 
 const mapStateToProps = state => ({
similarity index 91%
rename from app/javascript/themes/glitch/features/compose/containers/sensitive_button_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/sensitive_button_container.js
index a710dd104f09a540b1831217c3799e90556dc594..cf6706c0e0a9e5c195b77a06b3a719433830f6e6 100644 (file)
@@ -2,9 +2,9 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import classNames from 'classnames';
-import IconButton from 'themes/glitch/components/icon_button';
-import { changeComposeSensitivity } from 'themes/glitch/actions/compose';
-import Motion from 'themes/glitch/util/optional_motion';
+import IconButton from 'flavours/glitch/components/icon_button';
+import { changeComposeSensitivity } from 'flavours/glitch/actions/compose';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import { injectIntl, defineMessages } from 'react-intl';
 
similarity index 89%
rename from app/javascript/themes/glitch/features/compose/containers/spoiler_button_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/spoiler_button_container.js
index 160e71ba921ea583deb7ea4d612411cc80b05847..d7b4246bc2fa69ab9039d26e01fa190a3bf7a6e4 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import TextIconButton from '../components/text_icon_button';
-import { changeComposeSpoilerness } from 'themes/glitch/actions/compose';
+import { changeComposeSpoilerness } from 'flavours/glitch/actions/compose';
 import { injectIntl, defineMessages } from 'react-intl';
 
 const messages = defineMessages({
similarity index 90%
rename from app/javascript/themes/glitch/features/compose/containers/upload_button_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/upload_button_container.js
index f332eae1aadc610dbbaf3fb4252b9c23d51a5560..4c1cb49e93881633fbd7fa349cef742344176f02 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import UploadButton from '../components/upload_button';
-import { uploadCompose } from 'themes/glitch/actions/compose';
+import { uploadCompose } from 'flavours/glitch/actions/compose';
 
 const mapStateToProps = state => ({
   disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),
similarity index 84%
rename from app/javascript/themes/glitch/features/compose/containers/upload_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/upload_container.js
index eea514bf5377097a9a3c999673ef5c886bc58a80..368038425e1f7e23c23ae815c3febc84af863bfe 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import Upload from '../components/upload';
-import { undoUploadCompose, changeUploadCompose } from 'themes/glitch/actions/compose';
+import { undoUploadCompose, changeUploadCompose } from 'flavours/glitch/actions/compose';
 
 const mapStateToProps = (state, { id }) => ({
   media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),
similarity index 94%
rename from app/javascript/themes/glitch/features/compose/containers/warning_container.js
rename to app/javascript/flavours/glitch/features/compose/containers/warning_container.js
index 225d6a1dd9c3ad9389c022306e1e3147528dd596..f20c75b9115a38c36eaa610cd6aad27075a7bbb7 100644 (file)
@@ -3,7 +3,7 @@ import { connect } from 'react-redux';
 import Warning from '../components/warning';
 import PropTypes from 'prop-types';
 import { FormattedMessage } from 'react-intl';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const mapStateToProps = state => ({
   needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),
similarity index 93%
rename from app/javascript/themes/glitch/features/compose/index.js
rename to app/javascript/flavours/glitch/features/compose/index.js
index 3fcaf416f8871a93f7cd0f9fe3c1f0d4ee02da80..02b97ad00e233b22c157c352284715378ec33154 100644 (file)
@@ -4,16 +4,16 @@ import NavigationContainer from './containers/navigation_container';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import { connect } from 'react-redux';
-import { mountCompose, unmountCompose } from 'themes/glitch/actions/compose';
-import { openModal } from 'themes/glitch/actions/modal';
-import { changeLocalSetting } from 'themes/glitch/actions/local_settings';
+import { mountCompose, unmountCompose } from 'flavours/glitch/actions/compose';
+import { openModal } from 'flavours/glitch/actions/modal';
+import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
 import { Link } from 'react-router-dom';
 import { injectIntl, defineMessages } from 'react-intl';
 import SearchContainer from './containers/search_container';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import SearchResultsContainer from './containers/search_results_container';
-import { changeComposing } from 'themes/glitch/actions/compose';
+import { changeComposing } from 'flavours/glitch/actions/compose';
 
 const messages = defineMessages({
   start: { id: 'getting_started.heading', defaultMessage: 'Getting started' },
similarity index 67%
rename from app/javascript/themes/glitch/features/direct_timeline/containers/column_settings_container.js
rename to app/javascript/flavours/glitch/features/direct_timeline/containers/column_settings_container.js
index 2a40c65a5235e06f67c1ec24cabba9fcdfcb8317..d3e4b421689fca95bbfab336c8ce954198b7370f 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
-import ColumnSettings from 'themes/glitch/features/community_timeline/components/column_settings';
-import { changeSetting } from 'themes/glitch/actions/settings';
+import ColumnSettings from 'flavours/glitch/features/community_timeline/components/column_settings';
+import { changeSetting } from 'flavours/glitch/actions/settings';
 
 const mapStateToProps = state => ({
   settings: state.getIn(['settings', 'direct']),
similarity index 85%
rename from app/javascript/themes/glitch/features/direct_timeline/index.js
rename to app/javascript/flavours/glitch/features/direct_timeline/index.js
index 6b29cf94d2e6481578f8a216d787fa6d0c20c258..81096c0eced2f275970f94842072f80f370920ae 100644 (file)
@@ -1,17 +1,17 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import {
   refreshDirectTimeline,
   expandDirectTimeline,
-} from 'themes/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
+} from 'flavours/glitch/actions/timelines';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ColumnSettingsContainer from './containers/column_settings_container';
-import { connectDirectStream } from 'themes/glitch/actions/streaming';
+import { connectDirectStream } from 'flavours/glitch/actions/streaming';
 
 const messages = defineMessages({
   title: { id: 'column.direct', defaultMessage: 'Direct messages' },
similarity index 87%
rename from app/javascript/themes/glitch/features/favourited_statuses/index.js
rename to app/javascript/flavours/glitch/features/favourited_statuses/index.js
index 80345e0e2b22fe6020c57afae4f2adc0cdba1680..e20dda718331e2ddda56eab63596e153641a5d40 100644 (file)
@@ -2,11 +2,11 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import { fetchFavouritedStatuses, expandFavouritedStatuses } from 'themes/glitch/actions/favourites';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
-import StatusList from 'themes/glitch/components/status_list';
+import { fetchFavouritedStatuses, expandFavouritedStatuses } from 'flavours/glitch/actions/favourites';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
+import StatusList from 'flavours/glitch/components/status_list';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 79%
rename from app/javascript/themes/glitch/features/favourites/index.js
rename to app/javascript/flavours/glitch/features/favourites/index.js
index d7b8ac3b10c448bb6658713d6008453fd958cdd5..055a15ccb77672a4420ca9f12b3fc3757bf50a95 100644 (file)
@@ -2,12 +2,12 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
-import { fetchFavourites } from 'themes/glitch/actions/interactions';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import { fetchFavourites } from 'flavours/glitch/actions/interactions';
 import { ScrollContainer } from 'react-router-scroll-4';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButton from 'themes/glitch/components/column_back_button';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButton from 'flavours/glitch/components/column_back_button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 const mapStateToProps = (state, props) => ({
similarity index 87%
rename from app/javascript/themes/glitch/features/follow_requests/components/account_authorize.js
rename to app/javascript/flavours/glitch/features/follow_requests/components/account_authorize.js
index ce386d888df347b3afd2acc0d6cac134636a7578..dead0753f8ee341f9d19d515f0fabcb043a37e1c 100644 (file)
@@ -1,10 +1,10 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import Permalink from 'themes/glitch/components/permalink';
-import Avatar from 'themes/glitch/components/avatar';
-import DisplayName from 'themes/glitch/components/display_name';
-import IconButton from 'themes/glitch/components/icon_button';
+import Permalink from 'flavours/glitch/components/permalink';
+import Avatar from 'flavours/glitch/components/avatar';
+import DisplayName from 'flavours/glitch/components/display_name';
+import IconButton from 'flavours/glitch/components/icon_button';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 78%
rename from app/javascript/themes/glitch/features/follow_requests/containers/account_authorize_container.js
rename to app/javascript/flavours/glitch/features/follow_requests/containers/account_authorize_container.js
index 78ae77eee3eb52f5ae07644298b121ccd763a8ff..693e98e8cebfced0a1e2e56f15112bab0ee05e8c 100644 (file)
@@ -1,7 +1,7 @@
 import { connect } from 'react-redux';
-import { makeGetAccount } from 'themes/glitch/selectors';
+import { makeGetAccount } from 'flavours/glitch/selectors';
 import AccountAuthorize from '../components/account_authorize';
-import { authorizeFollowRequest, rejectFollowRequest } from 'themes/glitch/actions/accounts';
+import { authorizeFollowRequest, rejectFollowRequest } from 'flavours/glitch/actions/accounts';
 
 const makeMapStateToProps = () => {
   const getAccount = makeGetAccount();
similarity index 85%
rename from app/javascript/themes/glitch/features/follow_requests/index.js
rename to app/javascript/flavours/glitch/features/follow_requests/index.js
index 3f44f518a9c9371d67cdfa7e7a237a71be8766a5..04ff3f1116aed22c13942aa0b44538218e4e3920 100644 (file)
@@ -2,12 +2,12 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 import { ScrollContainer } from 'react-router-scroll-4';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'themes/glitch/components/column_back_button_slim';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
 import AccountAuthorizeContainer from './containers/account_authorize_container';
-import { fetchFollowRequests, expandFollowRequests } from 'themes/glitch/actions/accounts';
+import { fetchFollowRequests, expandFollowRequests } from 'flavours/glitch/actions/accounts';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 83%
rename from app/javascript/themes/glitch/features/followers/index.js
rename to app/javascript/flavours/glitch/features/followers/index.js
index d586bf41d0c2ec59cda96f67a94701350bda42c9..f0ef29ff688af0c56a9b6a4778e25609e1cbd5d2 100644 (file)
@@ -2,18 +2,18 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 import {
   fetchAccount,
   fetchFollowers,
   expandFollowers,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import { ScrollContainer } from 'react-router-scroll-4';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import Column from 'themes/glitch/features/ui/components/column';
-import HeaderContainer from 'themes/glitch/features/account_timeline/containers/header_container';
-import LoadMore from 'themes/glitch/components/load_more';
-import ColumnBackButton from 'themes/glitch/components/column_back_button';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import Column from 'flavours/glitch/features/ui/components/column';
+import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
+import LoadMore from 'flavours/glitch/components/load_more';
+import ColumnBackButton from 'flavours/glitch/components/column_back_button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 const mapStateToProps = (state, props) => ({
similarity index 83%
rename from app/javascript/themes/glitch/features/following/index.js
rename to app/javascript/flavours/glitch/features/following/index.js
index c306faf21dad4b69ef8eb4719cde5433ebc154a3..f30f7b0d9898ef01267176bb4c6eb93d136a80b5 100644 (file)
@@ -2,18 +2,18 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 import {
   fetchAccount,
   fetchFollowing,
   expandFollowing,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import { ScrollContainer } from 'react-router-scroll-4';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import Column from 'themes/glitch/features/ui/components/column';
-import HeaderContainer from 'themes/glitch/features/account_timeline/containers/header_container';
-import LoadMore from 'themes/glitch/components/load_more';
-import ColumnBackButton from 'themes/glitch/components/column_back_button';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import Column from 'flavours/glitch/features/ui/components/column';
+import HeaderContainer from 'flavours/glitch/features/account_timeline/containers/header_container';
+import LoadMore from 'flavours/glitch/components/load_more';
+import ColumnBackButton from 'flavours/glitch/components/column_back_button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 const mapStateToProps = (state, props) => ({
diff --git a/app/javascript/flavours/glitch/features/generic_not_found/index.js b/app/javascript/flavours/glitch/features/generic_not_found/index.js
new file mode 100644 (file)
index 0000000..d01a1ba
--- /dev/null
@@ -0,0 +1,11 @@
+import React from 'react';
+import Column from 'flavours/glitch/features/ui/components/column';
+import MissingIndicator from 'flavours/glitch/components/missing_indicator';
+
+const GenericNotFound = () => (
+  <Column>
+    <MissingIndicator />
+  </Column>
+);
+
+export default GenericNotFound;
similarity index 95%
rename from app/javascript/themes/glitch/features/getting_started/index.js
rename to app/javascript/flavours/glitch/features/getting_started/index.js
index 74b019cf1c34868a3d14f1b4e3b112691f98b2c9..2af0fcf48d06d3e920816e6c144487c276894c01 100644 (file)
@@ -1,14 +1,14 @@
 import React from 'react';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnLink from 'themes/glitch/features/ui/components/column_link';
-import ColumnSubheading from 'themes/glitch/features/ui/components/column_subheading';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnLink from 'flavours/glitch/features/ui/components/column_link';
+import ColumnSubheading from 'flavours/glitch/features/ui/components/column_subheading';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import { connect } from 'react-redux';
-import { openModal } from 'themes/glitch/actions/modal';
+import { openModal } from 'flavours/glitch/actions/modal';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },
similarity index 86%
rename from app/javascript/themes/glitch/features/hashtag_timeline/index.js
rename to app/javascript/flavours/glitch/features/hashtag_timeline/index.js
index a878931b3dd8d7fcb2aa008c91fc74997e157ead..9f3c9bec76dd49a31ae1c322b30dfe93b98bb402 100644 (file)
@@ -1,16 +1,16 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import {
   refreshHashtagTimeline,
   expandHashtagTimeline,
-} from 'themes/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
+} from 'flavours/glitch/actions/timelines';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { FormattedMessage } from 'react-intl';
-import { connectHashtagStream } from 'themes/glitch/actions/streaming';
+import { connectHashtagStream } from 'flavours/glitch/actions/streaming';
 
 const mapStateToProps = (state, props) => ({
   hasUnread: state.getIn(['timelines', `hashtag:${props.params.id}`, 'unread']) > 0,
similarity index 92%
rename from app/javascript/themes/glitch/features/home_timeline/components/column_settings.js
rename to app/javascript/flavours/glitch/features/home_timeline/components/column_settings.js
index 533da6c36cb60cb4f6901bf9bdad14566568858f..604a7c6dc0568121267edefebb115c862c1ccd77 100644 (file)
@@ -2,8 +2,8 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import SettingToggle from 'themes/glitch/features/notifications/components/setting_toggle';
-import SettingText from 'themes/glitch/components/setting_text';
+import SettingToggle from 'flavours/glitch/features/notifications/components/setting_toggle';
+import SettingText from 'flavours/glitch/components/setting_text';
 
 const messages = defineMessages({
   filter_regex: { id: 'home.column_settings.filter_regex', defaultMessage: 'Filter out by regular expressions' },
similarity index 84%
rename from app/javascript/themes/glitch/features/home_timeline/containers/column_settings_container.js
rename to app/javascript/flavours/glitch/features/home_timeline/containers/column_settings_container.js
index a0062f564e79be9b1c7a66a984c4ca7cbcfdbd79..19a8e792f712cf4a17bd439b601c57785e9a6d1c 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import ColumnSettings from '../components/column_settings';
-import { changeSetting, saveSettings } from 'themes/glitch/actions/settings';
+import { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';
 
 const mapStateToProps = state => ({
   settings: state.getIn(['settings', 'home']),
similarity index 86%
rename from app/javascript/themes/glitch/features/home_timeline/index.js
rename to app/javascript/flavours/glitch/features/home_timeline/index.js
index 8a65891cdbf49b85d63921f54865b42ea08fb902..2dfec6bbed359e27d9fc83e8ea1e6f706d61e4d1 100644 (file)
@@ -1,11 +1,11 @@
 import React from 'react';
 import { connect } from 'react-redux';
-import { expandHomeTimeline } from 'themes/glitch/actions/timelines';
+import { expandHomeTimeline } from 'flavours/glitch/actions/timelines';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ColumnSettingsContainer from './containers/column_settings_container';
 import { Link } from 'react-router-dom';
similarity index 91%
rename from app/javascript/themes/glitch/features/local_settings/index.js
rename to app/javascript/flavours/glitch/features/local_settings/index.js
index 6c5d514136a97c95cf2e3779358bcee79e045114..81d9a3f41600c00d7b6fc0f9b74fc3008481ad94 100644 (file)
@@ -7,8 +7,8 @@ import { connect } from 'react-redux';
 //  Our imports
 import LocalSettingsPage from './page';
 import LocalSettingsNavigation from './navigation';
-import { closeModal } from 'themes/glitch/actions/modal';
-import { changeLocalSetting } from 'themes/glitch/actions/local_settings';
+import { closeModal } from 'flavours/glitch/actions/modal';
+import { changeLocalSetting } from 'flavours/glitch/actions/local_settings';
 
 //  Stylesheet imports
 import './style.scss';
similarity index 81%
rename from app/javascript/themes/glitch/features/mutes/index.js
rename to app/javascript/flavours/glitch/features/mutes/index.js
index 1158b8262fff12965c6e5a9cfb04a65f44238995..87517eec9489d06376ee5f8a956ac78e46d6cf4c 100644 (file)
@@ -2,12 +2,12 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 import { ScrollContainer } from 'react-router-scroll-4';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'themes/glitch/components/column_back_button_slim';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import { fetchMutes, expandMutes } from 'themes/glitch/actions/mutes';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import { fetchMutes, expandMutes } from 'flavours/glitch/actions/mutes';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 95%
rename from app/javascript/themes/glitch/features/notifications/components/follow.js
rename to app/javascript/flavours/glitch/features/notifications/components/follow.js
index 8a0f01736d749f953e13e23907db485df9dab37d..4b682733ee6b7589ebb31ebec33fa47baf876fb5 100644 (file)
@@ -7,8 +7,8 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 import { HotKeys } from 'react-hotkeys';
 
 // Our imports.
-import Permalink from 'themes/glitch/components/permalink';
-import AccountContainer from 'themes/glitch/containers/account_container';
+import Permalink from 'flavours/glitch/components/permalink';
+import AccountContainer from 'flavours/glitch/containers/account_container';
 import NotificationOverlayContainer from '../containers/overlay_container';
 
 export default class NotificationFollow extends ImmutablePureComponent {
similarity index 96%
rename from app/javascript/themes/glitch/features/notifications/components/notification.js
rename to app/javascript/flavours/glitch/features/notifications/components/notification.js
index a309d3a42a7437f9378510b6fd9deb597b5b452e..185da8395a236ee477e322bfa0aefb908dbbebbe 100644 (file)
@@ -5,7 +5,7 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 //  Our imports,
-import StatusContainer from 'themes/glitch/containers/status_container';
+import StatusContainer from 'flavours/glitch/containers/status_container';
 import NotificationFollow from './follow';
 
 export default class Notification extends ImmutablePureComponent {
similarity index 81%
rename from app/javascript/themes/glitch/features/notifications/containers/column_settings_container.js
rename to app/javascript/flavours/glitch/features/notifications/containers/column_settings_container.js
index ddc8495f48026b8cf09f3a6593c342fe5f46bed2..ce502700c45637990655cb45aa7a8010d718c20f 100644 (file)
@@ -1,10 +1,10 @@
 import { connect } from 'react-redux';
 import { defineMessages, injectIntl } from 'react-intl';
 import ColumnSettings from '../components/column_settings';
-import { changeSetting, saveSettings } from 'themes/glitch/actions/settings';
-import { clearNotifications } from 'themes/glitch/actions/notifications';
-import { changeAlerts as changePushNotifications, saveSettings as savePushNotificationSettings } from 'themes/glitch/actions/push_notifications';
-import { openModal } from 'themes/glitch/actions/modal';
+import { changeSetting, saveSettings } from 'flavours/glitch/actions/settings';
+import { clearNotifications } from 'flavours/glitch/actions/notifications';
+import { changeAlerts as changePushNotifications, saveSettings as savePushNotificationSettings } from 'flavours/glitch/actions/push_notifications';
+import { openModal } from 'flavours/glitch/actions/modal';
 
 const messages = defineMessages({
   clearMessage: { id: 'notifications.clear_confirmation', defaultMessage: 'Are you sure you want to permanently clear all your notifications?' },
similarity index 84%
rename from app/javascript/themes/glitch/features/notifications/containers/notification_container.js
rename to app/javascript/flavours/glitch/features/notifications/containers/notification_container.js
index b61aaa21cdf30a5d2a9e8b5f5f54551635ee3c7f..c60e72e1c20ffc12f9409794f94ddc5c2cf1df17 100644 (file)
@@ -2,9 +2,9 @@
 import { connect } from 'react-redux';
 
 //  Our imports.
-import { makeGetNotification } from 'themes/glitch/selectors';
+import { makeGetNotification } from 'flavours/glitch/selectors';
 import Notification from '../components/notification';
-import { mentionCompose } from 'themes/glitch/actions/compose';
+import { mentionCompose } from 'flavours/glitch/actions/compose';
 
 const makeMapStateToProps = () => {
   const getNotification = makeGetNotification();
similarity index 84%
rename from app/javascript/themes/glitch/features/notifications/containers/overlay_container.js
rename to app/javascript/flavours/glitch/features/notifications/containers/overlay_container.js
index 52649cdd755f9148c062aac4630079578114524a..ee2d19814a556b90eb9a2fb4c0563971f0803e79 100644 (file)
@@ -3,7 +3,7 @@ import { connect } from 'react-redux';
 
 //  Our imports.
 import NotificationOverlay from '../components/overlay';
-import { markNotificationForDelete } from 'themes/glitch/actions/notifications';
+import { markNotificationForDelete } from 'flavours/glitch/actions/notifications';
 
 const mapDispatchToProps = dispatch => ({
   onMarkForDelete(id, yes) {
similarity index 94%
rename from app/javascript/themes/glitch/features/notifications/index.js
rename to app/javascript/flavours/glitch/features/notifications/index.js
index 1ecde660a802c285cca1586e8ecfd9420d7eedb2..12b0b5b834d14928147a816a06e62d7804290d38 100644 (file)
@@ -2,21 +2,21 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import {
   enterNotificationClearingMode,
   expandNotifications,
   scrollTopNotifications,
-} from 'themes/glitch/actions/notifications';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
+} from 'flavours/glitch/actions/notifications';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import NotificationContainer from './containers/notification_container';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ColumnSettingsContainer from './containers/column_settings_container';
 import { createSelector } from 'reselect';
 import { List as ImmutableList } from 'immutable';
 import { debounce } from 'lodash';
-import ScrollableList from 'themes/glitch/components/scrollable_list';
+import ScrollableList from 'flavours/glitch/components/scrollable_list';
 
 const messages = defineMessages({
   title: { id: 'column.notifications', defaultMessage: 'Notifications' },
similarity index 82%
rename from app/javascript/themes/glitch/features/pinned_statuses/index.js
rename to app/javascript/flavours/glitch/features/pinned_statuses/index.js
index 0a3997850baf8289db290056489a0b25f45b44ea..f56d701760c13b9dfdec39d23e108ba3c6c715b5 100644 (file)
@@ -2,10 +2,10 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import { fetchPinnedStatuses } from 'themes/glitch/actions/pin_statuses';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButtonSlim from 'themes/glitch/components/column_back_button_slim';
-import StatusList from 'themes/glitch/components/status_list';
+import { fetchPinnedStatuses } from 'flavours/glitch/actions/pin_statuses';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import StatusList from 'flavours/glitch/components/status_list';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
similarity index 67%
rename from app/javascript/themes/glitch/features/public_timeline/containers/column_settings_container.js
rename to app/javascript/flavours/glitch/features/public_timeline/containers/column_settings_container.js
index 0185a7724cc2af0c232cfea31fca35f285736538..b13e2064533296f634481b78c648779d5d9bdb3b 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
-import ColumnSettings from 'themes/glitch/features/community_timeline/components/column_settings';
-import { changeSetting } from 'themes/glitch/actions/settings';
+import ColumnSettings from 'flavours/glitch/features/community_timeline/components/column_settings';
+import { changeSetting } from 'flavours/glitch/actions/settings';
 
 const mapStateToProps = state => ({
   settings: state.getIn(['settings', 'public']),
similarity index 85%
rename from app/javascript/themes/glitch/features/public_timeline/index.js
rename to app/javascript/flavours/glitch/features/public_timeline/index.js
index f5b3865afa3b82ce1f2e402c7f0d875419d95188..bbdd4612e1ef2817ad43a4a77512173c8048119b 100644 (file)
@@ -1,17 +1,17 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import {
   refreshPublicTimeline,
   expandPublicTimeline,
-} from 'themes/glitch/actions/timelines';
-import { addColumn, removeColumn, moveColumn } from 'themes/glitch/actions/columns';
+} from 'flavours/glitch/actions/timelines';
+import { addColumn, removeColumn, moveColumn } from 'flavours/glitch/actions/columns';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ColumnSettingsContainer from './containers/column_settings_container';
-import { connectPublicStream } from 'themes/glitch/actions/streaming';
+import { connectPublicStream } from 'flavours/glitch/actions/streaming';
 
 const messages = defineMessages({
   title: { id: 'column.public', defaultMessage: 'Federated timeline' },
similarity index 79%
rename from app/javascript/themes/glitch/features/reblogs/index.js
rename to app/javascript/flavours/glitch/features/reblogs/index.js
index 8723f7c7cec2aee454535bbe2d6643c0828fa912..25b792b397940b1b4d4054c747b3214c83d9455c 100644 (file)
@@ -2,12 +2,12 @@ import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
-import { fetchReblogs } from 'themes/glitch/actions/interactions';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
+import { fetchReblogs } from 'flavours/glitch/actions/interactions';
 import { ScrollContainer } from 'react-router-scroll-4';
-import AccountContainer from 'themes/glitch/containers/account_container';
-import Column from 'themes/glitch/features/ui/components/column';
-import ColumnBackButton from 'themes/glitch/components/column_back_button';
+import AccountContainer from 'flavours/glitch/containers/account_container';
+import Column from 'flavours/glitch/features/ui/components/column';
+import ColumnBackButton from 'flavours/glitch/components/column_back_button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 const mapStateToProps = (state, props) => ({
similarity index 88%
rename from app/javascript/themes/glitch/features/report/containers/status_check_box_container.js
rename to app/javascript/flavours/glitch/features/report/containers/status_check_box_container.js
index 40d55fb3c018b9cd41e955744abf63e00cae3183..9bfd41ffc6db3f869406c42a5c9d8bb4e42eca01 100644 (file)
@@ -1,6 +1,6 @@
 import { connect } from 'react-redux';
 import StatusCheckBox from '../components/status_check_box';
-import { toggleStatusReport } from 'themes/glitch/actions/reports';
+import { toggleStatusReport } from 'flavours/glitch/actions/reports';
 import { Set as ImmutableSet } from 'immutable';
 
 const mapStateToProps = (state, { id }) => ({
diff --git a/app/javascript/flavours/glitch/features/standalone/compose/index.js b/app/javascript/flavours/glitch/features/standalone/compose/index.js
new file mode 100644 (file)
index 0000000..b33c21c
--- /dev/null
@@ -0,0 +1,20 @@
+import React from 'react';
+import ComposeFormContainer from 'flavours/glitch/features/compose/containers/compose_form_container';
+import NotificationsContainer from 'flavours/glitch/features/ui/containers/notifications_container';
+import LoadingBarContainer from 'flavours/glitch/features/ui/containers/loading_bar_container';
+import ModalContainer from 'flavours/glitch/features/ui/containers/modal_container';
+
+export default class Compose extends React.PureComponent {
+
+  render () {
+    return (
+      <div>
+        <ComposeFormContainer />
+        <NotificationsContainer />
+        <ModalContainer />
+        <LoadingBarContainer className='loading-bar' />
+      </div>
+    );
+  }
+
+}
similarity index 84%
rename from app/javascript/themes/glitch/features/standalone/hashtag_timeline/index.js
rename to app/javascript/flavours/glitch/features/standalone/hashtag_timeline/index.js
index 7c56f264ff881eadea2fb4da300ca124d12f3da7..0ad2cef80eb3c1467f4c76de6b14611f63a00b0f 100644 (file)
@@ -1,13 +1,13 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
 import {
   refreshHashtagTimeline,
   expandHashtagTimeline,
-} from 'themes/glitch/actions/timelines';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+} from 'flavours/glitch/actions/timelines';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 
 @connect()
 export default class HashtagTimeline extends React.PureComponent {
similarity index 85%
rename from app/javascript/themes/glitch/features/standalone/public_timeline/index.js
rename to app/javascript/flavours/glitch/features/standalone/public_timeline/index.js
index b3fb55288409819aab3fc0888a636d363f00264f..717f6fcafc4d4126938e4c82fcf8dad3481070fc 100644 (file)
@@ -1,13 +1,13 @@
 import React from 'react';
 import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
-import StatusListContainer from 'themes/glitch/features/ui/containers/status_list_container';
+import StatusListContainer from 'flavours/glitch/features/ui/containers/status_list_container';
 import {
   refreshPublicTimeline,
   expandPublicTimeline,
-} from 'themes/glitch/actions/timelines';
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+} from 'flavours/glitch/actions/timelines';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import { defineMessages, injectIntl } from 'react-intl';
 
 const messages = defineMessages({
similarity index 95%
rename from app/javascript/themes/glitch/features/status/components/action_bar.js
rename to app/javascript/flavours/glitch/features/status/components/action_bar.js
index 6cda988d10634c466fd461492c1da5c8adce1afa..4d660ee3c0f991b368ca82764e29d08295fa74cf 100644 (file)
@@ -1,10 +1,10 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import IconButton from 'themes/glitch/components/icon_button';
+import IconButton from 'flavours/glitch/components/icon_button';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import DropdownMenuContainer from 'themes/glitch/containers/dropdown_menu_container';
+import DropdownMenuContainer from 'flavours/glitch/containers/dropdown_menu_container';
 import { defineMessages, injectIntl } from 'react-intl';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const messages = defineMessages({
   delete: { id: 'status.delete', defaultMessage: 'Delete' },
similarity index 90%
rename from app/javascript/themes/glitch/features/status/components/detailed_status.js
rename to app/javascript/flavours/glitch/features/status/components/detailed_status.js
index 7606bfbf370786288a8d6d7a54abd18fa4b51dbe..7c6f436d67d87a8734eeb580e69a03141496e904 100644 (file)
@@ -1,17 +1,17 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import Avatar from 'themes/glitch/components/avatar';
-import DisplayName from 'themes/glitch/components/display_name';
-import StatusContent from 'themes/glitch/components/status_content';
-import StatusGallery from 'themes/glitch/components/media_gallery';
-import AttachmentList from 'themes/glitch/components/attachment_list';
+import Avatar from 'flavours/glitch/components/avatar';
+import DisplayName from 'flavours/glitch/components/display_name';
+import StatusContent from 'flavours/glitch/components/status_content';
+import StatusGallery from 'flavours/glitch/components/media_gallery';
+import AttachmentList from 'flavours/glitch/components/attachment_list';
 import { Link } from 'react-router-dom';
 import { FormattedDate, FormattedNumber } from 'react-intl';
 import CardContainer from '../containers/card_container';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import Video from 'themes/glitch/features/video';
-import VisibilityIcon from 'themes/glitch/components/status_visibility_icon';
+import Video from 'flavours/glitch/features/video';
+import VisibilityIcon from 'flavours/glitch/components/status_visibility_icon';
 
 export default class DetailedStatus extends ImmutablePureComponent {
 
similarity index 91%
rename from app/javascript/themes/glitch/features/status/index.js
rename to app/javascript/flavours/glitch/features/status/index.js
index 57af94a9ad183112a6df65f96154d9ffb58a00d9..73b212bba5da2254e32f6fb355b57e9700df431d 100644 (file)
@@ -3,11 +3,11 @@ import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import classNames from 'classnames';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import { fetchStatus } from 'themes/glitch/actions/statuses';
-import MissingIndicator from 'themes/glitch/components/missing_indicator';
+import { fetchStatus } from 'flavours/glitch/actions/statuses';
+import MissingIndicator from 'flavours/glitch/components/missing_indicator';
 import DetailedStatus from './components/detailed_status';
 import ActionBar from './components/action_bar';
-import Column from 'themes/glitch/features/ui/components/column';
+import Column from 'flavours/glitch/features/ui/components/column';
 import {
   favourite,
   unfavourite,
@@ -15,23 +15,23 @@ import {
   unreblog,
   pin,
   unpin,
-} from 'themes/glitch/actions/interactions';
+} from 'flavours/glitch/actions/interactions';
 import {
   replyCompose,
   mentionCompose,
-} from 'themes/glitch/actions/compose';
-import { deleteStatus } from 'themes/glitch/actions/statuses';
-import { initReport } from 'themes/glitch/actions/reports';
-import { makeGetStatus } from 'themes/glitch/selectors';
+} from 'flavours/glitch/actions/compose';
+import { deleteStatus } from 'flavours/glitch/actions/statuses';
+import { initReport } from 'flavours/glitch/actions/reports';
+import { makeGetStatus } from 'flavours/glitch/selectors';
 import { ScrollContainer } from 'react-router-scroll-4';
-import ColumnBackButton from 'themes/glitch/components/column_back_button';
-import StatusContainer from 'themes/glitch/containers/status_container';
-import { openModal } from 'themes/glitch/actions/modal';
+import ColumnBackButton from 'flavours/glitch/components/column_back_button';
+import StatusContainer from 'flavours/glitch/containers/status_container';
+import { openModal } from 'flavours/glitch/actions/modal';
 import { defineMessages, injectIntl } from 'react-intl';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import { HotKeys } from 'react-hotkeys';
-import { boostModal, deleteModal } from 'themes/glitch/util/initial_state';
-import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from 'themes/glitch/util/fullscreen';
+import { boostModal, deleteModal } from 'flavours/glitch/util/initial_state';
+import { attachFullscreenListener, detachFullscreenListener, isFullscreen } from 'flavours/glitch/util/fullscreen';
 
 const messages = defineMessages({
   deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },
similarity index 86%
rename from app/javascript/themes/glitch/features/ui/components/actions_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/actions_modal.js
index 7a2b78b63d37defc1a21420164f3dacc3f7be05b..0873c282faf8f8de9bab2613c983ce4bedfe60ce 100644 (file)
@@ -2,11 +2,11 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import StatusContent from 'themes/glitch/components/status_content';
-import Avatar from 'themes/glitch/components/avatar';
-import RelativeTimestamp from 'themes/glitch/components/relative_timestamp';
-import DisplayName from 'themes/glitch/components/display_name';
-import IconButton from 'themes/glitch/components/icon_button';
+import StatusContent from 'flavours/glitch/components/status_content';
+import Avatar from 'flavours/glitch/components/avatar';
+import RelativeTimestamp from 'flavours/glitch/components/relative_timestamp';
+import DisplayName from 'flavours/glitch/components/display_name';
+import IconButton from 'flavours/glitch/components/icon_button';
 import classNames from 'classnames';
 
 export default class ActionsModal extends ImmutablePureComponent {
similarity index 88%
rename from app/javascript/themes/glitch/features/ui/components/boost_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/boost_modal.js
index 49781db10d0d6a3632b42ff93aba0121172f5e62..9652bcb2db08ede88b1dc6dcea3eee3dd8833045 100644 (file)
@@ -2,11 +2,11 @@ import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
-import Button from 'themes/glitch/components/button';
-import StatusContent from 'themes/glitch/components/status_content';
-import Avatar from 'themes/glitch/components/avatar';
-import RelativeTimestamp from 'themes/glitch/components/relative_timestamp';
-import DisplayName from 'themes/glitch/components/display_name';
+import Button from 'flavours/glitch/components/button';
+import StatusContent from 'flavours/glitch/components/status_content';
+import Avatar from 'flavours/glitch/components/avatar';
+import RelativeTimestamp from 'flavours/glitch/components/relative_timestamp';
+import DisplayName from 'flavours/glitch/components/display_name';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 const messages = defineMessages({
similarity index 88%
rename from app/javascript/themes/glitch/features/ui/components/bundle_column_error.js
rename to app/javascript/flavours/glitch/features/ui/components/bundle_column_error.js
index daedc629934ef8f17747b52d9be1933043eb6c61..3e979a2506de498b5f5dc880aa94ff094f18306a 100644 (file)
@@ -4,8 +4,8 @@ import { defineMessages, injectIntl } from 'react-intl';
 
 import Column from './column';
 import ColumnHeader from './column_header';
-import ColumnBackButtonSlim from 'themes/glitch/components/column_back_button_slim';
-import IconButton from 'themes/glitch/components/icon_button';
+import ColumnBackButtonSlim from 'flavours/glitch/components/column_back_button_slim';
+import IconButton from 'flavours/glitch/components/icon_button';
 
 const messages = defineMessages({
   title: { id: 'bundle_column_error.title', defaultMessage: 'Network error' },
similarity index 95%
rename from app/javascript/themes/glitch/features/ui/components/bundle_modal_error.js
rename to app/javascript/flavours/glitch/features/ui/components/bundle_modal_error.js
index 8cca32ae9a6c246c05c686215cee82f8307d02c0..2c14a1e5c3ac04658c0207938531e07f8a80a3cf 100644 (file)
@@ -2,7 +2,7 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import { defineMessages, injectIntl } from 'react-intl';
 
-import IconButton from 'themes/glitch/components/icon_button';
+import IconButton from 'flavours/glitch/components/icon_button';
 
 const messages = defineMessages({
   error: { id: 'bundle_modal_error.message', defaultMessage: 'Something went wrong while loading this component.' },
similarity index 93%
rename from app/javascript/themes/glitch/features/ui/components/column.js
rename to app/javascript/flavours/glitch/features/ui/components/column.js
index 73a5bc15e5e3307ebb27bc89cb3bf2611b7900bb..ab78414e0567485027e856c2e8a7a81d8bdfcffe 100644 (file)
@@ -2,8 +2,8 @@ import React from 'react';
 import ColumnHeader from './column_header';
 import PropTypes from 'prop-types';
 import { debounce } from 'lodash';
-import { scrollTop } from 'themes/glitch/util/scroll';
-import { isMobile } from 'themes/glitch/util/is_mobile';
+import { scrollTop } from 'flavours/glitch/util/scroll';
+import { isMobile } from 'flavours/glitch/util/is_mobile';
 
 export default class Column extends React.PureComponent {
 
similarity index 83%
rename from app/javascript/themes/glitch/features/ui/components/column_loading.js
rename to app/javascript/flavours/glitch/features/ui/components/column_loading.js
index 75f26218ad043a866ad84fe2bd32e6af33c48ad2..ba2d0824efebbe17fff198e08fc3f568088d3f03 100644 (file)
@@ -1,8 +1,8 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 
-import Column from 'themes/glitch/components/column';
-import ColumnHeader from 'themes/glitch/components/column_header';
+import Column from 'flavours/glitch/components/column';
+import ColumnHeader from 'flavours/glitch/components/column_header';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 export default class ColumnLoading extends ImmutablePureComponent {
similarity index 98%
rename from app/javascript/themes/glitch/features/ui/components/columns_area.js
rename to app/javascript/flavours/glitch/features/ui/components/columns_area.js
index 4529503633b8554512ef1f65d08a448cca4f8778..264f60724da97cf31ad117147fef3296a0f64f79 100644 (file)
@@ -11,10 +11,10 @@ import BundleContainer from '../containers/bundle_container';
 import ColumnLoading from './column_loading';
 import DrawerLoading from './drawer_loading';
 import BundleColumnError from './bundle_column_error';
-import { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, DirectTimeline, FavouritedStatuses } from 'themes/glitch/util/async-components';
+import { Compose, Notifications, HomeTimeline, CommunityTimeline, PublicTimeline, HashtagTimeline, DirectTimeline, FavouritedStatuses } from 'flavours/glitch/util/async-components';
 
 import detectPassiveEvents from 'detect-passive-events';
-import { scrollRight } from 'themes/glitch/util/scroll';
+import { scrollRight } from 'flavours/glitch/util/scroll';
 
 const componentMap = {
   'COMPOSE': Compose,
similarity index 95%
rename from app/javascript/themes/glitch/features/ui/components/confirmation_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/confirmation_modal.js
index 3d568aec37edc8ac3063c49ec35b9acabf01ac5a..d4d1e587ee29b1dc1e1cbef534762449abcdd74c 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import PropTypes from 'prop-types';
 import { injectIntl, FormattedMessage } from 'react-intl';
-import Button from 'themes/glitch/components/button';
+import Button from 'flavours/glitch/components/button';
 
 @injectIntl
 export default class ConfirmationModal extends React.PureComponent {
similarity index 98%
rename from app/javascript/themes/glitch/features/ui/components/doodle_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/doodle_modal.js
index 819656dbf23f785e8432353c71465e81e4b731f9..9c74451b3ea47b2a0fafde4480f9ac3a35979933 100644 (file)
@@ -1,12 +1,12 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import Button from 'themes/glitch/components/button';
+import Button from 'flavours/glitch/components/button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import Atrament from 'atrament'; // the doodling library
 import { connect } from 'react-redux';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import { doodleSet, uploadCompose } from 'themes/glitch/actions/compose';
-import IconButton from 'themes/glitch/components/icon_button';
+import { doodleSet, uploadCompose } from 'flavours/glitch/actions/compose';
+import IconButton from 'flavours/glitch/components/icon_button';
 import { debounce, mapValues } from 'lodash';
 import classNames from 'classnames';
 
similarity index 96%
rename from app/javascript/themes/glitch/features/ui/components/media_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/media_modal.js
index 1dad972b2e3f0b597cc59a02367ddadc238e6da4..e56147c5bcb0225b0c2add39e91875a885073e1b 100644 (file)
@@ -2,9 +2,9 @@ import React from 'react';
 import ReactSwipeableViews from 'react-swipeable-views';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import ExtendedVideoPlayer from 'themes/glitch/components/extended_video_player';
+import ExtendedVideoPlayer from 'flavours/glitch/components/extended_video_player';
 import { defineMessages, injectIntl } from 'react-intl';
-import IconButton from 'themes/glitch/components/icon_button';
+import IconButton from 'flavours/glitch/components/icon_button';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 import ImageLoader from './image_loader';
 
similarity index 86%
rename from app/javascript/themes/glitch/features/ui/components/modal_loading.js
rename to app/javascript/flavours/glitch/features/ui/components/modal_loading.js
index e14d20fbb2f1e9f91e8a135a3dc5b0f11d675b35..b1c322154142eddabd5b255540786e0573a780ca 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 
-import LoadingIndicator from 'themes/glitch/components/loading_indicator';
+import LoadingIndicator from 'flavours/glitch/components/loading_indicator';
 
 // Keep the markup in sync with <BundleModalError />
 // (make sure they have the same dimensions)
similarity index 98%
rename from app/javascript/themes/glitch/features/ui/components/modal_root.js
rename to app/javascript/flavours/glitch/features/ui/components/modal_root.js
index fbe7941708df1ffb08bcd731669fa8c96825a1cd..61b2392839da6286057bef36dfb7faf73f8e5845 100644 (file)
@@ -15,7 +15,7 @@ import {
   ReportModal,
   SettingsModal,
   EmbedModal,
-} from 'themes/glitch/util/async-components';
+} from 'flavours/glitch/util/async-components';
 
 const MODAL_COMPONENTS = {
   'MEDIA': () => Promise.resolve({ default: MediaModal }),
similarity index 91%
rename from app/javascript/themes/glitch/features/ui/components/mute_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/mute_modal.js
index ffccdc84d36da07b151ed8bfccb575ffbc55ac76..0202b1ab13efeb1aee4ef35100577869f30cc9db 100644 (file)
@@ -3,10 +3,10 @@ import { connect } from 'react-redux';
 import PropTypes from 'prop-types';
 import { injectIntl, FormattedMessage } from 'react-intl';
 import Toggle from 'react-toggle';
-import Button from 'themes/glitch/components/button';
-import { closeModal } from 'themes/glitch/actions/modal';
-import { muteAccount } from 'themes/glitch/actions/accounts';
-import { toggleHideNotifications } from 'themes/glitch/actions/mutes';
+import Button from 'flavours/glitch/components/button';
+import { closeModal } from 'flavours/glitch/actions/modal';
+import { muteAccount } from 'flavours/glitch/actions/accounts';
+import { toggleHideNotifications } from 'flavours/glitch/actions/mutes';
 
 
 const mapStateToProps = state => {
similarity index 97%
rename from app/javascript/themes/glitch/features/ui/components/onboarding_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/onboarding_modal.js
index 58875262ef736a0a8f8ea710604c5b1c8c14eb33..21f1addea5ea77aaf7526c64ba74cffae50383e8 100644 (file)
@@ -5,16 +5,16 @@ import ImmutablePropTypes from 'react-immutable-proptypes';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import ReactSwipeableViews from 'react-swipeable-views';
 import classNames from 'classnames';
-import Permalink from 'themes/glitch/components/permalink';
-import ComposeForm from 'themes/glitch/features/compose/components/compose_form';
-import Search from 'themes/glitch/features/compose/components/search';
-import NavigationBar from 'themes/glitch/features/compose/components/navigation_bar';
+import Permalink from 'flavours/glitch/components/permalink';
+import ComposeForm from 'flavours/glitch/features/compose/components/compose_form';
+import Search from 'flavours/glitch/features/compose/components/search';
+import NavigationBar from 'flavours/glitch/features/compose/components/navigation_bar';
 import ColumnHeader from './column_header';
 import {
   List as ImmutableList,
   Map as ImmutableMap,
 } from 'immutable';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const noop = () => { };
 
similarity index 89%
rename from app/javascript/themes/glitch/features/ui/components/report_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/report_modal.js
index e6153948ece1951ca047c3a8e85a144864c38bdb..b4dc1e3d61f318fae381493483d7e642c42c7a58 100644 (file)
@@ -1,15 +1,15 @@
 import React from 'react';
 import { connect } from 'react-redux';
-import { changeReportComment, submitReport } from 'themes/glitch/actions/reports';
-import { refreshAccountTimeline } from 'themes/glitch/actions/timelines';
+import { changeReportComment, submitReport } from 'flavours/glitch/actions/reports';
+import { refreshAccountTimeline } from 'flavours/glitch/actions/timelines';
 import PropTypes from 'prop-types';
 import ImmutablePropTypes from 'react-immutable-proptypes';
-import { makeGetAccount } from 'themes/glitch/selectors';
+import { makeGetAccount } from 'flavours/glitch/selectors';
 import { defineMessages, FormattedMessage, injectIntl } from 'react-intl';
-import StatusCheckBox from 'themes/glitch/features/report/containers/status_check_box_container';
+import StatusCheckBox from 'flavours/glitch/features/report/containers/status_check_box_container';
 import { OrderedSet } from 'immutable';
 import ImmutablePureComponent from 'react-immutable-pure-component';
-import Button from 'themes/glitch/components/button';
+import Button from 'flavours/glitch/components/button';
 
 const messages = defineMessages({
   placeholder: { id: 'report.placeholder', defaultMessage: 'Additional comments' },
similarity index 98%
rename from app/javascript/themes/glitch/features/ui/components/tabs_bar.js
rename to app/javascript/flavours/glitch/features/ui/components/tabs_bar.js
index ef5deae992d66a4c9c9068231042a6fd977316b8..89b455dd879af56e53ef7941953b38b7f2c58cac 100644 (file)
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
 import { NavLink } from 'react-router-dom';
 import { FormattedMessage, injectIntl } from 'react-intl';
 import { debounce } from 'lodash';
-import { isUserTouching } from 'themes/glitch/util/is_mobile';
+import { isUserTouching } from 'flavours/glitch/util/is_mobile';
 
 export const links = [
   <NavLink className='tabs-bar__link primary' to='/statuses/new' data-preview-title-id='tabs_bar.compose' data-preview-icon='pencil' ><i className='fa fa-fw fa-pencil' /><FormattedMessage id='tabs_bar.compose' defaultMessage='Compose' /></NavLink>,
similarity index 96%
rename from app/javascript/themes/glitch/features/ui/components/upload_area.js
rename to app/javascript/flavours/glitch/features/ui/components/upload_area.js
index 72a450215c5bf029d3cabf78a3bb0bcc3451d7e1..cc6b6d171361f9ad1de7b2acd9e213a4570c4cb7 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
-import Motion from 'themes/glitch/util/optional_motion';
+import Motion from 'flavours/glitch/util/optional_motion';
 import spring from 'react-motion/lib/spring';
 import { FormattedMessage } from 'react-intl';
 
similarity index 94%
rename from app/javascript/themes/glitch/features/ui/components/video_modal.js
rename to app/javascript/flavours/glitch/features/ui/components/video_modal.js
index 91168c79079ca8ba998a7a005165e3b88e38f489..22fa998fb363324b5b45cef5637d51003866f9f8 100644 (file)
@@ -1,7 +1,7 @@
 import React from 'react';
 import ImmutablePropTypes from 'react-immutable-proptypes';
 import PropTypes from 'prop-types';
-import Video from 'themes/glitch/features/video';
+import Video from 'flavours/glitch/features/video';
 import ImmutablePureComponent from 'react-immutable-pure-component';
 
 export default class VideoModal extends ImmutablePureComponent {
similarity index 91%
rename from app/javascript/themes/glitch/features/ui/containers/bundle_container.js
rename to app/javascript/flavours/glitch/features/ui/containers/bundle_container.js
index e6f9afcf714df28eb3bed030eb73d26afe3a79aa..c9086c9bca1cd7aa5b0ad362c095ef910c50551f 100644 (file)
@@ -2,7 +2,7 @@ import { connect } from 'react-redux';
 
 import Bundle from '../components/bundle';
 
-import { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from 'themes/glitch/actions/bundles';
+import { fetchBundleRequest, fetchBundleSuccess, fetchBundleFail } from 'flavours/glitch/actions/bundles';
 
 const mapDispatchToProps = dispatch => ({
   onFetch () {
similarity index 86%
rename from app/javascript/themes/glitch/features/ui/containers/modal_container.js
rename to app/javascript/flavours/glitch/features/ui/containers/modal_container.js
index c26f19886b85622bf695036418699f170d93f734..f074002e44ee1b8bfbffd2e243fc9872b22b27c4 100644 (file)
@@ -1,5 +1,5 @@
 import { connect } from 'react-redux';
-import { closeModal } from 'themes/glitch/actions/modal';
+import { closeModal } from 'flavours/glitch/actions/modal';
 import ModalRoot from '../components/modal_root';
 
 const mapStateToProps = state => ({
similarity index 76%
rename from app/javascript/themes/glitch/features/ui/containers/notifications_container.js
rename to app/javascript/flavours/glitch/features/ui/containers/notifications_container.js
index 5bd4017f5f8680c3f75a1e101b08afc5d6efbb5f..88d482bcf2e2274c4856eab03fd857b0bc27cb2c 100644 (file)
@@ -1,7 +1,7 @@
 import { connect } from 'react-redux';
 import { NotificationStack } from 'react-notification';
-import { dismissAlert } from 'themes/glitch/actions/alerts';
-import { getAlerts } from 'themes/glitch/selectors';
+import { dismissAlert } from 'flavours/glitch/actions/alerts';
+import { getAlerts } from 'flavours/glitch/selectors';
 
 const mapStateToProps = state => ({
   notifications: getAlerts(state),
similarity index 92%
rename from app/javascript/themes/glitch/features/ui/containers/status_list_container.js
rename to app/javascript/flavours/glitch/features/ui/containers/status_list_container.js
index 807c82e16b5cbf5dbb5421c01fcfbd5b84bc8163..69508f9ff5ddd594f3e514e5055a7b181d89d18d 100644 (file)
@@ -1,10 +1,10 @@
 import { connect } from 'react-redux';
-import StatusList from 'themes/glitch/components/status_list';
-import { scrollTopTimeline } from 'themes/glitch/actions/timelines';
+import StatusList from 'flavours/glitch/components/status_list';
+import { scrollTopTimeline } from 'flavours/glitch/actions/timelines';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 import { createSelector } from 'reselect';
 import { debounce } from 'lodash';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const makeGetStatusIds = () => createSelector([
   (state, { type }) => state.getIn(['settings', type], ImmutableMap()),
similarity index 96%
rename from app/javascript/themes/glitch/features/ui/index.js
rename to app/javascript/flavours/glitch/features/ui/index.js
index b59a2e63705197f21a53bee81c7a78390ff96534..620630faf0a883eb04f0612f79140228255ba455 100644 (file)
@@ -6,13 +6,13 @@ import TabsBar from './components/tabs_bar';
 import ModalContainer from './containers/modal_container';
 import { connect } from 'react-redux';
 import { Redirect, withRouter } from 'react-router-dom';
-import { isMobile } from 'themes/glitch/util/is_mobile';
+import { isMobile } from 'flavours/glitch/util/is_mobile';
 import { debounce } from 'lodash';
-import { uploadCompose, resetCompose } from 'themes/glitch/actions/compose';
-import { refreshHomeTimeline } from 'themes/glitch/actions/timelines';
-import { refreshNotifications } from 'themes/glitch/actions/notifications';
-import { clearHeight } from 'themes/glitch/actions/height_cache';
-import { WrappedSwitch, WrappedRoute } from 'themes/glitch/util/react_router_helpers';
+import { uploadCompose, resetCompose } from 'flavours/glitch/actions/compose';
+import { refreshHomeTimeline } from 'flavours/glitch/actions/timelines';
+import { refreshNotifications } from 'flavours/glitch/actions/notifications';
+import { clearHeight } from 'flavours/glitch/actions/height_cache';
+import { WrappedSwitch, WrappedRoute } from 'flavours/glitch/util/react_router_helpers';
 import UploadArea from './components/upload_area';
 import ColumnsAreaContainer from './containers/columns_area_container';
 import classNames from 'classnames';
@@ -38,9 +38,9 @@ import {
   Blocks,
   Mutes,
   PinnedStatuses,
-} from 'themes/glitch/util/async-components';
+} from 'flavours/glitch/util/async-components';
 import { HotKeys } from 'react-hotkeys';
-import { me } from 'themes/glitch/util/initial_state';
+import { me } from 'flavours/glitch/util/initial_state';
 import { defineMessages, injectIntl } from 'react-intl';
 
 // Dummy import, to make sure that <Status /> ends up in the application bundle.
similarity index 99%
rename from app/javascript/themes/glitch/features/video/index.js
rename to app/javascript/flavours/glitch/features/video/index.js
index 0ecbe37c9d61a6ad21391750051eefa09e1296eb..97c1c27fab728d9939285504c76c4f7315129eab 100644 (file)
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
 import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
 import { throttle } from 'lodash';
 import classNames from 'classnames';
-import { isFullscreen, requestFullscreen, exitFullscreen } from 'themes/glitch/util/fullscreen';
+import { isFullscreen, requestFullscreen, exitFullscreen } from 'flavours/glitch/util/fullscreen';
 
 const messages = defineMessages({
   play: { id: 'video.play', defaultMessage: 'Play' },
similarity index 92%
rename from app/javascript/themes/glitch/middleware/errors.js
rename to app/javascript/flavours/glitch/middleware/errors.js
index c54e7b0a2817285ae958f1b81dd55d4245a12db4..f3dfc8b069e82cd038c9d205b852e02a1a7702a1 100644 (file)
@@ -1,4 +1,4 @@
-import { showAlert } from 'themes/glitch/actions/alerts';
+import { showAlert } from 'flavours/glitch/actions/alerts';
 
 const defaultFailSuffix = 'FAIL';
 
similarity index 67%
rename from app/javascript/themes/glitch/packs/about.js
rename to app/javascript/flavours/glitch/packs/about.js
index 9639d5453ae2656a0822d3059e0c64b784997a16..bc0a4887bb19b41284bce885b23f91d0eb5bd8f2 100644 (file)
@@ -1,7 +1,7 @@
-import loadPolyfills from 'themes/glitch/util/load_polyfills';
+import loadPolyfills from 'flavours/glitch/util/load_polyfills';
 
 function loaded() {
-  const TimelineContainer = require('themes/glitch/containers/timeline_container').default;
+  const TimelineContainer = require('flavours/glitch/containers/timeline_container').default;
   const React             = require('react');
   const ReactDOM          = require('react-dom');
   const mountNode         = document.getElementById('mastodon-timeline');
@@ -13,7 +13,7 @@ function loaded() {
 }
 
 function main() {
-  const ready = require('themes/glitch/util/ready').default;
+  const ready = require('flavours/glitch/util/ready').default;
   ready(loaded);
 }
 
diff --git a/app/javascript/flavours/glitch/packs/common.js b/app/javascript/flavours/glitch/packs/common.js
new file mode 100644 (file)
index 0000000..07445d2
--- /dev/null
@@ -0,0 +1 @@
+import 'flavours/glitch/styles/index.scss';
diff --git a/app/javascript/flavours/glitch/packs/home.js b/app/javascript/flavours/glitch/packs/home.js
new file mode 100644 (file)
index 0000000..b8f7b7d
--- /dev/null
@@ -0,0 +1,7 @@
+import loadPolyfills from 'flavours/glitch/util/load_polyfills';
+
+loadPolyfills().then(() => {
+  require('flavours/glitch/util/main').default();
+}).catch(e => {
+  console.error(e);
+});
similarity index 85%
rename from app/javascript/themes/glitch/packs/public.js
rename to app/javascript/flavours/glitch/packs/public.js
index 410e66716b2c392d280d30794769f38237d7dcdd..9ea82b53aa225f7359e84781581f053d413bd251 100644 (file)
@@ -1,14 +1,14 @@
-import loadPolyfills from 'themes/glitch/util/load_polyfills';
-import ready from 'themes/glitch/util/ready';
+import loadPolyfills from 'flavours/glitch/util/load_polyfills';
+import ready from 'flavours/glitch/util/ready';
 
 function main() {
   const IntlRelativeFormat = require('intl-relativeformat').default;
-  const emojify = require('themes/glitch/util/emoji').default;
+  const emojify = require('flavours/glitch/util/emoji').default;
   const { getLocale } = require('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 VideoContainer = require('flavours/glitch/containers/video_container').default;
+  const MediaGalleryContainer = require('flavours/glitch/containers/media_gallery_container').default;
+  const CardContainer = require('flavours/glitch/containers/card_container').default;
   const React = require('react');
   const ReactDOM = require('react-dom');
 
similarity index 66%
rename from app/javascript/themes/glitch/packs/share.js
rename to app/javascript/flavours/glitch/packs/share.js
index dc2e677e4f1c2b09ee730bee1732a41ea1db89b0..9f2aa2553973e1ed5d55505f5a48c01d03f3613e 100644 (file)
@@ -1,7 +1,7 @@
-import loadPolyfills from 'themes/glitch/util/load_polyfills';
+import loadPolyfills from 'flavours/glitch/util/load_polyfills';
 
 function loaded() {
-  const ComposeContainer = require('themes/glitch/containers/compose_container').default;
+  const ComposeContainer = require('flavours/glitch/containers/compose_container').default;
   const React = require('react');
   const ReactDOM = require('react-dom');
   const mountNode = document.getElementById('mastodon-compose');
@@ -13,7 +13,7 @@ function loaded() {
 }
 
 function main() {
-  const ready = require('themes/glitch/util/ready').default;
+  const ready = require('flavours/glitch/util/ready').default;
   ready(loaded);
 }
 
similarity index 85%
rename from app/javascript/themes/glitch/reducers/accounts.js
rename to app/javascript/flavours/glitch/reducers/accounts.js
index 0a65d3723c92059217b0bba520a6f57c25c8d5f5..5113a281aa5dd9c22f3042555deafb3825aa979e 100644 (file)
@@ -6,16 +6,16 @@ import {
   FOLLOWING_EXPAND_SUCCESS,
   FOLLOW_REQUESTS_FETCH_SUCCESS,
   FOLLOW_REQUESTS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import {
   BLOCKS_FETCH_SUCCESS,
   BLOCKS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/blocks';
+} from 'flavours/glitch/actions/blocks';
 import {
   MUTES_FETCH_SUCCESS,
   MUTES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/mutes';
-import { COMPOSE_SUGGESTIONS_READY } from 'themes/glitch/actions/compose';
+} from 'flavours/glitch/actions/mutes';
+import { COMPOSE_SUGGESTIONS_READY } from 'flavours/glitch/actions/compose';
 import {
   REBLOG_SUCCESS,
   UNREBLOG_SUCCESS,
@@ -23,28 +23,28 @@ import {
   UNFAVOURITE_SUCCESS,
   REBLOGS_FETCH_SUCCESS,
   FAVOURITES_FETCH_SUCCESS,
-} from 'themes/glitch/actions/interactions';
+} from 'flavours/glitch/actions/interactions';
 import {
   TIMELINE_REFRESH_SUCCESS,
   TIMELINE_UPDATE,
   TIMELINE_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/timelines';
+} from 'flavours/glitch/actions/timelines';
 import {
   STATUS_FETCH_SUCCESS,
   CONTEXT_FETCH_SUCCESS,
-} from 'themes/glitch/actions/statuses';
-import { SEARCH_FETCH_SUCCESS } from 'themes/glitch/actions/search';
+} from 'flavours/glitch/actions/statuses';
+import { SEARCH_FETCH_SUCCESS } from 'flavours/glitch/actions/search';
 import {
   NOTIFICATIONS_UPDATE,
   NOTIFICATIONS_REFRESH_SUCCESS,
   NOTIFICATIONS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/notifications';
+} from 'flavours/glitch/actions/notifications';
 import {
   FAVOURITED_STATUSES_FETCH_SUCCESS,
   FAVOURITED_STATUSES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/favourites';
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
-import emojify from 'themes/glitch/util/emoji';
+} from 'flavours/glitch/actions/favourites';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import emojify from 'flavours/glitch/util/emoji';
 import { Map as ImmutableMap, fromJS } from 'immutable';
 import escapeTextContentForBrowser from 'escape-html';
 
similarity index 87%
rename from app/javascript/themes/glitch/reducers/accounts_counters.js
rename to app/javascript/flavours/glitch/reducers/accounts_counters.js
index e3728ecd7d7c10257d6c1d4d7403a9a0512e8052..a9aebd26fced8928f7a461ae689a1707dcccfe84 100644 (file)
@@ -8,16 +8,16 @@ import {
   FOLLOW_REQUESTS_EXPAND_SUCCESS,
   ACCOUNT_FOLLOW_SUCCESS,
   ACCOUNT_UNFOLLOW_SUCCESS,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import {
   BLOCKS_FETCH_SUCCESS,
   BLOCKS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/blocks';
+} from 'flavours/glitch/actions/blocks';
 import {
   MUTES_FETCH_SUCCESS,
   MUTES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/mutes';
-import { COMPOSE_SUGGESTIONS_READY } from 'themes/glitch/actions/compose';
+} from 'flavours/glitch/actions/mutes';
+import { COMPOSE_SUGGESTIONS_READY } from 'flavours/glitch/actions/compose';
 import {
   REBLOG_SUCCESS,
   UNREBLOG_SUCCESS,
@@ -25,27 +25,27 @@ import {
   UNFAVOURITE_SUCCESS,
   REBLOGS_FETCH_SUCCESS,
   FAVOURITES_FETCH_SUCCESS,
-} from 'themes/glitch/actions/interactions';
+} from 'flavours/glitch/actions/interactions';
 import {
   TIMELINE_REFRESH_SUCCESS,
   TIMELINE_UPDATE,
   TIMELINE_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/timelines';
+} from 'flavours/glitch/actions/timelines';
 import {
   STATUS_FETCH_SUCCESS,
   CONTEXT_FETCH_SUCCESS,
-} from 'themes/glitch/actions/statuses';
-import { SEARCH_FETCH_SUCCESS } from 'themes/glitch/actions/search';
+} from 'flavours/glitch/actions/statuses';
+import { SEARCH_FETCH_SUCCESS } from 'flavours/glitch/actions/search';
 import {
   NOTIFICATIONS_UPDATE,
   NOTIFICATIONS_REFRESH_SUCCESS,
   NOTIFICATIONS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/notifications';
+} from 'flavours/glitch/actions/notifications';
 import {
   FAVOURITED_STATUSES_FETCH_SUCCESS,
   FAVOURITED_STATUSES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/favourites';
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
+} from 'flavours/glitch/actions/favourites';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
 import { Map as ImmutableMap, fromJS } from 'immutable';
 
 const normalizeAccount = (state, account) => state.set(account.id, fromJS({
similarity index 93%
rename from app/javascript/themes/glitch/reducers/alerts.js
rename to app/javascript/flavours/glitch/reducers/alerts.js
index ad66b63f689b9d625fe5dbd961508aad5e96d893..50f8d30f71ca5c04d3d391080222a212803aa6e8 100644 (file)
@@ -2,7 +2,7 @@ import {
   ALERT_SHOW,
   ALERT_DISMISS,
   ALERT_CLEAR,
-} from 'themes/glitch/actions/alerts';
+} from 'flavours/glitch/actions/alerts';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 
 const initialState = ImmutableList([]);
similarity index 80%
rename from app/javascript/themes/glitch/reducers/cards.js
rename to app/javascript/flavours/glitch/reducers/cards.js
index 35be30444f25f42c0ca30e8e6dc64ca566c90ccf..92ecfd0863903c217fc5b62cd41e91edb981ef9f 100644 (file)
@@ -1,4 +1,4 @@
-import { STATUS_CARD_FETCH_SUCCESS } from 'themes/glitch/actions/cards';
+import { STATUS_CARD_FETCH_SUCCESS } from 'flavours/glitch/actions/cards';
 
 import { Map as ImmutableMap, fromJS } from 'immutable';
 
similarity index 97%
rename from app/javascript/themes/glitch/reducers/compose.js
rename to app/javascript/flavours/glitch/reducers/compose.js
index be359fcb425176f277136eb641f0c212afb1a88a..aaa36b69611f1477cea0f6e5796fadb5e49a7a3e 100644 (file)
@@ -28,12 +28,12 @@ import {
   COMPOSE_UPLOAD_CHANGE_FAIL,
   COMPOSE_DOODLE_SET,
   COMPOSE_RESET,
-} from 'themes/glitch/actions/compose';
-import { TIMELINE_DELETE } from 'themes/glitch/actions/timelines';
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
+} from 'flavours/glitch/actions/compose';
+import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
 import { Map as ImmutableMap, List as ImmutableList, OrderedSet as ImmutableOrderedSet, fromJS } from 'immutable';
-import uuid from 'themes/glitch/util/uuid';
-import { me } from 'themes/glitch/util/initial_state';
+import uuid from 'flavours/glitch/util/uuid';
+import { me } from 'flavours/glitch/util/initial_state';
 
 const initialState = ImmutableMap({
   mounted: false,
similarity index 91%
rename from app/javascript/themes/glitch/reducers/contexts.js
rename to app/javascript/flavours/glitch/reducers/contexts.js
index 56c930bd5b58460c5eb21754025fcdb5f1967ec2..53e93a5892b7e1f178290790eabd962173d56f88 100644 (file)
@@ -1,5 +1,5 @@
-import { CONTEXT_FETCH_SUCCESS } from 'themes/glitch/actions/statuses';
-import { TIMELINE_DELETE, TIMELINE_CONTEXT_UPDATE } from 'themes/glitch/actions/timelines';
+import { CONTEXT_FETCH_SUCCESS } from 'flavours/glitch/actions/statuses';
+import { TIMELINE_DELETE, TIMELINE_CONTEXT_UPDATE } from 'flavours/glitch/actions/timelines';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 63%
rename from app/javascript/themes/glitch/reducers/custom_emojis.js
rename to app/javascript/flavours/glitch/reducers/custom_emojis.js
index e3f1e001809e5b0ee7ba38ca9e05d6515759f6c9..592cea8dcda2a1a911b4d8ecbc84cd09fe6d2fa0 100644 (file)
@@ -1,7 +1,7 @@
 import { List as ImmutableList } from 'immutable';
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
-import { search as emojiSearch } from 'themes/glitch/util/emoji/emoji_mart_search_light';
-import { buildCustomEmojis } from 'themes/glitch/util/emoji';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { search as emojiSearch } from 'flavours/glitch/util/emoji/emoji_mart_search_light';
+import { buildCustomEmojis } from 'flavours/glitch/util/emoji';
 
 const initialState = ImmutableList();
 
similarity index 85%
rename from app/javascript/themes/glitch/reducers/height_cache.js
rename to app/javascript/flavours/glitch/reducers/height_cache.js
index 93c31b42c13d0bbea5fd660c14c1e94fd79d4c49..8b05e0b1960d94dc960b60eb0b6e803f991aed04 100644 (file)
@@ -1,5 +1,5 @@
 import { Map as ImmutableMap } from 'immutable';
-import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'themes/glitch/actions/height_cache';
+import { HEIGHT_CACHE_SET, HEIGHT_CACHE_CLEAR } from 'flavours/glitch/actions/height_cache';
 
 const initialState = ImmutableMap();
 
similarity index 88%
rename from app/javascript/themes/glitch/reducers/local_settings.js
rename to app/javascript/flavours/glitch/reducers/local_settings.js
index b1ffa047ebde91aeae44185d20976e066b791e59..69d98741b6320cd98727c946af577feab588ab1a 100644 (file)
@@ -2,8 +2,8 @@
 import { Map as ImmutableMap } from 'immutable';
 
 //  Our imports.
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
-import { LOCAL_SETTING_CHANGE } from 'themes/glitch/actions/local_settings';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { LOCAL_SETTING_CHANGE } from 'flavours/glitch/actions/local_settings';
 
 const initialState = ImmutableMap({
   layout    : 'auto',
similarity index 83%
rename from app/javascript/themes/glitch/reducers/media_attachments.js
rename to app/javascript/flavours/glitch/reducers/media_attachments.js
index 69a44639cbc03f10584f38bb3fdd65055bd0e81f..6e605857668fd2bfff48932096688b83a9eba7e1 100644 (file)
@@ -1,4 +1,4 @@
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
 import { Map as ImmutableMap } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 84%
rename from app/javascript/themes/glitch/reducers/meta.js
rename to app/javascript/flavours/glitch/reducers/meta.js
index 2249f1d78d6036e663bc23df2abb528fd2c884d0..a98dc436a01f4650be0be3b8fc9196392191e5e4 100644 (file)
@@ -1,4 +1,4 @@
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
 import { Map as ImmutableMap } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 81%
rename from app/javascript/themes/glitch/reducers/modal.js
rename to app/javascript/flavours/glitch/reducers/modal.js
index 97fb3120367359592f4104579e30c4a11ffdd336..80bc11dda409d3913f5b0af4956779d618e32f1d 100644 (file)
@@ -1,4 +1,4 @@
-import { MODAL_OPEN, MODAL_CLOSE } from 'themes/glitch/actions/modal';
+import { MODAL_OPEN, MODAL_CLOSE } from 'flavours/glitch/actions/modal';
 
 const initialState = {
   modalType: null,
similarity index 94%
rename from app/javascript/themes/glitch/reducers/mutes.js
rename to app/javascript/flavours/glitch/reducers/mutes.js
index 8fe4ae0c36fdba454938db99689d07622bff0f7a..8f52a7704ab975287f21d686158b0093e81db189 100644 (file)
@@ -3,7 +3,7 @@ import Immutable from 'immutable';
 import {
   MUTES_INIT_MODAL,
   MUTES_TOGGLE_HIDE_NOTIFICATIONS,
-} from 'themes/glitch/actions/mutes';
+} from 'flavours/glitch/actions/mutes';
 
 const initialState = Immutable.Map({
   new: Immutable.Map({
similarity index 97%
rename from app/javascript/themes/glitch/reducers/notifications.js
rename to app/javascript/flavours/glitch/reducers/notifications.js
index c4f505053b6d62c0235d3ea1060fa708ac4e4661..fb2b3f54984a5800a2421deb51463e34474c281b 100644 (file)
@@ -14,12 +14,12 @@ import {
   NOTIFICATIONS_DELETE_MARKED_FAIL,
   NOTIFICATIONS_ENTER_CLEARING_MODE,
   NOTIFICATIONS_MARK_ALL_FOR_DELETE,
-} from 'themes/glitch/actions/notifications';
+} from 'flavours/glitch/actions/notifications';
 import {
   ACCOUNT_BLOCK_SUCCESS,
   ACCOUNT_MUTE_SUCCESS,
-} from 'themes/glitch/actions/accounts';
-import { TIMELINE_DELETE } from 'themes/glitch/actions/timelines';
+} from 'flavours/glitch/actions/accounts';
+import { TIMELINE_DELETE } from 'flavours/glitch/actions/timelines';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 91%
rename from app/javascript/themes/glitch/reducers/push_notifications.js
rename to app/javascript/flavours/glitch/reducers/push_notifications.js
index 744e4a0ebdc00b6801265c3d674a1a4ca34b7e7b..f0a800d23cf0b9afc66437793d2878bc9d1133d7 100644 (file)
@@ -1,5 +1,5 @@
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
-import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, ALERTS_CHANGE } from 'themes/glitch/actions/push_notifications';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { SET_BROWSER_SUPPORT, SET_SUBSCRIPTION, CLEAR_SUBSCRIPTION, ALERTS_CHANGE } from 'flavours/glitch/actions/push_notifications';
 import Immutable from 'immutable';
 
 const initialState = Immutable.Map({
similarity index 93%
rename from app/javascript/themes/glitch/reducers/relationships.js
rename to app/javascript/flavours/glitch/reducers/relationships.js
index d9135d6da88aa82e6ba317682e3f61c41757711d..6303089ac7a7391c88455b983cb56c95c7b18a43 100644 (file)
@@ -6,11 +6,11 @@ import {
   ACCOUNT_MUTE_SUCCESS,
   ACCOUNT_UNMUTE_SUCCESS,
   RELATIONSHIPS_FETCH_SUCCESS,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import {
   DOMAIN_BLOCK_SUCCESS,
   DOMAIN_UNBLOCK_SUCCESS,
-} from 'themes/glitch/actions/domain_blocks';
+} from 'flavours/glitch/actions/domain_blocks';
 import { Map as ImmutableMap, fromJS } from 'immutable';
 
 const normalizeRelationship = (state, relationship) => state.set(relationship.id, fromJS(relationship));
similarity index 97%
rename from app/javascript/themes/glitch/reducers/reports.js
rename to app/javascript/flavours/glitch/reducers/reports.js
index b714374eaca513da716bea13b25353ee3aadb8cf..c18fbcdc61771d015dc3ca624a53e931248b3478 100644 (file)
@@ -6,7 +6,7 @@ import {
   REPORT_CANCEL,
   REPORT_STATUS_TOGGLE,
   REPORT_COMMENT_CHANGE,
-} from 'themes/glitch/actions/reports';
+} from 'flavours/glitch/actions/reports';
 import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 90%
rename from app/javascript/themes/glitch/reducers/search.js
rename to app/javascript/flavours/glitch/reducers/search.js
index aec9e2efb2026ff7f29c2cbcd89927e228b78477..f9bf920980214db7984ae9ba3bacf979f482dcdc 100644 (file)
@@ -3,8 +3,8 @@ import {
   SEARCH_CLEAR,
   SEARCH_FETCH_SUCCESS,
   SEARCH_SHOW,
-} from 'themes/glitch/actions/search';
-import { COMPOSE_MENTION, COMPOSE_REPLY } from 'themes/glitch/actions/compose';
+} from 'flavours/glitch/actions/search';
+import { COMPOSE_MENTION, COMPOSE_REPLY } from 'flavours/glitch/actions/compose';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 88%
rename from app/javascript/themes/glitch/reducers/settings.js
rename to app/javascript/flavours/glitch/reducers/settings.js
index c22bbbd8dc83392f27f1b77416e4bad45be3bf1c..ceafbc467925fad78cccbffc9627b0eebc7284bc 100644 (file)
@@ -1,9 +1,9 @@
-import { SETTING_CHANGE, SETTING_SAVE } from 'themes/glitch/actions/settings';
-import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE } from 'themes/glitch/actions/columns';
-import { STORE_HYDRATE } from 'themes/glitch/actions/store';
-import { EMOJI_USE } from 'themes/glitch/actions/emojis';
+import { SETTING_CHANGE, SETTING_SAVE } from 'flavours/glitch/actions/settings';
+import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE } from 'flavours/glitch/actions/columns';
+import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
+import { EMOJI_USE } from 'flavours/glitch/actions/emojis';
 import { Map as ImmutableMap, fromJS } from 'immutable';
-import uuid from 'themes/glitch/util/uuid';
+import uuid from 'flavours/glitch/util/uuid';
 
 const initialState = ImmutableMap({
   saved: true,
similarity index 94%
rename from app/javascript/themes/glitch/reducers/status_lists.js
rename to app/javascript/flavours/glitch/reducers/status_lists.js
index 8dc7d374e3bb77ffc27f6c43a5710a1de9424a20..5a3d0db0cab747d7febb1b7b85f9093cfd343cf4 100644 (file)
@@ -1,17 +1,17 @@
 import {
   FAVOURITED_STATUSES_FETCH_SUCCESS,
   FAVOURITED_STATUSES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/favourites';
+} from 'flavours/glitch/actions/favourites';
 import {
   PINNED_STATUSES_FETCH_SUCCESS,
-} from 'themes/glitch/actions/pin_statuses';
+} from 'flavours/glitch/actions/pin_statuses';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 import {
   FAVOURITE_SUCCESS,
   UNFAVOURITE_SUCCESS,
   PIN_SUCCESS,
   UNPIN_SUCCESS,
-} from 'themes/glitch/actions/interactions';
+} from 'flavours/glitch/actions/interactions';
 
 const initialState = ImmutableMap({
   favourites: ImmutableMap({
similarity index 90%
rename from app/javascript/themes/glitch/reducers/statuses.js
rename to app/javascript/flavours/glitch/reducers/statuses.js
index ef8086865587b58859a898240b2b51b311185d96..410bc013b9597d8f7b593096b8d23a4fa409a747 100644 (file)
@@ -9,37 +9,37 @@ import {
   UNFAVOURITE_SUCCESS,
   PIN_SUCCESS,
   UNPIN_SUCCESS,
-} from 'themes/glitch/actions/interactions';
+} from 'flavours/glitch/actions/interactions';
 import {
   STATUS_FETCH_SUCCESS,
   CONTEXT_FETCH_SUCCESS,
   STATUS_MUTE_SUCCESS,
   STATUS_UNMUTE_SUCCESS,
-} from 'themes/glitch/actions/statuses';
+} from 'flavours/glitch/actions/statuses';
 import {
   TIMELINE_REFRESH_SUCCESS,
   TIMELINE_UPDATE,
   TIMELINE_DELETE,
   TIMELINE_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/timelines';
+} from 'flavours/glitch/actions/timelines';
 import {
   ACCOUNT_BLOCK_SUCCESS,
   ACCOUNT_MUTE_SUCCESS,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import {
   NOTIFICATIONS_UPDATE,
   NOTIFICATIONS_REFRESH_SUCCESS,
   NOTIFICATIONS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/notifications';
+} from 'flavours/glitch/actions/notifications';
 import {
   FAVOURITED_STATUSES_FETCH_SUCCESS,
   FAVOURITED_STATUSES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/favourites';
+} from 'flavours/glitch/actions/favourites';
 import {
   PINNED_STATUSES_FETCH_SUCCESS,
-} from 'themes/glitch/actions/pin_statuses';
-import { SEARCH_FETCH_SUCCESS } from 'themes/glitch/actions/search';
-import emojify from 'themes/glitch/util/emoji';
+} from 'flavours/glitch/actions/pin_statuses';
+import { SEARCH_FETCH_SUCCESS } from 'flavours/glitch/actions/search';
+import emojify from 'flavours/glitch/util/emoji';
 import { Map as ImmutableMap, fromJS } from 'immutable';
 import escapeTextContentForBrowser from 'escape-html';
 
similarity index 98%
rename from app/javascript/themes/glitch/reducers/timelines.js
rename to app/javascript/flavours/glitch/reducers/timelines.js
index 7f19a18971f2cfecaf67f4848cc19db89a0075f6..679e1601eb2bfedd31248edf67e9415cb6c2d1fa 100644 (file)
@@ -10,12 +10,12 @@ import {
   TIMELINE_SCROLL_TOP,
   TIMELINE_CONNECT,
   TIMELINE_DISCONNECT,
-} from 'themes/glitch/actions/timelines';
+} from 'flavours/glitch/actions/timelines';
 import {
   ACCOUNT_BLOCK_SUCCESS,
   ACCOUNT_MUTE_SUCCESS,
   ACCOUNT_UNFOLLOW_SUCCESS,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import { Map as ImmutableMap, List as ImmutableList, fromJS } from 'immutable';
 
 const initialState = ImmutableMap();
similarity index 95%
rename from app/javascript/themes/glitch/reducers/user_lists.js
rename to app/javascript/flavours/glitch/reducers/user_lists.js
index 8c3a7d7480e3bd304019e47dfb7dfd72af3dd8b0..a4df9ec8de563e79dd917b6bf8b6862b32511916 100644 (file)
@@ -7,19 +7,19 @@ import {
   FOLLOW_REQUESTS_EXPAND_SUCCESS,
   FOLLOW_REQUEST_AUTHORIZE_SUCCESS,
   FOLLOW_REQUEST_REJECT_SUCCESS,
-} from 'themes/glitch/actions/accounts';
+} from 'flavours/glitch/actions/accounts';
 import {
   REBLOGS_FETCH_SUCCESS,
   FAVOURITES_FETCH_SUCCESS,
-} from 'themes/glitch/actions/interactions';
+} from 'flavours/glitch/actions/interactions';
 import {
   BLOCKS_FETCH_SUCCESS,
   BLOCKS_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/blocks';
+} from 'flavours/glitch/actions/blocks';
 import {
   MUTES_FETCH_SUCCESS,
   MUTES_EXPAND_SUCCESS,
-} from 'themes/glitch/actions/mutes';
+} from 'flavours/glitch/actions/mutes';
 import { Map as ImmutableMap, List as ImmutableList } from 'immutable';
 
 const initialState = ImmutableMap({
similarity index 83%
rename from app/javascript/themes/glitch/theme.yml
rename to app/javascript/flavours/glitch/theme.yml
index ac6f57546cf2b9ab13c4dd1743b086b2d06767c9..9d24f0107ef32d581e5bd20fbe2d170f538bb564 100644 (file)
@@ -11,10 +11,10 @@ pack:
   home:
     filename: packs/home.js
     preload:
-    - themes/glitch/async/getting_started
-    - themes/glitch/async/compose
-    - themes/glitch/async/home_timeline
-    - themes/glitch/async/notifications
+    - flavours/glitch/async/getting_started
+    - flavours/glitch/async/compose
+    - flavours/glitch/async/home_timeline
+    - flavours/glitch/async/notifications
     stylesheet: true
   modal:
   public: packs/public.js
diff --git a/app/javascript/flavours/glitch/util/async-components.js b/app/javascript/flavours/glitch/util/async-components.js
new file mode 100644 (file)
index 0000000..b7ac4d3
--- /dev/null
@@ -0,0 +1,115 @@
+export function EmojiPicker () {
+  return import(/* webpackChunkName: "flavours/glitch/async/emoji_picker" */'flavours/glitch/util/emoji/emoji_picker');
+}
+
+export function Compose () {
+  return import(/* webpackChunkName: "flavours/glitch/async/compose" */'flavours/glitch/features/compose');
+}
+
+export function Notifications () {
+  return import(/* webpackChunkName: "flavours/glitch/async/notifications" */'flavours/glitch/features/notifications');
+}
+
+export function HomeTimeline () {
+  return import(/* webpackChunkName: "flavours/glitch/async/home_timeline" */'flavours/glitch/features/home_timeline');
+}
+
+export function PublicTimeline () {
+  return import(/* webpackChunkName: "flavours/glitch/async/public_timeline" */'flavours/glitch/features/public_timeline');
+}
+
+export function CommunityTimeline () {
+  return import(/* webpackChunkName: "flavours/glitch/async/community_timeline" */'flavours/glitch/features/community_timeline');
+}
+
+export function HashtagTimeline () {
+  return import(/* webpackChunkName: "flavours/glitch/async/hashtag_timeline" */'flavours/glitch/features/hashtag_timeline');
+}
+
+export function DirectTimeline() {
+  return import(/* webpackChunkName: "flavours/glitch/async/direct_timeline" */'flavours/glitch/features/direct_timeline');
+}
+
+export function Status () {
+  return import(/* webpackChunkName: "flavours/glitch/async/status" */'flavours/glitch/features/status');
+}
+
+export function GettingStarted () {
+  return import(/* webpackChunkName: "flavours/glitch/async/getting_started" */'flavours/glitch/features/getting_started');
+}
+
+export function PinnedStatuses () {
+  return import(/* webpackChunkName: "flavours/glitch/async/pinned_statuses" */'flavours/glitch/features/pinned_statuses');
+}
+
+export function AccountTimeline () {
+  return import(/* webpackChunkName: "flavours/glitch/async/account_timeline" */'flavours/glitch/features/account_timeline');
+}
+
+export function AccountGallery () {
+  return import(/* webpackChunkName: "flavours/glitch/async/account_gallery" */'flavours/glitch/features/account_gallery');
+}
+
+export function Followers () {
+  return import(/* webpackChunkName: "flavours/glitch/async/followers" */'flavours/glitch/features/followers');
+}
+
+export function Following () {
+  return import(/* webpackChunkName: "flavours/glitch/async/following" */'flavours/glitch/features/following');
+}
+
+export function Reblogs () {
+  return import(/* webpackChunkName: "flavours/glitch/async/reblogs" */'flavours/glitch/features/reblogs');
+}
+
+export function Favourites () {
+  return import(/* webpackChunkName: "flavours/glitch/async/favourites" */'flavours/glitch/features/favourites');
+}
+
+export function FollowRequests () {
+  return import(/* webpackChunkName: "flavours/glitch/async/follow_requests" */'flavours/glitch/features/follow_requests');
+}
+
+export function GenericNotFound () {
+  return import(/* webpackChunkName: "flavours/glitch/async/generic_not_found" */'flavours/glitch/features/generic_not_found');
+}
+
+export function FavouritedStatuses () {
+  return import(/* webpackChunkName: "flavours/glitch/async/favourited_statuses" */'flavours/glitch/features/favourited_statuses');
+}
+
+export function Blocks () {
+  return import(/* webpackChunkName: "flavours/glitch/async/blocks" */'flavours/glitch/features/blocks');
+}
+
+export function Mutes () {
+  return import(/* webpackChunkName: "flavours/glitch/async/mutes" */'flavours/glitch/features/mutes');
+}
+
+export function OnboardingModal () {
+  return import(/* webpackChunkName: "flavours/glitch/async/onboarding_modal" */'flavours/glitch/features/ui/components/onboarding_modal');
+}
+
+export function MuteModal () {
+  return import(/* webpackChunkName: "flavours/glitch/async/mute_modal" */'flavours/glitch/features/ui/components/mute_modal');
+}
+
+export function ReportModal () {
+  return import(/* webpackChunkName: "flavours/glitch/async/report_modal" */'flavours/glitch/features/ui/components/report_modal');
+}
+
+export function SettingsModal () {
+  return import(/* webpackChunkName: "flavours/glitch/async/settings_modal" */'flavours/glitch/features/local_settings');
+}
+
+export function MediaGallery () {
+  return import(/* webpackChunkName: "flavours/glitch/async/media_gallery" */'flavours/glitch/components/media_gallery');
+}
+
+export function Video () {
+  return import(/* webpackChunkName: "flavours/glitch/async/video" */'flavours/glitch/features/video');
+}
+
+export function EmbedModal () {
+  return import(/* webpackChunkName: "flavours/glitch/async/embed_modal" */'flavours/glitch/features/ui/components/embed_modal');
+}
similarity index 97%
rename from app/javascript/themes/glitch/util/emoji/index.js
rename to app/javascript/flavours/glitch/util/emoji/index.js
index 8c45a58fec46b44ec7a7523a1f2bc396e4662f22..31c3e14cace68b5a3c2405cc0d25dff6852989c2 100644 (file)
@@ -1,4 +1,4 @@
-import { autoPlayGif } from 'themes/glitch/util/initial_state';
+import { autoPlayGif } from 'flavours/glitch/util/initial_state';
 import unicodeMapping from './emoji_unicode_mapping_light';
 import Trie from 'substring-trie';
 
similarity index 95%
rename from app/javascript/themes/glitch/util/main.js
rename to app/javascript/flavours/glitch/util/main.js
index c10a64ded0f5004f1f9ffc30561b13f57d10783c..fe57fa962a582dc0e5550ed12fdfad86bfee62ff 100644 (file)
@@ -1,5 +1,5 @@
 import * as WebPushSubscription from './web_push_subscription';
-import Mastodon from 'themes/glitch/containers/mastodon';
+import Mastodon from 'flavours/glitch/containers/mastodon';
 import React from 'react';
 import ReactDOM from 'react-dom';
 import ready from './ready';
similarity index 68%
rename from app/javascript/themes/glitch/util/optional_motion.js
rename to app/javascript/flavours/glitch/util/optional_motion.js
index b8a57b22f964e5549f21627cb70ea128b705579c..eecb6634e97949d090e9370004e91adf9cea6802 100644 (file)
@@ -1,4 +1,4 @@
-import { reduceMotion } from 'themes/glitch/util/initial_state';
+import { reduceMotion } from 'flavours/glitch/util/initial_state';
 import ReducedMotion from './reduced_motion';
 import Motion from 'react-motion/lib/Motion';
 
similarity index 85%
rename from app/javascript/themes/glitch/util/react_router_helpers.js
rename to app/javascript/flavours/glitch/util/react_router_helpers.js
index c02fb524795bce4a2d8c57d9ee7ebb925ee67320..1dba5e9bb0bfb0cef6937489bc00b6067171935f 100644 (file)
@@ -2,9 +2,9 @@ import React from 'react';
 import PropTypes from 'prop-types';
 import { Switch, Route } from 'react-router-dom';
 
-import ColumnLoading from 'themes/glitch/features/ui/components/column_loading';
-import BundleColumnError from 'themes/glitch/features/ui/components/bundle_column_error';
-import BundleContainer from 'themes/glitch/features/ui/containers/bundle_container';
+import ColumnLoading from 'flavours/glitch/features/ui/components/column_loading';
+import BundleColumnError from 'flavours/glitch/features/ui/components/bundle_column_error';
+import BundleContainer from 'flavours/glitch/features/ui/containers/bundle_container';
 
 // Small wrapper to pass multiColumn to the route components
 export class WrappedSwitch extends React.PureComponent {
similarity index 97%
rename from app/javascript/themes/glitch/util/web_push_subscription.js
rename to app/javascript/flavours/glitch/util/web_push_subscription.js
index 70b26105b8fab2e288a409d45cd5402eceb4b1ab..de185b6d92f9a226d265a6edb91724ada7edb7d7 100644 (file)
@@ -1,6 +1,6 @@
 import axios from 'axios';
-import { store } from 'themes/glitch/containers/mastodon';
-import { setBrowserSupport, setSubscription, clearSubscription } from 'themes/glitch/actions/push_notifications';
+import { store } from 'flavours/glitch/containers/mastodon';
+import { setBrowserSupport, setSubscription, clearSubscription } from 'flavours/glitch/actions/push_notifications';
 
 // Taken from https://www.npmjs.com/package/web-push
 const urlBase64ToUint8Array = (base64String) => {
diff --git a/app/javascript/themes/glitch/features/generic_not_found/index.js b/app/javascript/themes/glitch/features/generic_not_found/index.js
deleted file mode 100644 (file)
index ccd2b87..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-import React from 'react';
-import Column from 'themes/glitch/features/ui/components/column';
-import MissingIndicator from 'themes/glitch/components/missing_indicator';
-
-const GenericNotFound = () => (
-  <Column>
-    <MissingIndicator />
-  </Column>
-);
-
-export default GenericNotFound;
diff --git a/app/javascript/themes/glitch/features/standalone/compose/index.js b/app/javascript/themes/glitch/features/standalone/compose/index.js
deleted file mode 100644 (file)
index 8a81181..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-import React from 'react';
-import ComposeFormContainer from 'themes/glitch/features/compose/containers/compose_form_container';
-import NotificationsContainer from 'themes/glitch/features/ui/containers/notifications_container';
-import LoadingBarContainer from 'themes/glitch/features/ui/containers/loading_bar_container';
-import ModalContainer from 'themes/glitch/features/ui/containers/modal_container';
-
-export default class Compose extends React.PureComponent {
-
-  render () {
-    return (
-      <div>
-        <ComposeFormContainer />
-        <NotificationsContainer />
-        <ModalContainer />
-        <LoadingBarContainer className='loading-bar' />
-      </div>
-    );
-  }
-
-}
diff --git a/app/javascript/themes/glitch/packs/common.js b/app/javascript/themes/glitch/packs/common.js
deleted file mode 100644 (file)
index fd4254a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-import 'themes/glitch/styles/index.scss';
diff --git a/app/javascript/themes/glitch/packs/home.js b/app/javascript/themes/glitch/packs/home.js
deleted file mode 100644 (file)
index 69dddf5..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-import loadPolyfills from 'themes/glitch/util/load_polyfills';
-
-loadPolyfills().then(() => {
-  require('themes/glitch/util/main').default();
-}).catch(e => {
-  console.error(e);
-});
diff --git a/app/javascript/themes/glitch/util/async-components.js b/app/javascript/themes/glitch/util/async-components.js
deleted file mode 100644 (file)
index 91e85fe..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-export function EmojiPicker () {
-  return import(/* webpackChunkName: "themes/glitch/async/emoji_picker" */'themes/glitch/util/emoji/emoji_picker');
-}
-
-export function Compose () {
-  return import(/* webpackChunkName: "themes/glitch/async/compose" */'themes/glitch/features/compose');
-}
-
-export function Notifications () {
-  return import(/* webpackChunkName: "themes/glitch/async/notifications" */'themes/glitch/features/notifications');
-}
-
-export function HomeTimeline () {
-  return import(/* webpackChunkName: "themes/glitch/async/home_timeline" */'themes/glitch/features/home_timeline');
-}
-
-export function PublicTimeline () {
-  return import(/* webpackChunkName: "themes/glitch/async/public_timeline" */'themes/glitch/features/public_timeline');
-}
-
-export function CommunityTimeline () {
-  return import(/* webpackChunkName: "themes/glitch/async/community_timeline" */'themes/glitch/features/community_timeline');
-}
-
-export function HashtagTimeline () {
-  return import(/* webpackChunkName: "themes/glitch/async/hashtag_timeline" */'themes/glitch/features/hashtag_timeline');
-}
-
-export function DirectTimeline() {
-  return import(/* webpackChunkName: "themes/glitch/async/direct_timeline" */'themes/glitch/features/direct_timeline');
-}
-
-export function Status () {
-  return import(/* webpackChunkName: "themes/glitch/async/status" */'themes/glitch/features/status');
-}
-
-export function GettingStarted () {
-  return import(/* webpackChunkName: "themes/glitch/async/getting_started" */'themes/glitch/features/getting_started');
-}
-
-export function PinnedStatuses () {
-  return import(/* webpackChunkName: "themes/glitch/async/pinned_statuses" */'themes/glitch/features/pinned_statuses');
-}
-
-export function AccountTimeline () {
-  return import(/* webpackChunkName: "themes/glitch/async/account_timeline" */'themes/glitch/features/account_timeline');
-}
-
-export function AccountGallery () {
-  return import(/* webpackChunkName: "themes/glitch/async/account_gallery" */'themes/glitch/features/account_gallery');
-}
-
-export function Followers () {
-  return import(/* webpackChunkName: "themes/glitch/async/followers" */'themes/glitch/features/followers');
-}
-
-export function Following () {
-  return import(/* webpackChunkName: "themes/glitch/async/following" */'themes/glitch/features/following');
-}
-
-export function Reblogs () {
-  return import(/* webpackChunkName: "themes/glitch/async/reblogs" */'themes/glitch/features/reblogs');
-}
-
-export function Favourites () {
-  return import(/* webpackChunkName: "themes/glitch/async/favourites" */'themes/glitch/features/favourites');
-}
-
-export function FollowRequests () {
-  return import(/* webpackChunkName: "themes/glitch/async/follow_requests" */'themes/glitch/features/follow_requests');
-}
-
-export function GenericNotFound () {
-  return import(/* webpackChunkName: "themes/glitch/async/generic_not_found" */'themes/glitch/features/generic_not_found');
-}
-
-export function FavouritedStatuses () {
-  return import(/* webpackChunkName: "themes/glitch/async/favourited_statuses" */'themes/glitch/features/favourited_statuses');
-}
-
-export function Blocks () {
-  return import(/* webpackChunkName: "themes/glitch/async/blocks" */'themes/glitch/features/blocks');
-}
-
-export function Mutes () {
-  return import(/* webpackChunkName: "themes/glitch/async/mutes" */'themes/glitch/features/mutes');
-}
-
-export function OnboardingModal () {
-  return import(/* webpackChunkName: "themes/glitch/async/onboarding_modal" */'themes/glitch/features/ui/components/onboarding_modal');
-}
-
-export function MuteModal () {
-  return import(/* webpackChunkName: "themes/glitch/async/mute_modal" */'themes/glitch/features/ui/components/mute_modal');
-}
-
-export function ReportModal () {
-  return import(/* webpackChunkName: "themes/glitch/async/report_modal" */'themes/glitch/features/ui/components/report_modal');
-}
-
-export function SettingsModal () {
-  return import(/* webpackChunkName: "themes/glitch/async/settings_modal" */'themes/glitch/features/local_settings');
-}
-
-export function MediaGallery () {
-  return import(/* webpackChunkName: "themes/glitch/async/media_gallery" */'themes/glitch/components/media_gallery');
-}
-
-export function Video () {
-  return import(/* webpackChunkName: "themes/glitch/async/video" */'themes/glitch/features/video');
-}
-
-export function EmbedModal () {
-  return import(/* webpackChunkName: "themes/glitch/async/embed_modal" */'themes/glitch/features/ui/components/embed_modal');
-}
diff --git a/app/javascript/themes/mastodon-go b/app/javascript/themes/mastodon-go
deleted file mode 160000 (submodule)
index 74c0293..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 74c0293e83dbb49ea4f27eea108526df6216d2a2
index f1796d0e36749433335e1523bf3e9c4689ac2f7e..863326e2d557b39d452f7c345d8e50404ae8cf2b 100644 (file)
@@ -12,7 +12,7 @@ class Themes
     core['pack'] = Hash.new unless core['pack']
 
     result = Hash.new
-    Dir.glob(Rails.root.join('app', 'javascript', 'themes', '*', 'theme.yml')) do |path|
+    Dir.glob(Rails.root.join('app', 'javascript', 'flavours', '*', 'theme.yml')) do |path|
       data = YAML.load_file(path)
       name = File.basename(File.dirname(path))
       if data['pack']
@@ -51,11 +51,11 @@ class Themes
     @core
   end
 
-  def get(name)
+  def flavour(name)
     @conf[name]
   end
 
-  def names
+  def flavours
     @conf.keys
   end
 
index 1d42d4f7019e408216b983a8d1d8485ed2eb6e92..2458cf298e8fd8498a4d2192e87ce055cd314d7e 100644 (file)
@@ -74,7 +74,7 @@ class User < ApplicationRecord
   has_many :session_activations, dependent: :destroy
 
   delegate :auto_play_gif, :default_sensitive, :unfollow_modal, :boost_modal, :delete_modal,
-           :reduce_motion, :system_font_ui, :noindex, :theme, :skin,
+           :reduce_motion, :system_font_ui, :noindex, :flavour, :skin,
            to: :settings, prefix: :setting, allow_nil: false
 
   def confirmed?
index 941ccc9148cb43acc6291dc0e54607ec85a18dcd..39727953d26b23bd73f16af14c4f08fa3f9adac0 100644 (file)
@@ -2,10 +2,10 @@
   - if theme[:pack] != 'common' && theme[:common]
     = render partial: 'layouts/theme', object: theme[:common]
   - if theme[:pack]
-    = javascript_pack_tag theme[:name] ? "themes/#{theme[:name]}/#{theme[:pack]}" : "core/#{theme[:pack]}", integrity: true, crossorigin: 'anonymous'
+    = javascript_pack_tag theme[:flavour] ? "flavours/#{theme[:flavour]}/#{theme[:pack]}" : "core/#{theme[:pack]}", integrity: true, crossorigin: 'anonymous'
     - if theme[:skin]
-      - if !theme[:name] || theme[:skin] == 'default'
-        = stylesheet_pack_tag theme[:name] ? "themes/#{theme[:name]}/#{theme[:pack]}" : "core/#{theme[:pack]}", integrity: true, media: 'all'
+      - if !theme[:flavour] || theme[:skin] == 'default'
+        = stylesheet_pack_tag theme[:flavour] ? "flavours/#{theme[:flavour]}/#{theme[:pack]}" : "core/#{theme[:pack]}", integrity: true, media: 'all'
       - else
         = stylesheet_pack_tag "skins/#{theme[:name]}/#{theme[:skin]}/#{theme[:pack]}"
     - if theme[:preload]
index 0d487d9f38ad3cb8a956e8f3661156e9b608f9bb..030a902cf22ad33976665047fb8cdebbb286d316 100644 (file)
@@ -27,7 +27,7 @@
 
   .fields-group
     - if Themes.instance.names.size > 1
-      = f.input :setting_theme, collection: Themes.instance.names, label_method: lambda { |theme| I18n.t("themes.#{theme}", default: theme) }, wrapper: :with_label, include_blank: false
+      = f.input :setting_flavour, collection: Themes.instance.flavours, label_method: lambda { |flavour| I18n.t("themes.#{flavour}", default: flavour) }, wrapper: :with_label, include_blank: false
       = f.input :setting_skin, collection: Themes.instance.skins_for(current_theme), label_method: lambda { |skin| I18n.t("themes.#{current_theme}.skins.#{skin}", default: skin) }, wrapper: :with_label, include_blank: false
 
     = f.input :setting_unfollow_modal, as: :boolean, wrapper: :with_label
index b9ef21fef1760d34becc632adc9ab1e677e2dc07..1ce24e3c637d4b3c91b2ab02b34f0fb8e71a6927 100644 (file)
@@ -14,8 +14,8 @@ en:
           one: <span class="note-counter">1</span> character left
           other: <span class="note-counter">%{count}</span> characters left
         setting_noindex: Affects your public profile and status pages
-        setting_theme: Affects how Mastodon looks when you're logged in from any device.
-        setting_skin: Reskins the selected Mastodon theme
+        setting_flavour: Affects how Mastodon looks when you're logged in from any device
+        setting_skin: Reskins the selected Mastodon flavour
       imports:
         data: CSV file exported from another Mastodon instance
       sessions:
@@ -47,7 +47,7 @@ en:
         setting_noindex: Opt-out of search engine indexing
         setting_reduce_motion: Reduce motion in animations
         setting_system_font_ui: Use system's default font
-        setting_theme: Site theme
+        setting_flavour: Mastodon Flavour
         setting_skin: Skin
         setting_unfollow_modal: Show confirmation dialog before unfollowing someone
         severity: Severity
index 5abf647e8701ad4f9cc4b7d4c44137c62225e436..48d971d44c37b553ec0cc3b62c2061e0967611b9 100644 (file)
@@ -25,7 +25,7 @@ defaults: &defaults
   reduce_motion: false
   system_font_ui: false
   noindex: false
-  theme: 'glitch'
+  flavour: 'glitch'
   skin: 'default'
   notification_emails:
     follow: false
index cb31c6ab835e275584e9582fce6d6f4eca09aab1..59d46c78d4e0875352aef7513d9e565be92c609f 100644 (file)
@@ -9,9 +9,9 @@ const glob = require('glob');
 const configPath = resolve('config', 'webpacker.yml');
 const loadersDir = join(__dirname, 'loaders');
 const settings = safeLoad(readFileSync(configPath), 'utf8')[env.NODE_ENV];
-const themeFiles = glob.sync('app/javascript/themes/*/theme.yml');
+const flavourFiles = glob.sync('app/javascript/flavours/*/theme.yml');
 const skinFiles = glob.sync('app/javascript/skins/*/*');
-const themes = {};
+const flavours = {};
 
 const core = function () {
   const coreFile = resolve('app', 'javascript', 'core', 'theme.yml');
@@ -22,16 +22,16 @@ const core = function () {
   return data.pack ? data : {};
 }();
 
-for (let i = 0; i < themeFiles.length; i++) {
-  const themeFile = themeFiles[i];
-  const data = safeLoad(readFileSync(themeFile), 'utf8');
-  data.name = basename(dirname(themeFile));
+for (let i = 0; i < flavourFiles.length; i++) {
+  const flavourFile = flavourFiles[i];
+  const data = safeLoad(readFileSync(flavourFile), 'utf8');
+  data.name = basename(dirname(flavourFile));
   data.skin = {};
   if (!data.pack_directory) {
-    data.pack_directory = dirname(themeFile);
+    data.pack_directory = dirname(flavourFile);
   }
   if (data.pack && typeof data.pack === 'object') {
-    themes[data.name] = data;
+    flavours[data.name] = data;
   }
 }
 
@@ -39,10 +39,10 @@ for (let i = 0; i < skinFiles.length; i++) {
   const skinFile = skinFiles[i];
   let skin = basename(skinFile);
   const name = basename(dirname(skinFile));
-  if (!themes[name]) {
+  if (!flavours[name]) {
     continue;
   }
-  const data = themes[name].skin;
+  const data = flavours[name].skin;
   if (lstatSync(skinFile).isDirectory()) {
     data[skin] = {};
     const skinPacks = glob.sync(skinFile, '*.{css,scss}');
@@ -76,7 +76,7 @@ const output = {
 module.exports = {
   settings,
   core,
-  themes,
+  flavours,
   env,
   loadersDir,
   output,
index a2550bc81985e840da4ae3059ee1d1bc2e8c5c5d..e4b057ffbd732eee196fdead1d9a55a050da69a1 100644 (file)
@@ -6,7 +6,7 @@ const { sync } = require('glob');
 const ExtractTextPlugin = require('extract-text-webpack-plugin');
 const ManifestPlugin = require('webpack-manifest-plugin');
 const extname = require('path-complete-extname');
-const { env, settings, core, themes, output, loadersDir } = require('./configuration.js');
+const { env, settings, core, flavours, output, loadersDir } = require('./configuration.js');
 const localePackPaths = require('./generateLocalePacks');
 
 function reducePacks (data, into = {}) {
@@ -20,7 +20,7 @@ function reducePacks (data, into = {}) {
     }
     const packFile = typeof pack === 'string' ? pack : pack.filename;
     if (packFile) {
-      map[data.name ? `themes/${data.name}/${entry}` : `core/${entry}`] = resolve(data.pack_directory, packFile);
+      map[data.name ? `flavours/${data.name}/${entry}` : `core/${entry}`] = resolve(data.pack_directory, packFile);
     }
     return map;
   }, into);
@@ -54,7 +54,7 @@ module.exports = {
       return localMap;
     }, {}),
     reducePacks(core),
-    Object.keys(themes).reduce((map, entry) => reducePacks(themes[entry], map), {})
+    Object.keys(flavours).reduce((map, entry) => reducePacks(flavours[entry], map), {})
   ),
 
   output: {