diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss index 81a00c3c54cb8..47120ede7a03a 100644 --- a/apps/files/css/files.scss +++ b/apps/files/css/files.scss @@ -63,12 +63,11 @@ .app-files #app-content { transition: background-color 0.3s ease; - overflow-x: hidden; } .file-drag, .file-drag #filestable tbody tr, .file-drag #filestable tbody tr:hover { transition: background-color 0.3s ease!important; - background-color: rgb(179, 230, 255)!important; + background-color: rgb(179, 230, 255) !important; } .app-files #app-content.dir-drop { @@ -91,7 +90,7 @@ @include icon-color('recent', 'files', $color-black); } .nav-icon-favorites { - @include icon-color('star-dark', 'files', $color-black, 2, true); + @include icon-color('star-dark', 'actions', $color-black, 2, true); } .nav-icon-sharingin, .nav-icon-sharingout, diff --git a/core/css/apps.scss b/core/css/apps.scss index f0c168eee7195..7f033026b70e3 100644 --- a/core/css/apps.scss +++ b/core/css/apps.scss @@ -606,7 +606,6 @@ kbd { position: relative; min-height: 100%; flex-basis: 100vw; - overflow: auto; /* margin if navigation element is here */ #app-navigation + & { margin-left: $navigation-width; diff --git a/core/css/styles.scss b/core/css/styles.scss index 3ca0d80444329..ee524d336f507 100644 --- a/core/css/styles.scss +++ b/core/css/styles.scss @@ -175,7 +175,7 @@ body { -ms-user-select: none; user-select: none; display: flex; - top: 0; + top: $header-height; } /* position controls for apps with app-navigation */ diff --git a/lib/private/Template/IconsCacher.php b/lib/private/Template/IconsCacher.php index c262d26654ff6..e5ebecaf16902 100644 --- a/lib/private/Template/IconsCacher.php +++ b/lib/private/Template/IconsCacher.php @@ -47,7 +47,7 @@ class IconsCacher { protected $urlGenerator; /** @var string */ - private $iconVarRE = '/--(icon-[a-z0-9-]+): url\(["\']([a-z0-9-_\~\/\?\&\=\.]+)[^;]+;/m'; + private $iconVarRE = '/--(icon-[a-zA-Z0-9-]+): url\(["\']([a-z0-9-_\~\/\.]+)[^;]+;/m'; /** @var string */ private $fileName = 'icons-vars.css'; diff --git a/tests/lib/Template/IconsCacherTest.php b/tests/lib/Template/IconsCacherTest.php index 106f08d5fa89b..d02f5b3f05fd6 100644 --- a/tests/lib/Template/IconsCacherTest.php +++ b/tests/lib/Template/IconsCacherTest.php @@ -80,7 +80,7 @@ public function testGetIconsFromEmptyCss() { public function testGetIconsFromValidCss() { $css = " icon.test { - --icon-test: url('/svg/core/actions/add/000'); + --icon-test: url('/svg/core/actions/add/000?v=1'); background-image: var(--icon-test); } "; @@ -104,7 +104,7 @@ public function testSetIconsFromEmptyCss() { public function testSetIconsFromValidCss() { $css = " icon.test { - --icon-test: url('/svg/core/actions/add/000'); + --icon-test: url('/svg/core/actions/add/000?v=1'); background-image: var(--icon-test); } "; @@ -124,4 +124,29 @@ public function testSetIconsFromValidCss() { $this->assertEquals($expected, $actual); } + public function testSetIconsFromValidCssMultipleTimes() { + $css = " + icon.test { + --icon-test: url('/svg/core/actions/add/000?v=1'); + background-image: var(--icon-test); + } + "; + $expected = " + icon.test { + + background-image: var(--icon-test); + } + "; + + $iconsFile = $this->createMock(ISimpleFile::class); + $this->folder->expects($this->exactly(3)) + ->method('getFile') + ->willReturn($iconsFile); + + $actual = $this->iconsCacher->setIconsCss($css); + $actual = $this->iconsCacher->setIconsCss($actual); + $actual = $this->iconsCacher->setIconsCss($actual); + $this->assertEquals($expected, $actual); + } + } \ No newline at end of file