Vendor Chatwoot Vue 3 frontend into frontend/

Copy the Chatwoot (v4.14.0) frontend runnable subset into frontend/ for
customization:
- app/javascript/ (Vue SPA: dashboard, widget, sdk, portal, superadmin)
- app/views/ (ERB templates for vite-plugin-ruby entrypoint resolution)
- app/helpers/, app/assets/ (Rails view helpers, static assets)
- enterprise/ (Enterprise edition frontend overlay)
- config/vite.json, vite.config.ts, bin/vite (Vite-Rails toolchain)
- package.json, pnpm-lock.yaml, tailwind/postcss/eslint configs
- Gemfile, Gemfile.lock (vite_rails gem for bin/vite binstub)

Excluded Rails backend: controllers, models, services, jobs, mailers,
policies, db, lib, spec, public, node_modules.

Update references to the new frontend location:
- .gitignore: exclude frontend build artifacts (node_modules, tmp, packs),
  keep frontend/bin/ and frontend/vendor/ via negation
- backend/scripts/parity_frontend_smoke.sh: CHATWOOT_DIR default
  reference/chatwoot -> ../frontend
- backend/scripts/parity_frontend_browser_smoke.mjs: same default update
- AGENTS.md: add frontend section with Rails/Vite coupling notes
- README: architecture tree includes frontend/
This commit is contained in:
2026-07-07 14:56:01 +08:00
parent aeddedf2a3
commit 321c61aaae
5737 changed files with 945861 additions and 3 deletions
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/account', formats: [:json], resource: @resource
@@ -0,0 +1,3 @@
json.array! @resources do |account|
json.partial! 'platform/api/v1/models/account', formats: [:json], resource: account
end
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/account', formats: [:json], resource: @resource
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/account', formats: [:json], resource: @resource
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/agent_bot', formats: [:json], resource: @resource
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/agent_bot', formats: [:json], resource: @resource
@@ -0,0 +1,6 @@
json.array! @resources do |resource|
bot = resource.permissible
next if bot.nil?
json.partial! 'platform/api/v1/models/agent_bot', formats: [:json], resource: bot
end
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/agent_bot', formats: [:json], resource: @resource
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/agent_bot', formats: [:json], resource: @resource
@@ -0,0 +1,9 @@
json.id resource.id
json.name resource.name
json.locale resource.locale
json.domain resource.domain
json.support_email resource.support_email
json.features resource.enabled_features
json.custom_attributes resource.custom_attributes
json.limits resource.limits
json.status resource.status
@@ -0,0 +1,6 @@
json.id resource.id
json.name resource.name
json.description resource.description
json.outgoing_url resource.outgoing_url
json.account_id resource.account_id
json.access_token resource.access_token.token
@@ -0,0 +1,24 @@
json.access_token resource.access_token.token
json.account_id resource.active_account_user&.account_id
json.available_name resource.available_name
json.avatar_url resource.avatar_url
json.confirmed resource.confirmed?
json.display_name resource.display_name
json.message_signature resource.message_signature
json.email resource.email
json.id resource.id
json.name resource.name
json.provider resource.provider
json.pubsub_token resource.pubsub_token
json.custom_attributes resource.custom_attributes if resource.custom_attributes.present?
json.role resource.active_account_user&.role
json.ui_settings resource.ui_settings
json.uid resource.uid
json.accounts do
json.array! resource.account_users do |account_user|
json.id account_user.account_id
json.name account_user.account.name
json.active_at account_user.active_at
json.role account_user.role
end
end
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/user', formats: [:json], resource: @resource
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/user', formats: [:json], resource: @resource
@@ -0,0 +1,9 @@
json.access_token @resource.access_token.token
json.expiry nil
json.user do
json.id @resource.id
json.name @resource.name
json.display_name @resource.display_name
json.email @resource.email
json.pubsub_token @resource.pubsub_token
end
@@ -0,0 +1 @@
json.partial! 'platform/api/v1/models/user', formats: [:json], resource: @resource