diff --git a/package.json b/package.json index 1041fa94..f63eb7d7 100644 --- a/package.json +++ b/package.json @@ -43,19 +43,19 @@ "utf8": "3.0.0", "vue": "3.2.37", "vue-i18n": "9.2.2", - "vue-router": "4.1.3", - "vue-template-compiler": "2.7.9", + "vue-router": "4.1.5", + "vue-template-compiler": "2.7.10", "vuex": "4.0.2" }, "devDependencies": { - "@babel/core": "7.18.10", + "@babel/core": "7.18.13", "@babel/eslint-parser": "7.18.9", "@babel/plugin-transform-runtime": "7.18.10", "@babel/preset-env": "7.18.10", "@babel/register": "7.18.9", "@intlify/vue-i18n-loader": "5.0.0", "@ungap/event-target": "0.2.3", - "@vue/babel-helper-vue-jsx-merge-props": "1.2.1", + "@vue/babel-helper-vue-jsx-merge-props": "1.4.0", "@vue/babel-plugin-jsx": "1.1.1", "@vue/compiler-sfc": "3.2.37", "@vue/test-utils": "2.0.2", @@ -71,12 +71,12 @@ "css-loader": "6.7.1", "css-minimizer-webpack-plugin": "4.0.0", "custom-event-polyfill": "1.0.7", - "eslint": "8.22.0", + "eslint": "8.23.0", "eslint-config-standard": "17.0.0", "eslint-formatter-friendly": "7.0.0", "eslint-plugin-import": "2.26.0", "eslint-plugin-n": "15.2.5", - "eslint-plugin-promise": "6.0.0", + "eslint-plugin-promise": "6.0.1", "eslint-plugin-vue": "9.4.0", "eslint-webpack-plugin": "3.2.0", "eventsource-polyfill": "0.9.6", @@ -85,7 +85,6 @@ "html-webpack-plugin": "5.5.0", "http-proxy-middleware": "2.0.6", "iso-639-1": "2.1.15", - "isparta-loader": "2.0.0", "json-loader": "0.5.7", "karma": "6.4.0", "karma-coverage": "2.2.0", @@ -108,11 +107,11 @@ "sass": "1.54.5", "sass-loader": "13.0.2", "selenium-server": "2.53.1", - "semver": "5.7.1", + "semver": "7.3.7", "serviceworker-webpack5-plugin": "2.0.0", "shelljs": "0.8.5", "sinon": "2.4.1", - "sinon-chai": "2.14.0", + "sinon-chai": "3.7.0", "stylelint": "13.13.1", "stylelint-config-standard": "20.0.0", "stylelint-rscss": "0.4.0", diff --git a/src/App.js b/src/App.js index d1ad16d5..18dd61f2 100644 --- a/src/App.js +++ b/src/App.js @@ -92,8 +92,12 @@ export default { isChats () { return this.$route.name === 'chat' || this.$route.name === 'chats' }, + isListEdit () { + return this.$route.name === 'lists-edit' + }, newPostButtonShown () { if (this.isChats) return false + if (this.isListEdit) return false return this.$store.getters.mergedConfig.alwaysShowNewPostButton || this.layoutType === 'mobile' }, showFeaturesPanel () { return this.$store.state.instance.showFeaturesPanel }, diff --git a/src/App.scss b/src/App.scss index dec187af..75b2667c 100644 --- a/src/App.scss +++ b/src/App.scss @@ -117,12 +117,28 @@ h4 { margin: 0; } +.iconLetter { + display: inline-block; + text-align: center; + font-weight: 1000; +} + i[class*=icon-], -.svg-inline--fa { +.svg-inline--fa, +.iconLetter { color: $fallback--icon; color: var(--icon, $fallback--icon); } +.button-unstyled:hover, +a:hover { + > i[class*=icon-], + > .svg-inline--fa, + > .iconLetter { + color: var(--text); + } +} + nav { z-index: var(--ZI_navbar); color: var(--topBarText); @@ -765,17 +781,23 @@ option { } .fa-scale-110 { - &.svg-inline--fa { + &.svg-inline--fa, + &.iconLetter { font-size: 1.1em; } } .fa-old-padding { + &.iconLetter, &.svg-inline--fa, &-layer { padding: 0 0.3em; } } +.veryfaint { + opacity: 0.25; +} + .login-hint { text-align: center; diff --git a/src/App.vue b/src/App.vue index 1f96efe8..a993c238 100644 --- a/src/App.vue +++ b/src/App.vue @@ -36,7 +36,7 @@
{ const validateAuthenticatedRoute = (to, from, next) => { @@ -79,7 +80,9 @@ export default (store) => { { name: 'legacy-user-profile', path: '/:name', component: UserProfile }, { name: 'lists', path: '/lists', component: Lists }, { name: 'lists-timeline', path: '/lists/:id', component: ListsTimeline }, - { name: 'lists-edit', path: '/lists/:id/edit', component: ListsEdit } + { name: 'lists-edit', path: '/lists/:id/edit', component: ListsEdit }, + { name: 'lists-new', path: '/lists/new', component: ListsEdit }, + { name: 'edit-navigation', path: '/nav-edit', component: NavPanel, props: () => ({ forceExpand: true, forceEditMode: true }), beforeEnter: validateAuthenticatedRoute } ] if (store.state.instance.pleromaChatMessagesAvailable) { diff --git a/src/components/account_actions/account_actions.js b/src/components/account_actions/account_actions.js index 99762562..735dd81c 100644 --- a/src/components/account_actions/account_actions.js +++ b/src/components/account_actions/account_actions.js @@ -1,6 +1,7 @@ import { mapState } from 'vuex' import ProgressButton from '../progress_button/progress_button.vue' import Popover from '../popover/popover.vue' +import UserListMenu from 'src/components/user_list_menu/user_list_menu.vue' import { library } from '@fortawesome/fontawesome-svg-core' import { faEllipsisV @@ -19,7 +20,8 @@ const AccountActions = { }, components: { ProgressButton, - Popover + Popover, + UserListMenu }, methods: { showRepeats () { diff --git a/src/components/account_actions/account_actions.vue b/src/components/account_actions/account_actions.vue index 23547f2c..770740e0 100644 --- a/src/components/account_actions/account_actions.vue +++ b/src/components/account_actions/account_actions.vue @@ -28,6 +28,7 @@ class="dropdown-divider" /> +
- - @{{ user.screen_name_ui }} - + :user="user" + />
diff --git a/src/components/desktop_nav/desktop_nav.scss b/src/components/desktop_nav/desktop_nav.scss index f6c7c43d..1ec25385 100644 --- a/src/components/desktop_nav/desktop_nav.scss +++ b/src/components/desktop_nav/desktop_nav.scss @@ -137,4 +137,8 @@ text-align: right; } } + + .spacer { + width: 1em; + } } diff --git a/src/components/desktop_nav/desktop_nav.vue b/src/components/desktop_nav/desktop_nav.vue index f352c78c..5db7fc79 100644 --- a/src/components/desktop_nav/desktop_nav.vue +++ b/src/components/desktop_nav/desktop_nav.vue @@ -61,6 +61,7 @@ :title="$t('nav.administration')" /> +