From afcdc37b7ab7f6f8fb89bb1445c416e361971ce2 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Tue, 22 Oct 2024 18:49:48 +0530 Subject: [PATCH 01/12] Added authentication error page --- .../[locale]/(marketing)/auth/error/page.tsx | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 frontend/app/[locale]/(marketing)/auth/error/page.tsx diff --git a/frontend/app/[locale]/(marketing)/auth/error/page.tsx b/frontend/app/[locale]/(marketing)/auth/error/page.tsx new file mode 100644 index 00000000..8205bb61 --- /dev/null +++ b/frontend/app/[locale]/(marketing)/auth/error/page.tsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { AlertCircle } from 'lucide-react'; +import { Card } from '@/components/ui/card'; + +const AuthErrorPage = () => { + return ( +
+ +
+
+ +
+

Authentication Error

+

+ We're sorry, but there was an error during the authentication process. Please try again or contact support if the issue persists. +

+
+
+

Error Code: AUTH_001 | Time: {new Date().toLocaleTimeString()}

+
+
+
+ ); +}; + +export default AuthErrorPage; From 4dcd3b164442f0b39fed4616e2fabd016a2781d4 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Tue, 22 Oct 2024 19:23:46 +0530 Subject: [PATCH 02/12] Added login and back to home button --- .../app/[locale]/(marketing)/auth/error/page.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frontend/app/[locale]/(marketing)/auth/error/page.tsx b/frontend/app/[locale]/(marketing)/auth/error/page.tsx index 8205bb61..a6ababa1 100644 --- a/frontend/app/[locale]/(marketing)/auth/error/page.tsx +++ b/frontend/app/[locale]/(marketing)/auth/error/page.tsx @@ -1,8 +1,12 @@ +'use client'; import React from 'react'; import { AlertCircle } from 'lucide-react'; import { Card } from '@/components/ui/card'; +import { useRouter } from 'next/navigation'; +import { Button } from '@/components/ui/button'; const AuthErrorPage = () => { + const router = useRouter(); return (
@@ -14,6 +18,14 @@ const AuthErrorPage = () => {

We're sorry, but there was an error during the authentication process. Please try again or contact support if the issue persists.

+
+ + +

Error Code: AUTH_001 | Time: {new Date().toLocaleTimeString()}

From 8f84c924f84c78a0436c12b2e87daf530e6a4715 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 03:00:10 +0000 Subject: [PATCH 03/12] docs: Added README."zh-CN".md translation via https://github.com/dephraiim/translate-readme --- README.zh-CN.md | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/README.zh-CN.md b/README.zh-CN.md index 537e1ca4..2f1a6687 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -8,7 +8,7 @@
-**英语**\|[中文](./README_ZH.md)\|[德语](./README_DE.md)\|[法语](./README_FR.md)\|[西班牙语](README_ES.md)\|[日本人](./README_JA.md) +**英语**\|[中文](./README.zh-CN.md)\|[德语](./README.de.md)\|[法语](./README.fr.md)\|[西班牙语](README.es.md)\|[日本人](./README.ja.md)
@@ -56,17 +56,27 @@ Memfree 使用最强大的 AI 模型 - Claude 3.5 Sonnet 和最流行的前端 MemFree 配备强大的功能,可满足各种搜索和生产力需求: -- **多种AI模型**:集成ChatGPT、Claude、Gemini等多种AI能力。 -- **支持多种搜索引擎**:适用于 Google、Exa 和 Vector。 -- **多种搜索输入格式**:文本、图片、文件、网页,特别支持多图搜索、比较、总结、分析。 -- **多种结果呈现方式**:文本、思维导图、图像和视频。 -- **本地文件格式兼容性**:支持文本、PDF、Docx、PPTX 和 Markdown 文件。 -- **跨设备同步**:跨多个设备保存和同步搜索历史记录。 -- **多语言支持**:提供英语、中文、德语、法语、西班牙语、日语和阿拉伯语版本。 -- **Chrome 书签同步**:一键同步和索引。 -- **成果分享**:轻松分享您的搜索结果。 -- **上下文连续搜索**:根据上下文无缝搜索。 -- **自动网络搜索决策**:自动确定何时执行互联网搜索。 +- 🤖**多种AI模型**:集成ChatGPT、Claude、Gemini等多种AI能力。 + +- 🌐**支持多种搜索引擎**:适用于 Google、Exa 和 Vector。 + +- 🖼️**多种搜索输入格式**:文本、图片、文件、网页,特别支持多图搜索、比较、总结、分析。 + +- 📊**多种结果呈现方法**:文本、思维导图、图像和视频。 + +- 📄**本地文件格式兼容性**:支持文本、PDF、Docx、PPTX 和 Markdown 文件。 + +- 🔄**跨设备同步**:跨多个设备保存和同步搜索历史记录。 + +- 🌍**多语言支持**:提供英语、中文、德语、法语、西班牙语、日语和阿拉伯语版本。 + +- 🔗**Chrome 书签同步**:一键同步和索引。 + +- 📤**成果分享**:轻松分享您的搜索结果。 + +- 🔍**上下文连续搜索**:根据上下文无缝搜索。 + +- ⚙️**自动网络搜索决策**:自动确定何时执行互联网搜索。 ## MemFree AI UI 生成器功能 @@ -117,10 +127,14 @@ MemFree 配备强大的功能,可满足各种搜索和生产力需求: ### 先决条件 -#### 安装好 +#### Install Bun curl -fsSL https://bun.sh/install | bash +> 未找到面包错误 + +如果您收到与未找到 Bun 命令相关的错误。查看:[Bun 官方文档](https://bun.sh/docs/installation#checking-installation) + #### Upstash Redis 在几秒钟内创建一个 Redis 兼容数据库:[Upstash Redis](https://upstash.com/docs/redis/overall/getstarted) @@ -185,6 +199,10 @@ MemFree 配备强大的功能,可满足各种搜索和生产力需求: MemFree 由以下机构支持[内存自由](https://www.memfree.me/)并获得许可[和](https://github.com/memfreeme/memfree/blob/main/LICENSE). +## 相关项目 + +- [React + Shadcn UI 预览](https://reactshadcn.com) + ## 明星历史 [![Star History Chart](https://api.star-history.com/svg?repos=memfreeme/memfree&type=Date)](https://star-history.com/#memfreeme/memfree&Date) From f522e2b68e60e3b034b5e465cb4defeed1c8b1e5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 03:00:28 +0000 Subject: [PATCH 04/12] docs: Added README."de".md translation via https://github.com/dephraiim/translate-readme --- README.de.md | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/README.de.md b/README.de.md index 1538bc87..93c41841 100644 --- a/README.de.md +++ b/README.de.md @@ -8,7 +8,7 @@
-**Englisch**\|[chinesisch](./README_ZH.md)\|[Deutsch](./README_DE.md)\|[Französisch](./README_FR.md)\|[Spanisch](README_ES.md)\|[japanisch](./README_JA.md) +**Englisch**\|[chinesisch](./README.zh-CN.md)\|[Deutsch](./README.de.md)\|[Französisch](./README.fr.md)\|[Spanisch](README.es.md)\|[japanisch](./README.ja.md)
@@ -56,17 +56,27 @@ Memfree nutzt das leistungsstärkste KI-Modell – Claude 3.5 Sonnet und das bel MemFree ist mit leistungsstarken Funktionen ausgestattet, die verschiedene Such- und Produktivitätsanforderungen erfüllen: -- **Mehrere KI-Modelle**: Integriert ChatGPT, Claude und Gemini für verschiedene KI-Funktionen. -- **Mehrere Suchmaschinen werden unterstützt**: Funktioniert mit Google, Exa und Vector. -- **Mehrere Sucheingabeformate**: Text, Bilder, Dateien und Webseiten. Insbesondere unterstützt es die Suche, den Vergleich, die Zusammenfassung und die Analyse mehrerer Bilder. -- **Mehrere Methoden zur Ergebnispräsentation**: Text, Mindmaps, Bilder und Videos. -- **Kompatibilität mit lokalen Dateiformaten**: Unterstützt Text-, PDF-, Docx-, PPTX- und Markdown-Dateien. -- **Geräteübergreifende Synchronisierung**: Suchverlauf auf mehreren Geräten speichern und synchronisieren. -- **Mehrsprachige Unterstützung**: Verfügbar in Englisch, Chinesisch, Deutsch, Französisch, Spanisch, Japanisch und Arabisch. -- **Chrome-Lesezeichen-Synchronisierung**: Synchronisierung und Indizierung mit einem Klick. -- **Ergebnisfreigabe**: Teilen Sie ganz einfach Ihre Suchergebnisse. -- **Kontextuelle kontinuierliche Suche**: Nahtlose Suche basierend auf dem Kontext. -- **Automatische Websuchentscheidungen**: Bestimmt automatisch, wann Internetsuchen durchgeführt werden sollen. +- 🤖**Mehrere KI-Modelle**: Integriert ChatGPT, Claude und Gemini für verschiedene KI-Funktionen. + +- 🌐**Mehrere Suchmaschinen werden unterstützt**: Funktioniert mit Google, Exa und Vector. + +- 🖼️**Mehrere Sucheingabeformate**: Insbesondere Texte, Bilder, Dateien und Webseiten. Unterstützt die Suche, den Vergleich, die Zusammenfassung und die Analyse mehrerer Bilder. + +- 📊**Mehrere Methoden zur Ergebnispräsentation**: Text, Mindmaps, Bilder und Videos. + +- 📄**Kompatibilität mit lokalen Dateiformaten**: Unterstützt Text-, PDF-, Docx-, PPTX- und Markdown-Dateien. + +- 🔄**Geräteübergreifende Synchronisierung**: Suchverlauf auf mehreren Geräten speichern und synchronisieren. + +- 🌍**Mehrsprachige Unterstützung**: Verfügbar in Englisch, Chinesisch, Deutsch, Französisch, Spanisch, Japanisch und Arabisch. + +- 🔗**Chrome-Lesezeichen-Synchronisierung**: One-click synchronization and indexing. + +- 📤**Ergebnisfreigabe**: Teilen Sie ganz einfach Ihre Suchergebnisse. + +- 🔍**Kontextuelle kontinuierliche Suche**: Nahtlose Suche basierend auf dem Kontext. + +- ⚙️**Automatische Websuchentscheidungen**: Bestimmt automatisch, wann Internetsuchen durchgeführt werden sollen. ## Funktionen des MemFree AI UI Generators @@ -121,6 +131,10 @@ MemFree ist mit leistungsstarken Funktionen ausgestattet, die verschiedene Such- curl -fsSL https://bun.sh/install | bash +> Fehler „Brötchen nicht gefunden“. + +Wenn Sie eine Fehlermeldung erhalten, die sich darauf bezieht, dass der Bun-Befehl nicht gefunden wurde. Schauen Sie sich Folgendes an:[Offizielle Bun-Dokumentation](https://bun.sh/docs/installation#checking-installation) + #### Upstash Redis Erstellen Sie in Sekundenschnelle eine Redis-kompatible Datenbank:[Upstash Redis](https://upstash.com/docs/redis/overall/getstarted) @@ -161,7 +175,7 @@ Holen Sie sich einen Serper-API-Schlüssel:[Serper](https://serper.dev/api-key) So können Sie einen Beitrag leisten: -- [Öffnen Sie ein Problem](https://github.com/memfreeme/memfree/issues)wenn Sie glauben, dass Sie auf einen Fehler gestoßen sind. +- [Öffnen Sie ein Problem](https://github.com/memfreeme/memfree/issues) if you believe you've encountered a bug. - Machen Sie ein[Pull-Anfrage](https://github.com/memfreeme/memfree/pulls)um neue Funktionen hinzuzufügen/die Lebensqualität zu verbessern/Fehler zu beheben. ## Vielen Dank an alle Mitwirkenden @@ -185,6 +199,10 @@ So können Sie einen Beitrag leisten: MemFree wird unterstützt von[MemFree](https://www.memfree.me/)und lizenziert unter[MIT](https://github.com/memfreeme/memfree/blob/main/LICENSE). +## Verwandte Projekte + +- [React + Shadcn UI-Vorschau](https://reactshadcn.com) + ## Sternengeschichte [![Star History Chart](https://api.star-history.com/svg?repos=memfreeme/memfree&type=Date)](https://star-history.com/#memfreeme/memfree&Date) From f5ab885ca8f87fe2c5c3ec1b6bff6bc8bcb15472 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 05:26:43 +0000 Subject: [PATCH 05/12] docs: Added README."zh-CN".md translation via https://github.com/dephraiim/translate-readme --- README.zh-CN.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.zh-CN.md b/README.zh-CN.md index 5f6260d6..5a031fd5 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -8,7 +8,7 @@
-**英语**\|[中文](./README.zh-CN.md)\|[德语](./README.de.md)\|[法语](./README.fr.md) \| [西班牙语](README.es.md)\|[日本人](./README.ja.md) +**英语**\|[中文](./README.zh-CN.md)\|[德语](./README.de.md)\|[法语](./README.fr.md)\|[Español](README.es.md)\|[日本人](./README.ja.md)
@@ -83,7 +83,7 @@ MemFree 配备强大的功能,可满足各种搜索和生产力需求: - **🖥️ 实时 UI 预览**:即时渲染并预览生成的 UI - **🔍 AI 支持的内容搜索**:使用我们先进的人工智能搜索功能,用相关内容丰富您的用户界面 - **🖼 图像驱动的 UI 生成**:创建与您的参考图像紧密匹配的 UI 组件和页面 -- **⚛️ React + TailWind + Shadcn UI Integration**:使用最流行的前端堆栈利用人工智能生成的代码:React、TailWind 和 Shadcn UI +- **⚛️ React + TailWind + Shadcn UI 集成**:使用最流行的前端堆栈利用人工智能生成的代码:React、TailWind 和 Shadcn UI - **🚀 一键式 UI 发布**:只需单击一下即可立即将您的 UI 发布并共享到网络上 - **📱 响应式代码和预览**:跨各种设备实时预览您的UI,确保完美适应所有屏幕尺寸 - **🌓 深色模式代码和预览**:轻松生成人工智能驱动的 UI 代码,并内置深色模式支持,让您可以立即预览浅色和深色模式 From cc296ef9fbf7d399a15edfe9b9fda3f7dc086433 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 05:27:02 +0000 Subject: [PATCH 06/12] docs: Added README."fr".md translation via https://github.com/dephraiim/translate-readme --- README.fr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.fr.md b/README.fr.md index 399d4f3e..2bfb64a5 100644 --- a/README.fr.md +++ b/README.fr.md @@ -54,7 +54,7 @@ Memfree utilise le modèle d'IA le plus puissant - Claude 3.5 Sonnet et le frame ## Fonctionnalités de recherche IA hybride MemFree -MemFree is equipped with powerful features that cater to various search and productivity needs: +MemFree est équipé de fonctionnalités puissantes qui répondent à divers besoins de recherche et de productivité : - 🤖**Multiple AI Models**: Intègre ChatGPT, Claude et Gemini pour diverses capacités d'IA. From 820ed633c86602c24bb9ce4622ef1ac925b5f8b7 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Fri, 25 Oct 2024 11:05:03 +0530 Subject: [PATCH 07/12] Fix zustand warnings --- frontend/lib/store/local-limit.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/lib/store/local-limit.ts b/frontend/lib/store/local-limit.ts index 83a97d12..ff35904e 100644 --- a/frontend/lib/store/local-limit.ts +++ b/frontend/lib/store/local-limit.ts @@ -1,5 +1,5 @@ import { create } from 'zustand'; -import { persist } from 'zustand/middleware'; +import { createJSONStorage, persist } from 'zustand/middleware'; interface SearchLimit { searchCount: number; @@ -38,7 +38,7 @@ const useSearchLimit = create()( }), { name: 'search-limit', - getStorage: () => localStorage, + storage: createJSONStorage(() => localStorage), }, ), ); From d2be4990ca5eddc3496d886c3ca1ee256ba1f2f1 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Fri, 25 Oct 2024 14:07:47 +0530 Subject: [PATCH 08/12] Add stoage option instead of getStorage --- frontend/lib/store/local-limit.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/lib/store/local-limit.ts b/frontend/lib/store/local-limit.ts index 83a97d12..ff35904e 100644 --- a/frontend/lib/store/local-limit.ts +++ b/frontend/lib/store/local-limit.ts @@ -1,5 +1,5 @@ import { create } from 'zustand'; -import { persist } from 'zustand/middleware'; +import { createJSONStorage, persist } from 'zustand/middleware'; interface SearchLimit { searchCount: number; @@ -38,7 +38,7 @@ const useSearchLimit = create()( }), { name: 'search-limit', - getStorage: () => localStorage, + storage: createJSONStorage(() => localStorage), }, ), ); From a4388b54c65c5d72a3b8fbc67c8dd06da8c5dbd5 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Fri, 25 Oct 2024 14:39:30 +0530 Subject: [PATCH 09/12] Removed merging annotation --- README.de.md | 64 ++++++++++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 34 deletions(-) diff --git a/README.de.md b/README.de.md index 1a735bbb..55625f43 100644 --- a/README.de.md +++ b/README.de.md @@ -47,52 +47,48 @@ Memfree nutzt das leistungsstärkste KI-Modell – Claude 3.5 Sonnet und das bel ## Was macht MemFree wertvoll? -- **Effizientes Wissensmanagement**: MemFree macht die manuelle Organisation von Notizen, Lesezeichen und Dokumenten überflüssig. Wenn Sie Informationen benötigen, suchen Sie einfach in MemFree, um schnell relevante Antworten zu finden, was Ihren Speicher frei macht und die Produktivität steigert. -- **Zeitsparende KI-Zusammenfassungen**: Anstatt sich durch mehrere Google-Suchergebnisse zu klicken, nutzt MemFree KI, um sofort die besten Inhalte von Webseiten und Ihrer Wissensdatenbank zusammenzufassen und so wertvolle Zeit zu sparen. -- **Kostengünstige Lösung**: Vermeiden Sie mehrere Abonnements für Dienste wie ChatGPT Plus, Claude Pro und Gemini Advanced. MemFree integriert deren Funktionalitäten und reduziert so die monatlichen Kosten erheblich. -- **100x schnellere UI-Seitenerstellung**: Konvertieren Sie Text oder Bilder in Sekundenschnelle in beeindruckenden, produktionsbereiten Code. Visualisieren Sie Ihre Designs während der Erstellung. Veröffentlichen Sie Ihre Seiten nahtlos. +- **Effizientes Wissensmanagement**: MemFree macht die manuelle Organisation von Notizen, Lesezeichen und Dokumenten überflüssig. Wenn Sie Informationen benötigen, suchen Sie einfach in MemFree, um schnell relevante Antworten zu finden, was Ihren Speicher frei macht und die Produktivität steigert. +- **Zeitsparende KI-Zusammenfassungen**: Anstatt sich durch mehrere Google-Suchergebnisse zu klicken, nutzt MemFree KI, um sofort die besten Inhalte von Webseiten und Ihrer Wissensdatenbank zusammenzufassen und so wertvolle Zeit zu sparen. +- **Kostengünstige Lösung**: Vermeiden Sie mehrere Abonnements für Dienste wie ChatGPT Plus, Claude Pro und Gemini Advanced. MemFree integriert deren Funktionalitäten und reduziert so die monatlichen Kosten erheblich. +- **100x schnellere UI-Seitenerstellung**: Konvertieren Sie Text oder Bilder in Sekundenschnelle in beeindruckenden, produktionsbereiten Code. Visualisieren Sie Ihre Designs während der Erstellung. Veröffentlichen Sie Ihre Seiten nahtlos. ## MemFree Hybrid AI-Suchfunktionen MemFree ist mit leistungsstarken Funktionen ausgestattet, die verschiedene Such- und Produktivitätsanforderungen erfüllen: -- 🤖**Mehrere KI-Modelle**: Integriert ChatGPT, Claude und Gemini für verschiedene KI-Funktionen. +- 🤖**Mehrere KI-Modelle**: Integriert ChatGPT, Claude und Gemini für verschiedene KI-Funktionen. -- 🌐**Mehrere Suchmaschinen werden unterstützt**: Funktioniert mit Google, Exa und Vector. +- 🌐**Mehrere Suchmaschinen werden unterstützt**: Funktioniert mit Google, Exa und Vector. -- 🖼️**Mehrere Sucheingabeformate**: Insbesondere Texte, Bilder, Dateien und Webseiten. Unterstützt die Suche, den Vergleich, die Zusammenfassung und die Analyse mehrerer Bilder. +- 🖼️**Mehrere Sucheingabeformate**: Insbesondere Texte, Bilder, Dateien und Webseiten. Unterstützt die Suche, den Vergleich, die Zusammenfassung und die Analyse mehrerer Bilder. -- 📊**Mehrere Methoden zur Ergebnispräsentation**: Text, Mindmaps, Bilder und Videos. +- 📊**Mehrere Methoden zur Ergebnispräsentation**: Text, Mindmaps, Bilder und Videos. -- 📄**Kompatibilität mit lokalen Dateiformaten**: Unterstützt Text-, PDF-, Docx-, PPTX- und Markdown-Dateien. +- 📄**Kompatibilität mit lokalen Dateiformaten**: Unterstützt Text-, PDF-, Docx-, PPTX- und Markdown-Dateien. -- 🔄**Geräteübergreifende Synchronisierung**: Suchverlauf auf mehreren Geräten speichern und synchronisieren. +- 🔄**Geräteübergreifende Synchronisierung**: Suchverlauf auf mehreren Geräten speichern und synchronisieren. -- 🌍**Mehrsprachige Unterstützung**: Verfügbar in Englisch, Chinesisch, Deutsch, Französisch, Spanisch, Japanisch und Arabisch. +- 🌍**Mehrsprachige Unterstützung**: Verfügbar in Englisch, Chinesisch, Deutsch, Französisch, Spanisch, Japanisch und Arabisch. -<<<<<<< HEAD -- 🔗**Chrome-Lesezeichen-Synchronisierung**: One-click synchronization and indexing. -======= -- 🔗**Chrome-Lesezeichen-Synchronisierung**: Synchronisierung und Indizierung mit einem Klick. ->>>>>>> cc296ef9fbf7d399a15edfe9b9fda3f7dc086433 +- 🔗**Chrome-Lesezeichen-Synchronisierung**: Synchronisierung und Indizierung mit einem Klick. -- 📤**Ergebnisfreigabe**: Teilen Sie ganz einfach Ihre Suchergebnisse. +- 📤**Ergebnisfreigabe**: Teilen Sie ganz einfach Ihre Suchergebnisse. -- 🔍**Kontextuelle kontinuierliche Suche**: Nahtlose Suche basierend auf dem Kontext. +- 🔍**Kontextuelle kontinuierliche Suche**: Nahtlose Suche basierend auf dem Kontext. -- ⚙️**Automatische Websuchentscheidungen**: Bestimmt automatisch, wann Internetsuchen durchgeführt werden sollen. +- ⚙️**Automatische Websuchentscheidungen**: Bestimmt automatisch, wann Internetsuchen durchgeführt werden sollen. ## Funktionen des MemFree AI UI Generators -- **🖥️ Echtzeit-UI-Vorschau**: Generierte Benutzeroberfläche sofort rendern und in der Vorschau anzeigen -- **🔍 KI-gestützte Inhaltssuche**: Bereichern Sie Ihre Benutzeroberfläche mit relevanten Inhalten mithilfe unserer erweiterten KI-Suchfunktion -- **🖼 Bildgesteuerte UI-Generierung**: Erstellen Sie UI-Komponenten und Seiten, die Ihren Referenzbildern genau entsprechen -- **⚛️ React + TailWind + Shadcn UI-Integration**: Nutzen Sie KI-generierten Code mit dem beliebtesten Front-End-Stack: React, TailWind und Shadcn UI -- **🚀 One-Click-UI-Veröffentlichung**: Veröffentlichen und teilen Sie Ihre Benutzeroberfläche sofort mit einem einzigen Klick im Web -- **📱 Responsiver Code und Vorschau**: Sehen Sie sich Ihre Benutzeroberfläche in Echtzeit auf verschiedenen Geräten an und sorgen Sie so für eine perfekte Anpassung an alle Bildschirmgrößen -- **🌓 Dark-Mode-Code und Vorschau**: Generieren Sie mühelos KI-gestützten UI-Code mit integrierter Unterstützung für den Dunkelmodus, sodass Sie sofort eine Vorschau sowohl des Hell- als auch des Dunkelmodus anzeigen können -- **📸 UI-Screenshot-Export**: Exportieren und teilen Sie Ihre UI-Designs ganz einfach als hochwertige Screenshots für eine nahtlose Zusammenarbeit -- **🛠️ Intelligente Fehlerkorrektur**: Während das fortschrittliche KI-Modell und die ausgefeilten Coderegeln von MemFree nach Perfektion streben, können gelegentlich Fehler auftreten. Mit unserer intelligenten Fehlerkorrekturfunktion können Sie alle Probleme sofort mit nur einem Klick beheben +- **🖥️ Echtzeit-UI-Vorschau**: Generierte Benutzeroberfläche sofort rendern und in der Vorschau anzeigen +- **🔍 KI-gestützte Inhaltssuche**: Bereichern Sie Ihre Benutzeroberfläche mit relevanten Inhalten mithilfe unserer erweiterten KI-Suchfunktion +- **🖼 Bildgesteuerte UI-Generierung**: Erstellen Sie UI-Komponenten und Seiten, die Ihren Referenzbildern genau entsprechen +- **⚛️ React + TailWind + Shadcn UI-Integration**: Nutzen Sie KI-generierten Code mit dem beliebtesten Front-End-Stack: React, TailWind und Shadcn UI +- **🚀 One-Click-UI-Veröffentlichung**: Veröffentlichen und teilen Sie Ihre Benutzeroberfläche sofort mit einem einzigen Klick im Web +- **📱 Responsiver Code und Vorschau**: Sehen Sie sich Ihre Benutzeroberfläche in Echtzeit auf verschiedenen Geräten an und sorgen Sie so für eine perfekte Anpassung an alle Bildschirmgrößen +- **🌓 Dark-Mode-Code und Vorschau**: Generieren Sie mühelos KI-gestützten UI-Code mit integrierter Unterstützung für den Dunkelmodus, sodass Sie sofort eine Vorschau sowohl des Hell- als auch des Dunkelmodus anzeigen können +- **📸 UI-Screenshot-Export**: Exportieren und teilen Sie Ihre UI-Designs ganz einfach als hochwertige Screenshots für eine nahtlose Zusammenarbeit +- **🛠️ Intelligente Fehlerkorrektur**: Während das fortschrittliche KI-Modell und die ausgefeilten Coderegeln von MemFree nach Perfektion streben, können gelegentlich Fehler auftreten. Mit unserer intelligenten Fehlerkorrekturfunktion können Sie alle Probleme sofort mit nur einem Klick beheben ## MemFree Hybrid AI Search Workflow @@ -125,7 +121,7 @@ MemFree ist mit leistungsstarken Funktionen ausgestattet, die verschiedene Such- ### 4 One Command Deploy Backend mit Fly.io -- [Ein Befehl: Bereitstellen von MemFree Vector auf Fly.io](https://www.memfree.me/docs/deploy-memfree-fly-io) +- [Ein Befehl: Bereitstellen von MemFree Vector auf Fly.io](https://www.memfree.me/docs/deploy-memfree-fly-io) ## Selbstgehostete Installationen @@ -179,8 +175,8 @@ Holen Sie sich einen Serper-API-Schlüssel:[Serper](https://serper.dev/api-key) So können Sie einen Beitrag leisten: -- [Öffnen Sie ein Problem](https://github.com/memfreeme/memfree/issues) if you believe you've encountered a bug. -- Machen Sie ein[Pull-Anfrage](https://github.com/memfreeme/memfree/pulls)um neue Funktionen hinzuzufügen/die Lebensqualität zu verbessern/Fehler zu beheben. +- [Öffnen Sie ein Problem](https://github.com/memfreeme/memfree/issues) if you believe you've encountered a bug. +- Machen Sie ein[Pull-Anfrage](https://github.com/memfreeme/memfree/pulls)um neue Funktionen hinzuzufügen/die Lebensqualität zu verbessern/Fehler zu beheben. ## Vielen Dank an alle Mitwirkenden @@ -192,11 +188,11 @@ So können Sie einen Beitrag leisten: ## Hilfe und Support -- [MemFree Discord](https://discord.com/invite/7QqyMSTaRq) +- [MemFree Discord](https://discord.com/invite/7QqyMSTaRq) ## Roadmap -- [MemFree-Roadmap](https://feedback.memfree.me/roadmap) +- [MemFree-Roadmap](https://feedback.memfree.me/roadmap) ## Lizenz @@ -204,7 +200,7 @@ MemFree wird unterstützt von[MemFree](https://www.memfree.me/)und lizenziert un ## Verwandte Projekte -- [React + Shadcn UI-Vorschau](https://reactshadcn.com) +- [React + Shadcn UI-Vorschau](https://reactshadcn.com) ## Sternengeschichte From d505148bfb22d237ac2abf6d9eccca427b16f675 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Fri, 25 Oct 2024 14:46:07 +0530 Subject: [PATCH 10/12] Removed merging annotation --- README.zh-CN.md | 68 +++++++++++++++++++++++-------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) diff --git a/README.zh-CN.md b/README.zh-CN.md index e92a35f3..2768004f 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -8,11 +8,7 @@
-<<<<<<< HEAD -**英语**\|[中文](./README.zh-CN.md)\|[德语](./README.de.md)\|[法语](./README.fr.md)\|[西班牙语](README.es.md)\|[日本人](./README.ja.md) -======= **英语**\|[中文](./README.zh-CN.md)\|[德语](./README.de.md)\|[法语](./README.fr.md)\|[Español](README.es.md)\|[日本人](./README.ja.md) ->>>>>>> cc296ef9fbf7d399a15edfe9b9fda3f7dc086433
@@ -37,7 +33,7 @@
-## 什么是MemFree +## 什么是 MemFree MemFree 是一个混合人工智能搜索引擎. @@ -47,52 +43,52 @@ MemFree 是一个人工智能用户界面生成器. Memfree 使用最强大的 AI 模型 - Claude 3.5 Sonnet 和最流行的前端框架 - React + Tailwind + Shadcn UI 在几秒钟内为您生成可用于生产的 UI 页面。 -[MemFree AI UI Generator展示](https://www.memfree.me/generate-ui). +[MemFree AI UI Generator 展示](https://www.memfree.me/generate-ui). ## 是什么让 MemFree 有价值? -- **高效的知识管理**:MemFree 消除了手动组织笔记、书签和文档的需要。当您需要信息时,只需在 MemFree 中搜索即可快速找到相关答案,从而释放您的内存并提高工作效率。 -- **节省时间的人工智能摘要**:MemFree 无需点击多个 Google 搜索结果,而是使用 AI 立即总结网页和知识库中的最佳内容,从而节省宝贵的时间。 -- **经济高效的解决方案**:避免多次订阅 ChatGPT Plus、Claude Pro 和 Gemini Advanced 等服务。 MemFree 集成了它们的功能,显着降低了每月的成本。 -- **UI 页面创建速度提高 100 倍**:在几秒钟内将文本或图像转换为令人惊叹的、可用于生产的代码,在创建时可视化您的设计,无缝发布您的页面。 +- **高效的知识管理**:MemFree 消除了手动组织笔记、书签和文档的需要。当您需要信息时,只需在 MemFree 中搜索即可快速找到相关答案,从而释放您的内存并提高工作效率。 +- **节省时间的人工智能摘要**:MemFree 无需点击多个 Google 搜索结果,而是使用 AI 立即总结网页和知识库中的最佳内容,从而节省宝贵的时间。 +- **经济高效的解决方案**:避免多次订阅 ChatGPT Plus、Claude Pro 和 Gemini Advanced 等服务。 MemFree 集成了它们的功能,显着降低了每月的成本。 +- **UI 页面创建速度提高 100 倍**:在几秒钟内将文本或图像转换为令人惊叹的、可用于生产的代码,在创建时可视化您的设计,无缝发布您的页面。 ## MemFree 混合人工智能搜索功能 MemFree 配备强大的功能,可满足各种搜索和生产力需求: -- 🤖**多种AI模型**:集成ChatGPT、Claude、Gemini等多种AI能力。 +- 🤖**多种 AI 模型**:集成 ChatGPT、Claude、Gemini 等多种 AI 能力。 -- 🌐**支持多种搜索引擎**:适用于 Google、Exa 和 Vector。 +- 🌐**支持多种搜索引擎**:适用于 Google、Exa 和 Vector。 -- 🖼️**多种搜索输入格式**:文本、图片、文件、网页,特别支持多图搜索、比较、总结、分析。 +- 🖼️**多种搜索输入格式**:文本、图片、文件、网页,特别支持多图搜索、比较、总结、分析。 -- 📊**多种结果呈现方法**:文本、思维导图、图像和视频。 +- 📊**多种结果呈现方法**:文本、思维导图、图像和视频。 -- 📄**本地文件格式兼容性**:支持文本、PDF、Docx、PPTX 和 Markdown 文件。 +- 📄**本地文件格式兼容性**:支持文本、PDF、Docx、PPTX 和 Markdown 文件。 -- 🔄**跨设备同步**:跨多个设备保存和同步搜索历史记录。 +- 🔄**跨设备同步**:跨多个设备保存和同步搜索历史记录。 -- 🌍**多语言支持**:提供英语、中文、德语、法语、西班牙语、日语和阿拉伯语版本。 +- 🌍**多语言支持**:提供英语、中文、德语、法语、西班牙语、日语和阿拉伯语版本。 -- 🔗**Chrome 书签同步**:一键同步和索引。 +- 🔗**Chrome 书签同步**:一键同步和索引。 -- 📤**成果分享**:轻松分享您的搜索结果。 +- 📤**成果分享**:轻松分享您的搜索结果。 -- 🔍**上下文连续搜索**:根据上下文无缝搜索。 +- 🔍**上下文连续搜索**:根据上下文无缝搜索。 -- ⚙️**自动网络搜索决策**:自动确定何时执行互联网搜索。 +- ⚙️**自动网络搜索决策**:自动确定何时执行互联网搜索。 ## MemFree AI UI 生成器功能 -- **🖥️ 实时 UI 预览**:即时渲染并预览生成的 UI -- **🔍 AI 支持的内容搜索**:使用我们先进的人工智能搜索功能,用相关内容丰富您的用户界面 -- **🖼 图像驱动的 UI 生成**:创建与您的参考图像紧密匹配的 UI 组件和页面 -- **⚛️ React + TailWind + Shadcn UI 集成**:使用最流行的前端堆栈利用人工智能生成的代码:React、TailWind 和 Shadcn UI -- **🚀 一键式 UI 发布**:只需单击一下即可立即将您的 UI 发布并共享到网络上 -- **📱 响应式代码和预览**:跨各种设备实时预览您的UI,确保完美适应所有屏幕尺寸 -- **🌓 深色模式代码和预览**:轻松生成人工智能驱动的 UI 代码,并内置深色模式支持,让您可以立即预览浅色和深色模式 -- **📸 UI 截图导出**:轻松导出并共享您的 UI 设计作为高质量的屏幕截图,以实现无缝协作 -- **🛠️智能纠错**:虽然MemFree先进的AI模型和复杂的代码规则力求完美,但偶尔也可能会出现错误。我们的智能纠错功能让您只需一键点击即可立即修复任何问题 +- **🖥️ 实时 UI 预览**:即时渲染并预览生成的 UI +- **🔍 AI 支持的内容搜索**:使用我们先进的人工智能搜索功能,用相关内容丰富您的用户界面 +- **🖼 图像驱动的 UI 生成**:创建与您的参考图像紧密匹配的 UI 组件和页面 +- **⚛️ React + TailWind + Shadcn UI 集成**:使用最流行的前端堆栈利用人工智能生成的代码:React、TailWind 和 Shadcn UI +- **🚀 一键式 UI 发布**:只需单击一下即可立即将您的 UI 发布并共享到网络上 +- **📱 响应式代码和预览**:跨各种设备实时预览您的 UI,确保完美适应所有屏幕尺寸 +- **🌓 深色模式代码和预览**:轻松生成人工智能驱动的 UI 代码,并内置深色模式支持,让您可以立即预览浅色和深色模式 +- **📸 UI 截图导出**:轻松导出并共享您的 UI 设计作为高质量的屏幕截图,以实现无缝协作 +- **🛠️ 智能纠错**:虽然 MemFree 先进的 AI 模型和复杂的代码规则力求完美,但偶尔也可能会出现错误。我们的智能纠错功能让您只需一键点击即可立即修复任何问题 ## MemFree 混合人工智能搜索工作流程 @@ -125,7 +121,7 @@ MemFree 配备强大的功能,可满足各种搜索和生产力需求: ### 4 使用 Fly.io 一键部署后端 -- [一条命令在 Fly.io 上部署 MemFree Vector](https://www.memfree.me/docs/deploy-memfree-fly-io) +- [一条命令在 Fly.io 上部署 MemFree Vector](https://www.memfree.me/docs/deploy-memfree-fly-io) ## 自托管安装 @@ -179,8 +175,8 @@ MemFree 配备强大的功能,可满足各种搜索和生产力需求: 您可以通过以下方式做出贡献: -- [打开一个问题](https://github.com/memfreeme/memfree/issues)如果您认为自己遇到了错误。 -- 做一个[拉取请求](https://github.com/memfreeme/memfree/pulls)添加新功能/提高生活质量/修复错误。 +- [打开一个问题](https://github.com/memfreeme/memfree/issues)如果您认为自己遇到了错误。 +- 做一个[拉取请求](https://github.com/memfreeme/memfree/pulls)添加新功能/提高生活质量/修复错误。 ## 感谢所有贡献者 @@ -192,11 +188,11 @@ MemFree 配备强大的功能,可满足各种搜索和生产力需求: ## 帮助与支持 -- [MemFree 不和谐](https://discord.com/invite/7QqyMSTaRq) +- [MemFree 不和谐](https://discord.com/invite/7QqyMSTaRq) ## 路线图 -- [MemFree 路线图](https://feedback.memfree.me/roadmap) +- [MemFree 路线图](https://feedback.memfree.me/roadmap) ## 执照 @@ -204,7 +200,7 @@ MemFree 由以下机构支持[内存自由](https://www.memfree.me/)并获得许 ## 相关项目 -- [React + Shadcn UI 预览](https://reactshadcn.com) +- [React + Shadcn UI 预览](https://reactshadcn.com) ## 明星历史 From 0fb2d5a0d8d7c3186b696612623cd72cde76fcb9 Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Tue, 29 Oct 2024 13:09:03 +0530 Subject: [PATCH 11/12] Create local-history.test.ts file --- frontend/lib/store/tests/local-history.test.ts | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 frontend/lib/store/tests/local-history.test.ts diff --git a/frontend/lib/store/tests/local-history.test.ts b/frontend/lib/store/tests/local-history.test.ts new file mode 100644 index 00000000..e69de29b From b8822b303eb2625f3d2cbe6e48ad009042ca458a Mon Sep 17 00:00:00 2001 From: Riyan-Mo Date: Tue, 29 Oct 2024 13:22:10 +0530 Subject: [PATCH 12/12] Add test cases for local-history --- .../lib/store/tests/local-history.test.ts | 223 ++++++++++++++++++ 1 file changed, 223 insertions(+) diff --git a/frontend/lib/store/tests/local-history.test.ts b/frontend/lib/store/tests/local-history.test.ts index e69de29b..d259b6f0 100644 --- a/frontend/lib/store/tests/local-history.test.ts +++ b/frontend/lib/store/tests/local-history.test.ts @@ -0,0 +1,223 @@ +import { act, renderHook } from '@testing-library/react-hooks'; +import { useSearchStore } from '../local-history'; +import { Search, Message } from '@/lib/types'; + +describe('useSearchStore', () => { + beforeEach(() => { + // Clear the store before each test + localStorage.clear(); + }); + + it('should initialize with empty searches and no active search', () => { + const { result } = renderHook(() => useSearchStore()); + + expect(result.current.searches).toEqual([]); + expect(result.current.activeSearch).toBeUndefined(); + }); + + it('should add a search', () => { + const { result } = renderHook(() => useSearchStore()); + const newSearch: Search = { + id: '1', + title: 'Test Search', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + act(() => { + result.current.addSearch(newSearch); + }); + + expect(result.current.searches).toHaveLength(1); + expect(result.current.searches[0]).toEqual(newSearch); + expect(result.current.activeSearch).toEqual(newSearch); + }); + + it('should update an existing search', () => { + const { result } = renderHook(() => useSearchStore()); + const initialSearch: Search = { + id: '1', + title: 'Initial Search', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + act(() => { + result.current.addSearch(initialSearch); + }); + + const updatedSearch: Search = { + id: '1', + title: 'Updated Search', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + act(() => { + result.current.addSearch(updatedSearch); + }); + + expect(result.current.searches).toHaveLength(1); + expect(result.current.searches[0]).toEqual(updatedSearch); + expect(result.current.activeSearch).toEqual(updatedSearch); + }); + + it('should add multiple searches', () => { + const { result } = renderHook(() => useSearchStore()); + const search1: Search = { + id: '1', + title: 'Search One', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + const search2: Search = { + id: '2', + title: 'Search Two', + createdAt: new Date(), + userId: 'user2', + messages: [], + }; + + act(() => { + result.current.addSearch(search1); + result.current.addSearch(search2); + }); + + expect(result.current.searches).toHaveLength(2); + expect(result.current.searches[0]).toEqual(search2); // Newest first + expect(result.current.searches[1]).toEqual(search1); + }); + + it('should remove a search by id', () => { + const { result } = renderHook(() => useSearchStore()); + const search1: Search = { + id: '1', + title: 'Search One', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + const search2: Search = { + id: '2', + title: 'Search Two', + createdAt: new Date(), + userId: 'user2', + messages: [], + }; + + act(() => { + result.current.addSearch(search1); + result.current.addSearch(search2); + }); + + act(() => { + result.current.removeSearch('1'); + }); + + expect(result.current.searches).toHaveLength(1); + expect(result.current.searches[0]).toEqual(search2); + }); + + it('should clear all searches', () => { + const { result } = renderHook(() => useSearchStore()); + const search: Search = { + id: '1', + title: 'Search One', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + act(() => { + result.current.addSearch(search); + }); + + act(() => { + result.current.clearSearches(); + }); + + expect(result.current.searches).toEqual([]); + }); + + it('should set an active search by id', () => { + const { result } = renderHook(() => useSearchStore()); + const search: Search = { + id: '1', + title: 'Search One', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + act(() => { + result.current.addSearch(search); + }); + + act(() => { + result.current.setActiveSearch('1'); + }); + + expect(result.current.activeSearch).toEqual(search); + }); + + it('should update the active search', () => { + const { result } = renderHook(() => useSearchStore()); + const search: Search = { + id: '1', + title: 'Search One', + createdAt: new Date(), + userId: 'user1', + messages: [], + }; + + act(() => { + result.current.addSearch(search); + }); + + const updatedData: Partial = { + title: 'Updated Search One', + }; + + act(() => { + result.current.updateActiveSearch(updatedData); + }); + + expect(result.current.activeSearch?.title).toEqual('Updated Search One'); + expect(result.current.searches[0].title).toEqual('Updated Search One'); + }); + + it('should delete a message from the active search', () => { + const { result } = renderHook(() => useSearchStore()); + const message: Message = { + id: 'msg1', + role: 'user', + content: 'Hello', + }; + + const search: Search = { + id: '1', + title: 'Search One', + createdAt: new Date(), + userId: 'user1', + messages: [message], + }; + + act(() => { + result.current.addSearch(search); + result.current.setActiveSearch('1'); + }); + + act(() => { + result.current.deleteMessage('msg1'); + }); + + expect(result.current.activeSearch?.messages).toHaveLength(0); + expect(result.current.searches[0].messages).toHaveLength(0); + }); +});