From e52bce9f1dd16b952e016cb63440a66c19d60e87 Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Sun, 21 Dec 2025 14:20:45 +0530 Subject: [PATCH 001/102] Mkaing the studionavigationtab --- .../shared/views/StudioNavigationTab.vue | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue new file mode 100644 index 0000000000..9bab7199f9 --- /dev/null +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue @@ -0,0 +1,198 @@ + + + + + + + \ No newline at end of file From 0d5446665089c5c9fe642c410fee32caf7ad113d Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Sun, 21 Dec 2025 14:28:54 +0530 Subject: [PATCH 002/102] Updated --- .../shared/views/SkipNavigationLink.vue | 88 ++ .../shared/views/StudioNavigation.vue | 812 ++++++++++++++++++ 2 files changed, 900 insertions(+) create mode 100644 contentcuration/contentcuration/frontend/shared/views/SkipNavigationLink.vue create mode 100644 contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue diff --git a/contentcuration/contentcuration/frontend/shared/views/SkipNavigationLink.vue b/contentcuration/contentcuration/frontend/shared/views/SkipNavigationLink.vue new file mode 100644 index 0000000000..920dd15e8c --- /dev/null +++ b/contentcuration/contentcuration/frontend/shared/views/SkipNavigationLink.vue @@ -0,0 +1,88 @@ + + + + + + + \ No newline at end of file diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue new file mode 100644 index 0000000000..f2bb9797f6 --- /dev/null +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue @@ -0,0 +1,812 @@ + + + + + + + \ No newline at end of file From 7967140898e9cf12d0bbf7c97da500656dd064fd Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Mon, 13 Apr 2026 12:27:08 +0530 Subject: [PATCH 003/102] FIX: resolved the merge conflicts --- .../channelList/views/ChannelListIndex.vue | 35 +-- .../shared/views/StudioNavigation.vue | 290 +++++++----------- 2 files changed, 123 insertions(+), 202 deletions(-) diff --git a/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue b/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue index efc87cb4d3..f4c84e4e99 100644 --- a/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue +++ b/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue @@ -27,47 +27,41 @@ {{ isFAQPage ? $tr('frequentlyAskedQuestions') : $tr('libraryTitle') }} - + - + @@ -130,9 +116,6 @@ v-if="hasTabs" class="studio-navigation__tabs-extension" :aria-label="$tr('mainNavigationLabel')" - :style="{ - backgroundColor: $themeTokens.appBar, - }" >
@@ -93,12 +65,12 @@ }, tabStyles() { return { - color: this.isActive ? this.$themeTokens.primary : this.$themeTokens.text, + color: this.$themeTokens.text, }; }, indicatorStyles() { return { - backgroundColor: this.$themeTokens.primary, + backgroundColor: this.$themeTokens.surface, }; }, isActive() { @@ -189,7 +161,7 @@ font-weight: 600; line-height: 1; color: white; - background-color: #d32f2f; + background-color: black; border-radius: 10px; } @@ -198,7 +170,7 @@ bottom: 0; left: 0; width: 100%; - height: 3px; + height: 2px; } \ No newline at end of file From 1abdc2ff62aab62052bfdb41d4f276b2c69863a9 Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Tue, 13 Jan 2026 23:27:17 +0530 Subject: [PATCH 021/102] Updated styles for tabs --- .../frontend/channelList/views/ChannelListIndex.vue | 2 +- .../frontend/shared/views/StudioNavigationTab.vue | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue b/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue index d9dc547e86..014cdbc927 100644 --- a/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue +++ b/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue @@ -36,7 +36,7 @@ v-for="listType in lists" :key="listType.id" :to="getChannelLink(listType)" - :badgeValue="invitationsByListCounts[listType]" + :badgeValue="5" @click="trackTabClick(listType)" > {{ translateConstant(listType) }} diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue index acf74db854..99a270b46c 100644 --- a/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue @@ -151,18 +151,21 @@ } .studio-navigation-tab__badge { + position: absolute; + top: -8px; + right: -8px; display: inline-flex; align-items: center; justify-content: center; min-width: 20px; + width: 20px; height: 20px; padding: 0 6px; font-size: 12px; font-weight: 600; - line-height: 1; color: white; background-color: black; - border-radius: 10px; + border-radius: 50%; } .studio-navigation-tab__indicator { From c7d1a4a2cdd337026e8b16537b175b901c8b375f Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Wed, 14 Jan 2026 00:33:41 +0530 Subject: [PATCH 022/102] Updated styles for tabs --- .../channelList/views/ChannelListIndex.vue | 2 +- .../shared/views/StudioNavigationTab.vue | 39 ++++++++++--------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue b/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue index 014cdbc927..d9dc547e86 100644 --- a/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue +++ b/contentcuration/contentcuration/frontend/channelList/views/ChannelListIndex.vue @@ -36,7 +36,7 @@ v-for="listType in lists" :key="listType.id" :to="getChannelLink(listType)" - :badgeValue="5" + :badgeValue="invitationsByListCounts[listType]" @click="trackTabClick(listType)" > {{ translateConstant(listType) }} diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue index 99a270b46c..94653f852f 100644 --- a/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigationTab.vue @@ -4,7 +4,14 @@ v-if="to" ref="tabElement" :to="to" - :class="tabClasses" + :class="[ + tabClasses, + $computedClass({ + ':active': { backgroundColor: 'rgba(0, 0, 0, 0.2)' }, + ':focus': { ...$coreOutline, outlineOffset: 0 } + }) + ]" + :style="tabStyles" :aria-current="isActive ? 'page' : null" :tabindex="tabindex" @@ -84,12 +91,11 @@ return this.badgeValue > 0; }, formattedBadgeValue() { - return this.badgeValue > 99 ? '99+' : this.badgeValue.toString(); + return this.badgeValue.toString(); }, badgeAriaLabel() { if (!this.showBadge) return null; - const count = this.badgeValue > 99 ? 'more than 99' : this.badgeValue; - return `${count} notification${this.badgeValue !== 1 ? 's' : ''}`; + return `${this.badgeValue} notification${this.badgeValue !== 1 ? 's' : ''}`; }, }, methods: { @@ -115,7 +121,8 @@ align-items: center; justify-content: center; flex: 0 0 auto; - width: 160px; + min-width: 160px; + max-width: 264px; height: 100%; min-height: 48px; padding: 6px 12px; @@ -128,7 +135,6 @@ white-space: normal; cursor: pointer; background: transparent; - border: none; outline: none; user-select: none; transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1); @@ -138,10 +144,6 @@ opacity: 0.7; } - .studio-navigation-tab:focus-visible { - outline: 2px solid currentcolor; - outline-offset: -2px; - } .studio-navigation-tab__content { position: relative; @@ -152,20 +154,19 @@ .studio-navigation-tab__badge { position: absolute; - top: -8px; - right: -8px; - display: inline-flex; + top: -11px; + right: -22px; + display: flex; + flex-direction: row; align-items: center; justify-content: center; - min-width: 20px; - width: 20px; - height: 20px; - padding: 0 6px; - font-size: 12px; - font-weight: 600; + width: 22px; + height: 22px; + font-size: 14px; color: white; background-color: black; border-radius: 50%; + transition: 0.3s; } .studio-navigation-tab__indicator { From df5573d8743c120efb8466a5ce5e1428e206a86f Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Wed, 14 Jan 2026 01:20:10 +0530 Subject: [PATCH 023/102] Updated styles of sidepanel --- .../shared/views/StudioNavigation.vue | 60 ++----------------- 1 file changed, 4 insertions(+), 56 deletions(-) diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue index d6f8582934..02c620e960 100644 --- a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue @@ -4,6 +4,7 @@ ref="studioNavigation" class="studio-navigation" :style="{ + backgroundColor: $themeTokens.appBar, color: $themeTokens.text, }" @@ -13,6 +14,7 @@
@@ -324,10 +325,10 @@ }, navItemAppearance() { return { - justifyContent: 'flex-start', fontSize: '16px', textTransform: 'none', height: '48px', + width: '100%', }; }, homeLink() { @@ -505,16 +506,6 @@ } break; - case 'Home': - event.preventDefault(); - nextIndex = 0; - break; - - case 'End': - event.preventDefault(); - nextIndex = tabs.length - 1; - break; - default: return; } @@ -641,6 +632,7 @@ display: flex; flex: 1 0 auto; padding: 0 24px; + overflow-x: auto; height: 48px; list-style-type: none; position: relative; @@ -722,48 +714,4 @@ } } - /* Mobile styles */ - @media (max-width: 767px) { - .studio-navigation__title { - margin-left: 12px; - font-size: 18px; - } - - .studio-navigation__tabs-container { - padding: 0 12px; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - scrollbar-width: none; - - &::-webkit-scrollbar { - display: none; - } - } - - .studio-navigation__user-name { - display: none; - } - - .studio-navigation__actions { - gap: 8px; - } - } - - /* RTL Support */ - [dir='rtl'] { - .studio-navigation__title { - margin-right: 16px; - margin-left: 0; - } - - .side-panel-title { - margin-right: 16px; - margin-left: 0; - } - - .side-panel-nav-item { - text-align: right; - } - } - From f9dcc48e08effc6c81252962850ad04eea9e9144 Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Wed, 14 Jan 2026 01:46:54 +0530 Subject: [PATCH 024/102] Updated styles of sidepanel --- .../contentcuration/frontend/shared/views/StudioNavigation.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue index 02c620e960..e80b0ade5a 100644 --- a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue @@ -609,6 +609,7 @@ width: 100%; font-size: 20px; font-weight: 500; + padding-inline-start: 20px; } .text-truncate { From 0d2cec5b7b47ce9889041ed2e08e297bdffdba17 Mon Sep 17 00:00:00 2001 From: Prashant-thakur77 Date: Wed, 14 Jan 2026 10:10:46 +0530 Subject: [PATCH 025/102] Updated sidepanel styles --- .../frontend/shared/views/StudioNavigation.vue | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue index e80b0ade5a..4eeaae105d 100644 --- a/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue +++ b/contentcuration/contentcuration/frontend/shared/views/StudioNavigation.vue @@ -147,7 +147,7 @@ @closePanel="sidePanelOpen = false" >