gitextract_ovu0z3vr/ ├── .eslintcache ├── .github/ │ └── workflows/ │ └── github-page.yml ├── .gitignore ├── .npmrc ├── README.md ├── components.json ├── eslint.config.js ├── index.html ├── package.json ├── src/ │ ├── api/ │ │ ├── ai.ts │ │ ├── pay.ts │ │ ├── supabase.ts │ │ └── web-widget-api.ts │ ├── app.css │ ├── app.tsx │ ├── components/ │ │ ├── app-sidebar.tsx │ │ ├── dashboard-layout.tsx │ │ ├── login-check.tsx │ │ ├── manager/ │ │ │ ├── deployed-widget-card.tsx │ │ │ └── deployed-widget-list.tsx │ │ ├── nav-main.tsx │ │ ├── nav-user.tsx │ │ ├── purchase-dialog.tsx │ │ ├── setting-section.tsx │ │ ├── team-switcher.tsx │ │ ├── tray/ │ │ │ ├── social-links.tsx │ │ │ └── tray-menu-item.tsx │ │ ├── ui/ │ │ │ ├── alert-dialog.tsx │ │ │ ├── avatar.tsx │ │ │ ├── breadcrumb.tsx │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── command.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── empty.tsx │ │ │ ├── field.tsx │ │ │ ├── input.tsx │ │ │ ├── item.tsx │ │ │ ├── label.tsx │ │ │ ├── pagination.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── sidebar.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── slider.tsx │ │ │ ├── sonner.tsx │ │ │ ├── spinner.tsx │ │ │ ├── switch.tsx │ │ │ ├── table.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ └── tooltip.tsx │ │ ├── user-avatar.tsx │ │ └── widget-sync-item.tsx │ ├── hooks/ │ │ ├── use-app-broadcast.ts │ │ ├── use-app-language.ts │ │ ├── use-app-runtime-info.ts │ │ ├── use-cell-size-config.ts │ │ ├── use-debounce.ts │ │ ├── use-debug-config.ts │ │ ├── use-ipc-listener.ts │ │ ├── use-launch-at-startup-config.ts │ │ ├── use-mobile.ts │ │ ├── use-supabase-channel.ts │ │ ├── use-user.ts │ │ └── use-widget-package.ts │ ├── i18n/ │ │ ├── config.ts │ │ └── locales/ │ │ ├── en/ │ │ │ └── translation.json │ │ └── zh/ │ │ └── translation.json │ ├── index.css │ ├── lib/ │ │ ├── request.ts │ │ └── utils.ts │ ├── main.tsx │ ├── model/ │ │ └── app-version.ts │ ├── pages/ │ │ ├── add/ │ │ │ ├── add-widget-page.tsx │ │ │ └── components/ │ │ │ ├── feature-wall-list.tsx │ │ │ ├── search-item.tsx │ │ │ ├── widget-container.tsx │ │ │ ├── widget-tags.tsx │ │ │ └── zoom-image.tsx │ │ ├── ai/ │ │ │ └── ai-page.tsx │ │ ├── dev/ │ │ │ └── dev-page.tsx │ │ ├── error-page.tsx │ │ ├── packages/ │ │ │ ├── components/ │ │ │ │ └── widget-package-item.tsx │ │ │ └── widget-package-manager-page.tsx │ │ ├── settings/ │ │ │ ├── app-info-page.tsx │ │ │ ├── components/ │ │ │ │ ├── app-theme-form.tsx │ │ │ │ ├── font-family-picker.tsx │ │ │ │ ├── theme-preview.tsx │ │ │ │ └── theme-tags.tsx │ │ │ ├── general-page.tsx │ │ │ ├── proxy-page.tsx │ │ │ └── theme-page.tsx │ │ ├── size/ │ │ │ └── size-page.tsx │ │ ├── tray/ │ │ │ └── tray-page.tsx │ │ └── user/ │ │ └── profile-page.tsx │ ├── router/ │ │ └── index.tsx │ └── utils/ │ ├── version-utils.ts │ └── widget-util.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts