diff --git a/docs/docs/features/ai.mdx b/docs/docs/features/ai.mdx
index e692259d38..90b4ff5726 100644
--- a/docs/docs/features/ai.mdx
+++ b/docs/docs/features/ai.mdx
@@ -1,17 +1,12 @@
# AI Code Assistant 🪄
-LiveCodes supports AI-powered code completion, totally for **free** with **no account or API token required**, using [Codeium](https://codeium.com/), the ultrafast Copilot alternative. This can be easily enabled from the UI (as easy as [flipping a switch](#ui)!)
+LiveCodes supports AI-powered code completion, totally for **free** with **no account or API token required**, using [Windsurf](https://windsurf.com/). This can be easily enabled from the UI (as easy as [flipping a switch](#ui)!)
The large generative machine learning model is capable of understanding the context of your code and comments (across the [3 code editors](./projects#markup-editor)) in order to generate suggestions on what you might want to type next.
It has a wide range of language support, and it works everywhere (in the [standalone app](../getting-started.mdx#standalone-app), [embedded playgrounds](./embeds.mdx) and [self-hosted](./self-hosting.mdx) apps).
-Powered by:
-
-
-
-
-.
+Powered by:
## Examples:
@@ -74,6 +69,6 @@ On mobile, tap on the suggestion to accept it, or continue typing to reject.
:::caution Note
-Please note that when using Codeium AI assistant, your code is sent to Codeium servers for code completion. However, your code is not used for training their model. Check Codeium [FAQ](https://codeium.com/faq#Will-Codeium-regurgitate-private-code%3F) and [privacy policy](https://codeium.com/privacy-policy) for more details.
+Please note that when using Windsurf AI assistant, your code is sent to Windsurf servers for code completion. However, your code is not used for training their model. Check Windsurf [FAQ](https://windsurf.com/faq#will-windsurf-regurgitate-private-code) and [privacy policy](https://windsurf.com/privacy-policy) for more details.
:::
diff --git a/docs/docs/features/index.mdx b/docs/docs/features/index.mdx
index 0c5679554c..a51c2bea1a 100644
--- a/docs/docs/features/index.mdx
+++ b/docs/docs/features/index.mdx
@@ -22,7 +22,7 @@ The default code editor is the powerful editor that powers [VS Code](https://cod
## AI Code Assistant
-LiveCodes supports AI-powered code completion, totally for **free**, using [Codeium](https://codeium.com/), the ultrafast Copilot alternative. Install the [Codeium chrome extension](https://codeium.com/chrome_tutorial) and enjoy the magic!
+LiveCodes supports AI-powered code completion, totally for **free**, using [Windsurf](https://windsurf.com/). No account or tokens required. Enable from [editor settings](./ai.mdx#ui) and enjoy the magic!
## Mobile-friendly
diff --git a/docs/static/img/credits/windsurf.svg b/docs/static/img/credits/windsurf.svg
new file mode 100644
index 0000000000..d9a8e2d0d9
--- /dev/null
+++ b/docs/static/img/credits/windsurf.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/livecodes/UI/editor-settings.ts b/src/livecodes/UI/editor-settings.ts
index 2c07be698b..21ef9f755e 100644
--- a/src/livecodes/UI/editor-settings.ts
+++ b/src/livecodes/UI/editor-settings.ts
@@ -80,7 +80,7 @@ export const createEditorSettingsUI = async ({
help: `${process.env.DOCS_BASE_URL}features/ai`,
note: window.deps.translateString(
'editorSettings.enableAI.note',
- 'Powered by ',
+ 'Powered by ',
{
isHTML: true,
baseUrl,
@@ -532,6 +532,13 @@ export const createEditorSettingsUI = async ({
});
}
+ const windsurfLogo = document.getElementById('windsurf-logo')!;
+ if (formData.theme === 'light') {
+ windsurfLogo.style.filter = 'invert(1)';
+ } else {
+ windsurfLogo.style.filter = 'unset';
+ }
+
if (!init) {
deps.changeSettings(formData);
codeEditor = formData.editor;
diff --git a/src/livecodes/assets/images/windsurf.svg b/src/livecodes/assets/images/windsurf.svg
new file mode 100644
index 0000000000..cb5a64baa5
--- /dev/null
+++ b/src/livecodes/assets/images/windsurf.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/livecodes/i18n/locales/en/translation.lokalise.json b/src/livecodes/i18n/locales/en/translation.lokalise.json
index 18a481747a..d6d83d19e2 100644
--- a/src/livecodes/i18n/locales/en/translation.lokalise.json
+++ b/src/livecodes/i18n/locales/en/translation.lokalise.json
@@ -1261,7 +1261,7 @@
"translation": "Enable AI Code Assistant"
},
"editorSettings.enableAI.note": {
- "notes": "### ###\n\n\n### ###\n\n\n",
+ "notes": "### ###\n\n\n### ###\n\n\n",
"translation": "Powered by "
},
"editorSettings.foldRegions": {
diff --git a/src/livecodes/styles/app.scss b/src/livecodes/styles/app.scss
index 1ba6917e9c..5ef4a2e49a 100644
--- a/src/livecodes/styles/app.scss
+++ b/src/livecodes/styles/app.scss
@@ -2174,6 +2174,7 @@ pre[class*='language-'].line-numbers > code {
input[type='radio'] {
border-radius: 50%;
+ margin-bottom: var(--s8);
&::after {
background: var(--inner-active);
diff --git a/src/livecodes/styles/inc-modal.scss b/src/livecodes/styles/inc-modal.scss
index b8b7136012..9704789904 100644
--- a/src/livecodes/styles/inc-modal.scss
+++ b/src/livecodes/styles/inc-modal.scss
@@ -1763,7 +1763,7 @@
}
.panel {
- input {
+ input:not([type='radio']) {
margin-bottom: 0;
}