-
-
-
- avatar -
-
-

- {tenant.title ? tenant.title : translate('Your APIs center')} -

- -
+
+
+ avatar +
+
+

+ {tenant.title ? tenant.title : translate('Your APIs center')} +

+
diff --git a/daikoku/javascript/src/components/utils/sidebar/SideBar.tsx b/daikoku/javascript/src/components/utils/sidebar/SideBar.tsx index 0c608a609..c28b0f4c3 100644 --- a/daikoku/javascript/src/components/utils/sidebar/SideBar.tsx +++ b/daikoku/javascript/src/components/utils/sidebar/SideBar.tsx @@ -62,8 +62,8 @@ export const SideBar = () => {
{translate("tenant.logo")} @@ -71,8 +71,8 @@ export const SideBar = () => {
diff --git a/daikoku/javascript/src/locales/en/translation.json b/daikoku/javascript/src/locales/en/translation.json index c1e4f4c43..23e46d365 100644 --- a/daikoku/javascript/src/locales/en/translation.json +++ b/daikoku/javascript/src/locales/en/translation.json @@ -35,7 +35,7 @@ "filter.preview.tag": "tagged", "filter.preview.team": "produced by", "clear filter": "clear filter", - "Search your API...": "Search your API...", + "Search your API...": "Search your API", "Previous": "Previous", "Next": "Next", "All": "All", @@ -1276,9 +1276,9 @@ "select.team.placeholder": "Select a team", "otoroshi.missing.entities": "Missing Otoroshi entities", "otoroshi.missing.target": "Missing Otoroshi target", - "apiList.tag.search": "Search a tag", - "apiList.category.search": "Search a category", - "apiList.team.search": "Search a team", + "apiList.tag.search": "By tag", + "apiList.category.search": "By category", + "apiList.team.search": "By team", "team.email.verification.send": "Mail sent to %s for verify this email address.", "team.email.alreadyVerified": "This mail is already verified", "team.email.notVerified": "Send a mail", @@ -1306,8 +1306,8 @@ "authorized.groups": "Services groups", "authorized.services": "Services", "authorized.routes": "Routes", - "login.placeholder": "Email adress", - "login.label": "Email adress", + "login.placeholder": "Email address", + "login.label": "Email address", "password.label": "Password", "login.btn.label": "Login", "api_documentation_modal.import.title": "Choose a documentation page to import from another version of this API.", @@ -1440,5 +1440,7 @@ "apikeys.delete.confirm.label": "To confirm the deletion, please enter the exact name of the subscription: %s", "apikeys.delete.success.message": "The subscription has been successfully deleted", "apikeys.view.api": "View API", - "apikeys.view.apikeys": "View APIkeys" + "apikeys.view.apikeys": "View APIkeys", + "Daikoku.home" : "Daikoku home", + "API.list" : "APIs list" } \ No newline at end of file diff --git a/daikoku/javascript/src/locales/fr/translation.json b/daikoku/javascript/src/locales/fr/translation.json index ae3718b39..8cc82864e 100644 --- a/daikoku/javascript/src/locales/fr/translation.json +++ b/daikoku/javascript/src/locales/fr/translation.json @@ -1276,9 +1276,9 @@ "select.team.placeholder": "Sélectionner une équipe", "otoroshi.missing.entities": "Entités Otoroshi manquantes", "otoroshi.missing.target": "Cible Otoroshi manquante", - "apiList.tag.search": "Recherchez un tag", - "apiList.category.search": "Recherchez une catégorie", - "apiList.team.search": "Recherchez une équipe", + "apiList.tag.search": "Par tag", + "apiList.category.search": "Par catégorie", + "apiList.team.search": "Par équipe", "team.email.verification.send": "Mail envoyé à %s pour vérifier cette adresse email.", "team.email.alreadyVerified": "Cet email est déjà vérifié", "team.email.notVerified": "Envoyer un mail", @@ -1440,5 +1440,7 @@ "apikeys.delete.confirm.label": "Pour confirmer la suppression, veuillez saisir le nom exact de la souscription : %s", "apikeys.delete.success.message": "La souscription a été correctement supprimée", "apikeys.view.api": "Voir l'API", - "apikeys.view.apikeys": "Voir les clés d'API" + "apikeys.view.apikeys": "Voir les clés d'API", + "Daikoku.home" : "Accueil Daikoku", + "API.list" : "Liste des APIs" } \ No newline at end of file diff --git a/daikoku/javascript/tests/anonymousUser.spec.ts b/daikoku/javascript/tests/anonymousUser.spec.ts index 6ee8855c5..f2b452071 100644 --- a/daikoku/javascript/tests/anonymousUser.spec.ts +++ b/daikoku/javascript/tests/anonymousUser.spec.ts @@ -26,7 +26,7 @@ test('[public tenant] - external user can join a team', async ({ page }) => { await expect(page.getByRole('heading', { name: 'admin-api-tenant-default' })).toBeHidden(); await expect(page.getByRole('heading', { name: 'test API' })).toBeVisible(); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('admin@foo.bar'); + await page.getByPlaceholder('Email address').fill('admin@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByPlaceholder('Password').press('Enter'); await page.getByText('Consumers').click(); @@ -58,7 +58,7 @@ test('[public tenant] - external user can join a team', async ({ page }) => { await page.getByText('Validate your Evil Corp.').first().click(); await page.getByRole('link', { name: 'Confirm' }).click(); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('bob@foo.bar'); + await page.getByPlaceholder('Email address').fill('bob@foo.bar'); await page.getByPlaceholder('Password').fill('Pa$$w0rd'); await page.getByRole('button', { name: 'Login' }).click(); await expect(page.getByRole('heading', { name: 'public with permissions API' })).toBeVisible(); @@ -195,7 +195,7 @@ test('[public tenant] - external user can signup', async ({ page }) => { await page.getByRole('link', { name: 'Confirm' }).click(); await page.locator('h1.jumbotron-heading').filter({ hasText: 'Evil Corp.' }).waitFor({ state: 'visible' }) await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('fifou@foo.bar'); + await page.getByPlaceholder('Email address').fill('fifou@foo.bar'); await page.getByPlaceholder('Password').fill('Pa$$w0rd'); await page.getByRole('button', { name: 'Login' }).click(); await page.waitForResponse(response => response.url().includes('/auth/Local/callback') && response.status() === 303) @@ -302,7 +302,7 @@ test('[public tenant] - unlogged user can accept subscription demand', async ({ // await expect(page.getByRole('alert')).toContainText('Thank you for your response'); // await page.getByRole('link', { name: 'Go back' }).click(); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('admin@foo.bar'); + await page.getByPlaceholder('Email address').fill('admin@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByPlaceholder('Password').press('Enter'); await page.getByText('Consumers').click(); diff --git a/daikoku/javascript/tests/completeJourney.spec.ts b/daikoku/javascript/tests/completeJourney.spec.ts index 34f768528..ef5333906 100644 --- a/daikoku/javascript/tests/completeJourney.spec.ts +++ b/daikoku/javascript/tests/completeJourney.spec.ts @@ -21,7 +21,7 @@ test('test a complete user journey', async ({ page }) => { //connection await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('user@foo.bar'); + await page.getByPlaceholder('Email address').fill('user@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByRole('button', { name: 'Login' }).click(); await page.waitForResponse(response => response.url().includes('/auth/Local/callback') && response.status() === 303) diff --git a/daikoku/javascript/tests/connectedUser.spec.ts b/daikoku/javascript/tests/connectedUser.spec.ts index fb7a97cca..44c90d788 100644 --- a/daikoku/javascript/tests/connectedUser.spec.ts +++ b/daikoku/javascript/tests/connectedUser.spec.ts @@ -166,7 +166,7 @@ test('Create & manage API', async ({ page }) => { //connection with admin await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); + await page.getByPlaceholder('Email address').fill('tester@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByPlaceholder('Password').press('Enter'); //create new API @@ -371,7 +371,7 @@ test('aggregation mode', async ({ page, request }) => { //login await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); + await page.getByPlaceholder('Email address').fill('tester@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByRole('button', { name: 'Login' }).click(); @@ -451,7 +451,7 @@ test('do search', async ({ page, request }) => { //login await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); + await page.getByPlaceholder('Email address').fill('tester@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByPlaceholder('Password').press('Enter'); await page.waitForResponse(r => r.url().includes('/api/me/context') && r.status() === 200) @@ -486,7 +486,7 @@ test('do search', async ({ page, request }) => { test('API admin can transfer his own API ownership', async ({ page }) => { await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); + await page.getByPlaceholder('Email address').fill('tester@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByRole('button', { name: 'Login' }).click(); await page.getByRole('heading', { name: 'test API' }).click(); @@ -530,7 +530,7 @@ test('Filter API List', async ({ page, request }) => { await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); + await page.getByPlaceholder('Email address').fill('tester@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByRole('button', { name: 'Login' }).click(); await page.waitForResponse(r => r.url().includes('/api/me/context') && r.status() === 200) @@ -558,7 +558,7 @@ test('Filter API List', async ({ page, request }) => { await page.getByRole('option', { name: 'external' }).click(); await expect(page.locator('.preview')).toContainText('1 result categorized in external'); await page.getByText('clear filter').click(); - await page.getByPlaceholder('Search your API...').fill('test'); + await page.getByPlaceholder('Search your API').fill('test'); await expect(page.locator('.preview')).toContainText('2 results matching test'); await page.locator('.reactSelect__indicator').first().click(); await page.getByRole('option', { name: 'Testers' }).click(); diff --git a/daikoku/javascript/tests/envMode.spec.ts b/daikoku/javascript/tests/envMode.spec.ts index c7ab171d1..1ee8292c3 100644 --- a/daikoku/javascript/tests/envMode.spec.ts +++ b/daikoku/javascript/tests/envMode.spec.ts @@ -63,7 +63,7 @@ test('aggregation security works', async ({ page, request }) => { //login await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); + await page.getByPlaceholder('Email address').fill('tester@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByRole('button', { name: 'Login' }).click(); diff --git a/daikoku/javascript/tests/manageMembers.spec.ts b/daikoku/javascript/tests/manageMembers.spec.ts index bafd51879..09a0fd875 100644 --- a/daikoku/javascript/tests/manageMembers.spec.ts +++ b/daikoku/javascript/tests/manageMembers.spec.ts @@ -20,7 +20,7 @@ test.beforeAll(async () => { test('manage team as admin', async ({ page }) => { await page.goto(`http://localhost:${exposedPort}/apis`); await page.getByRole('img', { name: 'user menu' }).click(); - await page.getByPlaceholder('Email adress').fill('user@foo.bar'); + await page.getByPlaceholder('Email address').fill('user@foo.bar'); await page.getByPlaceholder('Password').fill('password'); await page.getByPlaceholder('Password').press('Enter'); await page.locator('div:nth-child(4) > .notification-link').first().click(); @@ -56,7 +56,7 @@ test('manage team as admin', async ({ page }) => { // test('join a team as daikoku user', async ({ page }) => { // await page.goto('http://localhost:9000/apis'); // await page.getByRole('img', { name: 'user menu' }).click(); -// await page.getByPlaceholder('Email adress').fill('tester@foo.bar'); +// await page.getByPlaceholder('Email address').fill('tester@foo.bar'); // await page.getByPlaceholder('Password').fill('password'); // await page.getByPlaceholder('Password').press('Enter'); // await page.waitForResponse(r => r.url().includes('/api/me/context') && r.status() === 200) diff --git a/daikoku/public/themes/brutalism.css b/daikoku/public/themes/brutalism.css index 48b2fd5f7..d053cef5f 100644 --- a/daikoku/public/themes/brutalism.css +++ b/daikoku/public/themes/brutalism.css @@ -1,70 +1,58 @@ :root { - /* colors*/ - --error-color: #dc3545; - --info-color: #17a2b8; - --success-color: #65B741; - --warning-color: #ffc107; - --danger-color: #dc3545; - - /*level 1*/ - - --body_bg-color: FireBrick; - --body_text-color: DarkTurquoise; - --body_link-color: Cyan; - --body_link-hover-color: LightCyan; - - /*level 2*/ - --level2_bg-color: SandyBrown; - --level2_text-color: Wheat; - --level2_link-color: Sienna; - --level2_link-hover-color: Brown; - - /*level 3*/ - --level3_bg-color: BlanchedAlmond; - --level3_text-color: SandyBrown; + --body_bg-color: pink; + --body_text-color: green; + --body_link-color:red; + --body_link-hover-color:yellow; + + --level2_bg-color: orange; + --level2_text-color: blue; + --level2_link-color: red; + --level2_link-hover-color: brown; + + --level3_bg-color : #bbd700; + --level3_text-color : #222; --level3_link-color: #4c4c4d; - --level3_link-hover-color: grey; - --level3_link-hover-bg-color: white; - - /*sidebar*/ - --sidebar-bg-color: PeachPuff; - --sidebar-text-color: DarkKhaki; - --sidebar-text-hover-color: PaleGoldenrod; - - /*companion*/ - --menu-bg-color: DarkOrange; - --menu-text-color: OrangeRed; - --menu-text-hover-bg-color: SlateGray; - --menu-text-hover-color: white; - --menu-link-color: DimGray; - - - /* NEW cards */ - --card_header-bg-color: DarkGreen; - --card_header-text-color: white; - --card_bg-color: YellowGreen; - --card_text-color: white; - --card_link-color: olive; - --card_link-hover-color: orange; - - /*btns*/ - --btn-bg-color: MediumPurple; - --btn-text-color: Yellow; - --btn-border-color: Violet; + --level3_link-hover-color : #000; + --level3_link-hover-bg-color :grey; + + --sidebar-bg-color: beige; + --sidebar-text-color: brown; + --sidebar-text-hover-color:orange; + + --menu-bg-color: #fba979; + --menu-text-color: #ac6407; + --menu-text-hover-bg-color: cadetblue; + --menu-text-hover-color: yellow; + --menu-divider-color: grey; + + --card_header-bg-color : indigo; + --card_header-text-color: gold; + --card_bg-color: lavender; + --card_text-color: black; + --card_link-color: lightseagreen; + --card_link-hover-color : lime; + + --btn-bg-color: #fff; + --btn-text-color: #495057; + --btn-border-color: #97b0c7; - /*badge*/ --badge-tags-bg-color: #ffc107; --badge-tags-bg-hover-color: #ffe1a7; --badge-tags-text-color: #212529; - /*form*/ - --form-text-color: white; - --form-border-color: white; - --form-bg-color: black; + --form-text-color: #000; + --form-border-color: #586069; + --form-bg-color: #ff5e8c; - --form-select-focused-color: red; - --form-select-focused-text-color: green; + --form-select-focused-color: lightgrey; + --form-select-focused-text-color: white; --form-select-heading-color: yellow; - --form-select-hover-color: black; - --form-select-hover-text-color: brown; + --form-select-hover-color: lightgrey; + --form-select-hover-text-color: white; + + --error-color:#dc3545; + --info-color: #17a2b8; + --success-color: #65B741; + --warning-color: #ffc107; + --danger-color: #dc3545; } \ No newline at end of file diff --git a/daikoku/public/themes/dark.css b/daikoku/public/themes/dark.css index 3f21a3502..571d91b27 100644 --- a/daikoku/public/themes/dark.css +++ b/daikoku/public/themes/dark.css @@ -1,44 +1,37 @@ -:root[data-theme="DARK"] { - --error-color: #dc3545; - --info-color: #17a2b8; - --success-color: #65B741; - --warning-color: #ffc107; - --danger-color: #dc3545; - +:root[data-theme="DARK"] { --body_bg-color: #000; --body_text-color: #b3b3b3; - --body_link-color: #b3b3b3; - --body_link-hover-color: orange; + --body_link-color:#b3b3b3; + --body_link-hover-color:orange; --level2_bg-color: #121212; --level2_text-color: #b3b3b3; --level2_link-color: #9f9e9e; --level2_link-hover-color: #fff; - --level3_bg-color: #242424; - --level3_text-color: #e8e8e8; + --level3_bg-color : #242424; + --level3_text-color : #e8e8e8; --level3_link-color: #9f9e9e; - --level3_link-hover-color: #fff; - --level3_link-hover-bg-color: grey; + --level3_link-hover-color : #fff; + --level3_link-hover-bg-color : grey; --sidebar-bg-color: #121212; --sidebar-text-color: #b3b3b3; - --sidebar-text-hover-color: orange; + --sidebar-text-hover-color:orange; --menu-bg-color: #242424; --menu-text-color: #fff; --menu-text-hover-bg-color: #121212; --menu-text-hover-color: #fff; - --menu-link-color: #b3b3b3; - - --card_header-bg-color: #404040; + --menu-link-color: #b3b3b3; + + --card_header-bg-color : #404040; --card_header-text-color: #fff; --card_bg-color: #282828; --card_text-color: #fff; - --card_link-color: #b3b3b3; - --card_link-hover-color: orange; - - + --card_link-color: #ffe1a7; + --card_link-hover-color : #ffc107; + --btn-bg-color: #fff; --btn-text-color: #495057; --btn-border-color: #97b0c7; @@ -55,5 +48,11 @@ --form-select-focused-text-color: white; --form-select-heading-color: yellow; --form-select-hover-color: grey; - --form-select-hover-text-color: white; + --form-select-hover-text-color: white; + + --error-color:#dc3545; +  --info-color: #17a2b8; + --success-color: #65B741; + --warning-color: #ffc107; + --danger-color: #dc3545; } \ No newline at end of file diff --git a/daikoku/public/themes/light.css b/daikoku/public/themes/light.css index d99d6f142..e70b6723b 100644 --- a/daikoku/public/themes/light.css +++ b/daikoku/public/themes/light.css @@ -1,44 +1,36 @@ :root { - --error-color: #dc3545; - --info-color: #17a2b8; - --success-color: #65B741; - --warning-color: #ffc107; - --danger-color: #dc3545; - --body_bg-color: #f1f3f6; --body_text-color: #8a8a8a; - --body_link-color: #4c4c4d; - --body_link-hover-color: orange; - + --body_link-color:#4c4c4d; + --body_link-hover-color:orange; + --level2_bg-color: #e5e7ea; --level2_text-color: #4c4c4d; --level2_link-color: #605c5c; - --level2_link-hover-color: #000; - + --level2_link-hover-color: #000; - --level3_bg-color: #fff; - --level3_text-color: #222; + --level3_bg-color : #fff; + --level3_text-color : #222; --level3_link-color: #4c4c4d; - --level3_link-hover-color: #000; - --level3_link-hover-bg-color: grey; + --level3_link-hover-color : #000; + --level3_link-hover-bg-color :grey; --sidebar-bg-color: #e5e7ea; --sidebar-text-color: #4c4c4d; - --sidebar-text-hover-color: orange; + --sidebar-text-hover-color:orange; --menu-bg-color: #fff; --menu-text-color: #aaa; --menu-text-hover-bg-color: #444; --menu-text-hover-color: #fff; - --menu-link-color: #666; - + --menu-link-color: #666;  --card_header-bg-color: #404040; --card_header-text-color: #fff; --card_bg-color: #282828; --card_text-color: #fff; - --card_link-color: #b3b3b3; - --card_link-hover-color: orange; + --card_link-color: #ffe1a7; + --card_link-hover-color : #ffc107; --btn-bg-color: #fff; --btn-text-color: #495057; @@ -46,7 +38,7 @@ --badge-tags-bg-color: #ffc107; --badge-tags-bg-hover-color: #ffe1a7; - --badge-tags-text-color: #212529; + --badge-tags-text-color: #212529; --form-text-color: #000; --form-border-color: #586069; @@ -57,4 +49,10 @@ --form-select-heading-color: yellow; --form-select-hover-color: lightgrey; --form-select-hover-text-color: white; + + --error-color:#dc3545; + --info-color: #17a2b8; + --success-color: #65B741; + --warning-color: #ffc107; + --danger-color: #dc3545; } \ No newline at end of file