@strapi/admin 4.7.0-exp.3d6a31eb083e9d44afcf98f68c107fb7567e5720 → 4.7.0
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/admin/src/components/Notifications/Notification/index.js +8 -1
- package/admin/src/hooks/index.js +2 -0
- package/admin/src/hooks/useLicenseLimitNotification/index.js +5 -0
- package/admin/src/hooks/useLicenseLimits/index.js +3 -0
- package/admin/src/pages/HomePage/index.js +2 -0
- package/admin/src/pages/SettingsPage/components/Tokens/LifeSpanInput/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +5 -5
- package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +1 -1
- package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/FormApiTokenContainer/index.js +4 -4
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Regenerate/index.js +5 -5
- package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -2
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +5 -0
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +2 -0
- package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/utils/tableHeaders.js +4 -4
- package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +1 -4
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +24 -0
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +4 -1
- package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +25 -31
- package/admin/src/translations/ca.json +6 -6
- package/admin/src/translations/de.json +6 -6
- package/admin/src/translations/dk.json +6 -6
- package/admin/src/translations/en.json +209 -184
- package/admin/src/translations/es.json +6 -6
- package/admin/src/translations/eu.json +19 -19
- package/admin/src/translations/fr.json +6 -6
- package/admin/src/translations/hi.json +6 -6
- package/admin/src/translations/hu.json +19 -19
- package/admin/src/translations/ja.json +6 -6
- package/admin/src/translations/ko.json +6 -6
- package/admin/src/translations/ml.json +6 -6
- package/admin/src/translations/nl.json +19 -19
- package/admin/src/translations/pl.json +6 -6
- package/admin/src/translations/pt-BR.json +6 -6
- package/admin/src/translations/ru.json +865 -785
- package/admin/src/translations/sa.json +6 -6
- package/admin/src/translations/sk.json +2 -2
- package/admin/src/translations/sv.json +19 -19
- package/admin/src/translations/tr.json +19 -19
- package/admin/src/translations/zh-Hans.json +6 -6
- package/admin/src/translations/zh.json +19 -19
- package/build/4649.ffa2f59a.chunk.js +30 -0
- package/build/7259.cd2f7bad.chunk.js +1 -0
- package/build/{Admin-authenticatedApp.368164a1.chunk.js → Admin-authenticatedApp.bce108cd.chunk.js} +6 -6
- package/build/Admin_homePage.cec3f510.chunk.js +70 -0
- package/build/Admin_settingsPage.f6d02df6.chunk.js +178 -0
- package/build/admin-app.d3b3237b.chunk.js +112 -0
- package/build/admin-edit-users.f06c4a53.chunk.js +10 -0
- package/build/admin-users.8c9bfda4.chunk.js +11 -0
- package/build/audit-logs-settings-page.7be97e82.chunk.js +1 -0
- package/build/ca-json.59c4502c.chunk.js +1 -0
- package/build/de-json.dbc2cf1b.chunk.js +1 -0
- package/build/dk-json.52f67b15.chunk.js +1 -0
- package/build/en-json.e688dfe2.chunk.js +1 -0
- package/build/es-json.c40c57dd.chunk.js +1 -0
- package/build/eu-json.6702a0d2.chunk.js +1 -0
- package/build/fr-json.ea9ec573.chunk.js +1 -0
- package/build/hi-json.14a17920.chunk.js +1 -0
- package/build/hu-json.33172d09.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/ja-json.3008b720.chunk.js +1 -0
- package/build/ko-json.7d2f95b1.chunk.js +1 -0
- package/build/ml-json.3e69969b.chunk.js +1 -0
- package/build/nl-json.641782d5.chunk.js +1 -0
- package/build/pl-json.05814145.chunk.js +1 -0
- package/build/pt-BR-json.d72350de.chunk.js +1 -0
- package/build/ru-json.c4a4f50b.chunk.js +1 -0
- package/build/{runtime~main.725b20df.js → runtime~main.bc7de2d8.js} +2 -2
- package/build/sa-json.e5e7ccaf.chunk.js +1 -0
- package/build/{sk-json.7bbeb0af.chunk.js → sk-json.3529b8aa.chunk.js} +1 -1
- package/build/sv-json.207afc0d.chunk.js +1 -0
- package/build/tr-json.f1a0d19d.chunk.js +1 -0
- package/build/{transfer-tokens-list-page.1e15926d.chunk.js → transfer-tokens-list-page.c6f8039a.chunk.js} +1 -1
- package/build/zh-Hans-json.6e26e359.chunk.js +1 -0
- package/build/zh-json.085a34f4.chunk.js +1 -0
- package/ee/admin/hooks/index.js +2 -0
- package/ee/admin/hooks/useLicenseLimitNotification/index.js +87 -0
- package/ee/admin/hooks/useLicenseLimits/index.js +31 -0
- package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +88 -0
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +21 -10
- package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +51 -0
- package/ee/server/bootstrap.js +1 -1
- package/ee/server/controllers/admin.js +48 -0
- package/ee/server/controllers/index.js +1 -0
- package/ee/server/controllers/user.js +95 -3
- package/ee/server/routes/index.js +23 -0
- package/ee/server/services/audit-logs.js +15 -5
- package/ee/server/services/index.js +2 -0
- package/ee/server/services/seat-enforcement.js +114 -0
- package/ee/server/services/user.js +234 -0
- package/package.json +9 -9
- package/server/middlewares/data-transfer.js +26 -0
- package/server/middlewares/index.js +1 -0
- package/server/routes/transfer.js +7 -9
- package/server/services/transfer/index.js +1 -0
- package/server/services/transfer/token.js +18 -3
- package/server/services/transfer/utils.js +38 -0
- package/admin/src/pages/SettingsPage/components/Tokens/FormiTokenContainer/LifeSpanInput.js +0 -95
- package/build/4649.b7e84a29.chunk.js +0 -30
- package/build/7259.3f04094f.chunk.js +0 -1
- package/build/Admin_homePage.1f10437f.chunk.js +0 -78
- package/build/Admin_settingsPage.5a329b58.chunk.js +0 -178
- package/build/admin-app.df9adf93.chunk.js +0 -112
- package/build/admin-edit-users.08a60ea2.chunk.js +0 -10
- package/build/admin-users.74f5629d.chunk.js +0 -11
- package/build/audit-logs-settings-page.bc1784fe.chunk.js +0 -1
- package/build/ca-json.4d999055.chunk.js +0 -1
- package/build/de-json.866f8a28.chunk.js +0 -1
- package/build/dk-json.10f7b1d1.chunk.js +0 -1
- package/build/en-json.8e5451b1.chunk.js +0 -1
- package/build/es-json.ea15c957.chunk.js +0 -1
- package/build/eu-json.3bc24d60.chunk.js +0 -1
- package/build/fr-json.e88fbdfd.chunk.js +0 -1
- package/build/hi-json.df3a7be2.chunk.js +0 -1
- package/build/hu-json.680e6eef.chunk.js +0 -1
- package/build/ja-json.97ee41ba.chunk.js +0 -1
- package/build/ko-json.4cbbf4f2.chunk.js +0 -1
- package/build/ml-json.e3747091.chunk.js +0 -1
- package/build/nl-json.371a15ee.chunk.js +0 -1
- package/build/pl-json.e535cbce.chunk.js +0 -1
- package/build/pt-BR-json.e5fafa46.chunk.js +0 -1
- package/build/ru-json.866f0ff1.chunk.js +0 -1
- package/build/sa-json.7efeb257.chunk.js +0 -1
- package/build/sv-json.dc40951f.chunk.js +0 -1
- package/build/tr-json.b79eae31.chunk.js +0 -1
- package/build/zh-Hans-json.30a18940.chunk.js +0 -1
- package/build/zh-json.49d84433.chunk.js +0 -1
|
@@ -80,16 +80,16 @@
|
|
|
80
80
|
"Settings.PageTitle": "सेटिंग्स् - {नाम}",
|
|
81
81
|
"Settings.apiTokens.addFirstToken": "स्वस्य प्रथमं एपिआइ टोकनं योजयन्तु",
|
|
82
82
|
"Settings.apiTokens.addNewToken": "नव एपीआई टोकन जोड़ें",
|
|
83
|
-
"Settings.
|
|
84
|
-
"Settings.
|
|
85
|
-
"Settings.
|
|
83
|
+
"Settings.tokens.copy.editMessage": "सुरक्षाकारणात्, भवान् केवलं एकवारं एव स्वस्य टोकनं द्रष्टुं शक्नोति।",
|
|
84
|
+
"Settings.tokens.copy.editTitle": "इदं टोकनम् इतः परं सुलभं नास्ति।",
|
|
85
|
+
"Settings.tokens.copy.lastWarning": "एतत् टोकनं प्रतिलिख्यताम् अवश्यं कुरुत, पुनः द्रष्टुं न शक्ष्यति!",
|
|
86
86
|
"Settings.apiTokens.create": "नवीन एपिआइ टोकन रचयतु",
|
|
87
87
|
"Settings.apiTokens.description": "एपिआइ उपभोगार्थं उत्पन्नटोकनस्य सूची",
|
|
88
88
|
"Settings.apiTokens.emptyStateLayout": "भवतः अद्यापि किमपि सामग्री नास्ति...",
|
|
89
|
-
"Settings.
|
|
89
|
+
"Settings.tokens.notification.copied": "टोकनः क्लिप्बोर्ड् मध्ये प्रतिलिपितः।",
|
|
90
90
|
"Settings.apiTokens.title": "एपीआई टोकन",
|
|
91
|
-
"Settings.
|
|
92
|
-
"Settings.
|
|
91
|
+
"Settings.tokens.types.full-access": "पूर्णाभिगमनम्",
|
|
92
|
+
"Settings.tokens.types.read-only": "केवल-पठनीयम्",
|
|
93
93
|
"Settings.application.description": "प्रशासनपटलस्य वैश्विकसूचना",
|
|
94
94
|
"Settings.application.edition-title": "वर्तमान योजना",
|
|
95
95
|
"Settings.application.get-help": "सहायतां प्राप्नुवन्तु",
|
|
@@ -641,8 +641,8 @@
|
|
|
641
641
|
"notification.success.delete": "Položka bola odstránená",
|
|
642
642
|
"notification.success.saved": "Uložené",
|
|
643
643
|
"notification.success.title": "Podarilo sa:",
|
|
644
|
-
"notification.success.
|
|
645
|
-
"notification.success.
|
|
644
|
+
"notification.success.apitokencreated": "API Token úspešne vytvorený",
|
|
645
|
+
"notification.success.apitokenedited": "API Token úspešne upravený",
|
|
646
646
|
"notification.error.tokennamenotunique": "Názov už je priradený inému tokenu",
|
|
647
647
|
"notification.version.update.message": "Nová verzia Strapi je dostupná!",
|
|
648
648
|
"notification.warning.title": "Upozornenie:",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"Settings.PageTitle": "Inställningar - {name}",
|
|
82
82
|
"Settings.apiTokens.addFirstToken": "Lägg till din första API-token",
|
|
83
83
|
"Settings.apiTokens.addNewToken": "Lägg till en ny API-token",
|
|
84
|
-
"Settings.
|
|
85
|
-
"Settings.
|
|
86
|
-
"Settings.
|
|
84
|
+
"Settings.tokens.copy.editMessage": "Av säkerhetsskäl kan du bara se din token en gång.",
|
|
85
|
+
"Settings.tokens.copy.editTitle": "Denna token är inte längre tillgänglig.",
|
|
86
|
+
"Settings.tokens.copy.lastWarning": "Kopiera denna token nu, den kommer inte visas igen!",
|
|
87
87
|
"Settings.apiTokens.create": "Skapa en ny API-token",
|
|
88
88
|
"Settings.apiTokens.description": "Lista över genererade tokens för att använda API:t",
|
|
89
89
|
"Settings.apiTokens.emptyStateLayout": "Det finns inget innehåll ännu...",
|
|
@@ -92,23 +92,23 @@
|
|
|
92
92
|
"Settings.apiTokens.ListView.headers.type": "Token type",
|
|
93
93
|
"Settings.apiTokens.ListView.headers.createdAt": "Created at",
|
|
94
94
|
"Settings.apiTokens.ListView.headers.lastUsedAt": "Last used",
|
|
95
|
-
"Settings.
|
|
95
|
+
"Settings.tokens.notification.copied": "Token har kopierats.",
|
|
96
96
|
"Settings.apiTokens.title": "API-tokens",
|
|
97
|
-
"Settings.
|
|
98
|
-
"Settings.
|
|
99
|
-
"Settings.
|
|
100
|
-
"Settings.
|
|
101
|
-
"Settings.
|
|
102
|
-
"Settings.
|
|
103
|
-
"Settings.
|
|
104
|
-
"Settings.
|
|
105
|
-
"Settings.
|
|
97
|
+
"Settings.tokens.types.full-access": "Full åtkomst",
|
|
98
|
+
"Settings.tokens.types.read-only": "Skrivskyddad",
|
|
99
|
+
"Settings.tokens.duration.7-days": "7 dagar",
|
|
100
|
+
"Settings.tokens.duration.30-days": "30 dagar",
|
|
101
|
+
"Settings.tokens.duration.90-days": "90 dagar",
|
|
102
|
+
"Settings.tokens.duration.unlimited": "Evig",
|
|
103
|
+
"Settings.tokens.form.duration": "Giltighetstid för token",
|
|
104
|
+
"Settings.tokens.form.type": "Token-typ",
|
|
105
|
+
"Settings.tokens.duration.expiration-date": "Utgångsdatum",
|
|
106
106
|
"Settings.apiTokens.createPage.permissions.title": "Behörigheter",
|
|
107
107
|
"Settings.apiTokens.createPage.permissions.description": "Endast åtgärder som är kopplade till en rutt listas nedan.",
|
|
108
|
-
"Settings.
|
|
109
|
-
"Settings.
|
|
110
|
-
"Settings.
|
|
111
|
-
"Settings.
|
|
108
|
+
"Settings.tokens.RegenerateDialog.title": "Återställ token",
|
|
109
|
+
"Settings.tokens.popUpWarning.message": "Är du säker på att du vill återställa denna token?",
|
|
110
|
+
"Settings.tokens.Button.cancel": "Avbryt",
|
|
111
|
+
"Settings.tokens.Button.regenerate": "Återställ",
|
|
112
112
|
"Settings.application.description": "Adminpanelens globala information",
|
|
113
113
|
"Settings.application.edition-title": "aktiv version",
|
|
114
114
|
"Settings.application.get-help": "Få hjälp",
|
|
@@ -779,8 +779,8 @@
|
|
|
779
779
|
"notification.success.delete": "Objektet har tagits bort",
|
|
780
780
|
"notification.success.saved": "Sparat",
|
|
781
781
|
"notification.success.title": "Lyckat:",
|
|
782
|
-
"notification.success.
|
|
783
|
-
"notification.success.
|
|
782
|
+
"notification.success.apitokencreated": "API-token skapad",
|
|
783
|
+
"notification.success.apitokenedited": "API-token uppdaterad",
|
|
784
784
|
"notification.error.tokennamenotunique": "Namnet används redan av en annan token",
|
|
785
785
|
"notification.version.update.message": "En ny version av Strapi är tillgänglig!",
|
|
786
786
|
"notification.warning.title": "Varning:",
|
|
@@ -69,36 +69,36 @@
|
|
|
69
69
|
"ResetPasswordToken": "Şifre sıfırlama anahtarı",
|
|
70
70
|
"Role": "Rol",
|
|
71
71
|
"Settings.PageTitle": "Ayarlar - {name}",
|
|
72
|
-
"Settings.
|
|
73
|
-
"Settings.
|
|
72
|
+
"Settings.tokens.Button.cancel": "İptal",
|
|
73
|
+
"Settings.tokens.Button.regenerate": "Yeniden üret",
|
|
74
74
|
"Settings.apiTokens.ListView.headers.createdAt": "Oluşturuldu",
|
|
75
75
|
"Settings.apiTokens.ListView.headers.description": "Tanım",
|
|
76
76
|
"Settings.apiTokens.ListView.headers.lastUsedAt": "En son kullanıldı",
|
|
77
77
|
"Settings.apiTokens.ListView.headers.name": "İsim",
|
|
78
78
|
"Settings.apiTokens.ListView.headers.type": "Token tipi",
|
|
79
|
-
"Settings.
|
|
79
|
+
"Settings.tokens.RegenerateDialog.title": "Tokenı yeniden üret.",
|
|
80
80
|
"Settings.apiTokens.addFirstToken": "İlk API Tokenınını ekle",
|
|
81
81
|
"Settings.apiTokens.addNewToken": "Yeni API Tokenı ekle",
|
|
82
|
-
"Settings.
|
|
83
|
-
"Settings.
|
|
84
|
-
"Settings.
|
|
82
|
+
"Settings.tokens.copy.editMessage": "Güvenlik sebebiyle, tokenı yalnızca bir kere görebilirsin.",
|
|
83
|
+
"Settings.tokens.copy.editTitle": "Bu tokena artık erişilemez.",
|
|
84
|
+
"Settings.tokens.copy.lastWarning": "Bu tokenı kopyalamayı unutma. Bir daha erişemeyeceksin!",
|
|
85
85
|
"Settings.apiTokens.create": "Yeni API Tokenı oluştur",
|
|
86
86
|
"Settings.apiTokens.createPage.permissions.description": "Sadece bir yol ile bağlanmış eylemler listelenmektedir.",
|
|
87
87
|
"Settings.apiTokens.createPage.permissions.title": "İzinler",
|
|
88
88
|
"Settings.apiTokens.description": "API'ı kullanmak için oluşturulmuş token listesi",
|
|
89
|
-
"Settings.
|
|
90
|
-
"Settings.
|
|
91
|
-
"Settings.
|
|
92
|
-
"Settings.
|
|
93
|
-
"Settings.
|
|
89
|
+
"Settings.tokens.duration.30-days": "30 gün",
|
|
90
|
+
"Settings.tokens.duration.7-days": "7 gün",
|
|
91
|
+
"Settings.tokens.duration.90-days": "90 gün",
|
|
92
|
+
"Settings.tokens.duration.expiration-date": "Sona erme tarihi",
|
|
93
|
+
"Settings.tokens.duration.unlimited": "Sınırsız",
|
|
94
94
|
"Settings.apiTokens.emptyStateLayout": "Henüz hiç içeriğin yok...",
|
|
95
|
-
"Settings.
|
|
96
|
-
"Settings.
|
|
97
|
-
"Settings.
|
|
98
|
-
"Settings.
|
|
95
|
+
"Settings.tokens.form.duration": "Token süresi",
|
|
96
|
+
"Settings.tokens.form.type": "Token tipi",
|
|
97
|
+
"Settings.tokens.notification.copied": "Token panoya kopyalandı.",
|
|
98
|
+
"Settings.tokens.popUpWarning.message": "Bu tokenı yeniden üretmek istediğinden emin misin?",
|
|
99
99
|
"Settings.apiTokens.title": "API Tokenları",
|
|
100
|
-
"Settings.
|
|
101
|
-
"Settings.
|
|
100
|
+
"Settings.tokens.types.full-access": "Tam yetki",
|
|
101
|
+
"Settings.tokens.types.read-only": "Salt-okunur",
|
|
102
102
|
"Settings.application.customization": "Özelleştirme",
|
|
103
103
|
"Settings.application.customization.carousel-hint": "Yönetim paneli logosunu değiştir. (Görsel boyutu sınırı: {dimension}x{dimension}, Dosya boyutu sınırı: {size}KB)",
|
|
104
104
|
"Settings.application.customization.carousel-slide.label": "Logo slaytı",
|
|
@@ -737,8 +737,8 @@
|
|
|
737
737
|
"notification.success.delete": "Öğe silindi",
|
|
738
738
|
"notification.success.saved": "Kaydedildi",
|
|
739
739
|
"notification.success.title": "Başarılı:",
|
|
740
|
-
"notification.success.
|
|
741
|
-
"notification.success.
|
|
740
|
+
"notification.success.apitokencreated": "API Token başarıyla oluşturuldu",
|
|
741
|
+
"notification.success.apitokenedited": "API Token başarıyla düzenlendi",
|
|
742
742
|
"notification.version.update.message": "Strapi'nin yeni versiyonu çıktı!",
|
|
743
743
|
"notification.warning.404": "404 - Bulunamadı",
|
|
744
744
|
"notification.warning.title": "Dikkat:",
|
|
@@ -79,16 +79,16 @@
|
|
|
79
79
|
"Settings.PageTitle": "设置 - {name}",
|
|
80
80
|
"Settings.apiTokens.addFirstToken": "添加你的第一个 API 令牌。",
|
|
81
81
|
"Settings.apiTokens.addNewToken": "添加新的 API 令牌",
|
|
82
|
-
"Settings.
|
|
83
|
-
"Settings.
|
|
84
|
-
"Settings.
|
|
82
|
+
"Settings.tokens.copy.editMessage": "出于安全原因,你只能看到你的令牌一次。",
|
|
83
|
+
"Settings.tokens.copy.editTitle": "这个令牌已经无法使用了。",
|
|
84
|
+
"Settings.tokens.copy.lastWarning": "请确保复制这个令牌,你将无法再看到它了!",
|
|
85
85
|
"Settings.apiTokens.create": "创建",
|
|
86
86
|
"Settings.apiTokens.description": "已添加的可使用 API 的令牌列表",
|
|
87
87
|
"Settings.apiTokens.emptyStateLayout": "你还没有任何内容...",
|
|
88
|
-
"Settings.
|
|
88
|
+
"Settings.tokens.notification.copied": "令牌已被复制至剪贴板。",
|
|
89
89
|
"Settings.apiTokens.title": "API 令牌",
|
|
90
|
-
"Settings.
|
|
91
|
-
"Settings.
|
|
90
|
+
"Settings.tokens.types.full-access": "完全访问",
|
|
91
|
+
"Settings.tokens.types.read-only": "只读",
|
|
92
92
|
"Settings.application.description": "查看项目的详细信息",
|
|
93
93
|
"Settings.application.edition-title": "当前方案",
|
|
94
94
|
"Settings.application.get-help": "获取帮助",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"Settings.PageTitle": "設定 - {name}",
|
|
82
82
|
"Settings.apiTokens.addFirstToken": "新增您的第一個 API 權杖",
|
|
83
83
|
"Settings.apiTokens.addNewToken": "新增 API 權杖",
|
|
84
|
-
"Settings.
|
|
85
|
-
"Settings.
|
|
86
|
-
"Settings.
|
|
84
|
+
"Settings.tokens.copy.editMessage": "基於安全考量,您只能查看您的權杖一次。",
|
|
85
|
+
"Settings.tokens.copy.editTitle": "這個權杖已無法存取。",
|
|
86
|
+
"Settings.tokens.copy.lastWarning": "請務必複製這個權杖,錯過就不會再顯示了!",
|
|
87
87
|
"Settings.apiTokens.create": "新增",
|
|
88
88
|
"Settings.apiTokens.description": "已產生可使用 API 的權杖列表",
|
|
89
89
|
"Settings.apiTokens.emptyStateLayout": "您還沒有任何內容...",
|
|
@@ -92,23 +92,23 @@
|
|
|
92
92
|
"Settings.apiTokens.ListView.headers.type": "權杖類型",
|
|
93
93
|
"Settings.apiTokens.ListView.headers.createdAt": "建立時間",
|
|
94
94
|
"Settings.apiTokens.ListView.headers.lastUsedAt": "最後使用時間",
|
|
95
|
-
"Settings.
|
|
95
|
+
"Settings.tokens.notification.copied": "權杖已複製到剪貼簿。",
|
|
96
96
|
"Settings.apiTokens.title": "API 權杖",
|
|
97
|
-
"Settings.
|
|
98
|
-
"Settings.
|
|
99
|
-
"Settings.
|
|
100
|
-
"Settings.
|
|
101
|
-
"Settings.
|
|
102
|
-
"Settings.
|
|
103
|
-
"Settings.
|
|
104
|
-
"Settings.
|
|
105
|
-
"Settings.
|
|
97
|
+
"Settings.tokens.types.full-access": "完全控制",
|
|
98
|
+
"Settings.tokens.types.read-only": "唯讀",
|
|
99
|
+
"Settings.tokens.duration.7-days": "7 天",
|
|
100
|
+
"Settings.tokens.duration.30-days": "30 天",
|
|
101
|
+
"Settings.tokens.duration.90-days": "90 天",
|
|
102
|
+
"Settings.tokens.duration.unlimited": "無限制",
|
|
103
|
+
"Settings.tokens.form.duration": "權杖有效期限",
|
|
104
|
+
"Settings.tokens.form.type": "權杖類型",
|
|
105
|
+
"Settings.tokens.duration.expiration-date": "到期日",
|
|
106
106
|
"Settings.apiTokens.createPage.permissions.title": "權限",
|
|
107
107
|
"Settings.apiTokens.createPage.permissions.description": "下方僅列出與路徑繫結的操作。",
|
|
108
|
-
"Settings.
|
|
109
|
-
"Settings.
|
|
110
|
-
"Settings.
|
|
111
|
-
"Settings.
|
|
108
|
+
"Settings.tokens.RegenerateDialog.title": "重新產生權杖",
|
|
109
|
+
"Settings.tokens.popUpWarning.message": "您確定要重新產生此權杖嗎?",
|
|
110
|
+
"Settings.tokens.Button.cancel": "取消",
|
|
111
|
+
"Settings.tokens.Button.regenerate": "重新產生",
|
|
112
112
|
"Settings.application.description": "管理後台的全域資訊",
|
|
113
113
|
"Settings.application.edition-title": "目前方案",
|
|
114
114
|
"Settings.application.get-help": "取得協助",
|
|
@@ -787,8 +787,8 @@
|
|
|
787
787
|
"notification.success.delete": "該項已被刪除",
|
|
788
788
|
"notification.success.saved": "已儲存",
|
|
789
789
|
"notification.success.title": "成功:",
|
|
790
|
-
"notification.success.
|
|
791
|
-
"notification.success.
|
|
790
|
+
"notification.success.apitokencreated": "成功建立 API 權杖",
|
|
791
|
+
"notification.success.apitokenedited": "成功編輯 API 權杖",
|
|
792
792
|
"notification.error.tokennamenotunique": "名稱已經指派給其他權杖",
|
|
793
793
|
"notification.version.update.message": "有新版本的 Strapi 可用!",
|
|
794
794
|
"notification.warning.title": "警告:",
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4649],{30493:function(b,M,n){"use strict";n.d(M,{Z:function(){return s}});var e=n(32735),g=n(5636),a=n(60216),t=n.n(a),p=n(13478),A=n(57269),E=n(39161),f=n(8888);const C=({onRegenerate:y,idToRegenerate:c,backUrl:R})=>{const{formatMessage:I}=(0,g.useIntl)(),[_,L]=(0,e.useState)(!1),{regenerateData:W,isLoadingConfirmation:G}=(0,f.rW)(R,c,y),N=async()=>{W(),L(!1)};return e.createElement(e.Fragment,null,e.createElement(E.Button,{startIcon:e.createElement(A.Refresh,null),type:"button",size:"S",variant:"tertiary",onClick:()=>L(!0),name:"regenerate"},I({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),e.createElement(p.ConfirmDialog,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:e.createElement(A.Refresh,null),isConfirmButtonLoading:G,isOpen:_,onToggleDialog:()=>L(!1),onConfirm:N,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};C.defaultProps={onRegenerate(){}},C.propTypes={onRegenerate:t().func,idToRegenerate:t().oneOfType([t().number,t().string]).isRequired,backUrl:t().string.isRequired};var h=C;const v=({title:y,token:c,setToken:R,canEditInputs:I,canRegenerate:_,isSubmitting:L,backUrl:W,regenerateUrl:G})=>{const{formatMessage:N}=(0,g.useIntl)(),Z=X=>{R({...c,accessKey:X})};return e.createElement(E.HeaderLayout,{title:c?.name||N(y),primaryAction:I?e.createElement(E.Stack,{horizontal:!0,spacing:2},_&&c?.id&&e.createElement(h,{backUrl:G,onRegenerate:Z,idToRegenerate:c?.id}),e.createElement(E.Button,{disabled:L,loading:L,startIcon:e.createElement(A.Check,null),type:"submit",size:"S"},N({id:"global.save",defaultMessage:"Save"}))):_&&c?.id&&e.createElement(h,{onRegenerate:Z,idToRegenerate:c?.id,backUrl:G}),navigationAction:e.createElement(p.Link,{startIcon:e.createElement(A.ArrowLeft,null),to:W},N({id:"global.back",defaultMessage:"Back"}))})};v.propTypes={token:t().shape({id:t().oneOfType([t().number,t().string]),type:t().string,lifespan:t().oneOfType([t().number,t().string]),name:t().string,accessKey:t().string,permissions:t().array,description:t().string,createdAt:t().string}),canEditInputs:t().bool.isRequired,canRegenerate:t().bool.isRequired,setToken:t().func.isRequired,isSubmitting:t().bool.isRequired,backUrl:t().string.isRequired,title:t().shape({id:t().string,label:t().string}).isRequired,regenerateUrl:t().string.isRequired},v.defaultProps={token:void 0};var s=v},4321:function(b,M,n){"use strict";var e=n(32735),g=n(60216),a=n.n(g),t=n(5636),p=n(39161),A=n.n(p),E=n(37944);const f=({token:C,errors:h,values:v,onChange:s,isCreating:y})=>{const{formatMessage:c}=(0,t.useIntl)();return e.createElement(e.Fragment,null,e.createElement(p.Select,{name:"lifespan",label:c({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:v.lifespan!==null?v.lifespan:"0",error:h.lifespan?c(h.lifespan?.id?h.lifespan:{id:h.lifespan,defaultMessage:h.lifespan}):null,onChange:R=>{s({target:{name:"lifespan",value:R}})},required:!0,disabled:!y,placeholder:"Select"},e.createElement(p.Option,{value:"604800000"},c({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),e.createElement(p.Option,{value:"2592000000"},c({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),e.createElement(p.Option,{value:"7776000000"},c({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),e.createElement(p.Option,{value:"0"},c({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),e.createElement(p.Typography,{variant:"pi",textColor:"neutral600"},!y&&`${c({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,E.IX)(C?.createdAt,parseInt(v.lifespan,10))}`))};f.propTypes={errors:a().shape({lifespan:a().string}),onChange:a().func.isRequired,values:a().shape({lifespan:a().oneOfType([a().number,a().string])}).isRequired,isCreating:a().bool.isRequired,token:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().string,name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string})},f.defaultProps={errors:{},token:{}},M.Z=f},93682:function(b,M,n){"use strict";var e=n(32735),g=n(5636),a=n(13478),t=n.n(a),p=n(39161),A=n.n(p),E=n(57269),f=n.n(E),C=n(60216),h=n.n(C),v=n(59087),s=n.n(v);const y=({token:c,tokenType:R})=>{const{formatMessage:I}=(0,g.useIntl)(),_=(0,a.useNotification)(),{trackUsage:L}=(0,a.useTracking)(),W=(0,e.useRef)(L);return e.createElement(a.ContentBox,{endAction:c&&e.createElement("span",{style:{alignSelf:"start"}},e.createElement(v.CopyToClipboard,{onCopy:()=>{W.current("didCopyTokenKey",{tokenType:R}),_({type:"success",message:{id:"Settings.tokens.notification.copied"}})},text:c},e.createElement(p.IconButton,{label:I({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),noBorder:!0,icon:e.createElement(E.Duplicate,null),style:{padding:0,height:"1rem"}}))),title:c||I({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:I(c?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:e.createElement(E.Key,null),iconBackground:"neutral100"})};y.defaultProps={token:null},y.propTypes={token:h().string,tokenType:h().string.isRequired},M.Z=y},42789:function(b,M,n){"use strict";var e=n(32735),g=n(60216),a=n.n(g),t=n(5636),p=n(39161),A=n.n(p);const E=({errors:f,values:C,onChange:h,canEditInputs:v})=>{const{formatMessage:s}=(0,t.useIntl)();return e.createElement(p.Textarea,{label:s({id:"Settings.tokens.form.description",defaultMessage:"Description"}),name:"description",error:f.description?s(f.description?.id?f.description:{id:f.description,defaultMessage:f.description}):null,onChange:h,disabled:!v},C.description)};E.propTypes={errors:a().shape({description:a().string}),onChange:a().func.isRequired,canEditInputs:a().bool.isRequired,values:a().shape({description:a().string}).isRequired},E.defaultProps={errors:{}},M.Z=E},8377:function(b,M,n){"use strict";var e=n(32735),g=n(60216),a=n.n(g),t=n(5636),p=n(39161),A=n.n(p);const E=({errors:f,values:C,onChange:h,canEditInputs:v})=>{const{formatMessage:s}=(0,t.useIntl)();return e.createElement(p.TextInput,{name:"name",error:f.name?s(f.name?.id?f.name:{id:f.name,defaultMessage:f.name}):null,label:s({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:h,value:C.name,disabled:!v,required:!0})};E.propTypes={errors:a().shape({name:a().string}),onChange:a().func.isRequired,canEditInputs:a().bool.isRequired,values:a().shape({name:a().string}).isRequired},E.defaultProps={errors:{}},M.Z=E},68774:function(b,M,n){"use strict";n.d(M,{Z:function(){return e},f:function(){return g}});const e="api-token",g="transfer-token"},24649:function(b,M,n){"use strict";n.d(M,{Z:function(){return De}});var e=n(32735),g=n(5636),a=n(13478),t=n(39161),p=n(83281),A=n(5141),E=n(84968),f=n(64421),C=n(37944),h=n(57269),v=n(60216),s=n.n(v);const y=({apiTokenName:o})=>{const{formatMessage:i}=(0,g.useIntl)();return(0,a.useFocusWhenNavigate)(),e.createElement(t.Main,{"aria-busy":"true"},e.createElement(a.SettingsPageTitle,{name:"API Tokens"}),e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Button,{disabled:!0,startIcon:e.createElement(h.Check,null),type:"button",size:"L"},i({id:"global.save",defaultMessage:"Save"})),title:o||i({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),e.createElement(t.ContentLayout,null,e.createElement(a.LoadingIndicatorPage,null)))};y.defaultProps={apiTokenName:null},y.propTypes={apiTokenName:s().string};var c=y,R=n(72041);const I=(0,e.createContext)({}),_=({children:o,...i})=>e.createElement(I.Provider,{value:i},o),L=()=>(0,e.useContext)(I);_.propTypes={children:s().node.isRequired};var G=(o,i=[])=>({...o,selectedAction:null,routes:[],selectedActions:[],data:(0,C.mk)(i)}),N=n(97889),Z=n(92891);const X={data:{},selectedActions:[]};var re=(o,i)=>(0,N.default)(o,r=>{switch(i.type){case"ON_CHANGE":{r.selectedActions.includes(i.value)?(0,Z.pull)(r.selectedActions,i.value):r.selectedActions.push(i.value);break}case"SELECT_ALL_IN_PERMISSION":{i.value.every(d=>r.selectedActions.includes(d.actionId))?i.value.forEach(d=>{(0,Z.pull)(r.selectedActions,d.actionId)}):i.value.forEach(d=>{r.selectedActions.push(d.actionId)});break}case"SELECT_ALL_ACTIONS":{r.selectedActions=[...r.data.allActionsIds];break}case"ON_CHANGE_READ_ONLY":{const T=r.data.allActionsIds.filter(d=>d.includes("find")||d.includes("findOne"));r.selectedActions=[...T];break}case"UPDATE_PERMISSIONS_LAYOUT":{r.data=(0,C.mk)(i.value);break}case"UPDATE_ROUTES":{r.routes={...i.value};break}case"UPDATE_PERMISSIONS":{r.selectedActions=[...i.value];break}case"SET_SELECTED_ACTION":{r.selectedAction=i.value;break}default:return r}}),z=n(83292);const ie=z.css`
|
|
2
|
+
background: ${o=>o.theme.colors.primary100};
|
|
3
|
+
svg {
|
|
4
|
+
opacity: 1;
|
|
5
|
+
}
|
|
6
|
+
`;var le=(0,z.default)(t.Box)`
|
|
7
|
+
display: flex;
|
|
8
|
+
justify-content: space-between;
|
|
9
|
+
align-items: center;
|
|
10
|
+
|
|
11
|
+
svg {
|
|
12
|
+
opacity: 0;
|
|
13
|
+
path {
|
|
14
|
+
fill: ${o=>o.theme.colors.primary600};
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* Show active style both on hover and when the action is selected */
|
|
19
|
+
${o=>o.isActive&&ie}
|
|
20
|
+
&:hover {
|
|
21
|
+
${ie}
|
|
22
|
+
}
|
|
23
|
+
`;const ce=z.default.div`
|
|
24
|
+
flex: 1;
|
|
25
|
+
align-self: center;
|
|
26
|
+
border-top: 1px solid ${({theme:o})=>o.colors.neutral150};
|
|
27
|
+
`,J=({controllers:o,label:i,orderNumber:r,disabled:T,onExpanded:d,indexExpandendCollapsedContent:l})=>{const{value:{onChangeSelectAll:k,onChange:B,selectedActions:P,setSelectedAction:U,selectedAction:$}}=L(),[x,j]=(0,e.useState)(!1),{formatMessage:H}=(0,g.useIntl)(),S=()=>{j(D=>!D),d(r)};(0,e.useEffect)(()=>{l!==null&&l!==r&&x&&j(!1)},[l,r,x]);const F=D=>D===$;return e.createElement(t.Accordion,{expanded:x,onToggle:S,variant:r%2?"primary":"secondary"},e.createElement(t.AccordionToggle,{title:(0,Z.capitalize)(i)}),e.createElement(t.AccordionContent,null,o?.map(D=>{const Q=D.actions.every(m=>P.includes(m.actionId)),ne=D.actions.some(m=>P.includes(m.actionId));return e.createElement(t.Box,{key:`${i}.${D?.controller}`},e.createElement(t.Flex,{justifyContent:"space-between",alignItems:"center",padding:4},e.createElement(t.Box,{paddingRight:4},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},D?.controller)),e.createElement(ce,null),e.createElement(t.Box,{paddingLeft:4},e.createElement(t.Checkbox,{value:Q,indeterminate:!Q&&ne,onValueChange:()=>{k({target:{value:[...D.actions]}})},disabled:T},H({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(t.Grid,{gap:4,padding:4},D?.actions&&D?.actions.map(m=>e.createElement(t.GridItem,{col:6,key:m.actionId},e.createElement(le,{isActive:F(m.actionId),padding:2,hasRadius:!0},e.createElement(t.Checkbox,{value:P.includes(m.actionId),name:m.actionId,onValueChange:()=>{B({target:{value:m.actionId}})},disabled:T},m.action),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>U({target:{value:m.actionId}}),style:{display:"inline-flex",alignItems:"center"}},e.createElement(h.Cog,null)))))))})))};J.defaultProps={controllers:[],orderNumber:0,disabled:!1,onExpanded:()=>null,indexExpandendCollapsedContent:null},J.propTypes={controllers:s().array,orderNumber:s().number,label:s().string.isRequired,disabled:s().bool,onExpanded:s().func,indexExpandendCollapsedContent:s().number};var de=J;const w=({section:o,...i})=>{const[r,T]=(0,e.useState)(null),d=l=>T(l);return e.createElement(t.Box,{padding:4,background:"neutral0"},o&&o.map((l,k)=>e.createElement(de,{key:l.apiId,label:l.label,controllers:l.controllers,orderNumber:k,indexExpandendCollapsedContent:r,onExpanded:d,name:l.apiId,...i})))};w.defaultProps={section:null},w.propTypes={section:s().arrayOf(s().object)};var ue=w,pe=n(37213),ge=n.n(pe),me=n(15738),Ee=n.n(me),fe=o=>{switch(o){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const ye=(0,z.default)(t.Box)`
|
|
28
|
+
margin: -1px;
|
|
29
|
+
border-radius: ${({theme:o})=>o.spaces[1]} 0 0 ${({theme:o})=>o.spaces[1]};
|
|
30
|
+
`;function q({route:o}){const{formatMessage:i}=(0,g.useIntl)(),{method:r,handler:T,path:d}=o,l=d?Ee()(d.split("/")):[],[k="",B=""]=T?T.split("."):[],P=fe(o.method);return e.createElement(t.Stack,{spacing:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},i({id:"Settings.apiTokens.createPage.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,k),e.createElement(t.Typography,{variant:"delta",textColor:"primary600"},".",B)),e.createElement(t.Stack,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},e.createElement(ye,{background:P.background,borderColor:P.border,padding:2},e.createElement(t.Typography,{fontWeight:"bold",textColor:P.text},r)),e.createElement(t.Box,{paddingLeft:2,paddingRight:2},ge()(l,U=>e.createElement(t.Typography,{key:U,textColor:U.includes(":")?"neutral600":"neutral900"},"/",U)))))}q.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},q.propTypes={route:s().shape({handler:s().string,method:s().string,path:s().string})};var Te=q,he=()=>{const{value:{selectedAction:o,routes:i}}=L(),{formatMessage:r}=(0,g.useIntl)(),T=o?.split(".")[0];return e.createElement(t.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},o?e.createElement(t.Stack,{spacing:2},i[T]?.map(d=>d.config.auth?.scope?.includes(o)||d.handler===o?e.createElement(Te,{key:d.handler,route:d}):null)):e.createElement(t.Stack,{spacing:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},r({id:"Settings.apiTokens.createPage.permissions.header.title",defaultMessage:"Advanced settings"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},r({id:"Settings.apiTokens.createPage.permissions.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};const Ce=({...o})=>{const{value:{data:i}}=L(),{formatMessage:r}=(0,g.useIntl)();return e.createElement(t.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(t.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Stack,{spacing:2},e.createElement(t.Typography,{variant:"delta",as:"h2"},r({id:"Settings.apiTokens.createPage.permissions.title",defaultMessage:"Permissions"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},r({id:"Settings.apiTokens.createPage.permissions.description",defaultMessage:"Only actions bound by a route are listed below."}))),i?.permissions&&e.createElement(ue,{section:i?.permissions,...o})),e.createElement(he,null))};var ve=(0,e.memo)(Ce),Ae=n(4321),Me=n(8377),ke=n(42789);const ee=({errors:o,values:i,onChange:r,canEditInputs:T,options:d,label:l})=>{const{formatMessage:k}=(0,g.useIntl)();return e.createElement(t.Select,{name:"type",label:k({id:l.id,defaultMessage:l.defaultMessage}),value:i?.type,error:o.type?k(o.type?.id?o.type:{id:o.type,defaultMessage:o.type}):null,onChange:r,placeholder:"Select",required:!0,disabled:!T},d&&d.map(({value:B,label:P})=>e.createElement(t.Option,{key:B,value:B},k(P))))};ee.propTypes={options:s().arrayOf(s().shape({label:s().shape({id:s().string,defaultMessage:s().string}),value:s().string})),errors:s().shape({type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({type:s().string}).isRequired,label:s().shape({id:s().string,defaultMessage:s().string}).isRequired},ee.defaultProps={errors:{},options:[]};var Re=ee;const te=({errors:o,onChange:i,canEditInputs:r,isCreating:T,values:d,apiToken:l,onDispatch:k,setHasChangedPermissions:B})=>{const{formatMessage:P}=(0,g.useIntl)(),U=({target:{value:x}})=>{B(!1),x==="full-access"&&k({type:"SELECT_ALL_ACTIONS"}),x==="read-only"&&k({type:"ON_CHANGE_READ_ONLY"})},$=[{value:"read-only",label:{id:"Settings.tokens.types.read-only",defaultMessage:"Read-only"}},{value:"full-access",label:{id:"Settings.tokens.types.full-access",defaultMessage:"Full access"}},{value:"custom",label:{id:"Settings.tokens.types.custom",defaultMessage:"Custom"}}];return e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Stack,{spacing:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},P({id:"global.details",defaultMessage:"Details"})),e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{key:"name",col:6,xs:12},e.createElement(Me.Z,{errors:o,values:d,canEditInputs:r,onChange:i})),e.createElement(t.GridItem,{key:"description",col:6,xs:12},e.createElement(ke.Z,{errors:o,values:d,canEditInputs:r,onChange:i})),e.createElement(t.GridItem,{key:"lifespan",col:6,xs:12},e.createElement(Ae.Z,{isCreating:T,errors:o,values:d,onChange:i,token:l})),e.createElement(t.GridItem,{key:"type",col:6,xs:12},e.createElement(Re,{values:d,errors:o,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:x=>{U({target:{value:x}}),i({target:{name:"type",value:x}})},options:$,canEditInputs:r})))))};te.propTypes={errors:s().shape({name:s().string,description:s().string,lifespan:s().string,type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({name:s().string,description:s().string,lifespan:s().oneOfType([s().number,s().string]),type:s().string}).isRequired,isCreating:s().bool.isRequired,apiToken:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().string,name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string}),onDispatch:s().func.isRequired,setHasChangedPermissions:s().func.isRequired},te.defaultProps={errors:{},apiToken:{}};var Pe=te,Oe=n(93682),Ie=n(30493),Y=n(68774);const Se="Name already taken";var De=()=>{(0,a.useFocusWhenNavigate)();const{formatMessage:o}=(0,g.useIntl)(),{lockApp:i,unlockApp:r}=(0,a.useOverlayBlocker)(),T=(0,a.useNotification)(),d=(0,A.useHistory)(),[l,k]=(0,e.useState)(d.location.state?.apiToken.accessKey?{...d.location.state.apiToken}:null),{trackUsage:B}=(0,a.useTracking)(),P=(0,e.useRef)(B),{setCurrentStep:U}=(0,a.useGuidedTour)(),{allowedActions:{canCreate:$,canUpdate:x,canRegenerate:j}}=(0,a.useRBAC)(R.Z.settings["api-tokens"]),[H,S]=(0,e.useReducer)(re,X,u=>G(u,{})),{params:{id:F}}=(0,A.useRouteMatch)("/settings/api-tokens/:id"),{get:D,post:Q,put:ne}=(0,a.useFetchClient)(),m=F==="create";(0,E.useQuery)("content-api-permissions",async()=>{const[u,K]=await Promise.all(["/admin/content-api/permissions","/admin/content-api/routes"].map(async V=>{const{data:O}=await D(V);return O.data}));S({type:"UPDATE_PERMISSIONS_LAYOUT",value:u}),S({type:"UPDATE_ROUTES",value:K}),l&&(l?.type==="read-only"&&S({type:"ON_CHANGE_READ_ONLY"}),l?.type==="full-access"&&S({type:"SELECT_ALL_ACTIONS"}),l?.type==="custom"&&S({type:"UPDATE_PERMISSIONS",value:l?.permissions}))},{onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),(0,e.useEffect)(()=>{P.current(m?"didAddTokenFromList":"didEditTokenFromList",{tokenType:Y.Z})},[m]);const{status:_e}=(0,E.useQuery)(["api-token",F],async()=>{const{data:{data:u}}=await D(`/admin/api-tokens/${F}`);return k({...u}),u?.type==="read-only"&&S({type:"ON_CHANGE_READ_ONLY"}),u?.type==="full-access"&&S({type:"SELECT_ALL_ACTIONS"}),u?.type==="custom"&&S({type:"UPDATE_PERMISSIONS",value:u?.permissions}),u},{enabled:!m&&!l,onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Le=async(u,K)=>{P.current(m?"willCreateToken":"willEditToken",{tokenType:Y.Z}),i();const V=u.lifespan&&parseInt(u.lifespan,10)&&u.lifespan!=="0"?parseInt(u.lifespan,10):null;try{const{data:{data:O}}=m?await Q("/admin/api-tokens",{...u,lifespan:V,permissions:u.type==="custom"?H.selectedActions:null}):await ne(`/admin/api-tokens/${F}`,{name:u.name,description:u.description,type:u.type,permissions:u.type==="custom"?H.selectedActions:null});m&&(d.replace(`/settings/api-tokens/${O.id}`,{apiToken:O}),U("apiTokens.success")),r(),k({...O}),T({type:"success",message:o(m?{id:"notification.success.apitokencreated",defaultMessage:"API Token successfully created"}:{id:"notification.success.apitokenedited",defaultMessage:"API Token successfully edited"})}),P.current(m?"didCreateToken":"didEditToken",{type:l.type,tokenType:Y.Z})}catch(O){const oe=(0,f.Iz)(O.response.data);K.setErrors(oe),O?.response?.data?.error?.message===Se?T({type:"warning",message:O.response.data.message||"notification.error.tokennamenotunique"}):T({type:"warning",message:O?.response?.data?.message||"notification.error"}),r()}},[xe,se]=(0,e.useState)(!1),Be={...H,onChange:({target:{value:u}})=>{se(!0),S({type:"ON_CHANGE",value:u})},onChangeSelectAll:({target:{value:u}})=>{se(!0),S({type:"SELECT_ALL_IN_PERMISSION",value:u})},setSelectedAction:({target:{value:u}})=>{S({type:"SET_SELECTED_ACTION",value:u})}},ae=x&&!m||$&&m;return!m&&!l&&_e!=="success"?e.createElement(c,{apiTokenName:l?.name}):e.createElement(_,{value:Be},e.createElement(t.Main,null,e.createElement(a.SettingsPageTitle,{name:"API Tokens"}),e.createElement(p.Formik,{validationSchema:C.fK,validateOnChange:!1,initialValues:{name:l?.name||"",description:l?.description||"",type:l?.type,lifespan:l?.lifespan?l.lifespan.toString():l?.lifespan},enableReinitialize:!0,onSubmit:(u,K)=>Le(u,K)},({errors:u,handleChange:K,isSubmitting:V,values:O,setFieldValue:oe})=>(xe&&O?.type!=="custom"&&oe("type","custom"),e.createElement(a.Form,null,e.createElement(Ie.Z,{backUrl:"/settings/api-tokens",title:{id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"},token:l,setToken:k,canEditInputs:ae,canRegenerate:j,isSubmitting:V,regenerateUrl:"/admin/api-tokens/"}),e.createElement(t.ContentLayout,null,e.createElement(t.Stack,{spacing:6},Boolean(l?.name)&&e.createElement(Oe.Z,{token:l?.accessKey,tokenType:Y.Z}),e.createElement(Pe,{errors:u,onChange:K,canEditInputs:ae,isCreating:m,values:O,apiToken:l,onDispatch:S,setHasChangedPermissions:se}),e.createElement(ve,{disabled:!ae||O?.type==="read-only"||O?.type==="full-access"}))))))))}},37944:function(b,M,n){"use strict";n.d(M,{IX:function(){return t},fK:function(){return f},mk:function(){return v}});var e=n(64213),g=n(54049),t=(s,y,c="en")=>{if(y&&typeof y=="number"){const R=y/24/60/60/1e3;return(0,e.format)((0,e.addDays)(new Date(s),R),"PPP",{locale:g[c]})}return"Unlimited"},p=n(5173),A=n(13478),f=p.Ry().shape({name:p.Z_(A.translatedErrors.string).required(A.translatedErrors.required),type:p.Z_(A.translatedErrors.string).oneOf(["read-only","full-access","custom"]).required(A.translatedErrors.required),description:p.Z_().nullable(),lifespan:p.Rx().integer().min(0).nullable().defined(A.translatedErrors.required)}),C=n(92891),v=s=>{const y={allActionsIds:[],permissions:[]};return y.permissions=Object.keys(s).map(c=>({apiId:c,label:c.split("::")[1],controllers:(0,C.flatten)(Object.keys(s[c].controllers).map(R=>({controller:R,actions:(0,C.flatten)(s[c].controllers[R].map(I=>{const _=`${c}.${R}.${I}`;return c.includes("api::")&&y.allActionsIds.push(_),{action:I,actionId:_}}))})))})),y}},15738:function(b,M,n){var e=n(4293);function g(a){var t=a==null?0:a.length;return t?e(a,1,t):[]}b.exports=g}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[7259],{30493:function(h,E,e){e.d(E,{Z:function(){return g}});var t=e(32735),u=e(5636),s=e(60216),a=e.n(s),o=e(13478),i=e(57269),r=e(39161),l=e(8888);const c=({onRegenerate:d,idToRegenerate:n,backUrl:m})=>{const{formatMessage:M}=(0,u.useIntl)(),[R,O]=(0,t.useState)(!1),{regenerateData:_,isLoadingConfirmation:A}=(0,l.rW)(m,n,d),D=async()=>{_(),O(!1)};return t.createElement(t.Fragment,null,t.createElement(r.Button,{startIcon:t.createElement(i.Refresh,null),type:"button",size:"S",variant:"tertiary",onClick:()=>O(!0),name:"regenerate"},M({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(o.ConfirmDialog,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(i.Refresh,null),isConfirmButtonLoading:A,isOpen:R,onToggleDialog:()=>O(!1),onConfirm:D,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};c.defaultProps={onRegenerate(){}},c.propTypes={onRegenerate:a().func,idToRegenerate:a().oneOfType([a().number,a().string]).isRequired,backUrl:a().string.isRequired};var f=c;const p=({title:d,token:n,setToken:m,canEditInputs:M,canRegenerate:R,isSubmitting:O,backUrl:_,regenerateUrl:A})=>{const{formatMessage:D}=(0,u.useIntl)(),K=N=>{m({...n,accessKey:N})};return t.createElement(r.HeaderLayout,{title:n?.name||D(d),primaryAction:M?t.createElement(r.Stack,{horizontal:!0,spacing:2},R&&n?.id&&t.createElement(f,{backUrl:A,onRegenerate:K,idToRegenerate:n?.id}),t.createElement(r.Button,{disabled:O,loading:O,startIcon:t.createElement(i.Check,null),type:"submit",size:"S"},D({id:"global.save",defaultMessage:"Save"}))):R&&n?.id&&t.createElement(f,{onRegenerate:K,idToRegenerate:n?.id,backUrl:A}),navigationAction:t.createElement(o.Link,{startIcon:t.createElement(i.ArrowLeft,null),to:_},D({id:"global.back",defaultMessage:"Back"}))})};p.propTypes={token:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().oneOfType([a().number,a().string]),name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string}),canEditInputs:a().bool.isRequired,canRegenerate:a().bool.isRequired,setToken:a().func.isRequired,isSubmitting:a().bool.isRequired,backUrl:a().string.isRequired,title:a().shape({id:a().string,label:a().string}).isRequired,regenerateUrl:a().string.isRequired},p.defaultProps={token:void 0};var g=p},4321:function(h,E,e){var t=e(32735),u=e(60216),s=e.n(u),a=e(5636),o=e(39161),i=e.n(o),r=e(37944);const l=({token:c,errors:f,values:p,onChange:g,isCreating:d})=>{const{formatMessage:n}=(0,a.useIntl)();return t.createElement(t.Fragment,null,t.createElement(o.Select,{name:"lifespan",label:n({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:p.lifespan!==null?p.lifespan:"0",error:f.lifespan?n(f.lifespan?.id?f.lifespan:{id:f.lifespan,defaultMessage:f.lifespan}):null,onChange:m=>{g({target:{name:"lifespan",value:m}})},required:!0,disabled:!d,placeholder:"Select"},t.createElement(o.Option,{value:"604800000"},n({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(o.Option,{value:"2592000000"},n({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(o.Option,{value:"7776000000"},n({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(o.Option,{value:"0"},n({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Typography,{variant:"pi",textColor:"neutral600"},!d&&`${n({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,r.IX)(c?.createdAt,parseInt(p.lifespan,10))}`))};l.propTypes={errors:s().shape({lifespan:s().string}),onChange:s().func.isRequired,values:s().shape({lifespan:s().oneOfType([s().number,s().string])}).isRequired,isCreating:s().bool.isRequired,token:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().string,name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string})},l.defaultProps={errors:{},token:{}},E.Z=l},93682:function(h,E,e){var t=e(32735),u=e(5636),s=e(13478),a=e.n(s),o=e(39161),i=e.n(o),r=e(57269),l=e.n(r),c=e(60216),f=e.n(c),p=e(59087),g=e.n(p);const d=({token:n,tokenType:m})=>{const{formatMessage:M}=(0,u.useIntl)(),R=(0,s.useNotification)(),{trackUsage:O}=(0,s.useTracking)(),_=(0,t.useRef)(O);return t.createElement(s.ContentBox,{endAction:n&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(p.CopyToClipboard,{onCopy:()=>{_.current("didCopyTokenKey",{tokenType:m}),R({type:"success",message:{id:"Settings.tokens.notification.copied"}})},text:n},t.createElement(o.IconButton,{label:M({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),noBorder:!0,icon:t.createElement(r.Duplicate,null),style:{padding:0,height:"1rem"}}))),title:n||M({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:M(n?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(r.Key,null),iconBackground:"neutral100"})};d.defaultProps={token:null},d.propTypes={token:f().string,tokenType:f().string.isRequired},E.Z=d},42789:function(h,E,e){var t=e(32735),u=e(60216),s=e.n(u),a=e(5636),o=e(39161),i=e.n(o);const r=({errors:l,values:c,onChange:f,canEditInputs:p})=>{const{formatMessage:g}=(0,a.useIntl)();return t.createElement(o.Textarea,{label:g({id:"Settings.tokens.form.description",defaultMessage:"Description"}),name:"description",error:l.description?g(l.description?.id?l.description:{id:l.description,defaultMessage:l.description}):null,onChange:f,disabled:!p},c.description)};r.propTypes={errors:s().shape({description:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({description:s().string}).isRequired},r.defaultProps={errors:{}},E.Z=r},8377:function(h,E,e){var t=e(32735),u=e(60216),s=e.n(u),a=e(5636),o=e(39161),i=e.n(o);const r=({errors:l,values:c,onChange:f,canEditInputs:p})=>{const{formatMessage:g}=(0,a.useIntl)();return t.createElement(o.TextInput,{name:"name",error:l.name?g(l.name?.id?l.name:{id:l.name,defaultMessage:l.name}):null,label:g({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:f,value:c.name,disabled:!p,required:!0})};r.propTypes={errors:s().shape({name:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({name:s().string}).isRequired},r.defaultProps={errors:{}},E.Z=r},68774:function(h,E,e){e.d(E,{Z:function(){return t},f:function(){return u}});const t="api-token",u="transfer-token"},37944:function(h,E,e){e.d(E,{IX:function(){return a},fK:function(){return l},mk:function(){return p}});var t=e(64213),u=e(54049),a=(g,d,n="en")=>{if(d&&typeof d=="number"){const m=d/24/60/60/1e3;return(0,t.format)((0,t.addDays)(new Date(g),m),"PPP",{locale:u[n]})}return"Unlimited"},o=e(5173),i=e(13478),l=o.Ry().shape({name:o.Z_(i.translatedErrors.string).required(i.translatedErrors.required),type:o.Z_(i.translatedErrors.string).oneOf(["read-only","full-access","custom"]).required(i.translatedErrors.required),description:o.Z_().nullable(),lifespan:o.Rx().integer().min(0).nullable().defined(i.translatedErrors.required)}),c=e(92891),p=g=>{const d={allActionsIds:[],permissions:[]};return d.permissions=Object.keys(g).map(n=>({apiId:n,label:n.split("::")[1],controllers:(0,c.flatten)(Object.keys(g[n].controllers).map(m=>({controller:m,actions:(0,c.flatten)(g[n].controllers[m].map(M=>{const R=`${n}.${m}.${M}`;return n.includes("api::")&&d.allActionsIds.push(R),{action:M,actionId:R}}))})))})),d}},37259:function(h,E,e){e.d(E,{Z:function(){return z}});var t=e(32735),u=e(5636),s=e(83281),a=e(5141),o=e(84968),i=e(13478),r=e(39161),l=e(64421),c=e(5173),p=c.Ry().shape({name:c.Z_(i.translatedErrors.string).required(i.translatedErrors.required),description:c.Z_().nullable(),lifespan:c.Rx().integer().min(0).nullable().defined(i.translatedErrors.required)}),g=e(57269),d=e(60216),n=e.n(d);const m=({transferTokenName:C})=>{const{formatMessage:k}=(0,u.useIntl)();return(0,i.useFocusWhenNavigate)(),t.createElement(r.Main,{"aria-busy":"true"},t.createElement(i.SettingsPageTitle,{name:"Transfer Tokens"}),t.createElement(r.HeaderLayout,{primaryAction:t.createElement(r.Button,{disabled:!0,startIcon:t.createElement(g.Check,null),type:"button",size:"L"},k({id:"global.save",defaultMessage:"Save"})),title:C||k({id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"})}),t.createElement(r.ContentLayout,null,t.createElement(i.LoadingIndicatorPage,null)))};m.defaultProps={transferTokenName:null},m.propTypes={transferTokenName:n().string};var M=m,R=e(72041),O=e(4321),_=e(8377),A=e(42789);const D=({errors:C,onChange:k,canEditInputs:L,isCreating:B,values:I,transferToken:T})=>{const{formatMessage:U}=(0,u.useIntl)();return t.createElement(r.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(r.Stack,{spacing:4},t.createElement(r.Typography,{variant:"delta",as:"h2"},U({id:"global.details",defaultMessage:"Details"})),t.createElement(r.Grid,{gap:5},t.createElement(r.GridItem,{key:"name",col:6,xs:12},t.createElement(_.Z,{errors:C,values:I,canEditInputs:L,onChange:k})),t.createElement(r.GridItem,{key:"description",col:6,xs:12},t.createElement(A.Z,{errors:C,values:I,canEditInputs:L,onChange:k})),t.createElement(r.GridItem,{key:"lifespan",col:6,xs:12},t.createElement(O.Z,{isCreating:B,errors:C,values:I,onChange:k,token:T})))))};D.propTypes={errors:n().shape({name:n().string,description:n().string,lifespan:n().string,type:n().string}),onChange:n().func.isRequired,canEditInputs:n().bool.isRequired,values:n().shape({name:n().string,description:n().string,lifespan:n().oneOfType([n().number,n().string]),type:n().string}).isRequired,isCreating:n().bool.isRequired,transferToken:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().string,name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string})},D.defaultProps={errors:{},transferToken:{}};var K=D,N=e(93682),V=e(30493),W=e(68774);const $="Name already taken";var z=()=>{(0,i.useFocusWhenNavigate)();const{formatMessage:C}=(0,u.useIntl)(),{lockApp:k,unlockApp:L}=(0,i.useOverlayBlocker)(),B=(0,i.useNotification)(),I=(0,a.useHistory)(),[T,U]=(0,t.useState)(I.location.state?.transferToken.accessKey?{...I.location.state.transferToken}:null),{trackUsage:G}=(0,i.useTracking)(),Z=(0,t.useRef)(G),{setCurrentStep:H}=(0,i.useGuidedTour)(),{allowedActions:{canCreate:j,canUpdate:X,canRegenerate:Y}}=(0,i.useRBAC)(R.Z.settings["transfer-tokens"]),{params:{id:x}}=(0,a.useRouteMatch)("/settings/transfer-tokens/:id"),{get:Q,post:J,put:q}=(0,i.useFetchClient)(),v=x==="create";(0,t.useEffect)(()=>{Z.current(v?"didAddTokenFromList":"didEditTokenFromList",{tokenType:W.f})},[v]);const{status:w}=(0,o.useQuery)(["transfer-token",x],async()=>{const{data:{data:y}}=await Q(`/admin/transfer/tokens/${x}`);return U({...y}),y},{enabled:!v&&!T,onError(){B({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),ee=async(y,S)=>{Z.current(v?"willCreateToken":"willEditToken",{tokenType:W.f}),k();const F=y.lifespan&&parseInt(y.lifespan,10)&&y.lifespan!=="0"?parseInt(y.lifespan,10):null;try{const{data:{data:P}}=v?await J("/admin/transfer/tokens",{...y,lifespan:F,permissions:["push"]}):await q(`/admin/transfer/tokens/${x}`,{name:y.name,description:y.description,type:y.type,permissions:["push"]});L(),v&&(I.replace(`/settings/transfer-tokens/${P.id}`,{transferToken:P}),H("transferTokens.success")),U({...P}),B({type:"success",message:C(v?{id:"notification.success.transfertokencreated",defaultMessage:"Transfer Token successfully created"}:{id:"notification.success.transfertokenedited",defaultMessage:"Transfer Token successfully edited"})}),Z.current(v?"didCreateToken":"didEditToken",{type:T?.type,tokenType:W.f})}catch(P){const te=(0,l.Iz)(P.response.data);S.setErrors(te),P?.response?.data?.error?.message===$?B({type:"warning",message:P.response.data.message||"notification.error.tokennamenotunique"}):B({type:"warning",message:P?.response?.data?.message||"notification.error"}),L()}},b=X&&!v||j&&v;return!v&&!T&&w!=="success"?t.createElement(M,{transferTokenName:T?.name}):t.createElement(r.Main,null,t.createElement(i.SettingsPageTitle,{name:"Transfer Tokens"}),t.createElement(s.Formik,{validationSchema:p,validateOnChange:!1,initialValues:{name:T?.name||"",description:T?.description||"",lifespan:T?.lifespan?T.lifespan.toString():T?.lifespan},enableReinitialize:!0,onSubmit:(y,S)=>ee(y,S)},({errors:y,handleChange:S,isSubmitting:F,values:P})=>t.createElement(i.Form,null,t.createElement(V.Z,{backUrl:"/settings/transfer-tokens",title:{id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"},token:T,setToken:U,canEditInputs:b,canRegenerate:Y,isSubmitting:F,regenerateUrl:"/admin/transfer/tokens/"}),t.createElement(r.ContentLayout,null,t.createElement(r.Stack,{spacing:6},Boolean(T?.name)&&t.createElement(N.Z,{token:T?.accessKey,tokenType:W.f}),t.createElement(K,{errors:y,onChange:S,canEditInputs:b,isCreating:v,values:P,transferToken:T}))))))}}}]);
|
package/build/{Admin-authenticatedApp.368164a1.chunk.js → Admin-authenticatedApp.bce108cd.chunk.js}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(K,M,n){n.r(M),n.d(M,{default:function(){return Tt}});var e=n(32735),i=n(13478),P=n(84968),E=n(33795),z=n.n(E),y=
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{29761:function(K,M,n){n.r(M),n.d(M,{default:function(){return Tt}});var e=n(32735),i=n(13478),P=n(84968),E=n(33795),z=n.n(E),y={i8:"4.7.0"},k=n(8888),d=n(5141),S=n(4409),R=n(74506),b=n(51968),$=n(88311),U=n.n($),Ce=n(58107),v=n(83292),Me=n(60216),l=n.n(Me),G=n(5636),o=n(39161),C=n(57269);const Re=(0,v.default)(o.Flex)`
|
|
2
2
|
position: fixed;
|
|
3
3
|
z-index: 4;
|
|
4
4
|
inset: 0;
|
|
5
5
|
/* this is theme.colors.neutral800 with opacity */
|
|
6
6
|
background: ${({theme:t})=>`${t.colors.neutral800}1F`};
|
|
7
|
-
`,te=({onClose:t,onSkip:a,children:s,hideSkip:r})=>{const{formatMessage:g}=(0,
|
|
7
|
+
`,te=({onClose:t,onSkip:a,children:s,hideSkip:r})=>{const{formatMessage:g}=(0,G.useIntl)();return e.createElement(o.Portal,null,e.createElement(Re,{onClick:t,padding:8,justifyContent:"center"},e.createElement(o.FocusTrap,{onEscape:t},e.createElement(o.Stack,{background:"neutral0",width:(0,i.pxToRem)(660),shadow:"popupShadow",hasRadius:!0,padding:4,spacing:8,role:"dialog","aria-modal":!0,onClick:p=>p.stopPropagation()},e.createElement(o.Flex,{justifyContent:"flex-end"},e.createElement(o.IconButton,{onClick:t,"aria-label":g({id:"app.utils.close-label",defaultMessage:"Close"}),icon:e.createElement(C.Cross,null)})),e.createElement(o.Box,{paddingLeft:7,paddingRight:7,paddingBottom:r?8:0},s),!r&&e.createElement(o.Flex,{justifyContent:"flex-end"},e.createElement(o.Button,{variant:"tertiary",onClick:a},g({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"})))))))};te.propTypes={children:l().node.isRequired,onClose:l().func.isRequired,onSkip:l().func.isRequired,hideSkip:l().bool.isRequired};var Se=te,ne=n(97889);const ae={stepContent:null,sectionIndex:null,stepIndex:null,hasSectionAfter:!1,hasStepAfter:!1};var xe=(t=ae,a)=>(0,ne.default)(t,s=>{switch(a.type){case"UPDATE_MODAL":{s.stepContent=a.content,s.sectionIndex=a.newSectionIndex,s.stepIndex=a.newStepIndex,s.hasSectionAfter=a.newHasSectionAfter,s.hasStepAfter=a.newHasStepAfter;break}default:return s}});const Ie=v.default.li`
|
|
8
8
|
list-style: disc;
|
|
9
9
|
&::marker {
|
|
10
10
|
color: ${({theme:t})=>t.colors.neutral800};
|
|
11
11
|
}
|
|
12
|
-
`,oe=({id:t,defaultMessage:a})=>{const{formatMessage:s}=(0,
|
|
12
|
+
`,oe=({id:t,defaultMessage:a})=>{const{formatMessage:s}=(0,G.useIntl)();return e.createElement(o.Stack,{spacing:4,paddingBottom:6},s({id:t,defaultMessage:a},{documentationLink:r=>e.createElement(o.Typography,{as:"a",textColor:"primary600",target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters"},r),b:r=>e.createElement(o.Typography,{fontWeight:"semiBold"},r),p:r=>e.createElement(o.Typography,null,r),light:r=>e.createElement(o.Typography,{textColor:"neutral600"},r),ul:r=>e.createElement(o.Box,{paddingLeft:6},e.createElement("ul",null,r)),li:r=>e.createElement(Ie,null,r)}))};oe.propTypes={id:l().string.isRequired,defaultMessage:l().string.isRequired};var Pe=oe,H=n(78024),Ae=n(14317);const w=({number:t,last:a,type:s})=>e.createElement(o.Box,{paddingTop:3,paddingBottom:a?0:3},e.createElement(Ae.Z,{number:t,type:s}));w.defaultProps={number:void 0,last:!1,type:""},w.propTypes={number:l().number,last:l().bool,type:l().string};var se=w,N=n(23678);const Z=({title:t,content:a,cta:s,onCtaClick:r,sectionIndex:g,stepIndex:p,hasSectionAfter:f})=>{const{formatMessage:m}=(0,G.useIntl)(),h=g>0,u=p>0,T=g+1;return e.createElement(e.Fragment,null,e.createElement(o.Flex,{alignItems:"stretch"},e.createElement(o.Flex,{marginRight:8,justifyContent:"center",minWidth:(0,i.pxToRem)(30)},h&&e.createElement(H.Z,{type:N.hx,minHeight:(0,i.pxToRem)(24)})),e.createElement(o.Typography,{variant:"sigma",textColor:"primary600"},m({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"}))),e.createElement(o.Flex,null,e.createElement(o.Flex,{marginRight:8,minWidth:(0,i.pxToRem)(30)},e.createElement(se,{number:g+1,type:u?N.hx:N.lW})),e.createElement(o.Typography,{variant:"alpha",fontWeight:"bold",textColor:"neutral800",as:"h3",id:"title"},m(t))),e.createElement(o.Flex,{alignItems:"stretch"},e.createElement(o.Flex,{marginRight:8,direction:"column",justifyContent:"center",minWidth:(0,i.pxToRem)(30)},f&&e.createElement(e.Fragment,null,e.createElement(H.Z,{type:N.hx}),u&&e.createElement(se,{number:T+1,type:N.lW,last:!0}))),e.createElement(o.Box,null,e.createElement(Pe,{...a}),s&&(s.target?e.createElement(i.LinkButton,{endIcon:e.createElement(C.ArrowRight,null),onClick:r,to:s.target},m(s.title)):e.createElement(o.Button,{endIcon:e.createElement(C.ArrowRight,null),onClick:r},m(s.title))))),u&&f&&e.createElement(o.Box,{paddingTop:3},e.createElement(o.Flex,{marginRight:8,justifyContent:"center",width:(0,i.pxToRem)(30)},e.createElement(H.Z,{type:N.hx,minHeight:(0,i.pxToRem)(24)}))))};Z.defaultProps={currentStep:null,cta:void 0},Z.propTypes={sectionIndex:l().number.isRequired,stepIndex:l().number.isRequired,hasSectionAfter:l().bool.isRequired,content:l().shape({id:l().string.isRequired,defaultMessage:l().string.isRequired}).isRequired,cta:l().shape({target:l().string,title:l().shape({id:l().string.isRequired,defaultMessage:l().string.isRequired})}),currentStep:l().string,onCtaClick:l().func.isRequired,title:l().shape({id:l().string.isRequired,defaultMessage:l().string.isRequired}).isRequired};var Le=Z,be=()=>{const{currentStep:t,guidedTourState:a,setCurrentStep:s,setStepState:r,isGuidedTourVisible:g,setSkipped:p}=(0,i.useGuidedTour)(),[f,m]=(0,e.useState)(t),[{stepContent:h,sectionIndex:u,stepIndex:T,hasSectionAfter:O,hasStepAfter:A},W]=(0,e.useReducer)(xe,ae),{trackUsage:F}=(0,i.useTracking)();(0,e.useEffect)(()=>{if(!t){m(!1);return}const[D]=U()(a,t);m(!D&&g)},[t,a,g]),(0,e.useEffect)(()=>{if(t){const[D]=U()(Ce.Z,t),L=Object.keys(a),[I,c]=t.split("."),B=L.indexOf(I),V=Object.keys(a[I]).indexOf(c),q=B<L.length-1,_=V<Object.keys(a[I]).length-1;W({type:"UPDATE_MODAL",content:D,newSectionIndex:B,newStepIndex:V,newHasSectionAfter:q,newHasStepAfter:_})}},[t,a]);const x=()=>{r(t,!0),F(h.trackingEvent),s(null)},j=()=>{p(!0),s(null),F("didSkipGuidedtour")};return f&&h?e.createElement(Se,{hideSkip:!A&&!O,onSkip:j,onClose:x},e.createElement(Le,{...h,onCtaClick:x,currentStep:t,sectionIndex:u,stepIndex:T,hasSectionAfter:O})):null},Oe=n(15300),De=n(61450),Be=n(1897),Q=n(78464),re=n(42889),ke=n(25390),Ge=n(3703),Ne=n(17264);const Fe=(0,v.default)(o.Box)`
|
|
13
13
|
width: ${150/16}rem;
|
|
14
14
|
position: absolute;
|
|
15
15
|
bottom: ${({theme:t})=>t.spaces[9]};
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
fill: ${({theme:t})=>t.colors.danger600};
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
`,le=({generalSectionLinks:t,pluginsSectionLinks:a})=>{const s=(0,e.useRef)(),[r,g]=(0,e.useState)(!1),{logos:{menu:p}}=(0,k.um)(),[f,m]=(0,i.usePersistentState)("navbar-condensed",!1),{userDisplayName:h}=(0,i.useAppInfos)(),{formatMessage:u}=(0,
|
|
35
|
+
`,le=({generalSectionLinks:t,pluginsSectionLinks:a})=>{const s=(0,e.useRef)(),[r,g]=(0,e.useState)(!1),{logos:{menu:p}}=(0,k.um)(),[f,m]=(0,i.usePersistentState)("navbar-condensed",!1),{userDisplayName:h}=(0,i.useAppInfos)(),{formatMessage:u}=(0,G.useIntl)(),{trackUsage:T}=(0,i.useTracking)(),{pathname:O}=(0,d.useLocation)(),A=(0,d.useHistory)(),{post:W}=(0,i.getFetchClient)(),F=h.split(" ").map(c=>c.substring(0,1)).join("").substring(0,2),x=()=>g(c=>!c),j=async()=>{await W("/admin/logout"),i.auth.clearAppStorage(),x(),A.push("/auth/login")},D=c=>{!c.currentTarget.contains(c.relatedTarget)&&c.relatedTarget?.parentElement?.id!=="main-nav-user-button"&&g(!1)},L=(c=null)=>{T("willNavigate",{from:O,to:c})},I=u({id:"app.components.LeftMenu.navbrand.title",defaultMessage:"Strapi Dashboard"});return e.createElement(Oe.$,{condensed:f},e.createElement(De.D,{as:d.NavLink,workplace:u({id:"app.components.LeftMenu.navbrand.workplace",defaultMessage:"Workplace"}),title:I,icon:e.createElement("img",{src:p.custom||p.default,alt:u({id:"app.components.LeftMenu.logo.alt",defaultMessage:"Application logo"})})}),e.createElement(o.Divider,null),e.createElement(Be._,null,e.createElement(Q.O,{as:d.NavLink,to:"/content-manager",icon:e.createElement(C.Write,null),onClick:()=>L("/content-manager")},u({id:"global.content-manager",defaultMessage:"Content manager"})),a.length>0?e.createElement(re.y,{label:u({id:"app.components.LeftMenu.plugins",defaultMessage:"Plugins"})},a.map(c=>{const B=c.icon;return e.createElement(Q.O,{as:d.NavLink,to:c.to,key:c.to,icon:e.createElement(B,null),onClick:()=>L(c.to)},u(c.intlLabel))})):null,t.length>0?e.createElement(re.y,{label:u({id:"app.components.LeftMenu.general",defaultMessage:"General"})},t.map(c=>{const B=c.icon;return e.createElement(Q.O,{as:d.NavLink,badgeContent:c.notificationsCount>0&&c.notificationsCount.toString()||void 0,to:c.to,key:c.to,icon:e.createElement(B,null),onClick:()=>L(c.to)},u(c.intlLabel))})):null),e.createElement(ke.q,null,e.createElement(Ge.r,{id:"main-nav-user-button",ref:s,onClick:x,initials:F},h),r&&e.createElement(Fe,{onBlur:D,padding:1,shadow:"tableShadow",background:"neutral0",hasRadius:!0},e.createElement(o.FocusTrap,{onEscape:x},e.createElement(o.Stack,{spacing:0},e.createElement(ie,{tabIndex:0,onClick:x,to:"/me"},e.createElement(o.Typography,null,u({id:"global.profile",defaultMessage:"Profile"}))),e.createElement(ie,{tabIndex:0,onClick:j,logout:"logout",to:"/auth/login"},e.createElement(o.Typography,{textColor:"danger600"},u({id:"app.components.LeftMenu.logout",defaultMessage:"Logout"})),e.createElement(C.Exit,null))))),e.createElement(Ne.w,{onClick:()=>m(c=>!c)},u(f?{id:"app.components.LeftMenu.expand",defaultMessage:"Expand the navbar"}:{id:"app.components.LeftMenu.collapse",defaultMessage:"Collapse the navbar"}))))};le.propTypes={generalSectionLinks:l().array.isRequired,pluginsSectionLinks:l().array.isRequired};var Ue=le;const We=(0,v.default)(o.Box)`
|
|
36
36
|
flex: 1;
|
|
37
|
-
`,ce=({children:t,sideNav:a})=>{const{formatMessage:s}=(0,
|
|
37
|
+
`,ce=({children:t,sideNav:a})=>{const{formatMessage:s}=(0,G.useIntl)();return e.createElement(o.Box,{background:"neutral100"},e.createElement(o.SkipToContent,null,s({id:"skipToContent",defaultMessage:"Skip to content"})),e.createElement(o.Flex,{alignItems:"flex-start"},a,e.createElement(We,null,t)))};ce.propTypes={children:l().node.isRequired,sideNav:l().node.isRequired};var je=ce,Y=n(64421),Ke=n(26648),$e=n.p+"19eb2dfcf2603eb55733.png";const Ve=[{label:{id:"app.components.Onboarding.link.build-content",defaultMessage:"Build a content architecture"},href:"https://www.youtube.com/watch?v=G9GjN0RxhkE",duration:"5:48"},{label:{id:"app.components.Onboarding.link.manage-content",defaultMessage:"Add & manage content"},href:"https://www.youtube.com/watch?v=DEZw4KbybAI",duration:"3:18"},{label:{id:"app.components.Onboarding.link.manage-media",defaultMessage:"Manage media"},href:"https://www.youtube.com/watch?v=-61MuiMQb38",duration:"3:41"}],de={href:"https://www.youtube.com/playlist?list=PL7Q0DQYATmvidz6lEmwE5nIcOAYagxWqq",label:{id:"app.components.Onboarding.link.more-videos",defaultMessage:"Watch more videos"}},ze=[{label:{id:"global.documentation",defaultMessage:"documentation"},href:"https://docs.strapi.io",icon:C.Book},{label:{id:"app.static.links.cheatsheet",defaultMessage:"cheatsheet"},href:"https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf",icon:C.PaperPlane}],He=(0,v.default)(o.Button)`
|
|
38
38
|
border-radius: 50%;
|
|
39
39
|
padding: ${({theme:t})=>t.spaces[3]};
|
|
40
40
|
/* Resetting 2rem height defined by Button component */
|
|
@@ -76,4 +76,4 @@
|
|
|
76
76
|
:hover {
|
|
77
77
|
text-decoration: underline;
|
|
78
78
|
}
|
|
79
|
-
`;var Ye=()=>{const t=(0,e.useRef)(),[a,s]=(0,e.useState)(!1),{formatMessage:r}=(0,N.useIntl)(),{communityEdition:g}=(0,i.useAppInfos)(),p=()=>{s(m=>!m)},f=[...ze,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:C.Message,href:g?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(o.Box,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(He,{"aria-label":r(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:p,ref:t},e.createElement(o.Icon,{as:a?C.Cross:C.Question,color:"buttonNeutral0"})),a&&e.createElement(o.Portal,null,e.createElement(o.PopoverPrimitives.Content,{padding:0,source:t,placement:"top-end",spacing:12},e.createElement(o.FocusTrap,{onEscape:p},e.createElement(o.Flex,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ue,{fontWeight:"bold"},r({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(pe,{as:"a",href:de.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},r(de.label))),e.createElement(o.Divider,null),Ve.map(({href:m,duration:h,label:u},T)=>e.createElement(Ze,{as:"a",href:m,target:"_blank",rel:"noreferrer noopener",key:m,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(o.Box,{paddingRight:5},e.createElement(o.Typography,{textColor:"neutral200",variant:"alpha"},T+1)),e.createElement(o.Box,{position:"relative"},e.createElement(Qe,{src:$e,alt:""}),e.createElement(we,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(o.Icon,{as:C.Play,color:"buttonNeutral0",width:3,height:3}))),e.createElement(o.Flex,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(o.Typography,{fontWeight:"bold"},r(u)),e.createElement(o.VisuallyHidden,null,":"),e.createElement(o.Typography,{textColor:"neutral600",variant:"pi"},h)))),e.createElement(o.Stack,{spacing:2,paddingLeft:5,paddingTop:2,paddingBottom:5},f.map(({label:m,href:h,icon:u})=>e.createElement(o.Stack,{horizontal:!0,spacing:3,key:h},e.createElement(o.Icon,{as:u,color:"primary600"}),e.createElement(pe,{as:"a",href:h,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},r(m)))))))))};const Je=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(4849),n.e(994)]).then(n.bind(n,39573))),Xe=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,41570))),qe=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),_e=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5516)]).then(n.bind(n,92698))),me=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),et=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),tt=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,9972))),ge=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5895)]).then(n.bind(n,96822))),nt=()=>{const{trackUsage:t}=(0,i.useTracking)(),a=(0,S.useDispatch)(),s=(0,S.useSelector)(r=>r.admin_app.status);(0,e.useEffect)(()=>{s==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:Ke.e}))},[s])};var at=()=>{nt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:s}=(0,k.H9)(),{menu:r}=(0,i.useStrapiApp)(),{showTutorials:g}=(0,k.um)(),p=(0,e.useMemo)(()=>r.filter(f=>f.Component).map(({to:f,Component:m,exact:h})=>(0,Y.ot)(m,f,h)),[r]);return t?e.createElement(i.LoadingIndicatorPage,null):e.createElement(R.DndProvider,{backend:L.PD},e.createElement(je,{sideNav:e.createElement(Ue,{generalSectionLinks:a,pluginsSectionLinks:s})},e.createElement(e.Suspense,{fallback:e.createElement(i.LoadingIndicatorPage,null)},e.createElement(d.Switch,null,e.createElement(d.Route,{path:"/",component:Xe,exact:!0}),e.createElement(d.Route,{path:"/me",component:tt,exact:!0}),e.createElement(d.Route,{path:"/content-manager",component:Je}),p,e.createElement(d.Route,{path:"/settings/:settingId",component:ge}),e.createElement(d.Route,{path:"/settings",component:ge,exact:!0}),e.createElement(d.Route,{path:"/marketplace"},e.createElement(_e,null)),e.createElement(d.Route,{path:"/list-plugins",exact:!0},e.createElement(qe,null)),e.createElement(d.Route,{path:"/404",component:me}),e.createElement(d.Route,{path:"/500",component:et}),e.createElement(d.Route,{path:"",component:me}))),e.createElement(Le,null),g&&e.createElement(Ye,null)))},ot=t=>({plugins:Object.keys(t).reduce((a,s)=>(a[s]={...t[s]},a),{})}),st=n(3040),rt=n.n(st);const he={plugins:null};var it=(t=he,a)=>(0,ne.default)(t,s=>{switch(a.type){case"SET_PLUGIN_READY":{rt()(s,["plugins",a.pluginId,"isReady"],!0);break}default:return s}}),lt=()=>{const{plugins:t}=(0,i.useStrapiApp)(),[{plugins:a},s]=(0,e.useReducer)(it,he,()=>ot(t)),r=(0,e.useRef)(p=>{s({type:"SET_PLUGIN_READY",pluginId:p})});if(Object.keys(a).some(p=>a[p].isReady===!1)){const p=Object.keys(a).reduce((f,m)=>{const h=a[m].initializer;if(h){const u=a[m].pluginId;f.push(e.createElement(h,{key:u,setPlugin:r.current}))}return f},[]);return e.createElement(e.Fragment,null,p,e.createElement(i.LoadingIndicatorPage,null))}return e.createElement(at,null)},fe=n(17367);const ct=()=>({type:fe.l}),dt=t=>({type:fe.m,permissions:t}),Ee=({children:t,permissions:a,refetchPermissions:s})=>{const{allPermissions:r}=(0,S.useSelector)(p=>p.rbacProvider),g=(0,S.useDispatch)();return(0,e.useEffect)(()=>(g(dt(a)),()=>{g(ct())}),[a,g]),r?e.createElement(i.RBACProviderContext.Provider,{value:{allPermissions:r,refetchPermissions:s}},t):e.createElement(i.LoadingIndicatorPage,null)};Ee.propTypes={children:l().element.isRequired,permissions:l().array.isRequired,refetchPermissions:l().func.isRequired};var ut=Ee,pt=n(55721),mt=n(54770),J=n.n(mt),ye=(t,a)=>!J().valid(t)||!J().valid(a)?!1:J().lt(t,a);const Te=y.i8,gt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:X}=(0,i.getFetchClient)(),ht=async t=>{try{const{data:{tag_name:a}}=await pt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return ye(Te,a)&>&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch{return Te}},ft=async()=>{try{const{data:t,headers:a}=await X("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},Et=async()=>{try{const{data:t,headers:a}=await X("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},yt=async()=>{try{const{data:{data:{roles:t}}}=await X("/admin/users/me");return t}catch(t){throw new Error(t)}},ve=y.i8;var Tt=()=>{const{setGuidedTourVisibility:t}=(0,i.useGuidedTour)(),a=(0,i.useNotification)(),s=(0,e.useRef)(t),r=i.auth.getUserInfo(),g=z()(r,"username")||(0,Y.Pp)(r.firstname,r.lastname),[p,f]=(0,e.useState)(g),[m,h]=(0,e.useState)(null),{showReleaseNotification:u}=(0,k.um)(),[{data:T,status:O},{data:A,isLoading:W},{data:F,status:x,refetch:j,isFetched:D,isFetching:b},{data:I}]=(0,P.useQueries)([{queryKey:"app-infos",queryFn:ft},{queryKey:"strapi-release",queryFn:()=>ht(a),enabled:u,initialData:ve},{queryKey:"admin-users-permission",queryFn:Et,initialData:[]},{queryKey:"user-roles",queryFn:yt}]),c=(0,e.useMemo)(()=>ye(ve,A),[A]);(0,e.useEffect)(()=>{I&&I.find(({code:ee})=>ee==="strapi-super-admin")&&T?.autoReload&&s.current(!0)},[I,T]),(0,e.useEffect)(()=>{(async()=>{const ee=await(0,Y.Qy)(r);h(ee)})()},[r]);const V=W||(b&&D||O==="loading"||x==="loading"),q=(0,e.useMemo)(()=>({...T,userId:m,latestStrapiReleaseTag:A,setUserDisplayName:f,shouldUpdateStrapi:c,userDisplayName:p}),[T,A,c,p,m]);return V?e.createElement(i.LoadingIndicatorPage,null):O==="error"?e.createElement("div",null,"error..."):e.createElement(i.AppInfosContext.Provider,{value:q},e.createElement(ut,{permissions:F,refetchPermissions:j},e.createElement(lt,null)))}},78024:function(K,M,n){var e=n(32735),i=n(60216),P=n.n(i),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(23678);const S=({type:R,...L})=>e.createElement(y.Box,{width:(0,E.pxToRem)(2),height:"100%",background:R===d.VM?"neutral300":"primary500",hasRadius:!0,...L});S.defaultProps={type:d.VM},S.propTypes={type:P().oneOf([d.lW,d.hx,d.VM])},M.Z=S},14317:function(K,M,n){var e=n(32735),i=n(60216),P=n.n(i),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(57269),S=n.n(d),R=n(23678);const L=({type:$,number:U})=>$===R.hx?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Icon,{as:d.Check,"aria-hidden":!0,width:(0,E.pxToRem)(16),color:"neutral0"})):$===R.lW?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral0"},U)):e.createElement(y.Flex,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral600"},U));L.defaultProps={number:void 0,type:R.VM},L.propTypes={number:P().number,type:P().oneOf([R.lW,R.hx,R.VM])},M.Z=L},23678:function(K,M,n){n.d(M,{VM:function(){return P},hx:function(){return i},lW:function(){return e}});const e="isActive",i="isDone",P="isNotDone"},58107:function(K,M){const n={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}};M.Z=n}}]);
|
|
79
|
+
`;var Ye=()=>{const t=(0,e.useRef)(),[a,s]=(0,e.useState)(!1),{formatMessage:r}=(0,G.useIntl)(),{communityEdition:g}=(0,i.useAppInfos)(),p=()=>{s(m=>!m)},f=[...ze,{label:{id:"Settings.application.get-help",defaultMessage:"Get help"},icon:C.Message,href:g?"https://discord.strapi.io":"https://support.strapi.io/support/home"}];return e.createElement(o.Box,{as:"aside",position:"fixed",bottom:2,right:2},e.createElement(He,{"aria-label":r(a?{id:"app.components.Onboarding.help.button-close",defaultMessage:"Close help menu"}:{id:"app.components.Onboarding.help.button",defaultMessage:"Open help menu"}),onClick:p,ref:t},e.createElement(o.Icon,{as:a?C.Cross:C.Question,color:"buttonNeutral0"})),a&&e.createElement(o.Portal,null,e.createElement(o.PopoverPrimitives.Content,{padding:0,source:t,placement:"top-end",spacing:12},e.createElement(o.FocusTrap,{onEscape:p},e.createElement(o.Flex,{justifyContent:"space-between",paddingBottom:5,paddingRight:6,paddingLeft:6,paddingTop:6},e.createElement(ue,{fontWeight:"bold"},r({id:"app.components.Onboarding.title",defaultMessage:"Get started videos"})),e.createElement(pe,{as:"a",href:de.href,target:"_blank",rel:"noreferrer noopener",variant:"pi",textColor:"primary600"},r(de.label))),e.createElement(o.Divider,null),Ve.map(({href:m,duration:h,label:u},T)=>e.createElement(Ze,{as:"a",href:m,target:"_blank",rel:"noreferrer noopener",key:m,hasRadius:!0,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:11},e.createElement(o.Box,{paddingRight:5},e.createElement(o.Typography,{textColor:"neutral200",variant:"alpha"},T+1)),e.createElement(o.Box,{position:"relative"},e.createElement(Qe,{src:$e,alt:""}),e.createElement(we,{position:"absolute",top:"50%",left:"50%",background:"primary600",borderRadius:"50%",justifyContent:"center",width:6,height:6},e.createElement(o.Icon,{as:C.Play,color:"buttonNeutral0",width:3,height:3}))),e.createElement(o.Flex,{direction:"column",alignItems:"start",paddingLeft:4},e.createElement(o.Typography,{fontWeight:"bold"},r(u)),e.createElement(o.VisuallyHidden,null,":"),e.createElement(o.Typography,{textColor:"neutral600",variant:"pi"},h)))),e.createElement(o.Stack,{spacing:2,paddingLeft:5,paddingTop:2,paddingBottom:5},f.map(({label:m,href:h,icon:u})=>e.createElement(o.Stack,{horizontal:!0,spacing:3,key:h},e.createElement(o.Icon,{as:u,color:"primary600"}),e.createElement(pe,{as:"a",href:h,target:"_blank",rel:"noreferrer noopener",variant:"sigma",textColor:"primary700"},r(m)))))))))};const Je=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(4849),n.e(994)]).then(n.bind(n,39573))),Xe=(0,e.lazy)(()=>n.e(3981).then(n.bind(n,12016))),qe=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,15415))),_e=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5516)]).then(n.bind(n,92698))),me=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,53951))),et=(0,e.lazy)(()=>n.e(9501).then(n.bind(n,92336))),tt=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,9972))),ge=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5895)]).then(n.bind(n,71540))),nt=()=>{const{trackUsage:t}=(0,i.useTracking)(),a=(0,S.useDispatch)(),s=(0,S.useSelector)(r=>r.admin_app.status);(0,e.useEffect)(()=>{s==="init"&&(t("didAccessAuthenticatedAdministration"),a({type:Ke.e}))},[s])};var at=()=>{nt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:s}=(0,k.H9)(),{menu:r}=(0,i.useStrapiApp)(),{showTutorials:g}=(0,k.um)(),p=(0,e.useMemo)(()=>r.filter(f=>f.Component).map(({to:f,Component:m,exact:h})=>(0,Y.ot)(m,f,h)),[r]);return t?e.createElement(i.LoadingIndicatorPage,null):e.createElement(R.DndProvider,{backend:b.PD},e.createElement(je,{sideNav:e.createElement(Ue,{generalSectionLinks:a,pluginsSectionLinks:s})},e.createElement(e.Suspense,{fallback:e.createElement(i.LoadingIndicatorPage,null)},e.createElement(d.Switch,null,e.createElement(d.Route,{path:"/",component:Xe,exact:!0}),e.createElement(d.Route,{path:"/me",component:tt,exact:!0}),e.createElement(d.Route,{path:"/content-manager",component:Je}),p,e.createElement(d.Route,{path:"/settings/:settingId",component:ge}),e.createElement(d.Route,{path:"/settings",component:ge,exact:!0}),e.createElement(d.Route,{path:"/marketplace"},e.createElement(_e,null)),e.createElement(d.Route,{path:"/list-plugins",exact:!0},e.createElement(qe,null)),e.createElement(d.Route,{path:"/404",component:me}),e.createElement(d.Route,{path:"/500",component:et}),e.createElement(d.Route,{path:"",component:me}))),e.createElement(be,null),g&&e.createElement(Ye,null)))},ot=t=>({plugins:Object.keys(t).reduce((a,s)=>(a[s]={...t[s]},a),{})}),st=n(3040),rt=n.n(st);const he={plugins:null};var it=(t=he,a)=>(0,ne.default)(t,s=>{switch(a.type){case"SET_PLUGIN_READY":{rt()(s,["plugins",a.pluginId,"isReady"],!0);break}default:return s}}),lt=()=>{const{plugins:t}=(0,i.useStrapiApp)(),[{plugins:a},s]=(0,e.useReducer)(it,he,()=>ot(t)),r=(0,e.useRef)(p=>{s({type:"SET_PLUGIN_READY",pluginId:p})});if(Object.keys(a).some(p=>a[p].isReady===!1)){const p=Object.keys(a).reduce((f,m)=>{const h=a[m].initializer;if(h){const u=a[m].pluginId;f.push(e.createElement(h,{key:u,setPlugin:r.current}))}return f},[]);return e.createElement(e.Fragment,null,p,e.createElement(i.LoadingIndicatorPage,null))}return e.createElement(at,null)},fe=n(17367);const ct=()=>({type:fe.l}),dt=t=>({type:fe.m,permissions:t}),Ee=({children:t,permissions:a,refetchPermissions:s})=>{const{allPermissions:r}=(0,S.useSelector)(p=>p.rbacProvider),g=(0,S.useDispatch)();return(0,e.useEffect)(()=>(g(dt(a)),()=>{g(ct())}),[a,g]),r?e.createElement(i.RBACProviderContext.Provider,{value:{allPermissions:r,refetchPermissions:s}},t):e.createElement(i.LoadingIndicatorPage,null)};Ee.propTypes={children:l().element.isRequired,permissions:l().array.isRequired,refetchPermissions:l().func.isRequired};var ut=Ee,pt=n(55721),mt=n(54770),J=n.n(mt),ye=(t,a)=>!J().valid(t)||!J().valid(a)?!1:J().lt(t,a);const Te=y.i8,gt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),{get:X}=(0,i.getFetchClient)(),ht=async t=>{try{const{data:{tag_name:a}}=await pt.Z.get("https://api.github.com/repos/strapi/strapi/releases/latest");return ye(Te,a)&>&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch{return Te}},ft=async()=>{try{const{data:t,headers:a}=await X("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},Et=async()=>{try{const{data:t,headers:a}=await X("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}},yt=async()=>{try{const{data:{data:{roles:t}}}=await X("/admin/users/me");return t}catch(t){throw new Error(t)}},ve=y.i8;var Tt=()=>{const{setGuidedTourVisibility:t}=(0,i.useGuidedTour)(),a=(0,i.useNotification)(),s=(0,e.useRef)(t),r=i.auth.getUserInfo(),g=z()(r,"username")||(0,Y.Pp)(r.firstname,r.lastname),[p,f]=(0,e.useState)(g),[m,h]=(0,e.useState)(null),{showReleaseNotification:u}=(0,k.um)(),[{data:T,status:O},{data:A,isLoading:W},{data:F,status:x,refetch:j,isFetched:D,isFetching:L},{data:I}]=(0,P.useQueries)([{queryKey:"app-infos",queryFn:ft},{queryKey:"strapi-release",queryFn:()=>ht(a),enabled:u,initialData:ve},{queryKey:"admin-users-permission",queryFn:Et,initialData:[]},{queryKey:"user-roles",queryFn:yt}]),c=(0,e.useMemo)(()=>ye(ve,A),[A]);(0,e.useEffect)(()=>{I&&I.find(({code:ee})=>ee==="strapi-super-admin")&&T?.autoReload&&s.current(!0)},[I,T]),(0,e.useEffect)(()=>{(async()=>{const ee=await(0,Y.Qy)(r);h(ee)})()},[r]);const V=W||(L&&D||O==="loading"||x==="loading"),q=(0,e.useMemo)(()=>({...T,userId:m,latestStrapiReleaseTag:A,setUserDisplayName:f,shouldUpdateStrapi:c,userDisplayName:p}),[T,A,c,p,m]);return V?e.createElement(i.LoadingIndicatorPage,null):O==="error"?e.createElement("div",null,"error..."):e.createElement(i.AppInfosContext.Provider,{value:q},e.createElement(ut,{permissions:F,refetchPermissions:j},e.createElement(lt,null)))}},78024:function(K,M,n){var e=n(32735),i=n(60216),P=n.n(i),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(23678);const S=({type:R,...b})=>e.createElement(y.Box,{width:(0,E.pxToRem)(2),height:"100%",background:R===d.VM?"neutral300":"primary500",hasRadius:!0,...b});S.defaultProps={type:d.VM},S.propTypes={type:P().oneOf([d.lW,d.hx,d.VM])},M.Z=S},14317:function(K,M,n){var e=n(32735),i=n(60216),P=n.n(i),E=n(13478),z=n.n(E),y=n(39161),k=n.n(y),d=n(57269),S=n.n(d),R=n(23678);const b=({type:$,number:U})=>$===R.hx?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Icon,{as:d.Check,"aria-hidden":!0,width:(0,E.pxToRem)(16),color:"neutral0"})):$===R.lW?e.createElement(y.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral0"},U)):e.createElement(y.Flex,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,E.pxToRem)(30),height:(0,E.pxToRem)(30),justifyContent:"center"},e.createElement(y.Typography,{fontWeight:"semiBold",textColor:"neutral600"},U));b.defaultProps={number:void 0,type:R.VM},b.propTypes={number:P().number,type:P().oneOf([R.lW,R.hx,R.VM])},M.Z=b},23678:function(K,M,n){n.d(M,{VM:function(){return P},hx:function(){return i},lW:function(){return e}});const e="isActive",i="isDone",P="isNotDone"},58107:function(K,M){const n={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}};M.Z=n}}]);
|