mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-16 00:14:48 +00:00
feat(ui): Shadow UI redesign, domain management, and DNS autoconfigure (#11119)
Co-authored-by: ShadowArcanist <162910371+ShadowArcanist@users.noreply.github.com>
This commit is contained in:
1 parent
0b843bb07c
commit
8ae56587d5
497 files changed
+44045
-22630
No files matched your search
@@ -18,6 +18,12 @@ it('renders password input with Alpine-managed visibility state', function () {
|
||||
->toContain("x-on:click=\"type = type === 'password' ? 'text' : 'password'\"")
|
||||
->toContain('x-bind:type="type"')
|
||||
->toContain("x-bind:class=\"{ 'truncate': type === 'text' && ! \$el.disabled }\"")
|
||||
->toContain('input-with-password-toggle')
|
||||
->toContain('password-toggle')
|
||||
->toContain('z-10')
|
||||
// Visible state uses reicon eye-off2 (distinct path start).
|
||||
->toContain("x-show=\"type === 'text'\"")
|
||||
->toContain('M2.53033 1.46967')
|
||||
->not->toContain('changePasswordFieldType');
|
||||
});
|
||||
|
||||
@@ -27,6 +33,24 @@ it('renders password input before visibility toggle in tab order', function () {
|
||||
expect(strpos($html, '<input'))->toBeLessThan(strpos($html, 'aria-label="Toggle password visibility"'));
|
||||
});
|
||||
|
||||
it('does not add toggle clearance when allowToPeak is disabled', function () {
|
||||
$html = Blade::render('<x-forms.input type="password" id="secret" :allow-to-peak="false" />');
|
||||
|
||||
expect($html)
|
||||
->not->toContain('input-with-password-toggle')
|
||||
->not->toContain('aria-label="Toggle password visibility"');
|
||||
});
|
||||
|
||||
it('keeps password toggle padding above settings-workspace input overrides', function () {
|
||||
$css = file_get_contents(resource_path('css/app.css'));
|
||||
|
||||
expect($css)
|
||||
->toContain('.input.input-with-password-toggle')
|
||||
->toContain('.application-settings-workspace .input.input-with-password-toggle')
|
||||
->toContain('.application-settings-form .input.input-with-password-toggle')
|
||||
->toContain('padding-right: 2.5rem');
|
||||
});
|
||||
|
||||
it('renders password textarea with Alpine-managed visibility state', function () {
|
||||
$html = Blade::render('<x-forms.textarea type="password" id="secret" />');
|
||||
|
||||
@@ -63,7 +87,24 @@ it('resets password visibility on success event for env-var-input', function ()
|
||||
expect($html)
|
||||
->toContain("@success.window=\"type = 'password'\"")
|
||||
->toContain("x-on:click=\"type = type === 'password' ? 'text' : 'password'\"")
|
||||
->toContain('x-bind:type="type"');
|
||||
->toContain('x-bind:type="type"')
|
||||
->toContain('input-with-password-toggle')
|
||||
->toContain('password-toggle')
|
||||
->toContain('M2.53033 1.46967');
|
||||
});
|
||||
|
||||
it('registers the eye-off2 reicon used when password value is visible', function () {
|
||||
$path = resource_path('views/components/reicon.blade.php');
|
||||
$contents = file_get_contents($path);
|
||||
|
||||
expect($contents)->toContain("'eye-off2' => ");
|
||||
|
||||
$html = Blade::render('<x-reicon name="eye-off2" class="size-[18px]" />');
|
||||
|
||||
expect($html)
|
||||
->toContain('viewBox="0 0 24 24"')
|
||||
->toContain('fill="currentColor"')
|
||||
->toContain('M2.53033 1.46967');
|
||||
});
|
||||
|
||||
it('renders env var password input before visibility toggle in tab order', function () {
|
||||
|
||||
Reference in new issue
Block a user