bb-relay 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{FileContent-BWulmcoi.d.mts → FileContent-CXlulSZq.d.mts} +1 -0
- package/dist/{FileContent-BWulmcoi.d.ts → FileContent-CXlulSZq.d.ts} +1 -0
- package/dist/{Locale-DvFwr_9k.d.mts → Locale-DnNmuMZq.d.mts} +2 -0
- package/dist/{Locale-DvFwr_9k.d.ts → Locale-DnNmuMZq.d.ts} +2 -0
- package/dist/{EventReturn-CGAZ-l1W.d.mts → RequestReturn-Clb_WcNj.d.ts} +31 -13
- package/dist/{EventReturn-CXACStVQ.d.ts → RequestReturn-Dahl-hde.d.mts} +31 -13
- package/dist/api.d.mts +12 -6
- package/dist/api.d.ts +12 -6
- package/dist/editor.d.mts +3 -2
- package/dist/editor.d.ts +3 -2
- package/dist/index.d.mts +12 -16
- package/dist/index.d.ts +12 -16
- package/dist/index.js +59 -60
- package/dist/index.mjs +58 -59
- package/dist/locale.d.mts +2 -2
- package/dist/locale.d.ts +2 -2
- package/dist/locale.js +6 -2
- package/dist/locale.mjs +6 -2
- package/dist/plugin.d.mts +4 -3
- package/dist/plugin.d.ts +4 -3
- package/dist/plugin.js +3 -3
- package/dist/plugin.mjs +2 -2
- package/package.json +1 -1
- package/src/api.ts +11 -1
- package/src/index.ts +5 -5
- package/src/lib/plugin/ElementInstruction/InputInstruction.ts +1 -1
- package/src/lib/plugin/index.ts +8 -4
- package/src/lib/validate-manifest/index.ts +1 -5
- package/src/locales/en-GB.ts +168 -166
- package/src/locales/fr-FR.ts +171 -169
- package/src/relay/postEventResponse.ts +0 -2
- package/src/relay/postRequestResponse.ts +14 -0
- package/src/relay/registerEvent.ts +8 -3
- package/src/relay/registerRequest.ts +35 -0
- package/src/relay/request.ts +19 -0
- package/src/relay/subscribe.ts +20 -0
- package/src/types/api/EventParam.ts +1 -2
- package/src/types/api/EventReturn.ts +0 -2
- package/src/types/api/RelayEvent.ts +1 -7
- package/src/types/api/RequestParam.ts +10 -0
- package/src/types/api/RequestReturn.ts +9 -0
- package/src/types/editor/FileContent.ts +10 -6
- package/src/types/editor/Load.ts +1 -2
- package/src/types/editor/Manifest.ts +2 -4
- package/src/types/editor/Settings.ts +44 -43
- package/src/relay/index.ts +0 -61
package/src/locales/fr-FR.ts
CHANGED
|
@@ -1,169 +1,171 @@
|
|
|
1
|
-
import Language from "@/types/editor/Language";
|
|
2
|
-
|
|
3
|
-
export const frFR: { [key in Language]: string } = {
|
|
4
|
-
"language.british_english": "Anglais britannique",
|
|
5
|
-
"language.french": "Français (France)",
|
|
6
|
-
"file.new": "Nouveau fichier",
|
|
7
|
-
"file.new.placeholder": "Appuyez sur Entrée pour ajouter un fichier",
|
|
8
|
-
"file.open": "Ouvrir le fichier",
|
|
9
|
-
"file.duplicate": "Dupliquer le fichier",
|
|
10
|
-
"file.delete": "Supprimer le fichier",
|
|
11
|
-
"file.rename": "Renommer le fichier",
|
|
12
|
-
"file.close": "Fermer le fichier",
|
|
13
|
-
"file.cut": "Couper le fichier",
|
|
14
|
-
"file.copy": "Copier le fichier",
|
|
15
|
-
"file.export_html": "Exporter au format HTML",
|
|
16
|
-
"file.export_pdf": "Exporter au format PDF",
|
|
17
|
-
"file.print": "Imprimer le fichier",
|
|
18
|
-
"file.location.open": "Ouvrir l'emplacement du fichier",
|
|
19
|
-
file: "Fichier",
|
|
20
|
-
edit: "Modifier",
|
|
21
|
-
view: "Afficher",
|
|
22
|
-
help: "Aide",
|
|
23
|
-
welcome: "Bienvenue sur BB Desktop !",
|
|
24
|
-
"welcome.message":
|
|
25
|
-
"Obtenir Commencer par créer un nouveau fichier ou en ouvrir un existant.",
|
|
26
|
-
"version.current": "Version actuelle",
|
|
27
|
-
"version.latest": "Dernière version",
|
|
28
|
-
"version.out_of_date": "Une mise à jour est disponible !",
|
|
29
|
-
"version.up_to_date": "Vous utilisez la dernière version.",
|
|
30
|
-
"update.check": "Rechercher les mises à jour",
|
|
31
|
-
"update.download": "Télécharger la mise à jour",
|
|
32
|
-
"update.release_notes": "Notes de version",
|
|
33
|
-
install_and_restart: "Installer et redémarrer",
|
|
34
|
-
"install.version": "Installer une version spécifique",
|
|
35
|
-
later: "Plus tard",
|
|
36
|
-
close: "Fermer",
|
|
37
|
-
about: "À propos",
|
|
38
|
-
change_log: "Journal des modifications",
|
|
39
|
-
documentation: "Documentation",
|
|
40
|
-
"report.issue": "Signaler un problème",
|
|
41
|
-
"folder.new": "Nouveau dossier",
|
|
42
|
-
"folder.new.placeholder": "Appuyez sur Entrée pour ajouter un dossier",
|
|
43
|
-
"folder.open": "Ouvrir un dossier",
|
|
44
|
-
"folder.open.message": "Vous pouvez ouvrir un dossier",
|
|
45
|
-
"folder.open.description":
|
|
46
|
-
"Ouvrir un dossier vous permet de créer un projet et d'enregistrer tous les fichiers qu'il contient.",
|
|
47
|
-
"project.download": "Télécharger le projet",
|
|
48
|
-
"project.download.title": "Vous pouvez télécharger un projet.",
|
|
49
|
-
"project.download.description":
|
|
50
|
-
"Parcourez les projets sauvegardés dans le cloud et téléchargez-les sur votre ordinateur.",
|
|
51
|
-
"project.select": "Sélectionner un projet.",
|
|
52
|
-
"project.select.title": "Vous pouvez sélectionner un projet précédent.",
|
|
53
|
-
"project.select.description":
|
|
54
|
-
"Accédez à votre système de fichiers pour sélectionner un projet précédemment enregistré.",
|
|
55
|
-
"project.new": "Nouveau projet.",
|
|
56
|
-
tags: "Étiquettes",
|
|
57
|
-
"tag.input.placeholder": "Appuyez sur Entrée pour ajouter une étiquette.",
|
|
58
|
-
category: "Catégorie",
|
|
59
|
-
"category.select": "Sélectionnez une catégorie.",
|
|
60
|
-
"project.title": "Titre du projet.",
|
|
61
|
-
"project.title.placeholder": "Les contes de deux villes.",
|
|
62
|
-
"project.description": "De quoi parle votre histoire ?",
|
|
63
|
-
"project.description.placeholder": "Ceci est une histoire sur...",
|
|
64
|
-
email: "Email",
|
|
65
|
-
"email.placeholder": "example@email.com",
|
|
66
|
-
password: "Password",
|
|
67
|
-
"password.placeholder": "********",
|
|
68
|
-
username: "username",
|
|
69
|
-
"username.placeholder": "@bb-author",
|
|
70
|
-
"workspace.select": "Sélectionnez un espace de travail",
|
|
71
|
-
"workspace.select.description":
|
|
72
|
-
"Sélectionnez un dossier où tous vos projets seront enregistrés",
|
|
73
|
-
"file.explorer": "Explorateur de fichiers",
|
|
74
|
-
"no_workspace.message":
|
|
75
|
-
"Sélectionnez un espace de travail pour commencer à travailler sur votre prochain projet",
|
|
76
|
-
"folder.select.placeholder": "./chemin/vers/projet",
|
|
77
|
-
"folder.select": "Sélectionnez un dossier",
|
|
78
|
-
"folder.rename": "Renommer le dossier",
|
|
79
|
-
"folder.duplicate": "Dupliquer le dossier",
|
|
80
|
-
"folder.paste": "Coller dans le dossier",
|
|
81
|
-
"folder.cut": "Couper le dossier",
|
|
82
|
-
"folder.copy": "Copier le dossier",
|
|
83
|
-
"folder.delete": "Supprimer le dossier",
|
|
84
|
-
folder: "Dossier",
|
|
85
|
-
"folder.location.open": "Ouvrir l'emplacement du dossier",
|
|
86
|
-
"checkpoint.list.header": "Points de contrôle",
|
|
87
|
-
"checkpoint.placeholder": "Message du point de contrôle...",
|
|
88
|
-
"checkpoint.button": "Enregistrer le point de contrôle",
|
|
89
|
-
"git.stage.all": "Ajouter tout à la zone de préparation",
|
|
90
|
-
"git.discard.all": "Annuler toutes les modifications",
|
|
91
|
-
"git.stage": "Ajouter à la zone de préparation",
|
|
92
|
-
"git.discard": "Annuler les modifications",
|
|
93
|
-
"git.discard.message":
|
|
94
|
-
"Êtes-vous sûr de vouloir annuler toutes les modifications ?",
|
|
95
|
-
"git.unstage.all": "Retirer tout de la zone de préparation",
|
|
96
|
-
"git.unstage": "Retirer de la zone de préparation",
|
|
97
|
-
changes: "Modifications",
|
|
98
|
-
history: "Historique",
|
|
99
|
-
home: "Accueil",
|
|
100
|
-
cancel: "Annuler",
|
|
101
|
-
confirm: "Confirmer",
|
|
102
|
-
"plugin.install": "Installer le plugin",
|
|
103
|
-
"project.create": "Créer projet",
|
|
104
|
-
"checkpoint.save": "Enregistrer le point de contrôle",
|
|
105
|
-
"file.delete.warning":
|
|
106
|
-
"Êtes-vous sûr de vouloir supprimer ce fichier ? Cette action est irréversible.",
|
|
107
|
-
"folder.delete.warning":
|
|
108
|
-
"Êtes-vous sûr de vouloir supprimer ce dossier ? Cette action est irréversible.",
|
|
109
|
-
delete: "Supprimer",
|
|
110
|
-
"placeholder.text": "Ceci est un texte d'espace réservé",
|
|
111
|
-
"placeholder.click": "Cliquez ici",
|
|
112
|
-
"placeholder.label": "Étiquette",
|
|
113
|
-
find: "Rechercher",
|
|
114
|
-
replace: "Remplacer",
|
|
115
|
-
"replace.all": "Tout remplacer",
|
|
116
|
-
previous: "Précédent",
|
|
117
|
-
next: "Suivant",
|
|
118
|
-
"search.use.regex": "Utiliser une expression régulière",
|
|
119
|
-
"search.case.sensitive": "Respecter la casse",
|
|
120
|
-
"plugins.search": "Rechercher des plugins dans le Marketplace",
|
|
121
|
-
install: "Installer",
|
|
122
|
-
uninstall: "Désinstaller",
|
|
123
|
-
repository: "Dépôt",
|
|
124
|
-
login: "Se connecter",
|
|
125
|
-
logout: "Se déconnecter",
|
|
126
|
-
"projects.search": "Rechercher des projets",
|
|
127
|
-
download: "Télécharger",
|
|
128
|
-
"project.delete.warning":
|
|
129
|
-
"Êtes-vous sûr de vouloir supprimer ce projet ? Cette action est irréversible.",
|
|
130
|
-
"project.message.download": "Télécharger le projet sur le cloud",
|
|
131
|
-
"project.message.synced": "Le projet est à jour",
|
|
132
|
-
"project.message.update": "Il y a des modifications non enregistrées",
|
|
133
|
-
"project.message.upload": "Téléverser le projet sur le cloud",
|
|
134
|
-
loading: "Chargement...",
|
|
135
|
-
enable: "Activer",
|
|
136
|
-
disable: "Désactiver",
|
|
137
|
-
plugin: "Plugin",
|
|
138
|
-
plugins: "Plugins",
|
|
139
|
-
"updates.check": "Rechercher les mises à jour",
|
|
140
|
-
"updates.download": "Télécharger les mises à jour",
|
|
141
|
-
"plugins.enable.all": "Activer tous les plugins",
|
|
142
|
-
"plugins.disable.all": "Désactiver tous les plugins",
|
|
143
|
-
"plugins.install.local": "Installer des plugins locaux",
|
|
144
|
-
"check.all": "Tout cocher",
|
|
145
|
-
"uncheck.all": "Tout décocher",
|
|
146
|
-
"checkpoint.latest": "Revenir au dernier point de contrôle",
|
|
147
|
-
errors: "Erreurs",
|
|
148
|
-
"path.copy": "Copier le chemin",
|
|
149
|
-
general: "Général",
|
|
150
|
-
appearance: "Apparence",
|
|
151
|
-
registry: "Registre",
|
|
152
|
-
shortcuts: "Couches",
|
|
153
|
-
account: "Compte",
|
|
154
|
-
"sidebar.toggle": "Basculer la barre latérale",
|
|
155
|
-
"project.open": "Ouvrir un projet",
|
|
156
|
-
quit: "Quitter",
|
|
157
|
-
duplicate: "Dupliquer",
|
|
158
|
-
copy: "Copier",
|
|
159
|
-
cut: "Couper",
|
|
160
|
-
paste: "Coller",
|
|
161
|
-
"en-GB": "Anglais (UK)",
|
|
162
|
-
"fr-FR": "Français (France)",
|
|
163
|
-
"app.minimise": "Minimiser",
|
|
164
|
-
"app.maximise": "Maximiser",
|
|
165
|
-
"app.restart": "Redémarrer",
|
|
166
|
-
app: "App",
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
1
|
+
import Language from "@/types/editor/Language";
|
|
2
|
+
|
|
3
|
+
export const frFR: { [key in Language]: string } = {
|
|
4
|
+
"language.british_english": "Anglais britannique",
|
|
5
|
+
"language.french": "Français (France)",
|
|
6
|
+
"file.new": "Nouveau fichier",
|
|
7
|
+
"file.new.placeholder": "Appuyez sur Entrée pour ajouter un fichier",
|
|
8
|
+
"file.open": "Ouvrir le fichier",
|
|
9
|
+
"file.duplicate": "Dupliquer le fichier",
|
|
10
|
+
"file.delete": "Supprimer le fichier",
|
|
11
|
+
"file.rename": "Renommer le fichier",
|
|
12
|
+
"file.close": "Fermer le fichier",
|
|
13
|
+
"file.cut": "Couper le fichier",
|
|
14
|
+
"file.copy": "Copier le fichier",
|
|
15
|
+
"file.export_html": "Exporter au format HTML",
|
|
16
|
+
"file.export_pdf": "Exporter au format PDF",
|
|
17
|
+
"file.print": "Imprimer le fichier",
|
|
18
|
+
"file.location.open": "Ouvrir l'emplacement du fichier",
|
|
19
|
+
file: "Fichier",
|
|
20
|
+
edit: "Modifier",
|
|
21
|
+
view: "Afficher",
|
|
22
|
+
help: "Aide",
|
|
23
|
+
welcome: "Bienvenue sur BB Desktop !",
|
|
24
|
+
"welcome.message":
|
|
25
|
+
"Obtenir Commencer par créer un nouveau fichier ou en ouvrir un existant.",
|
|
26
|
+
"version.current": "Version actuelle",
|
|
27
|
+
"version.latest": "Dernière version",
|
|
28
|
+
"version.out_of_date": "Une mise à jour est disponible !",
|
|
29
|
+
"version.up_to_date": "Vous utilisez la dernière version.",
|
|
30
|
+
"update.check": "Rechercher les mises à jour",
|
|
31
|
+
"update.download": "Télécharger la mise à jour",
|
|
32
|
+
"update.release_notes": "Notes de version",
|
|
33
|
+
install_and_restart: "Installer et redémarrer",
|
|
34
|
+
"install.version": "Installer une version spécifique",
|
|
35
|
+
later: "Plus tard",
|
|
36
|
+
close: "Fermer",
|
|
37
|
+
about: "À propos",
|
|
38
|
+
change_log: "Journal des modifications",
|
|
39
|
+
documentation: "Documentation",
|
|
40
|
+
"report.issue": "Signaler un problème",
|
|
41
|
+
"folder.new": "Nouveau dossier",
|
|
42
|
+
"folder.new.placeholder": "Appuyez sur Entrée pour ajouter un dossier",
|
|
43
|
+
"folder.open": "Ouvrir un dossier",
|
|
44
|
+
"folder.open.message": "Vous pouvez ouvrir un dossier",
|
|
45
|
+
"folder.open.description":
|
|
46
|
+
"Ouvrir un dossier vous permet de créer un projet et d'enregistrer tous les fichiers qu'il contient.",
|
|
47
|
+
"project.download": "Télécharger le projet",
|
|
48
|
+
"project.download.title": "Vous pouvez télécharger un projet.",
|
|
49
|
+
"project.download.description":
|
|
50
|
+
"Parcourez les projets sauvegardés dans le cloud et téléchargez-les sur votre ordinateur.",
|
|
51
|
+
"project.select": "Sélectionner un projet.",
|
|
52
|
+
"project.select.title": "Vous pouvez sélectionner un projet précédent.",
|
|
53
|
+
"project.select.description":
|
|
54
|
+
"Accédez à votre système de fichiers pour sélectionner un projet précédemment enregistré.",
|
|
55
|
+
"project.new": "Nouveau projet.",
|
|
56
|
+
tags: "Étiquettes",
|
|
57
|
+
"tag.input.placeholder": "Appuyez sur Entrée pour ajouter une étiquette.",
|
|
58
|
+
category: "Catégorie",
|
|
59
|
+
"category.select": "Sélectionnez une catégorie.",
|
|
60
|
+
"project.title": "Titre du projet.",
|
|
61
|
+
"project.title.placeholder": "Les contes de deux villes.",
|
|
62
|
+
"project.description": "De quoi parle votre histoire ?",
|
|
63
|
+
"project.description.placeholder": "Ceci est une histoire sur...",
|
|
64
|
+
email: "Email",
|
|
65
|
+
"email.placeholder": "example@email.com",
|
|
66
|
+
password: "Password",
|
|
67
|
+
"password.placeholder": "********",
|
|
68
|
+
username: "username",
|
|
69
|
+
"username.placeholder": "@bb-author",
|
|
70
|
+
"workspace.select": "Sélectionnez un espace de travail",
|
|
71
|
+
"workspace.select.description":
|
|
72
|
+
"Sélectionnez un dossier où tous vos projets seront enregistrés",
|
|
73
|
+
"file.explorer": "Explorateur de fichiers",
|
|
74
|
+
"no_workspace.message":
|
|
75
|
+
"Sélectionnez un espace de travail pour commencer à travailler sur votre prochain projet",
|
|
76
|
+
"folder.select.placeholder": "./chemin/vers/projet",
|
|
77
|
+
"folder.select": "Sélectionnez un dossier",
|
|
78
|
+
"folder.rename": "Renommer le dossier",
|
|
79
|
+
"folder.duplicate": "Dupliquer le dossier",
|
|
80
|
+
"folder.paste": "Coller dans le dossier",
|
|
81
|
+
"folder.cut": "Couper le dossier",
|
|
82
|
+
"folder.copy": "Copier le dossier",
|
|
83
|
+
"folder.delete": "Supprimer le dossier",
|
|
84
|
+
folder: "Dossier",
|
|
85
|
+
"folder.location.open": "Ouvrir l'emplacement du dossier",
|
|
86
|
+
"checkpoint.list.header": "Points de contrôle",
|
|
87
|
+
"checkpoint.placeholder": "Message du point de contrôle...",
|
|
88
|
+
"checkpoint.button": "Enregistrer le point de contrôle",
|
|
89
|
+
"git.stage.all": "Ajouter tout à la zone de préparation",
|
|
90
|
+
"git.discard.all": "Annuler toutes les modifications",
|
|
91
|
+
"git.stage": "Ajouter à la zone de préparation",
|
|
92
|
+
"git.discard": "Annuler les modifications",
|
|
93
|
+
"git.discard.message":
|
|
94
|
+
"Êtes-vous sûr de vouloir annuler toutes les modifications ?",
|
|
95
|
+
"git.unstage.all": "Retirer tout de la zone de préparation",
|
|
96
|
+
"git.unstage": "Retirer de la zone de préparation",
|
|
97
|
+
changes: "Modifications",
|
|
98
|
+
history: "Historique",
|
|
99
|
+
home: "Accueil",
|
|
100
|
+
cancel: "Annuler",
|
|
101
|
+
confirm: "Confirmer",
|
|
102
|
+
"plugin.install": "Installer le plugin",
|
|
103
|
+
"project.create": "Créer projet",
|
|
104
|
+
"checkpoint.save": "Enregistrer le point de contrôle",
|
|
105
|
+
"file.delete.warning":
|
|
106
|
+
"Êtes-vous sûr de vouloir supprimer ce fichier ? Cette action est irréversible.",
|
|
107
|
+
"folder.delete.warning":
|
|
108
|
+
"Êtes-vous sûr de vouloir supprimer ce dossier ? Cette action est irréversible.",
|
|
109
|
+
delete: "Supprimer",
|
|
110
|
+
"placeholder.text": "Ceci est un texte d'espace réservé",
|
|
111
|
+
"placeholder.click": "Cliquez ici",
|
|
112
|
+
"placeholder.label": "Étiquette",
|
|
113
|
+
find: "Rechercher",
|
|
114
|
+
replace: "Remplacer",
|
|
115
|
+
"replace.all": "Tout remplacer",
|
|
116
|
+
previous: "Précédent",
|
|
117
|
+
next: "Suivant",
|
|
118
|
+
"search.use.regex": "Utiliser une expression régulière",
|
|
119
|
+
"search.case.sensitive": "Respecter la casse",
|
|
120
|
+
"plugins.search": "Rechercher des plugins dans le Marketplace",
|
|
121
|
+
install: "Installer",
|
|
122
|
+
uninstall: "Désinstaller",
|
|
123
|
+
repository: "Dépôt",
|
|
124
|
+
login: "Se connecter",
|
|
125
|
+
logout: "Se déconnecter",
|
|
126
|
+
"projects.search": "Rechercher des projets",
|
|
127
|
+
download: "Télécharger",
|
|
128
|
+
"project.delete.warning":
|
|
129
|
+
"Êtes-vous sûr de vouloir supprimer ce projet ? Cette action est irréversible.",
|
|
130
|
+
"project.message.download": "Télécharger le projet sur le cloud",
|
|
131
|
+
"project.message.synced": "Le projet est à jour",
|
|
132
|
+
"project.message.update": "Il y a des modifications non enregistrées",
|
|
133
|
+
"project.message.upload": "Téléverser le projet sur le cloud",
|
|
134
|
+
loading: "Chargement...",
|
|
135
|
+
enable: "Activer",
|
|
136
|
+
disable: "Désactiver",
|
|
137
|
+
plugin: "Plugin",
|
|
138
|
+
plugins: "Plugins",
|
|
139
|
+
"updates.check": "Rechercher les mises à jour",
|
|
140
|
+
"updates.download": "Télécharger les mises à jour",
|
|
141
|
+
"plugins.enable.all": "Activer tous les plugins",
|
|
142
|
+
"plugins.disable.all": "Désactiver tous les plugins",
|
|
143
|
+
"plugins.install.local": "Installer des plugins locaux",
|
|
144
|
+
"check.all": "Tout cocher",
|
|
145
|
+
"uncheck.all": "Tout décocher",
|
|
146
|
+
"checkpoint.latest": "Revenir au dernier point de contrôle",
|
|
147
|
+
errors: "Erreurs",
|
|
148
|
+
"path.copy": "Copier le chemin",
|
|
149
|
+
general: "Général",
|
|
150
|
+
appearance: "Apparence",
|
|
151
|
+
registry: "Registre",
|
|
152
|
+
shortcuts: "Couches",
|
|
153
|
+
account: "Compte",
|
|
154
|
+
"sidebar.toggle": "Basculer la barre latérale",
|
|
155
|
+
"project.open": "Ouvrir un projet",
|
|
156
|
+
quit: "Quitter",
|
|
157
|
+
duplicate: "Dupliquer",
|
|
158
|
+
copy: "Copier",
|
|
159
|
+
cut: "Couper",
|
|
160
|
+
paste: "Coller",
|
|
161
|
+
"en-GB": "Anglais (UK)",
|
|
162
|
+
"fr-FR": "Français (France)",
|
|
163
|
+
"app.minimise": "Minimiser",
|
|
164
|
+
"app.maximise": "Maximiser",
|
|
165
|
+
"app.restart": "Redémarrer",
|
|
166
|
+
app: "App",
|
|
167
|
+
settings: "Paramètres",
|
|
168
|
+
preferences: "Préférences",
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export default frFR;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import RequestReturn from "@/types/api/RequestReturn";
|
|
2
|
+
import { RelayRequest } from "./registerRequest";
|
|
3
|
+
|
|
4
|
+
type BBRequestKey = keyof RelayRequest;
|
|
5
|
+
|
|
6
|
+
export function postRequestResponse<K extends BBRequestKey>(
|
|
7
|
+
window: Window,
|
|
8
|
+
response: RequestReturn<K>,
|
|
9
|
+
): void {
|
|
10
|
+
const res: RequestReturn<K> = {
|
|
11
|
+
...response,
|
|
12
|
+
};
|
|
13
|
+
window.postMessage(res, "*");
|
|
14
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import EventParam from "@/
|
|
1
|
+
import { EventParam } from "@/api";
|
|
2
2
|
import RelayEvent from "../types/api/RelayEvent";
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -8,10 +8,15 @@ import RelayEvent from "../types/api/RelayEvent";
|
|
|
8
8
|
* @param event the params that will be sent to the editor
|
|
9
9
|
*/
|
|
10
10
|
export default function registerEvent<K extends keyof RelayEvent>(
|
|
11
|
-
|
|
11
|
+
type: K,
|
|
12
|
+
unsubscribe?: boolean,
|
|
12
13
|
) {
|
|
13
14
|
if (!window) throw new Error("Window not found");
|
|
14
15
|
if (window === window.parent) throw new Error("No parent window available");
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
const message: EventParam<K> = {
|
|
18
|
+
type,
|
|
19
|
+
source: unsubscribe ? "unsubscribe" : "event",
|
|
20
|
+
};
|
|
21
|
+
window.parent.postMessage(message, "*");
|
|
17
22
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import RequestParam from "@/types/api/RequestParam";
|
|
2
|
+
|
|
3
|
+
export type RelayRequest = {
|
|
4
|
+
/**
|
|
5
|
+
* Updates the content of the current file
|
|
6
|
+
* Note, type is not stated, it would use the one stated in manifest
|
|
7
|
+
*/
|
|
8
|
+
update: {
|
|
9
|
+
args: {
|
|
10
|
+
content: string;
|
|
11
|
+
};
|
|
12
|
+
response: {
|
|
13
|
+
error: string | null;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
ping: {
|
|
17
|
+
args: unknown;
|
|
18
|
+
response: {
|
|
19
|
+
data: unknown | null;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* This will be used to send message (request) from the iframe to editor
|
|
26
|
+
* @param request the params that will be sent to the editor
|
|
27
|
+
*/
|
|
28
|
+
export default function registerRequest<K extends keyof RelayRequest>(
|
|
29
|
+
request: RequestParam<K>,
|
|
30
|
+
) {
|
|
31
|
+
if (!window) throw new Error("Window not found");
|
|
32
|
+
if (window === window.parent) throw new Error("No parent window available");
|
|
33
|
+
|
|
34
|
+
window.parent.postMessage({ ...request, source: "request" }, "*");
|
|
35
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import registerRequest, { RelayRequest } from "./registerRequest";
|
|
2
|
+
import RequestReturn from "@/types/api/RequestReturn";
|
|
3
|
+
|
|
4
|
+
export default function request<K extends keyof RelayRequest>(
|
|
5
|
+
type: K,
|
|
6
|
+
arg: RelayRequest[K]["args"],
|
|
7
|
+
callback?: (response: RelayRequest[K]["response"]) => void,
|
|
8
|
+
) {
|
|
9
|
+
const id = crypto.randomUUID();
|
|
10
|
+
registerRequest({ type, id, arg, source: "request" });
|
|
11
|
+
window.addEventListener("message", (ev: MessageEvent) => {
|
|
12
|
+
const data = ev.data as RequestReturn<K>;
|
|
13
|
+
|
|
14
|
+
const { response } = data as RequestReturn<K>;
|
|
15
|
+
if (type === data.type && id === data.id) {
|
|
16
|
+
callback?.(response);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { EventReturn, RelayEvent } from "@/api";
|
|
2
|
+
import registerEvent from "./registerEvent";
|
|
3
|
+
|
|
4
|
+
export default function subscribe<K extends keyof RelayEvent>(
|
|
5
|
+
type: K,
|
|
6
|
+
callback: (response: RelayEvent[K]["response"]) => void,
|
|
7
|
+
) {
|
|
8
|
+
registerEvent(type);
|
|
9
|
+
window.addEventListener("message", (ev: MessageEvent) => {
|
|
10
|
+
const data = ev.data as EventReturn<K>;
|
|
11
|
+
|
|
12
|
+
const { response } = data as EventReturn<K>;
|
|
13
|
+
if (type === data.type) {
|
|
14
|
+
callback(response);
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
return () => {
|
|
18
|
+
registerEvent(type, true);
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -6,7 +6,7 @@ type RelayEvent = {
|
|
|
6
6
|
* Indicate change in theme
|
|
7
7
|
*/
|
|
8
8
|
theme: {
|
|
9
|
-
response:
|
|
9
|
+
response: string;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
12
|
* Indicate that the iframe is loaded and ready to receive instructions
|
|
@@ -17,12 +17,6 @@ type RelayEvent = {
|
|
|
17
17
|
load: {
|
|
18
18
|
response: Load;
|
|
19
19
|
};
|
|
20
|
-
/**
|
|
21
|
-
* The style of the editor
|
|
22
|
-
*/
|
|
23
|
-
style: {
|
|
24
|
-
response: string;
|
|
25
|
-
};
|
|
26
20
|
/**
|
|
27
21
|
* The language of the editor
|
|
28
22
|
*/
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export type FileEncoding = Extract<
|
|
1
|
+
export type FileEncoding = Extract<
|
|
2
|
+
BufferEncoding,
|
|
3
|
+
"utf8" | "hex" | "base64" | "base64url"
|
|
4
|
+
>;
|
|
2
5
|
|
|
3
6
|
type FileContent = {
|
|
4
|
-
path: string
|
|
5
|
-
content: string
|
|
6
|
-
type: FileEncoding
|
|
7
|
-
|
|
7
|
+
path: string;
|
|
8
|
+
content: string;
|
|
9
|
+
type: FileEncoding;
|
|
10
|
+
prevContent?: string | null;
|
|
11
|
+
};
|
|
8
12
|
|
|
9
|
-
export default FileContent
|
|
13
|
+
export default FileContent;
|
package/src/types/editor/Load.ts
CHANGED
|
@@ -23,6 +23,7 @@ export type Manifest = {
|
|
|
23
23
|
path: string;
|
|
24
24
|
type: FileContent["type"];
|
|
25
25
|
extensions: string[];
|
|
26
|
+
icon?: string;
|
|
26
27
|
};
|
|
27
28
|
permissions: Permission[];
|
|
28
29
|
iconsPath?: string;
|
|
@@ -31,9 +32,6 @@ export type Manifest = {
|
|
|
31
32
|
author?: string;
|
|
32
33
|
homepage?: string;
|
|
33
34
|
repository?: string;
|
|
34
|
-
theme?:
|
|
35
|
-
name: string;
|
|
36
|
-
path: string;
|
|
37
|
-
};
|
|
35
|
+
theme?: string;
|
|
38
36
|
[key: string]: unknown;
|
|
39
37
|
};
|