Commit graph

1020 commits

Author SHA1 Message Date
Mike Cao
2633697585 Fix row action hover overlap with column controls 2026-02-13 11:47:44 -08:00
Mike Cao
676d83e8f6 Remove board component title fallback 2026-02-13 02:15:34 -08:00
Mike Cao
432be5a5d5 Fix board component scrolling layout consistency 2026-02-13 02:02:44 -08:00
Mike Cao
cda9c684c3 Migrate board layout UI to react-zen and preserve empty component titles 2026-02-13 01:53:53 -08:00
Mike Cao
db637864f6 Move board component metadata editing into modal 2026-02-13 00:18:51 -08:00
Mike Cao
0123f7069b Use Panel instead of Box in boards. 2026-02-13 00:00:51 -08:00
Mike Cao
029814f81f Fix board edit size restoration and remove compare selector 2026-02-12 22:56:02 -08:00
Mike Cao
d8c41ac8a6 Split board view/edit rendering and isolate edit interactions 2026-02-12 22:36:23 -08:00
Mike Cao
b09694ddb6 Remove report components from boards and sanitize saved layouts 2026-02-12 21:32:14 -08:00
Mike Cao
903cccee7c Allow removing board component from column action 2026-02-12 21:13:49 -08:00
Mike Cao
b816e951a5 Fixed BarChart rendering in boards. 2026-02-12 18:10:04 -08:00
Mike Cao
9e9e44519d Keep sidenav menu scrollable with fixed user footer 2026-02-12 17:46:31 -08:00
Mike Cao
e2b391af28 Add board selector to top navigation 2026-02-12 17:26:52 -08:00
Mike Cao
a1f3ad89f6 Add link and pixel selectors to top nav 2026-02-12 17:01:37 -08:00
Mike Cao
dd2d6bca45 Move website selector into top navigation 2026-02-12 16:46:01 -08:00
Mike Cao
400a35d7af Prevent unnecessary chart and board component re-renders 2026-02-12 16:30:43 -08:00
Francis Cao
1f0de47c01 fix mobile nav
Some checks failed
Node.js CI / build (push) Has been cancelled
2026-02-10 13:22:40 -08:00
Francis Cao
02d28a9c53 Merge branch 'analytics' of https://github.com/umami-software/umami into dev
Some checks are pending
Node.js CI / build (push) Waiting to run
2026-02-09 17:52:00 -08:00
Francis Cao
078f082721 do not pass in shareId in websiteEditForm
Some checks failed
Create docker images (cloud) / Build, push, and deploy (push) Has been cancelled
Node.js CI / build (push) Has been cancelled
2026-02-09 17:49:10 -08:00
Francis Cao
f92aa025f6 do not pass in shareId in websiteEditForm 2026-02-09 17:48:28 -08:00
Mike Cao
2c7ab2b734 Use i18n for board component strings, show controls in edit mode, require website before editing
Some checks are pending
Node.js CI / build (push) Waiting to run
- Replace raw strings with useMessages hook in BoardColumn and BoardComponentSelect
- Show WebsiteControls on edit screen so users can test filters
- Disable board body editing until a website is selected
- Scope website select to team websites when editing a team board

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 02:46:30 -08:00
Mike Cao
87bde9da1f Add board component selector with live preview
Allows users to select and inject analytics components into board cells.
Includes component registry, renderer, selector modal with category
menu, config fields for MetricsTable, and live preview. Also scopes
website select to team websites when editing a team board.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 00:52:46 -08:00
Mike Cao
fb6fd293fb Updated zod validation on date range.
Some checks are pending
Create docker images (cloud) / Build, push, and deploy (push) Waiting to run
Node.js CI / build (push) Waiting to run
2026-02-08 22:58:25 -08:00
Mike Cao
28246b8c52 Fix team boards not appearing after creation
Board creation from team context was not passing teamId to the API,
causing boards to be saved as personal boards instead of team boards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:58:46 -08:00
Mike Cao
d26ed3b949 Fixed collapse state of website select. 2026-02-07 23:56:06 -08:00
Mike Cao
08e4da27c1 Move settings nav into SideNav, matching WebsiteNav pattern
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:00:47 -08:00
Mike Cao
04c7216928 Add UserButton to SideNav, refactor NavButton into TeamsButton
- Create UserButton component at bottom of SideNav with Settings, Language,
  Theme, Admin, and Logout menu items
- Move Settings/Logout/Admin/Docs/Support out of NavButton into UserButton
- Remove LanguageButton and ThemeButton from SideNav bottom
- Refactor NavButton into TeamsButton with simplified team switching
- Simplify WebsiteNav and move TeamsButton to App top bar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 21:34:42 -08:00
Mike Cao
50edb71687 Simplify i18n: remove old react-intl artifacts, rename formatMessage to t, replace FormattedMessage with t.rich().
- Rewrite messages.ts to plain string key maps (remove MessageDescriptor)
- Rewrite useMessages hook to expose t from useTranslations() directly
- Rename formatMessage → t across 193 consumer files
- Replace custom FormattedMessage component with next-intl t.rich()
- Update 52 language files to use rich text tags (<b>, <a>)
- Remove all direct imports from @/components/messages in favor of useMessages()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 11:19:04 -08:00
Mike Cao
80cad6ea65 Merge remote-tracking branch 'origin/dev' into dev
Some checks are pending
Node.js CI / build (push) Waiting to run
2026-02-07 03:40:11 -08:00
Mike Cao
f595da612c Fix website reports route type error and pass teamId to board WebsiteSelect.
Remove invalid 3rd parameter from GET handler and parse report type from
query params instead. Pass teamId to WebsiteSelect in BoardEditHeader so
it shows team websites in team context.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 03:25:24 -08:00
Mike Cao
a1890e9261 Replace react-intl with next-intl and consolidate lang files.
Migrate i18n from react-intl to next-intl, eliminating the formatjs
compilation pipeline. Translation files now live as nested JSON in
public/intl/messages/ (single source of truth), removing the duplicated
src/lang/ directory and the copy/compile build steps. The useMessages()
hook API is preserved so all 195+ consumer components are unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 01:51:29 -08:00
Mike Cao
fed8d4c71a Fixed maximize button on Panel. 2026-02-07 00:16:15 -08:00
Francis Cao
795a1caadf fix panel and metrics card css
Some checks are pending
Node.js CI / build (push) Waiting to run
2026-02-06 17:24:11 -08:00
Francis Cao
895abdbbaf Clean up colors and Selects 2026-02-06 16:48:45 -08:00
Francis Cao
9b814aa1ca revert prisma schema to latest, add global css for scroll-bar, fix css 2026-02-06 15:06:10 -08:00
Mike Cao
c479a20cc0 Migrate old CSS variables to new react-zen design system.
Some checks are pending
Node.js CI / build (push) Waiting to run
Journey component, global.css, and variables.css all referenced old
CSS custom properties (--base-color-*, --primary-color, --text-base)
that no longer exist in @umami/react-zen. Mapped them to the new
variable names and removed the dead variables.css file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 11:47:53 -08:00
Mike Cao
b9eb5f9800 Fix missing back button in WebsiteNav by defaulting sidenav-collapsed state to false.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 05:01:11 -08:00
Mike Cao
ce8c108fac Fix team boards endpoint calling getTeamPixels instead of getTeamBoards.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:56:42 -08:00
Mike Cao
18702e130e Decompose BoardPage into individual components and remove debug logging.
Extract BoardRow, BoardColumn, BoardViewHeader, BoardEditHeader, and
boardConstants into separate files. Remove 9 console.log statements
from BoardBody and BoardProvider.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:47:23 -08:00
Mike Cao
5f404f62d8 Bold text for selected items in SideNav and WebsiteNav.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:43:21 -08:00
Mike Cao
3467184b8f Consolidate WebsiteNavSection into WebsiteNav and fix scrollbar flash.
Move sidebar rendering logic into WebsiteNav with isCollapsed prop so
SideNav uses WebsiteNav directly instead of duplicating code. Add
overflow hidden to prevent horizontal scrollbar during expand transition.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:27:37 -08:00
Mike Cao
b3a77d7c04 Fix CompareTables select width, WebsiteSelect min height, and MetricCard gap.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 04:00:42 -08:00
Mike Cao
635317ecfb Combine WebsiteNav into SideNav when viewing a website.
Replace the separate 240px WebsiteNav sidebar with website navigation
integrated into the main SideNav. When a websiteId is active, SideNav
shows a back arrow, WebsiteSelect dropdown, and grouped nav items
instead of the main links. Extract shared useWebsiteNavItems hook used
by both SideNav and WebsiteNav (still used by MobileNav).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:57:28 -08:00
Mike Cao
18c3ffc2d8 Fix NavButton text not showing and remove unused Sidebar.
Show NavButton text whenever sidebar is not collapsed, not only on
pages without sub-navigation. Also remove unused Sidebar component.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 03:12:47 -08:00
Mike Cao
28c9c7d3ec Fix Select component usage by removing items prop and render functions.
Replace render function children with mapped ListItem elements and remove
the unsupported items prop across all Select instances.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 02:46:38 -08:00
Mike Cao
c6dd3fb6ff Rename SideMenu to NavMenu, fix tooltips, and update react-zen.
- Rename SideMenu to NavMenu with visible group title labels and selected item highlighting
- Update react-zen to 0.242.0 and fix responsive breakpoints (xs -> base)
- Style floating tooltips with inverted background across WorldMap, charts, and WeeklyTraffic
- Add CSS variables for primary color and use IconLabel consistently
- Remove stray console.log from LoadingPanel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 01:58:55 -08:00
Mike Cao
7cafc3e61d Replace numeric prop values with named react-zen values.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 23:41:10 -08:00
Mike Cao
f66a508892 Add website binding to boards with filter and date controls.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-05 22:04:59 -08:00
Mike Cao
c3e0290e65 Merge branch 'dev' into boards
Some checks failed
Node.js CI / build (push) Has been cancelled
# Conflicts:
#	.gitignore
#	package.json
#	pnpm-lock.yaml
#	prisma/migrations/16_boards/migration.sql
#	prisma/schema.prisma
#	src/app/(main)/MobileNav.tsx
#	src/app/(main)/websites/[websiteId]/WebsiteHeader.tsx
#	src/app/(main)/websites/[websiteId]/settings/WebsiteShareForm.tsx
#	src/components/common/SideMenu.tsx
#	src/lib/types.ts
2026-02-05 20:05:25 -08:00
Mike Cao
8484fd26e1 Code cleanup. 2026-02-05 19:46:16 -08:00