From 7d0121d5302eacbe3b87cc3936abfa276b1dcc62 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']) + }) +})