Skip to content

Commit 01df82a

Browse files
committed
test: add login theme tests
1 parent fb2abd7 commit 01df82a

36 files changed

+2235
-515
lines changed

html/login/error.html

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<html>
2+
<head>
3+
<title>Sign in to </title>
4+
<meta charset="utf-8">
5+
<meta name="robots" content="noindex, nofollow">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link href="../../theme/keywind/login/resources/dist/index.css" rel="stylesheet">
8+
<script defer src="../../theme/keywind/login/resources/dist/index.js" type="module"></script>
9+
</head>
10+
<body class="bg-secondary-100 flex flex-col items-center justify-center min-h-screen sm:py-16">
11+
<div class="max-w-md space-y-6 w-full">
12+
<div class="bg-white p-8 rounded-lg space-y-6">
13+
<div class="space-y-4">
14+
<div class="font-bold text-center text-2xl">
15+
Keywind
16+
</div>
17+
<h1 class="text-center text-xl">We are sorry...</h1>
18+
</div>
19+
<div class="space-y-4">
20+
<div class="bg-red-100 text-red-600 p-4 rounded-lg text-sm" role="alert">
21+
Example of an error message
22+
</div>
23+
<form action="loginAction" method="post">
24+
<input name="tryAnotherWay" type="hidden" value="on"> <button class="bg-secondary-100 text-secondary-600 focus:ring-secondary-600 hover:bg-secondary-200 hover:text-secondary-900 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" type="submit"> Try Another Way </button>
25+
</form>
26+
</div>
27+
</div>
28+
<div class="flex justify-around">
29+
<div class="relative" x-data="{ open: false }">
30+
<button class="text-secondary-600 hover:text-secondary-900 inline-flex" @click="open = true" type="button">
31+
<div class="flex items-center">
32+
<span class="mr-1 text-sm">English</span>
33+
<svg class="h-5 w-5" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
34+
<path clip-rule="evenodd" d="M5.23017 7.20938C5.52875 6.92228 6.00353 6.93159 6.29063 7.23017L10 11.1679L13.7094 7.23017C13.9965 6.93159 14.4713 6.92228 14.7698 7.20938C15.0684 7.49647 15.0777 7.97125 14.7906 8.26983L10.5406 12.7698C10.3992 12.9169 10.204 13 10 13C9.79599 13 9.60078 12.9169 9.45938 12.7698L5.20938 8.26983C4.92228 7.97125 4.93159 7.49647 5.23017 7.20938Z" fill-rule="evenodd" />
35+
</svg>
36+
</div></button>
37+
<div @click.away="open = false" class="absolute bg-white bottom-0 -left-4 max-h-80 mb-6 overflow-y-scroll rounded-lg shadow-lg" x-cloak x-show="open">
38+
<div class="px-4 py-2">
39+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Deutsch </a>
40+
</div>
41+
<div class="px-4 py-2">
42+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Français </a>
43+
</div>
44+
</div>
45+
</div>
46+
</div>
47+
</div>
48+
</body>
49+
</html>

html/login/login-config-totp.html

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
<html>
2+
<head>
3+
<title>Sign in to </title>
4+
<meta charset="utf-8">
5+
<meta name="robots" content="noindex, nofollow">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link href="../../theme/keywind/login/resources/dist/index.css" rel="stylesheet">
8+
<script defer src="../../theme/keywind/login/resources/dist/index.js" type="module"></script>
9+
</head>
10+
<body class="bg-secondary-100 flex flex-col items-center justify-center min-h-screen sm:py-16">
11+
<div class="max-w-md space-y-6 w-full">
12+
<div class="bg-white p-8 rounded-lg space-y-6">
13+
<div class="space-y-4">
14+
<div class="font-bold text-center text-2xl">
15+
Keywind
16+
</div>
17+
<h1 class="text-center text-xl">Mobile Authenticator Setup</h1>
18+
</div>
19+
<div class="space-y-4">
20+
<div class="bg-red-100 text-red-600 p-4 rounded-lg text-sm" role="alert">
21+
Example of an error message
22+
</div>
23+
<ol class="list-decimal pl-4 space-y-2">
24+
<li class="space-y-2">
25+
<p>Install one of the following applications on your mobile:</p>
26+
<ul class="list-disc pl-4">
27+
<li>FreeOTP</li>
28+
</ul></li>
29+
<li>
30+
<p>Open the application and scan the barcode:</p><img alt="Figure: Barcode" class="mx-auto" src="data:image/png;base64, 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"> <a class="text-primary-600 hover:text-primary-500 inline-flex" href="manualUrl"> Unable to scan? </a></li>
31+
<li>Enter the one-time code provided by the application and click Submit to finish the setup.</li>
32+
<li>Provide a Device Name to help you manage your OTP devices.</li>
33+
</ol>
34+
<form class="m-0 space-y-4" method="post" action="loginAction">
35+
<input name="totpSecret" type="hidden" value="totpSecret">
36+
<div>
37+
<label class="sr-only" for="totp"> One-time code * </label> <input autofocus aria-invalid="false" class="block border-secondary-200 mt-1 rounded-md w-full focus:border-primary-300 focus:ring focus:ring-primary-200 focus:ring-opacity-50 sm:text-sm" id="totp" name="totp" placeholder="One-time code *" autocomplete="off" type="text">
38+
<div class="mt-2 text-red-600 text-sm">
39+
</div>
40+
</div>
41+
<div>
42+
<label class="sr-only" for="userLabel"> Device Name * </label> <input aria-invalid="false" class="block border-secondary-200 mt-1 rounded-md w-full focus:border-primary-300 focus:ring focus:ring-primary-200 focus:ring-opacity-50 sm:text-sm" id="userLabel" name="userLabel" placeholder="Device Name *" autocomplete="off" type="text">
43+
<div class="mt-2 text-red-600 text-sm">
44+
</div>
45+
</div>
46+
<div class="flex flex-col pt-4 space-y-2">
47+
<button class="bg-primary-600 text-white focus:ring-primary-600 hover:bg-primary-700 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" type="submit"> Submit </button>
48+
</div>
49+
</form>
50+
<form action="loginAction" method="post">
51+
<input name="tryAnotherWay" type="hidden" value="on"> <button class="bg-secondary-100 text-secondary-600 focus:ring-secondary-600 hover:bg-secondary-200 hover:text-secondary-900 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" type="submit"> Try Another Way </button>
52+
</form>
53+
</div>
54+
</div>
55+
<div class="flex justify-around">
56+
<div class="relative" x-data="{ open: false }">
57+
<button class="text-secondary-600 hover:text-secondary-900 inline-flex" @click="open = true" type="button">
58+
<div class="flex items-center">
59+
<span class="mr-1 text-sm">English</span>
60+
<svg class="h-5 w-5" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
61+
<path clip-rule="evenodd" d="M5.23017 7.20938C5.52875 6.92228 6.00353 6.93159 6.29063 7.23017L10 11.1679L13.7094 7.23017C13.9965 6.93159 14.4713 6.92228 14.7698 7.20938C15.0684 7.49647 15.0777 7.97125 14.7906 8.26983L10.5406 12.7698C10.3992 12.9169 10.204 13 10 13C9.79599 13 9.60078 12.9169 9.45938 12.7698L5.20938 8.26983C4.92228 7.97125 4.93159 7.49647 5.23017 7.20938Z" fill-rule="evenodd" />
62+
</svg>
63+
</div></button>
64+
<div @click.away="open = false" class="absolute bg-white bottom-0 -left-4 max-h-80 mb-6 overflow-y-scroll rounded-lg shadow-lg" x-cloak x-show="open">
65+
<div class="px-4 py-2">
66+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Deutsch </a>
67+
</div>
68+
<div class="px-4 py-2">
69+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Français </a>
70+
</div>
71+
</div>
72+
</div>
73+
</div>
74+
</div>
75+
</body>
76+
</html>
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<html>
2+
<head>
3+
<title>Sign in to </title>
4+
<meta charset="utf-8">
5+
<meta name="robots" content="noindex, nofollow">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link href="../../theme/keywind/login/resources/dist/index.css" rel="stylesheet">
8+
<script defer src="../../theme/keywind/login/resources/dist/index.js" type="module"></script>
9+
</head>
10+
<body class="bg-secondary-100 flex flex-col items-center justify-center min-h-screen sm:py-16">
11+
<div class="max-w-md space-y-6 w-full">
12+
<div class="bg-white p-8 rounded-lg space-y-6">
13+
<div class="space-y-4">
14+
<div class="font-bold text-center text-2xl">
15+
Keywind
16+
</div>
17+
<h1 class="text-center text-xl">Account already exists</h1>
18+
</div>
19+
<div class="space-y-4">
20+
<div class="bg-red-100 text-red-600 p-4 rounded-lg text-sm" role="alert">
21+
Example of an error message
22+
</div>
23+
<form class="m-0 space-y-4" method="post" action="loginAction">
24+
<button class="bg-primary-600 text-white focus:ring-primary-600 hover:bg-primary-700 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" name="submitAction" type="submit" value="updateProfile"> Review profile </button> <button class="bg-primary-600 text-white focus:ring-primary-600 hover:bg-primary-700 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" name="submitAction" type="submit" value="linkAccount"> Add to existing account </button>
25+
</form>
26+
<form action="loginAction" method="post">
27+
<input name="tryAnotherWay" type="hidden" value="on"> <button class="bg-secondary-100 text-secondary-600 focus:ring-secondary-600 hover:bg-secondary-200 hover:text-secondary-900 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" type="submit"> Try Another Way </button>
28+
</form>
29+
</div>
30+
</div>
31+
<div class="flex justify-around">
32+
<div class="relative" x-data="{ open: false }">
33+
<button class="text-secondary-600 hover:text-secondary-900 inline-flex" @click="open = true" type="button">
34+
<div class="flex items-center">
35+
<span class="mr-1 text-sm">English</span>
36+
<svg class="h-5 w-5" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
37+
<path clip-rule="evenodd" d="M5.23017 7.20938C5.52875 6.92228 6.00353 6.93159 6.29063 7.23017L10 11.1679L13.7094 7.23017C13.9965 6.93159 14.4713 6.92228 14.7698 7.20938C15.0684 7.49647 15.0777 7.97125 14.7906 8.26983L10.5406 12.7698C10.3992 12.9169 10.204 13 10 13C9.79599 13 9.60078 12.9169 9.45938 12.7698L5.20938 8.26983C4.92228 7.97125 4.93159 7.49647 5.23017 7.20938Z" fill-rule="evenodd" />
38+
</svg>
39+
</div></button>
40+
<div @click.away="open = false" class="absolute bg-white bottom-0 -left-4 max-h-80 mb-6 overflow-y-scroll rounded-lg shadow-lg" x-cloak x-show="open">
41+
<div class="px-4 py-2">
42+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Deutsch </a>
43+
</div>
44+
<div class="px-4 py-2">
45+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Français </a>
46+
</div>
47+
</div>
48+
</div>
49+
</div>
50+
</div>
51+
</body>
52+
</html>

html/login/login-oauth-grant.html

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
<html>
2+
<head>
3+
<title>Sign in to </title>
4+
<meta charset="utf-8">
5+
<meta name="robots" content="noindex, nofollow">
6+
<meta name="viewport" content="width=device-width, initial-scale=1">
7+
<link href="../../theme/keywind/login/resources/dist/index.css" rel="stylesheet">
8+
<script defer src="../../theme/keywind/login/resources/dist/index.js" type="module"></script>
9+
</head>
10+
<body class="bg-secondary-100 flex flex-col items-center justify-center min-h-screen sm:py-16">
11+
<div class="max-w-md space-y-6 w-full">
12+
<div class="bg-white p-8 rounded-lg space-y-6">
13+
<div class="space-y-4">
14+
<div class="font-bold text-center text-2xl">
15+
Keywind
16+
</div>
17+
<h1 class="text-center text-xl">
18+
<p>Grant Access to null</p></h1>
19+
</div>
20+
<div class="space-y-4">
21+
<div class="bg-red-100 text-red-600 p-4 rounded-lg text-sm" role="alert">
22+
Example of an error message
23+
</div>
24+
<h3>Do you grant these access privileges?</h3>
25+
<ul class="list-disc pl-4">
26+
</ul>
27+
<form class="m-0 space-y-4" method="post" action="oauthAction">
28+
<input name="code" type="hidden" value="code">
29+
<div class="flex flex-col pt-4 space-y-2">
30+
<button class="bg-primary-600 text-white focus:ring-primary-600 hover:bg-primary-700 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" name="accept" type="submit"> Yes </button> <button class="bg-secondary-100 text-secondary-600 focus:ring-secondary-600 hover:bg-secondary-200 hover:text-secondary-900 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" name="cancel" type="submit"> No </button>
31+
</div>
32+
</form>
33+
<form action="loginAction" method="post">
34+
<input name="tryAnotherWay" type="hidden" value="on"> <button class="bg-secondary-100 text-secondary-600 focus:ring-secondary-600 hover:bg-secondary-200 hover:text-secondary-900 px-4 py-2 text-sm flex justify-center relative rounded-lg w-full focus:outline-none focus:ring-2 focus:ring-offset-2" type="submit"> Try Another Way </button>
35+
</form>
36+
</div>
37+
</div>
38+
<div class="flex justify-around">
39+
<div class="relative" x-data="{ open: false }">
40+
<button class="text-secondary-600 hover:text-secondary-900 inline-flex" @click="open = true" type="button">
41+
<div class="flex items-center">
42+
<span class="mr-1 text-sm">English</span>
43+
<svg class="h-5 w-5" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
44+
<path clip-rule="evenodd" d="M5.23017 7.20938C5.52875 6.92228 6.00353 6.93159 6.29063 7.23017L10 11.1679L13.7094 7.23017C13.9965 6.93159 14.4713 6.92228 14.7698 7.20938C15.0684 7.49647 15.0777 7.97125 14.7906 8.26983L10.5406 12.7698C10.3992 12.9169 10.204 13 10 13C9.79599 13 9.60078 12.9169 9.45938 12.7698L5.20938 8.26983C4.92228 7.97125 4.93159 7.49647 5.23017 7.20938Z" fill-rule="evenodd" />
45+
</svg>
46+
</div></button>
47+
<div @click.away="open = false" class="absolute bg-white bottom-0 -left-4 max-h-80 mb-6 overflow-y-scroll rounded-lg shadow-lg" x-cloak x-show="open">
48+
<div class="px-4 py-2">
49+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Deutsch </a>
50+
</div>
51+
<div class="px-4 py-2">
52+
<a class="text-secondary-600 hover:text-secondary-900 text-sm inline-flex" href="url"> Français </a>
53+
</div>
54+
</div>
55+
</div>
56+
</div>
57+
</div>
58+
</body>
59+
</html>

0 commit comments

Comments
 (0)