Skip to content

New design system (newApp bundle) and frontend modernization#931

Draft
tchoi-rs wants to merge 1 commit into
mainfrom
feat/new-design-system-booking-page
Draft

New design system (newApp bundle) and frontend modernization#931
tchoi-rs wants to merge 1 commit into
mainfrom
feat/new-design-system-booking-page

Conversation

@tchoi-rs

@tchoi-rs tchoi-rs commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Description

Highlights:

  • newApp Vite bundle with TanStack Router; About RSpace and Booking pages, excluded from the legacy SiteMesh decorator.
  • Public "About RSpace" page (Shiro anon access at /about).
  • Self-hosted Noto Sans font stack; shadcn/Tailwind v4 design-system components and theme tokens, with typography primitives (Heading, Text, Link, List) using cva variants.
  • Storybook setup for the design system.
  • Remaining frontend test/infra changes not already on os/main (Vitest Browser Mode migration, dependency alignment).

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Bundle Stats — Frontend bundle size change

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
507 → 511 30.19 MB → 30.65 MB (+474.98 kB)
11.08 MB → 11.24 MB (gzip)
+1.54%
Changeset (largest 100 files by percent change)
File Δ Size
acorn@8.17.0/node_modules/acorn/dist/acorn.js 🆕 +115.33 kB 0 B → 115.33 kB
tailwind-merge@3.6.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs 🆕 +26.38 kB 0 B → 26.38 kB
load-matches.js 🆕 +10.78 kB 0 B → 10.78 kB
new-process-route-tree.js 🆕 +9.73 kB 0 B → 9.73 kB
Button/Button.mjs 🆕 +7.77 kB 0 B → 7.77 kB
FloatingFocusManager.mjs 🆕 +6.62 kB 0 B → 6.62 kB
@tanstack+query-core@5.101.2/node_modules/@tanstack/query-core/build/modern/queryObserver.js 🆕 +6.52 kB 0 B → 6.52 kB
useListNavigation.mjs 🆕 +5.48 kB 0 B → 5.48 kB
useDismiss.mjs 🆕 +5.13 kB 0 B → 5.13 kB
useAnchorPositioning.mjs 🆕 +5.1 kB 0 B → 5.1 kB
MenuRoot.mjs 🆕 +4.8 kB 0 B → 4.8 kB
@tanstack+history@1.162.0/node_modules/@tanstack/history/dist/esm/index.js 🆕 +4.08 kB 0 B → 4.08 kB
useHoverReferenceInteraction.mjs 🆕 +3.71 kB 0 B → 3.71 kB
Match.js 🆕 +3.65 kB 0 B → 3.65 kB
MenuPositioner.mjs 🆕 +3.6 kB 0 B → 3.6 kB
popupStoreUtils.mjs 🆕 +3.48 kB 0 B → 3.48 kB
useScrollLock.mjs 🆕 +3.26 kB 0 B → 3.26 kB
Divider/Divider.mjs 🆕 +3.19 kB 0 B → 3.19 kB
cjs/react-dom.production.js 🆕 +3.17 kB 0 B → 3.17 kB
trigger/MenuTrigger.mjs 🆕 +3.14 kB 0 B → 3.14 kB
AppBar.tsx 🆕 +3.01 kB 0 B → 3.01 kB
@floating-ui+react-dom@2.1.8_react-dom@19.2.7_react@19.2.7__react@19.2.7/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs 🆕 +2.74 kB 0 B → 2.74 kB
middleware.mjs 🆕 +2.72 kB 0 B → 2.72 kB
AccountMenu.tsx 🆕 +2.71 kB 0 B → 2.71 kB
tabbable.mjs 🆕 +2.65 kB 0 B → 2.65 kB
TooltipTrigger.mjs 🆕 +2.64 kB 0 B → 2.64 kB
store/MenuStore.mjs 🆕 +2.6 kB 0 B → 2.6 kB
safePolygon.mjs 🆕 +2.53 kB 0 B → 2.53 kB
scroll-restoration.js 🆕 +2.5 kB 0 B → 2.5 kB
Asset.js 🆕 +2.42 kB 0 B → 2.42 kB
button.tsx 🆕 +2.15 kB 0 B → 2.15 kB
tooltip.tsx 🆕 +2 kB 0 B → 2 kB
useHoverFloatingInteraction.mjs 🆕 +1.99 kB 0 B → 1.99 kB
AboutPanel.tsx 🆕 +1.97 kB 0 B → 1.97 kB
TooltipRoot.mjs 🆕 +1.88 kB 0 B → 1.88 kB
useClientPoint.mjs 🆕 +1.87 kB 0 B → 1.87 kB
FloatingPortal.mjs 🆕 +1.85 kB 0 B → 1.85 kB
base/dist/emotion-styled-base.browser.esm.js 🆕 +1.84 kB 0 B → 1.84 kB
FloatingDelayGroup.mjs 🆕 +1.74 kB 0 B → 1.74 kB
headContentUtils.js 🆕 +1.67 kB 0 B → 1.67 kB
popup/MenuPopup.mjs 🆕 +1.67 kB 0 B → 1.67 kB
stores.js 🆕 +1.64 kB 0 B → 1.64 kB
useFocus.mjs 🆕 +1.62 kB 0 B → 1.62 kB
logo-tight.svg 🆕 +1.6 kB 0 B → 1.6 kB
useFloating.mjs 🆕 +1.59 kB 0 B → 1.59 kB
useTypeahead.mjs 🆕 +1.58 kB 0 B → 1.58 kB
useHoverInteractionSharedState.mjs 🆕 +1.52 kB 0 B → 1.52 kB
markOthers.mjs 🆕 +1.51 kB 0 B → 1.51 kB
CompositeList.mjs 🆕 +1.51 kB 0 B → 1.51 kB
lighthouse.ts 🆕 +1.48 kB 0 B → 1.48 kB
store.mjs 🆕 +1.48 kB 0 B → 1.48 kB
useButton.mjs 🆕 +1.46 kB 0 B → 1.46 kB
CatchBoundary.js 🆕 +1.39 kB 0 B → 1.39 kB
merge-props/mergeProps.mjs 🆕 +1.3 kB 0 B → 1.3 kB
MobileSectionSwitcher.tsx 🆕 +1.23 kB 0 B → 1.23 kB
route.js 🆕 +1.21 kB 0 B → 1.21 kB
currentUser.ts 🆕 +1.18 kB 0 B → 1.18 kB
typography.tsx 🆕 +1.17 kB 0 B → 1.17 kB
TooltipPositioner.mjs 🆕 +1.15 kB 0 B → 1.15 kB
Transitioner.js 🆕 +1.14 kB 0 B → 1.14 kB
components/DialogBoundary.tsx 🆕 +1.11 kB 0 B → 1.11 kB
useClick.mjs 🆕 +1.1 kB 0 B → 1.1 kB
userSessionStore.tsx 🆕 +1.05 kB 0 B → 1.05 kB
useRenderElement.mjs 🆕 +1 kB 0 B → 1 kB
ReactStore.mjs 🆕 +1014 B 0 B → 1014 B
hooks/browser/useViewportDimensions.ts 🆕 +992 B 0 B → 992 B
FloatingRootStore.mjs 🆕 +987 B 0 B → 987 B
AppShell.tsx 🆕 +969 B 0 B → 969 B
useAnimationFrame.mjs 🆕 +966 B 0 B → 966 B
store/TooltipStore.mjs 🆕 +963 B 0 B → 963 B
element.mjs 🆕 +948 B 0 B → 948 B
pages/MaintenanceInProgressPage.tsx 🆕 +927 B 0 B → 927 B
config.ts 🆕 +889 B 0 B → 889 B
middleware/arrow.mjs 🆕 +888 B 0 B → 888 B
HelpMenu.tsx 🆕 +863 B 0 B → 863 B
menu.tsx 🆕 +853 B 0 B → 853 B
useCompositeListItem.mjs 🆕 +799 B 0 B → 799 B
adaptiveOriginMiddleware.mjs 🆕 +789 B 0 B → 789 B
useSyncedFloatingRootContext.mjs 🆕 +785 B 0 B → 785 B
useMenuItemCommonProps.mjs 🆕 +782 B 0 B → 782 B
composite.mjs 🆕 +777 B 0 B → 777 B
use-sync-external-store-shim/with-selector.production.js 🆕 +776 B 0 B → 776 B
avatar.tsx 🆕 +767 B 0 B → 767 B
useAnimationsFinished.mjs 🆕 +730 B 0 B → 730 B
use-sync-external-store-shim.production.js 🆕 +729 B 0 B → 729 B
MainNavigation.tsx 🆕 +723 B 0 B → 723 B
rewrite.js 🆕 +721 B 0 B → 721 B
filterPanel/FilterPanelTrigger.mjs 🆕 +685 B 0 B → 685 B
cjs/react-is.production.js 🆕 +661 B 0 B → 661 B
Matches.js 🆕 +658 B 0 B → 658 B
popup/TooltipPopup.mjs 🆕 +629 B 0 B → 629 B
event.mjs 🆕 +625 B 0 B → 625 B
card.tsx 🆕 +617 B 0 B → 617 B
class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs 🆕 +593 B 0 B → 593 B
booking/pages/BookingPage.tsx 🆕 +584 B 0 B → 584 B
manifest.js 🆕 +583 B 0 B → 583 B
useMenuItem.mjs 🆕 +581 B 0 B → 581 B
popupStateMapping.mjs 🆕 +580 B 0 B → 580 B
useFloatingRootContext.mjs 🆕 +573 B 0 B → 573 B
helpWidget.ts 🆕 +563 B 0 B → 563 B
View detailed bundle breakdown

Added

Asset File Size % Changed
newApp-[hash].js 0 B → 214.24 kB (+214.24 kB)
0 B → 98.63 kB (gzip)
-
assets/newApp-[hash].css 0 B → 94.88 kB (+94.88 kB)
0 B → 15.39 kB (gzip)
-
chunks/createTheme-[hash].js 0 B → 45.5 kB (+45.5 kB)
0 B → 20.41 kB (gzip)
-
chunks/react-dom-[hash].js 0 B → 31.95 kB (+31.95 kB)
0 B → 15.85 kB (gzip)
-
chunks/QueryClientProvider-[hash].js 0 B → 24.14 kB (+24.14 kB)
0 B → 9.84 kB (gzip)
-
chunks/clsx-[hash].js 0 B → 7.96 kB (+7.96 kB)
0 B → 3.14 kB (gzip)
-
chunks/lighthouse-[hash].js 0 B → 5.63 kB (+5.63 kB)
0 B → 2.73 kB (gzip)
-
chunks/utils-[hash].js 0 B → 1.32 kB (+1.32 kB)
0 B → 774 B (gzip)
-
chunks/other-[hash].js 0 B → 516 B (+516 B)
0 B → 266 B (gzip)
-
chunks/env-[hash].js 0 B → 478 B (+478 B)
0 B → 370 B (gzip)
-
chunks/buttonClasses-[hash].js 0 B → 435 B (+435 B)
0 B → 266 B (gzip)
-
chunks/useIsoLayoutEffect-[hash].js 0 B → 121 B (+121 B)
0 B → 178 B (gzip)
-
chunks/useSuspenseQuery-[hash].js 0 B → 114 B (+114 B)
0 B → 121 B (gzip)
-
chunks/useQuery-[hash].js 0 B → 48 B (+48 B)
0 B → 68 B (gzip)
-

Removed

Asset File Size % Changed
chunks/queryClient-[hash].js 9.51 kB → 0 B (-9.51 kB)
3.43 kB → 0 B (gzip)
-100%
chunks/AboutRSpaceDialog-[hash].js 4.22 kB → 0 B (-4.22 kB)
1.56 kB → 0 B (gzip)
-100%
chunks/Divider-[hash].js 3.21 kB → 0 B (-3.21 kB)
1.08 kB → 0 B (gzip)
-100%
chunks/createSvgIcon-[hash].js 1.97 kB → 0 B (-1.97 kB)
1.01 kB → 0 B (gzip)
-100%
chunks/Container-[hash].js 1.78 kB → 0 B (-1.78 kB)
922 B → 0 B (gzip)
-100%
about-[hash].js 1011 B → 0 B (-1011 B)
542 B → 0 B (gzip)
-100%
chunks/useViewportDimensions-[hash].js 993 B → 0 B (-993 B)
370 B → 0 B (gzip)
-100%
chunks/with-selector-[hash].js 807 B → 0 B (-807 B)
476 B → 0 B (gzip)
-100%
chunks/gallery-[hash].js 267 B → 0 B (-267 B)
144 B → 0 B (gzip)
-100%
chunks/alertTitleClasses-[hash].js 94 B → 0 B (-94 B)
99 B → 0 B (gzip)
-100%

Bigger

Asset File Size % Changed
chunks/dist-[hash].js 3.16 MB → 3.28 MB (+115.33 kB)
960.01 kB → 994.33 kB (gzip)
+3.56%
chunks/I18nRoot-[hash].js 66.84 kB → 121.25 kB (+54.41 kB)
30.97 kB → 51.77 kB (gzip)
+81.40%
chunks/inputAdornmentClasses-[hash].js 217 B → 3.41 kB (+3.2 kB)
172 B → 1.24 kB (gzip)
+1509.22%
chunks/ButtonBase-[hash].js 10.79 kB → 12.75 kB (+1.96 kB)
5.6 kB → 6.61 kB (gzip)
+18.21%
inventoryEntry-[hash].js 356.55 kB → 358.3 kB (+1.75 kB)
149.7 kB → 150.6 kB (gzip)
+0.49%
chunks/DialogBoundary-[hash].js 7.58 kB → 8.57 kB (+1016 B)
3.01 kB → 3.38 kB (gzip)
+13.09%
chunks/common-[hash].js 36.23 kB → 36.92 kB (+710 B)
12.39 kB → 12.75 kB (gzip)
+1.91%
chunks/about-[hash].js 600 B → 913 B (+313 B)
381 B → 534 B (gzip)
+52.17%
apiDocs-[hash].js 2.35 MB → 2.35 MB (+117 B)
974.87 kB → 974.89 kB (gzip)
+0.00%
chunks/floating-ui.dom-[hash].js 18.18 kB → 18.29 kB (+112 B)
7.7 kB → 7.76 kB (gzip)
+0.60%
chunks/AlertTitle-[hash].js 389 B → 483 B (+94 B)
287 B → 384 B (gzip)
+24.16%
chunks/auth-[hash].js 556 B → 602 B (+46 B)
327 B → 341 B (gzip)
+8.27%
chunks/i18n-[hash].js 82.01 kB → 82.02 kB (+13 B)
26.91 kB → 26.92 kB (gzip)
+0.02%
tinymceStoichiometry-[hash].js 25.65 kB → 25.65 kB (+5 B)
9.86 kB → 9.86 kB (gzip)
+0.02%
chunks/StoichiometryTable-[hash].js 38.8 kB → 38.81 kB (+5 B)
15.93 kB → 15.93 kB (gzip)
+0.01%
sysadminUsers-[hash].js 37.97 kB → 37.98 kB (+4 B)
11.8 kB → 11.79 kB (gzip)
+0.01%
apps-[hash].js 140.79 kB → 140.79 kB (+3 B)
54.66 kB → 54.68 kB (gzip)
+0.00%
tinymceClustermarket-[hash].js 10.82 kB → 10.83 kB (+2 B)
4.68 kB → 4.68 kB (gzip)
+0.02%
workspaceToolbar-[hash].js 65.42 kB → 65.42 kB (+2 B)
25.27 kB → 25.27 kB (gzip)
+0.00%
chunks/InputBase-[hash].js 7.94 kB → 7.94 kB (+2 B)
3.47 kB → 3.47 kB (gzip)
+0.02%
gallery-[hash].js 6.03 kB → 6.03 kB (+1 B)
2.54 kB → 2.54 kB (gzip)
+0.02%
chunks/MaterialsDialog-[hash].js 18.58 kB → 18.58 kB (+1 B)
7.38 kB → 7.38 kB (gzip)
+0.01%
chunks/Tab-[hash].js 14.17 kB → 14.17 kB (+1 B)
5.96 kB → 5.96 kB (gzip)
+0.01%
chunks/Tooltip-[hash].js 7.4 kB → 7.4 kB (+1 B)
2.91 kB → 2.91 kB (gzip)
+0.01%

Smaller

Asset File Size % Changed
chunks/client-[hash].js 260.3 kB → 174.26 kB (-86.04 kB)
94.38 kB → 54.78 kB (gzip)
-33.05%
chunks/parseOrThrow-[hash].js 40.91 kB → 26.45 kB (-14.46 kB)
14.81 kB → 8.43 kB (gzip)
-35.35%
chunks/AppBar-[hash].js 96.27 kB → 91.44 kB (-4.83 kB)
41.38 kB → 39.15 kB (gzip)
-5.01%
chunks/SimpleTreeView-[hash].js 46.34 kB → 45.36 kB (-1002 B)
20.13 kB → 19.46 kB (gzip)
-2.11%
chunks/DataGrid-[hash].js 365.11 kB → 364.68 kB (-436 B)
157.43 kB → 157.09 kB (gzip)
-0.12%
chunks/Button-[hash].js 8.24 kB → 7.82 kB (-424 B)
2.5 kB → 2.25 kB (gzip)
-5.03%
chunks/useDeploymentProperty-[hash].js 809 B → 540 B (-269 B)
532 B → 397 B (gzip)
-33.25%
chunks/InputWrapper-[hash].js 2.67 kB → 2.61 kB (-54 B)
1.55 kB → 1.48 kB (gzip)
-1.98%
chunks/CallableAsposePreview-[hash].js 440.44 kB → 440.41 kB (-34 B)
136.39 kB → 136.39 kB (gzip)
-0.01%
chunks/auth-[hash].js 658 B → 627 B (-31 B)
430 B → 419 B (gzip)
-4.71%
chunks/Picker-[hash].js 139.76 kB → 139.74 kB (-19 B)
63.76 kB → 63.72 kB (gzip)
-0.01%
chunks/ExportDialog-[hash].js 57.94 kB → 57.93 kB (-12 B)
22.05 kB → 22.06 kB (gzip)
-0.02%
chunks/use-stores-[hash].js 252.96 kB → 252.95 kB (-9 B)
79.5 kB → 79.5 kB (gzip)
-0.00%
chunks/EventManager-[hash].js 6.48 kB → 6.47 kB (-6 B)
2.95 kB → 2.95 kB (gzip)
-0.09%
tinymcePyrat-[hash].js 18.48 kB → 18.47 kB (-5 B)
7.57 kB → 7.56 kB (gzip)
-0.03%
chunks/IgsnManagementPage-[hash].js 19.51 kB → 19.51 kB (-3 B)
7.04 kB → 7.04 kB (gzip)
-0.02%
tinymceOmero-[hash].js 20.44 kB → 20.44 kB (-1 B)
8.02 kB → 8.02 kB (gzip)
-0.00%
chunks/KetcherDialog-[hash].js 15.5 MB → 15.5 MB (-1 B)
5.45 MB → 5.45 MB (gzip)
-0.00%
chunks/ShareDialog-[hash].js 28.68 kB → 28.68 kB (-1 B)
9.47 kB → 9.46 kB (gzip)
-0.00%

Base automatically changed from t3code/frontend-i18n-system to main July 8, 2026 16:04
@tchoi-rs
tchoi-rs force-pushed the feat/new-design-system-booking-page branch 3 times, most recently from 9769644 to d03fdd8 Compare July 14, 2026 20:55
@tchoi-rs
tchoi-rs force-pushed the feat/new-design-system-booking-page branch from 96cf633 to 7a50c6a Compare July 16, 2026 15:25
@tchoi-rs
tchoi-rs force-pushed the feat/new-design-system-booking-page branch from 4434b1c to 947cb76 Compare July 17, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant