Skip to content

Commit 1dafd01

Browse files
committed
frontend/project: turn "on internet" banner into a modal
1 parent 8e11adf commit 1dafd01

25 files changed

+372
-212
lines changed

src/packages/frontend/app/util.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
1+
import { webapp_client } from "@cocalc/frontend/webapp-client";
2+
13
export function blur_active_element(): void {
24
if (document.activeElement == null) return;
35
// otherwise, it'll be highlighted even when closed again
46
(document.activeElement as any).blur?.();
57
}
8+
9+
export function getNow(): number {
10+
return webapp_client.server_time().getTime();
11+
}

src/packages/frontend/app/verify-email-banner.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
useState,
1616
useTypedRedux,
1717
} from "@cocalc/frontend/app-framework";
18+
import { getNow } from "@cocalc/frontend/app/util";
1819
import { Icon, Paragraph, Text } from "@cocalc/frontend/components";
1920
import { labels } from "@cocalc/frontend/i18n";
2021
import * as LS from "@cocalc/frontend/misc/local-storage-typed";
@@ -29,7 +30,7 @@ export function VerifyEmail() {
2930

3031
function doDismiss(save = true) {
3132
if (save) {
32-
const now = webapp_client.server_time().getTime();
33+
const now = getNow();
3334
LS.set(DISMISSED_KEY_LS, now);
3435
}
3536
setHide(true);
@@ -200,7 +201,7 @@ export function useShowVerifyEmail(): boolean {
200201
!email_address || !email_address_verified?.get(email_address);
201202

202203
// we also do not show this for newly created accounts
203-
const now = webapp_client.server_time().getTime();
204+
const now = getNow();
204205
const oneDay = 1 * 24 * 60 * 60 * 1000;
205206
const notTooNew = created != null && now > created.getTime() + oneDay;
206207

src/packages/frontend/i18n/common.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,11 @@ export const labels = defineMessages({
514514
id: "labels.close",
515515
defaultMessage: "Close",
516516
},
517+
dismiss: {
518+
id: "labels.dismiss",
519+
defaultMessage: "Dismiss",
520+
description: "Short label on a button to dismiss a dialog or modal",
521+
},
517522
guide: {
518523
id: "labels.guide",
519524
defaultMessage: "Guide",

src/packages/frontend/i18n/trans/ar_EG.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "محذوف",
912912
"labels.description": "الوصف",
913913
"labels.disconnected": "غير متصل",
914+
"labels.dismiss": "رفض",
914915
"labels.documentation": "التوثيق",
915916
"labels.download": "تنزيل",
916917
"labels.downloaded": "تم التنزيل",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. يمكنك أيضًا الضغط على العودة",
12201221
"project.new.new-file-page.upload.description": "يمكنك إسقاط ملف أو أكثر هنا أو في قائمة ملفات المستكشف. اطلع على <A>التوثيق</A> لمزيد من الطرق لإضافة ملفاتك إلى مشروعك.",
12211222
"project.new.new-file-page.upload.title": "تحميل الملفات إلى مشروعك",
1223+
"project.no-internet-modal.add-license": "إضافة الترخيص",
1224+
"project.no-internet-modal.info": "<strong>تم تعطيل الوصول إلى الإنترنت لهذا المشروع.</strong> هذا القيد يمنع تثبيت حزم Python (pip, conda) أو حزم R، واستخدام Git لاستنساخ المستودعات، وتنزيل مجموعات البيانات أو الوصول إلى واجهات برمجة التطبيقات. قد تتعطل الأوامر التي تحاول الوصول إلى الإنترنت أو تفشل في الاكتمال، حيث يتم حظر الاتصالات الشبكية لمنع الإساءة.",
1225+
"project.no-internet-modal.message": "لحل هذه المشكلة، <A1>تحتاج إلى تطبيق</A1> <A2>ترخيص صالح</A2> يوفر ترقيات أو <A3>شراء ترخيص</A3>.",
1226+
"project.no-internet-modal.title": "لا يوجد اتصال بالإنترنت",
12221227
"project.open_file.what": "افتح الملف \"{path}\"",
12231228
"project.page.ai-generate-document.content.label": "قدم وصفًا مفصلًا لوثيقة {docName} التي تريد إنشاؤها:",
12241229
"project.page.ai-generate-document.content.placeholder": "وصف المحتوى...",

src/packages/frontend/i18n/trans/de_DE.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "gelöscht",
912912
"labels.description": "Beschreibung",
913913
"labels.disconnected": "Getrennt",
914+
"labels.dismiss": "Verwerfen",
914915
"labels.documentation": "Dokumentation",
915916
"labels.download": "herunterladen",
916917
"labels.downloaded": "heruntergeladen",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. Sie können auch die Eingabetaste drücken.",
12201221
"project.new.new-file-page.upload.description": "Sie können eine oder mehrere Dateien hier oder in der Explorer-Dateiliste ablegen. Siehe <A>Dokumentation</A> für weitere Möglichkeiten, Ihre Dateien in Ihr Projekt zu bekommen.",
12211222
"project.new.new-file-page.upload.title": "Dateien in Ihr Projekt hochladen",
1223+
"project.no-internet-modal.add-license": "Lizenz hinzufügen",
1224+
"project.no-internet-modal.info": "<strong>Der Internetzugang ist für dieses Projekt deaktiviert.</strong> Diese Einschränkung verhindert die Installation von Python-Paketen (pip, conda) oder R-Paketen, die Verwendung von Git zum Klonen von Repositories, das Herunterladen von Datensätzen oder den Zugriff auf APIs. Befehle, die versuchen, auf das Internet zuzugreifen, können hängen bleiben oder nicht abgeschlossen werden, da Netzwerkverbindungen blockiert sind, um Missbrauch zu verhindern.",
1225+
"project.no-internet-modal.message": "Um dies zu beheben, müssen Sie eine <A2>gültige Lizenz</A2> anwenden, die Upgrades bereitstellt oder eine <A3>Lizenz kaufen</A3>.",
1226+
"project.no-internet-modal.title": "Kein Internetzugang",
12221227
"project.open_file.what": "öffne die Datei \"{path}\"",
12231228
"project.page.ai-generate-document.content.label": "Geben Sie eine detaillierte Beschreibung des {docName}-Dokuments, das Sie erstellen möchten:",
12241229
"project.page.ai-generate-document.content.placeholder": "Inhalt beschreiben...",

src/packages/frontend/i18n/trans/es_ES.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "eliminado",
912912
"labels.description": "Descripción",
913913
"labels.disconnected": "Desconectado",
914+
"labels.dismiss": "Cerrar",
914915
"labels.documentation": "Documentación",
915916
"labels.download": "descargar",
916917
"labels.downloaded": "descargado",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. También puede presionar return.",
12201221
"project.new.new-file-page.upload.description": "Puedes soltar uno o más archivos aquí o en la lista de archivos del Explorador. Consulta la <A>documentación</A> para más formas de añadir tus archivos a tu proyecto.",
12211222
"project.new.new-file-page.upload.title": "Subir archivos a tu proyecto",
1223+
"project.no-internet-modal.add-license": "Agregar licencia",
1224+
"project.no-internet-modal.info": "<strong>El acceso a Internet está deshabilitado para este proyecto.</strong> Esta restricción impide instalar paquetes de Python (pip, conda) o paquetes de R, usar Git para clonar repositorios, descargar conjuntos de datos o acceder a APIs. Los comandos que intenten acceder a internet pueden quedar bloqueados o no completarse, ya que las conexiones de red están bloqueadas para prevenir abusos.",
1225+
"project.no-internet-modal.message": "Para solucionar esto, <A1>necesitas aplicar</A1> una <A2>licencia válida</A2> que proporcione actualizaciones o <A3>comprar una licencia</A3>.",
1226+
"project.no-internet-modal.title": "Sin acceso a Internet",
12221227
"project.open_file.what": "abre el archivo \"{path}\"",
12231228
"project.page.ai-generate-document.content.label": "Proporcione una descripción detallada del documento {docName} que desea crear:",
12241229
"project.page.ai-generate-document.content.placeholder": "Describir el contenido...",

src/packages/frontend/i18n/trans/fr_FR.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "supprimé",
912912
"labels.description": "Description",
913913
"labels.disconnected": "Déconnecté",
914+
"labels.dismiss": "Ignorer",
914915
"labels.documentation": "Documentation",
915916
"labels.download": "télécharger",
916917
"labels.downloaded": "téléchargé",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. Vous pouvez également appuyer sur retour.",
12201221
"project.new.new-file-page.upload.description": "Vous pouvez déposer un ou plusieurs fichiers ici ou dans la liste des fichiers de l'Explorateur. Voir <A>documentation</A> pour plus de moyens d'ajouter vos fichiers à votre projet.",
12211222
"project.new.new-file-page.upload.title": "Télécharger des fichiers dans votre projet",
1223+
"project.no-internet-modal.add-license": "Ajouter une licence",
1224+
"project.no-internet-modal.info": "<strong>L'accès à Internet est désactivé pour ce projet.</strong> Cette restriction empêche l'installation de packages Python (pip, conda) ou de packages R, l'utilisation de Git pour cloner des dépôts, le téléchargement de jeux de données ou l'accès aux API. Les commandes qui tentent d'accéder à Internet peuvent se bloquer ou échouer à se terminer, car les connexions réseau sont bloquées pour prévenir les abus.",
1225+
"project.no-internet-modal.message": "Pour résoudre ce problème, vous <A1>devez appliquer</A1> une <A2>licence valide</A2> offrant des mises à jour ou <A3>acheter une licence</A3>.",
1226+
"project.no-internet-modal.title": "Pas d'accès Internet",
12221227
"project.open_file.what": "ouvrir le fichier \"{path}\"",
12231228
"project.page.ai-generate-document.content.label": "Fournissez une description détaillée du document {docName} que vous souhaitez créer :",
12241229
"project.page.ai-generate-document.content.placeholder": "Décrire le contenu...",

src/packages/frontend/i18n/trans/he_IL.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "נמחק",
912912
"labels.description": "תיאור",
913913
"labels.disconnected": "מנותק",
914+
"labels.dismiss": "לדחות",
914915
"labels.documentation": "תיעוד",
915916
"labels.download": "הורדה",
916917
"labels.downloaded": "הורד",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. אתה יכול גם ללחוץ על אנטר",
12201221
"project.new.new-file-page.upload.description": "ניתן לשחרר קובץ אחד או יותר כאן או ברשימת הקבצים ב-Explorer. ראה <A>תיעוד</A> לעוד דרכים להעלות את הקבצים שלך לפרויקט שלך.",
12211222
"project.new.new-file-page.upload.title": "העלאת קבצים לפרויקט שלך",
1223+
"project.no-internet-modal.add-license": "הוסף רישיון",
1224+
"project.no-internet-modal.info": "<strong>הגישה לאינטרנט מושבתת עבור פרויקט זה.</strong> הגבלה זו מונעת התקנת חבילות פייתון (pip, conda) או חבילות R, שימוש ב-Git לשכפול מאגרים, הורדת מערכי נתונים או גישה ל-APIs. פקודות שמנסות לגשת לאינטרנט עשויות להיתקע או להיכשל בהשלמה, שכן חיבורים לרשת נחסמים למניעת ניצול לרעה.",
1225+
"project.no-internet-modal.message": "כדי לתקן זאת, אתה <A1>צריך להפעיל</A1> <A2>רישיון תקף</A2> המספק שדרוגים או <A3>לרכוש רישיון</A3>.",
1226+
"project.no-internet-modal.title": "אין גישה לאינטרנט",
12221227
"project.open_file.what": "פתח את הקובץ \"{path}\"",
12231228
"project.page.ai-generate-document.content.label": "ספק תיאור מפורט של המסמך {docName} שברצונך ליצור",
12241229
"project.page.ai-generate-document.content.placeholder": "תאר את התוכן...",

src/packages/frontend/i18n/trans/hi_IN.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "हटाया गया",
912912
"labels.description": "विवरण",
913913
"labels.disconnected": "डिस्कनेक्टेड",
914+
"labels.dismiss": "खारिज करें",
914915
"labels.documentation": "दस्तावेज़",
915916
"labels.download": "डाउनलोड",
916917
"labels.downloaded": "डाउनलोड किया गया",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. आप रिटर्न भी दबा सकते हैं.",
12201221
"project.new.new-file-page.upload.description": "आप यहाँ या एक्सप्लोरर फाइल लिस्टिंग पर एक या अधिक फाइलें ड्रॉप कर सकते हैं। अपने प्रोजेक्ट में फाइलें लाने के और तरीके जानने के लिए <A>डॉक्यूमेंटेशन</A> देखें।",
12211222
"project.new.new-file-page.upload.title": "अपनी परियोजना में फाइलें अपलोड करें",
1223+
"project.no-internet-modal.add-license": "लाइसेंस जोड़ें",
1224+
"project.no-internet-modal.info": "<strong>इस प्रोजेक्ट के लिए इंटरनेट एक्सेस अक्षम है।</strong> यह प्रतिबंध Python पैकेज (pip, conda) या R पैकेज को स्थापित करने, Git का उपयोग करके रिपॉजिटरी क्लोन करने, डेटा सेट डाउनलोड करने या API तक पहुंचने से रोकता है। जो कमांड इंटरनेट तक पहुंचने का प्रयास करते हैं, वे रुक सकते हैं या पूरा नहीं हो सकते, क्योंकि दुरुपयोग को रोकने के लिए नेटवर्क कनेक्शन अवरुद्ध हैं।",
1225+
"project.no-internet-modal.message": "इसे ठीक करने के लिए, आपको <A1>उन्नयन प्रदान करने वाला एक</A1> <A2>वैध लाइसेंस लागू करना</A2> या <A3>एक लाइसेंस खरीदना</A3> होगा।",
1226+
"project.no-internet-modal.title": "इंटरनेट एक्सेस नहीं",
12221227
"project.open_file.what": "फ़ाइल \"{path}\" खोलें",
12231228
"project.page.ai-generate-document.content.label": "उस {docName} दस्तावेज़ का विस्तृत विवरण प्रदान करें जिसे आप बनाना चाहते हैं:",
12241229
"project.page.ai-generate-document.content.placeholder": "सामग्री का वर्णन करें...",

src/packages/frontend/i18n/trans/hu_HU.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -911,6 +911,7 @@
911911
"labels.deleted": "törölve",
912912
"labels.description": "Leírás",
913913
"labels.disconnected": "Kapcsolat megszakadt",
914+
"labels.dismiss": "Elvetés",
914915
"labels.documentation": "Dokumentáció",
915916
"labels.download": "letöltés",
916917
"labels.downloaded": "letöltött",
@@ -1219,6 +1220,10 @@
12191220
"project.new.new-file-page.create.tooltip": "{title}. A visszatérés gombot is megnyomhatja.",
12201221
"project.new.new-file-page.upload.description": "Ide helyezhet egy vagy több fájlt, vagy az Explorer fájllistájára. További módszerekhez, hogy hogyan hozhatja be fájljait a projektbe, lásd a <A>dokumentációt</A>.",
12211222
"project.new.new-file-page.upload.title": "Fájlok feltöltése a projektedbe",
1223+
"project.no-internet-modal.add-license": "Licenc hozzáadása",
1224+
"project.no-internet-modal.info": "<strong>Az internet-hozzáférés le van tiltva ehhez a projekthez.</strong> Ez a korlátozás megakadályozza a Python csomagok (pip, conda) vagy R csomagok telepítését, a Git használatát a tárolók klónozásához, az adatkészletek letöltését vagy az API-k elérését. Azok a parancsok, amelyek megpróbálnak csatlakozni az internethez, elakadhatnak vagy nem fejeződhetnek be, mivel a hálózati kapcsolatok blokkolva vannak a visszaélések megelőzése érdekében.",
1225+
"project.no-internet-modal.message": "A javításhoz <A1>érvényes licencet kell alkalmaznia</A1>, amely frissítéseket biztosít, vagy <A3>licencet kell vásárolnia</A3>.",
1226+
"project.no-internet-modal.title": "Nincs internetkapcsolat",
12221227
"project.open_file.what": "nyisd meg a fájlt \"{path}\"",
12231228
"project.page.ai-generate-document.content.label": "Adjon részletes leírást a létrehozni kívánt {docName} dokumentumról:",
12241229
"project.page.ai-generate-document.content.placeholder": "Ismertesse a tartalmat...",

0 commit comments

Comments
 (0)