Skip to content

Commit d7141e6

Browse files
authored
Merge pull request #2815 from umami-software/dev
v2.12.1
2 parents d265845 + 05e4555 commit d7141e6

26 files changed

+52
-9
lines changed

next.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ const config = {
168168
destination: '/api/scripts/telemetry',
169169
},
170170
{
171-
source: '/teams/:teamId/:path*',
171+
source: '/teams/:teamId/:path((?!settings).*)*',
172172
destination: '/:path*',
173173
},
174174
];

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "umami",
3-
"version": "2.12.0",
3+
"version": "2.12.1",
44
"description": "A simple, fast, privacy-focused alternative to Google Analytics.",
55
"author": "Umami Software, Inc. <[email protected]>",
66
"license": "MIT",

src/app/(main)/reports/journey/JourneyView.module.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@
121121
}
122122

123123
.name {
124-
font-weight: 500;
124+
max-width: 200px;
125125
}
126126

127127
.count {

src/app/(main)/reports/journey/JourneyView.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useContext, useMemo, useState } from 'react';
2-
import { TooltipPopup } from 'react-basics';
2+
import { TextOverflow, TooltipPopup } from 'react-basics';
33
import { firstBy } from 'thenby';
44
import classNames from 'classnames';
55
import { useEscapeKey, useMessages } from 'components/hooks';
@@ -191,7 +191,9 @@ export default function JourneyView() {
191191
})}
192192
onClick={() => handleClick(name, columnIndex, paths)}
193193
>
194-
<div className={styles.name}>{name}</div>
194+
<div className={styles.name} title={name}>
195+
<TextOverflow> {name}</TextOverflow>
196+
</div>
195197
<TooltipPopup label={dropOffPercent} disabled={!selected}>
196198
<div className={styles.count} title={nodeCount}>
197199
{formatLongNumber(nodeCount)}

src/app/(main)/teams/[teamId]/layout.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
import TeamProvider from './TeamProvider';
22
import { Metadata } from 'next';
3+
import TeamSettingsLayout from './settings/TeamSettingsLayout';
34

45
export default function ({ children, params: { teamId } }) {
5-
return <TeamProvider teamId={teamId}>{children}</TeamProvider>;
6+
return (
7+
<TeamProvider teamId={teamId}>
8+
<TeamSettingsLayout>{children}</TeamSettingsLayout>
9+
</TeamProvider>
10+
);
611
}
712

813
export const metadata: Metadata = {
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
'use client';
2+
import { ReactNode } from 'react';
3+
import { useMessages, useTeamUrl } from 'components/hooks';
4+
import MenuLayout from 'components/layout/MenuLayout';
5+
6+
export default function TeamSettingsLayout({ children }: { children: ReactNode }) {
7+
const { formatMessage, labels } = useMessages();
8+
const { teamId } = useTeamUrl();
9+
10+
const items = [
11+
{
12+
key: 'team',
13+
label: formatMessage(labels.team),
14+
url: `/teams/${teamId}/settings/team`,
15+
},
16+
{
17+
key: 'websites',
18+
label: formatMessage(labels.websites),
19+
url: `/teams/${teamId}/settings/websites`,
20+
},
21+
{
22+
key: 'members',
23+
label: formatMessage(labels.members),
24+
url: `/teams/${teamId}/settings/members`,
25+
},
26+
].filter(n => n);
27+
28+
return <MenuLayout items={items}>{children}</MenuLayout>;
29+
}

0 commit comments

Comments
 (0)