diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index ab601173..00000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,47 +0,0 @@ -# This file is a template, and might need editing before it works on your project. -# Official framework image. Look for the different tagged releases at: -# https://hub.docker.com/r/library/node/tags/ -image: node:12 - -stages: - - lint - - build - - test - - deploy - -lint: - stage: lint - script: - - yarn - - npm run lint - - npm run stylelint - -test: - stage: test - variables: - APT_CACHE_DIR: apt-cache - script: - - mkdir -pv $APT_CACHE_DIR && apt-get -qq update - - apt install firefox-esr -y --no-install-recommends - - firefox --version - - yarn - - yarn unit - -build: - stage: build - script: - - yarn - - npm run build - artifacts: - paths: - - dist/ - -docs-deploy: - stage: deploy - image: alpine:latest - only: - - develop@pleroma/pleroma-fe - before_script: - - apk add curl - script: - - curl -X POST -F"token=$DOCS_PIPELINE_TRIGGER" -F'ref=master' https://git.pleroma.social/api/v4/projects/673/trigger/pipeline diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index f666a4ef..bfc41ac4 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -10,3 +10,5 @@ Contributors of this project. - shpuld (shpuld@shitposter.club): CSS and styling - Vincent Guth (https://unsplash.com/photos/XrwVIFy6rTw): Background images. - hj (hj@shigusegubu.club): Code +- Sean King (seanking@freespeechextremist.com): Code +- Tusooa Zhu (tusooa@kazv.moe): Code diff --git a/config/ihba.json b/config/ihba.json new file mode 100644 index 00000000..4b0560fa --- /dev/null +++ b/config/ihba.json @@ -0,0 +1,4 @@ +{ + "target": "https://ihatebeinga.live", + "staticConfigPreference": false +} diff --git a/package.json b/package.json index dcde025a..1987f1b8 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ "qrcode": "1", "ruffle-mirror": "2021.12.31", "vue": "^3.2.31", - "vue-i18n": "^9.2.0-beta.39", + "vue-i18n": "^9.2.2", "vue-router": "4.0.14", "vue-template-compiler": "2.6.11", "vuex": "4.0.2" diff --git a/src/App.js b/src/App.js index 4304787f..3690b944 100644 --- a/src/App.js +++ b/src/App.js @@ -10,7 +10,9 @@ import MobilePostStatusButton from './components/mobile_post_status_button/mobil import MobileNav from './components/mobile_nav/mobile_nav.vue' import DesktopNav from './components/desktop_nav/desktop_nav.vue' import UserReportingModal from './components/user_reporting_modal/user_reporting_modal.vue' +import EditStatusModal from './components/edit_status_modal/edit_status_modal.vue' import PostStatusModal from './components/post_status_modal/post_status_modal.vue' +import StatusHistoryModal from './components/status_history_modal/status_history_modal.vue' import GlobalNoticeList from './components/global_notice_list/global_notice_list.vue' import { windowWidth, windowHeight } from './services/window_utils/window_utils' import { mapGetters } from 'vuex' @@ -33,6 +35,8 @@ export default { SettingsModal, UserReportingModal, PostStatusModal, + EditStatusModal, + StatusHistoryModal, GlobalNoticeList }, data: () => ({ @@ -83,6 +87,7 @@ export default { return this.$store.getters.mergedConfig.alwaysShowNewPostButton || this.layoutType === 'mobile' }, showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel }, + editingAvailable () { return this.$store.state.instance.editingAvailable }, layoutType () { return this.$store.state.interface.layoutType }, privateMode () { return this.$store.state.instance.private }, reverseLayout () { diff --git a/src/App.vue b/src/App.vue index ed4f318e..e1c0f5dc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -58,6 +58,8 @@ + + diff --git a/src/boot/after_store.js b/src/boot/after_store.js index 32f8da78..afbe3d15 100644 --- a/src/boot/after_store.js +++ b/src/boot/after_store.js @@ -275,8 +275,10 @@ const getNodeInfo = async ({ store }) => { store.dispatch('setInstanceOption', { name: 'mediaProxyAvailable', value: features.includes('media_proxy') }) store.dispatch('setInstanceOption', { name: 'safeDM', value: features.includes('safe_dm_mentions') }) store.dispatch('setInstanceOption', { name: 'pollsAvailable', value: features.includes('polls') }) + store.dispatch('setInstanceOption', { name: 'editingAvailable', value: features.includes('editing') }) store.dispatch('setInstanceOption', { name: 'pollLimits', value: metadata.pollLimits }) store.dispatch('setInstanceOption', { name: 'mailerEnabled', value: metadata.mailerEnabled }) + store.dispatch('setInstanceOption', { name: 'translationEnabled', value: features.includes('akkoma:machine_translation') }) const uploadLimits = metadata.uploadLimits store.dispatch('setInstanceOption', { name: 'uploadlimit', value: parseInt(uploadLimits.general) }) @@ -398,6 +400,7 @@ const afterStoreSetup = async ({ store, i18n }) => { store.dispatch('startFetchingAnnouncements') getTOS({ store }) getStickers({ store }) + store.dispatch('getSupportedTranslationlanguages') const router = createRouter({ history: createWebHistory(), diff --git a/src/components/announcements_page/announcements_page.vue b/src/components/announcements_page/announcements_page.vue index b1489dec..a548a8a0 100644 --- a/src/components/announcements_page/announcements_page.vue +++ b/src/components/announcements_page/announcements_page.vue @@ -1,9 +1,9 @@