From f8605763ddc4e7db308ff1d0b479bf5ab1aa03d3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 17:25:12 +0200 Subject: [PATCH] i18n - docs translations (#20736) Created by Github action Co-authored-by: github-actions --- .../extend/apps/config/public-assets.mdx | 14 +++++++++++--- .../extend/apps/getting-started/quick-start.mdx | 14 -------------- .../extend/apps/layout/front-components.mdx | 3 ++- .../extend/apps/config/public-assets.mdx | 14 +++++++++++--- .../extend/apps/getting-started/quick-start.mdx | 14 -------------- .../extend/apps/layout/front-components.mdx | 3 ++- .../extend/apps/config/public-assets.mdx | 14 +++++++++++--- .../extend/apps/getting-started/quick-start.mdx | 14 -------------- .../extend/apps/layout/front-components.mdx | 3 ++- .../extend/apps/config/public-assets.mdx | 14 +++++++++++--- .../extend/apps/getting-started/quick-start.mdx | 14 -------------- .../extend/apps/layout/front-components.mdx | 3 ++- .../extend/apps/config/public-assets.mdx | 14 +++++++++++--- .../extend/apps/getting-started/quick-start.mdx | 14 -------------- .../extend/apps/layout/front-components.mdx | 3 ++- .../extend/apps/config/public-assets.mdx | 14 +++++++++++--- .../extend/apps/getting-started/quick-start.mdx | 14 -------------- .../extend/apps/layout/front-components.mdx | 3 ++- 18 files changed, 78 insertions(+), 108 deletions(-) diff --git a/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx index bad62a55bb..09f0262eb2 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/config/public-assets.mdx @@ -22,7 +22,8 @@ Verwenden Sie den Helper `getPublicAssetUrl` aus `twenty-sdk`, um die vollständ **In einer Logikfunktion:** ```ts src/logic-functions/send-invoice.ts -import { defineLogicFunction, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineLogicFunction } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const handler = async (): Promise => { const logoUrl = getPublicAssetUrl('logo.png'); @@ -47,12 +48,19 @@ export default defineLogicFunction({ **In einer Frontend-Komponente:** ```tsx src/front-components/company-card.tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; -export default defineFrontComponent(() => { +const CompanyCard = () => { const logoUrl = getPublicAssetUrl('logo.png'); return App logo; +}; + +export default defineFrontComponent({ + universalIdentifier: '...', + name: 'company-card', + component: CompanyCard, }); ``` diff --git a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx index 593ace0561..32a9507a06 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/getting-started/quick-start.mdx @@ -138,20 +138,6 @@ Beide Modi benötigen ein authentifiziertes Remote-Repository. | `--debounceMs \` | Legt die Entprellzeit für Dateiänderungen in Millisekunden fest (Standard: `2000`). | | `--verbose` / `--debug` | Zeigt ausführliche Build-Protokolle, Sync-Anfragen und Fehler-Traces an. | ---- - -## Mit einem Beispiel beginnen - -Verwenden Sie `--example`, um mit einem vollständigeren Projekt zu starten (benutzerdefinierte Objekte, Felder, Logikfunktionen, Frontend-Komponenten): - -```bash filename="Terminal" -npx create-twenty-app@latest my-twenty-app --example postcard -``` - -Die Beispiele befinden sich unter [twenty-apps/examples](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples). Sie können auch einzelne Entitäten in einem bestehenden Projekt mit `yarn twenty add` erzeugen — siehe [Scaffolding](/l/de/developers/extend/apps/getting-started/scaffolding). - ---- - ## Was Sie erstellen können Apps bestehen aus **Entitäten** — jede ist als TypeScript-Datei mit einem einzigen `export default` definiert: diff --git a/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx index a2a950eb3e..02252a230b 100644 --- a/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/de/developers/extend/apps/layout/front-components.mdx @@ -390,7 +390,8 @@ export default defineFrontComponent({ Front-Komponenten können mit `getPublicAssetUrl` auf Dateien aus dem `public/`-Verzeichnis der App zugreifen: ```tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const Logo = () => Logo; diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx index eb96cd6ce7..9091aede08 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/config/public-assets.mdx @@ -22,7 +22,8 @@ Use o helper `getPublicAssetUrl` de `twenty-sdk` para obter a URL completa de um **Em uma função lógica:** ```ts src/logic-functions/send-invoice.ts -import { defineLogicFunction, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineLogicFunction } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const handler = async (): Promise => { const logoUrl = getPublicAssetUrl('logo.png'); @@ -47,12 +48,19 @@ export default defineLogicFunction({ **Em um componente de front-end:** ```tsx src/front-components/company-card.tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; -export default defineFrontComponent(() => { +const CompanyCard = () => { const logoUrl = getPublicAssetUrl('logo.png'); return App logo; +}; + +export default defineFrontComponent({ + universalIdentifier: '...', + name: 'company-card', + component: CompanyCard, }); ``` diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx index 07f630ac7f..434b47c9c2 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/getting-started/quick-start.mdx @@ -138,20 +138,6 @@ Ambos os modos precisam de um remoto autenticado. | `--debounceMs \` | Define o atraso de debounce para alterações de arquivo em milissegundos (padrão: `2000`). | | `--verbose` / `--debug` | Mostra registros detalhados de compilação, solicitações de sincronização e rastreamentos de erro. | ---- - -## Começando a partir de um exemplo - -Use `--example` para começar com um projeto mais completo (objetos personalizados, campos, funções de lógica, componentes de front-end): - -```bash filename="Terminal" -npx create-twenty-app@latest my-twenty-app --example postcard -``` - -Os exemplos estão em [twenty-apps/examples](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples). Você também pode criar o scaffolding de entidades individuais em um projeto existente com `yarn twenty add` — veja [Scaffolding](/l/pt/developers/extend/apps/getting-started/scaffolding). - ---- - ## O que você pode criar Os aplicativos são compostos por **entidades** — cada uma definida como um arquivo TypeScript com um único `export default`: diff --git a/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx index ec816fff85..7e9a36a263 100644 --- a/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/pt/developers/extend/apps/layout/front-components.mdx @@ -390,7 +390,8 @@ export default defineFrontComponent({ Componentes de front-end podem acessar arquivos do diretório `public/` do app usando `getPublicAssetUrl`: ```tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const Logo = () => Logo; diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx index dee1cab6ac..25e69398df 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/config/public-assets.mdx @@ -22,7 +22,8 @@ Utilizați helperul `getPublicAssetUrl` din `twenty-sdk` pentru a obține URL-ul **Într-o funcție logică:** ```ts src/logic-functions/send-invoice.ts -import { defineLogicFunction, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineLogicFunction } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const handler = async (): Promise => { const logoUrl = getPublicAssetUrl('logo.png'); @@ -47,12 +48,19 @@ export default defineLogicFunction({ **Într-o componentă frontend:** ```tsx src/front-components/company-card.tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; -export default defineFrontComponent(() => { +const CompanyCard = () => { const logoUrl = getPublicAssetUrl('logo.png'); return App logo; +}; + +export default defineFrontComponent({ + universalIdentifier: '...', + name: 'company-card', + component: CompanyCard, }); ``` diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx index 328da43a5f..fa5d9bf758 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/getting-started/quick-start.mdx @@ -138,20 +138,6 @@ Ambele moduri necesită o conexiune la distanță autentificată. | `--debounceMs \` | Setează întârzierea de debounce pentru modificarea fișierului în milisecunde (implicit: `2000`). | | `--verbose` / `--debug` | Afișează jurnale detaliate de construire, cereri de sincronizare și urme ale erorilor. | ---- - -## Pornind de la un exemplu - -Folosiți `--example` pentru a începe cu un proiect mai complet (obiecte personalizate, câmpuri, funcții logice, componente front-end): - -```bash filename="Terminal" -npx create-twenty-app@latest my-twenty-app --example postcard -``` - -Exemplele se află în [twenty-apps/examples](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples). Puteți, de asemenea, să creați scheletul entităților individuale într-un proiect existent cu `yarn twenty add` — vedeți [Crearea scheletului](/l/ro/developers/extend/apps/getting-started/scaffolding). - ---- - ## Ce puteți construi Aplicațiile sunt compuse din **entități** — fiecare definită într-un fișier TypeScript cu un singur `export default`: diff --git a/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx index 69d25df57c..3d7511deca 100644 --- a/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/ro/developers/extend/apps/layout/front-components.mdx @@ -390,7 +390,8 @@ export default defineFrontComponent({ Componentele front-end pot accesa fișiere din directorul `public/` al aplicației folosind `getPublicAssetUrl`: ```tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const Logo = () => Logo; diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx index 1e0d44f5f5..da6b1d62a0 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/config/public-assets.mdx @@ -22,7 +22,8 @@ icon: folder-open **В логической функции:** ```ts src/logic-functions/send-invoice.ts -import { defineLogicFunction, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineLogicFunction } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const handler = async (): Promise => { const logoUrl = getPublicAssetUrl('logo.png'); @@ -47,12 +48,19 @@ export default defineLogicFunction({ **В компоненте фронтенда:** ```tsx src/front-components/company-card.tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; -export default defineFrontComponent(() => { +const CompanyCard = () => { const logoUrl = getPublicAssetUrl('logo.png'); return App logo; +}; + +export default defineFrontComponent({ + universalIdentifier: '...', + name: 'company-card', + component: CompanyCard, }); ``` diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx index 413dcc6ec8..05058f110e 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/getting-started/quick-start.mdx @@ -138,20 +138,6 @@ yarn twenty dev --once | `--debounceMs \` | Установить задержку дебаунса изменений файлов в миллисекундах (по умолчанию: `2000`). | | `--verbose` / `--debug` | Показывать подробные журналы сборки, запросы синхронизации и трассировки ошибок. | ---- - -## Начните с примера - -Используйте `--example`, чтобы начать с более полного проекта (пользовательские объекты, поля, логические функции, фронтенд-компоненты): - -```bash filename="Terminal" -npx create-twenty-app@latest my-twenty-app --example postcard -``` - -Примеры берутся из каталога [twenty-apps/examples](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples) на GitHub. Вы также можете сгенерировать каркас отдельных сущностей в существующем проекте с помощью `yarn twenty add` — см. [Создание каркаса](/l/ru/developers/extend/apps/getting-started/scaffolding). - ---- - ## Что вы можете создать Приложения состоят из **сущностей** — каждая определена как файл TypeScript с одним `export default`: diff --git a/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx index 361baa89b0..0c6c2fbcda 100644 --- a/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/ru/developers/extend/apps/layout/front-components.mdx @@ -390,7 +390,8 @@ export default defineFrontComponent({ Компоненты фронтенда могут получать доступ к файлам из каталога приложения `public/` с помощью `getPublicAssetUrl`: ```tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const Logo = () => Logo; diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx index 3d0d1ffc49..f8fd45e967 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/config/public-assets.mdx @@ -22,7 +22,8 @@ Uygulamanızın kökündeki `public/` klasörü, statik dosyaları barındırır **Bir mantık işlevinde:** ```ts src/logic-functions/send-invoice.ts -import { defineLogicFunction, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineLogicFunction } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const handler = async (): Promise => { const logoUrl = getPublicAssetUrl('logo.png'); @@ -47,12 +48,19 @@ export default defineLogicFunction({ **Bir ön uç bileşeninde:** ```tsx src/front-components/company-card.tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; -export default defineFrontComponent(() => { +const CompanyCard = () => { const logoUrl = getPublicAssetUrl('logo.png'); return App logo; +}; + +export default defineFrontComponent({ + universalIdentifier: '...', + name: 'company-card', + component: CompanyCard, }); ``` diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx index a689524986..b06893683c 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/getting-started/quick-start.mdx @@ -138,20 +138,6 @@ Her iki kipin de kimliği doğrulanmış bir uzak sunucuya ihtiyaç duyar. | `--debounceMs \` | Dosya değişikliği geciktirme süresini milisaniye cinsinden ayarlayın (varsayılan: `2000`). | | `--verbose` / `--debug` | Ayrıntılı derleme günlüklerini, eşitleme isteklerini ve hata izlerini gösterin. | ---- - -## Bir örnekten başlayın - -Daha kapsamlı bir projeyle başlamak için `--example` kullanın (özel nesneler, alanlar, mantık işlevleri, ön uç bileşenleri): - -```bash filename="Terminal" -npx create-twenty-app@latest my-twenty-app --example postcard -``` - -Örnekler [twenty-apps/examples](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples) dizininde yer alır. Ayrıca `yarn twenty add` ile mevcut bir projeye tek tek varlıklar için iskelet oluşturabilirsiniz — bkz. [İskelet Oluşturma](/l/tr/developers/extend/apps/getting-started/scaffolding). - ---- - ## Oluşturabilecekleriniz Uygulamalar **varlıklardan** oluşur — her biri tek bir `export default` içeren bir TypeScript dosyası olarak tanımlanır: diff --git a/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx index eb7f36dd1f..b856a57fee 100644 --- a/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/tr/developers/extend/apps/layout/front-components.mdx @@ -390,7 +390,8 @@ export default defineFrontComponent({ Ön uç bileşenleri, `getPublicAssetUrl` kullanarak uygulamanın `public/` dizinindeki dosyalara erişebilir: ```tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const Logo = () => Logo; diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx index 67e02efcc9..b7e46afadd 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/config/public-assets.mdx @@ -22,7 +22,8 @@ icon: folder-open **在逻辑函数中:** ```ts src/logic-functions/send-invoice.ts -import { defineLogicFunction, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineLogicFunction } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const handler = async (): Promise => { const logoUrl = getPublicAssetUrl('logo.png'); @@ -47,12 +48,19 @@ export default defineLogicFunction({ **在前端组件中:** ```tsx src/front-components/company-card.tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; -export default defineFrontComponent(() => { +const CompanyCard = () => { const logoUrl = getPublicAssetUrl('logo.png'); return App logo; +}; + +export default defineFrontComponent({ + universalIdentifier: '...', + name: 'company-card', + component: CompanyCard, }); ``` diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx index aae986f8e0..2aa0a5b321 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/getting-started/quick-start.mdx @@ -138,20 +138,6 @@ yarn twenty dev --once | `--debounceMs \` | 以毫秒为单位设置文件更改的防抖延迟(默认值:`2000`)。 | | `--verbose` / `--debug` | 显示详细的构建日志、同步请求和错误跟踪。 | ---- - -## 从示例开始 - -使用 `--example` 从一个更完整的项目开始(自定义对象、字段、逻辑函数、前端组件): - -```bash filename="Terminal" -npx create-twenty-app@latest my-twenty-app --example postcard -``` - -示例位于 [twenty-apps/examples](https://github.com/twentyhq/twenty/tree/main/packages/twenty-apps/examples)。 你也可以使用 `yarn twenty add` 为现有项目生成单个实体的脚手架——参见[脚手架](/l/zh/developers/extend/apps/getting-started/scaffolding)。 - ---- - ## 你可以构建的内容 应用由**实体**组成——每个实体定义为一个包含单一 `export default` 的 TypeScript 文件: diff --git a/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx b/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx index d62b8c933f..01c87824ad 100644 --- a/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx +++ b/packages/twenty-docs/l/zh/developers/extend/apps/layout/front-components.mdx @@ -390,7 +390,8 @@ export default defineFrontComponent({ 前端组件可以使用 `getPublicAssetUrl` 访问应用的 `public/` 目录中的文件: ```tsx -import { defineFrontComponent, getPublicAssetUrl } from 'twenty-sdk/define'; +import { defineFrontComponent } from 'twenty-sdk/define'; +import { getPublicAssetUrl } from 'twenty-sdk/utils'; const Logo = () => Logo;