Skip to content

Commit 33233e9

Browse files
Barthélémy Ledouxlmiller1990ZachJW34
authored
fix: various Nav Bar fixes (#19283)
Co-authored-by: Lachlan Miller <lachlan.miller.1990@outlook.com> Co-authored-by: Zachary Williams <ZachJW34@gmail.com>
1 parent e6cbee4 commit 33233e9

File tree

18 files changed

+74
-77
lines changed

18 files changed

+74
-77
lines changed

packages/app/cypress/e2e/integration/settings.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ describe('Settings', { viewportWidth: 600 }, () => {
7272

7373
// navigate away and come back
7474
// preferred editor selected from dropdown should have been persisted
75-
cy.get('[href="#/"]').click()
75+
cy.visitApp()
7676
cy.get('[href="#/settings"]').click()
7777
cy.wait(100)
7878
cy.get('[data-cy="Device Settings"]').click()

packages/app/src/layouts/default.vue

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
<template>
2-
<div class="h-screen min-w-728px layout-grid">
2+
<div class="h-screen min-w-728px grid grid-rows-[64px,1fr] grid-cols-[auto,1fr]">
33
<SidebarNavigation class="row-span-full" />
44

55
<HeaderBar
66
v-if="showHeader"
77
:show-browsers="true"
8-
:page-name="pageName"
8+
:page-name="currentRoute.name?.toString()"
99
/>
1010

1111
<main
1212
aria-labelledby="primary-heading"
13+
class="overflow-auto"
1314
>
1415
<router-view v-slot="{ Component, route }">
1516
<h1
@@ -41,16 +42,4 @@ const currentRoute = useRoute()
4142
const showHeader = computed(() => {
4243
return currentRoute.meta.header !== false
4344
})
44-
45-
const pageName = computed((): string | undefined => {
46-
return currentRoute.meta?.title as string
47-
})
4845
</script>
49-
50-
<style lang="scss" scoped>
51-
.layout-grid {
52-
display: grid;
53-
grid-template-columns: auto 1fr;
54-
grid-template-rows: 64px 1fr;
55-
}
56-
</style>

packages/app/src/navigation/SidebarNavigation.spec.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import SidebarNavigation from './SidebarNavigation.vue'
44
function mountComponent (initialNavExpandedVal = true) {
55
const mainStore = useMainStore()
66

7-
mainStore.navBarExpanded = initialNavExpandedVal
7+
mainStore.setNavBarExpandedByUser(initialNavExpandedVal)
88

99
cy.mount(() => {
1010
return (

packages/app/src/navigation/SidebarNavigation.vue

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
:class="mainStore.navBarExpanded ? 'w-248px' : 'w-64px'"
66
>
77
<button
8-
class="cursor-pointer left-full top-0 bottom-0 w-16px absolute group hocus:outline-transparent"
8+
v-if="navIsAlwaysCollapsed"
9+
class="cursor-pointer left-full top-0 bottom-0 w-16px z-1 absolute group hocus:outline-transparent"
910
role="button"
1011
aria-label="toggle navigation"
1112
@click="mainStore.toggleNavBar"
@@ -117,11 +118,12 @@ import { useMainStore } from '../store'
117118
import { SideBarNavigationDocument } from '../generated/graphql'
118119
import CypressLogo from '@packages/frontend-shared/src/assets/logos/cypress_s.png'
119120
import { useI18n } from '@cy/i18n'
121+
import { useRoute } from 'vue-router'
120122
121123
const { t } = useI18n()
122124
123125
const navigation = [
124-
{ name: 'Specs', icon: CodeIcon, href: '/' },
126+
{ name: 'Specs', icon: CodeIcon, href: '/specs' },
125127
{ name: 'Runs', icon: RunsIcon, href: '/runs' },
126128
{ name: 'Settings', icon: SettingsIcon, href: '/settings' },
127129
]
@@ -145,4 +147,8 @@ const bindingsOpen = ref(false)
145147
146148
const mainStore = useMainStore()
147149
150+
const route = useRoute()
151+
152+
const navIsAlwaysCollapsed = computed(() => route.meta?.navBarExpandedAllowed !== false)
153+
148154
</script>

packages/app/src/pages/Runs.vue

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="relative p-24px h-full">
2+
<div class="h-full p-24px relative">
33
<TransitionQuickFade>
44
<RunsSkeleton v-if="query.fetching.value || !query.data.value" />
55
<RunsPage
@@ -24,12 +24,3 @@ query Runs {
2424
2525
const query = useQuery({ query: RunsDocument })
2626
</script>
27-
28-
<route>
29-
{
30-
name: "Runs",
31-
meta: {
32-
title: "Runs"
33-
}
34-
}
35-
</route>

packages/app/src/pages/Settings.vue

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,3 @@ function reconfigure () {
2929
openElectron.executeMutation({})
3030
}
3131
</script>
32-
33-
<route>
34-
{
35-
name: "Settings Page",
36-
meta: {
37-
title: "Settings"
38-
}
39-
}
40-
</route>

packages/app/src/pages/Specs.vue

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<template>
2+
<router-view />
3+
</template>
4+
5+
<route>
6+
{
7+
meta: {
8+
default: true,
9+
}
10+
}
11+
</route>

packages/app/src/pages/Index.vue renamed to packages/app/src/pages/Specs/Index.vue

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@
1818
</template>
1919

2020
<script lang="ts" setup>
21-
import { gql, useQuery } from '@urql/vue'
22-
import SpecsList from '../specs/SpecsList.vue'
23-
import { SpecsPageContainerDocument } from '../generated/graphql'
24-
import NoSpecsPage from '../specs/NoSpecsPage.vue'
2521
import { computed, ref } from 'vue'
22+
import { gql, useQuery } from '@urql/vue'
2623
import { useI18n } from '@cy/i18n'
24+
import SpecsList from '../../specs/SpecsList.vue'
25+
import NoSpecsPage from '../../specs/NoSpecsPage.vue'
26+
import { SpecsPageContainerDocument } from '../../generated/graphql'
2727
const { t } = useI18n()
2828
2929
gql`
@@ -45,12 +45,3 @@ const title = computed(() => {
4545
})
4646
4747
</script>
48-
49-
<route>
50-
{
51-
name: "Specs Page",
52-
meta: {
53-
title: "Specs"
54-
}
55-
}
56-
</route>

packages/app/src/pages/Runner.vue renamed to packages/app/src/pages/Specs/Runner.vue

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
<script lang="ts" setup>
99
import { gql, useQuery } from '@urql/vue'
10-
import { SpecPageContainerDocument } from '../generated/graphql'
11-
import SpecRunnerContainer from '../runner/SpecRunnerContainer.vue'
10+
import { SpecPageContainerDocument } from '../../generated/graphql'
11+
import SpecRunnerContainer from '../../runner/SpecRunnerContainer.vue'
1212
1313
gql`
1414
query SpecPageContainer {
@@ -22,7 +22,8 @@ const query = useQuery({ query: SpecPageContainerDocument })
2222
<route>
2323
{
2424
meta: {
25-
header: false
25+
header: false,
26+
navBarExpandedAllowed: false
2627
}
2728
}
2829
</route>

packages/app/src/pages/[...all].vue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<div class="text-center mt-20 w-400px mx-auto p-20px border-1 rounded-md">
2+
<div class="rounded-md mx-auto border-1 mt-20 text-center p-20px w-400px">
33
<h1 class="text-2xl">
44
You seem to have gotten lost...
55
</h1>
@@ -10,7 +10,7 @@
1010
<li
1111
v-for="route in routes"
1212
:key="route.path"
13-
class="text-left underline underline-2 underline-offset-1 underline-indigo-700 text-indigo-700 hover:text-indigo-500 hover:underline-indigo-500"
13+
class="text-left text-indigo-700 underline underline-2 underline-offset-1 underline-indigo-700 hover:text-indigo-500 hover:underline-indigo-500"
1414
>
1515
<RouterLink :to="route.path">
1616
{{ route.name }}
@@ -36,7 +36,6 @@ const routes = computed(() => {
3636
layout: "default",
3737
error: true
3838
},
39-
name: "404 Page",
4039
meta: {
4140
title: "404"
4241
}

0 commit comments

Comments
 (0)