From b9f83e6d2db2ce95e07d6b68bc78b6b3e860f76d Mon Sep 17 00:00:00 2001 From: addshore Date: Wed, 30 Sep 2026 07:44:10 +0100 Subject: [PATCH] Hide Modern from new skin selections Show Modern only when the wiki already uses it as its default, so existing wikis can retain their setting. At some point, the skin could be entirely remove from the UI once usage is atually gone. Bug: T418562 --- .../Pages/ManageWiki/Cards/Skin.vue | 33 +++++++++++-------- tests/unit/skin.spec.js | 21 ++++++++++++ 2 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 tests/unit/skin.spec.js diff --git a/src/components/Pages/ManageWiki/Cards/Skin.vue b/src/components/Pages/ManageWiki/Cards/Skin.vue index 3ae3ad0e..913b71ec 100644 --- a/src/components/Pages/ManageWiki/Cards/Skin.vue +++ b/src/components/Pages/ManageWiki/Cards/Skin.vue @@ -38,21 +38,26 @@ export default { 'wikiId', ], data () { + const skins = [ + { + value: 'vector', + text: 'Vector', + }, + { + value: 'timeless', + text: 'Timeless', + }, + ] + + if (this.$store.state.wikis.currentWikiSettings.wgDefaultSkin === 'modern') { + skins.splice(1, 0, { + value: 'modern', + text: 'Modern', + }) + } + return { - skins: [ - { - value: 'vector', - text: 'Vector', - }, - { - value: 'modern', - text: 'Modern', - }, - { - value: 'timeless', - text: 'Timeless', - }, - ], + skins, skinId: '', message: false, } diff --git a/tests/unit/skin.spec.js b/tests/unit/skin.spec.js new file mode 100644 index 00000000..ac387ccc --- /dev/null +++ b/tests/unit/skin.spec.js @@ -0,0 +1,21 @@ +import Skin from '@/components/Pages/ManageWiki/Cards/Skin.vue' + +const getSkinValues = (defaultSkin) => Skin.data.call({ + $store: { + state: { + wikis: { + currentWikiSettings: { wgDefaultSkin: defaultSkin }, + }, + }, + }, +}).skins.map(skin => skin.value) + +describe('Skin.vue', () => { + it('does not offer Modern for other default skins', () => { + expect(getSkinValues('vector')).toEqual(['vector', 'timeless']) + }) + + it('retains Modern for wikis that already use it as their default', () => { + expect(getSkinValues('modern')).toEqual(['vector', 'modern', 'timeless']) + }) +})