diff --git a/app/javascript/flavours/glitch/features/drawer/search/index.js b/app/javascript/flavours/glitch/features/drawer/search/index.js
index 2d739349c6..8cbb0906c3 100644
--- a/app/javascript/flavours/glitch/features/drawer/search/index.js
+++ b/app/javascript/flavours/glitch/features/drawer/search/index.js
@@ -45,10 +45,10 @@ const handlers = {
const {
onClear,
submitted,
- value: { length },
+ value,
} = this.props;
e.preventDefault(); // Prevents focus change ??
- if (onClear && (submitted || length)) {
+ if (onClear && (submitted || value && value.length)) {
onClear();
}
},
@@ -100,7 +100,8 @@ export default class DrawerSearch extends React.PureComponent {
value,
} = this.props;
const { expanded } = this.state;
- const computedClass = classNames('drawer--search', { active: value.length || submitted });
+ const active = value && value.length || submitted;
+ const computedClass = classNames('drawer--search', { active });
return (
@@ -126,11 +127,11 @@ export default class DrawerSearch extends React.PureComponent {
tabIndex='0'
>
-
+
diff --git a/app/javascript/flavours/glitch/features/drawer/search/popout/index.js b/app/javascript/flavours/glitch/features/drawer/search/popout/index.js
index b5ea86ff1f..6219f46ca2 100644
--- a/app/javascript/flavours/glitch/features/drawer/search/popout/index.js
+++ b/app/javascript/flavours/glitch/features/drawer/search/popout/index.js
@@ -42,56 +42,61 @@ export default function DrawerSearchPopout ({ style }) {
// The result.
return (
-
- {({ opacity, scaleX, scaleY }) => (
-
-
-
- -
- #example
- {' '}
-
-
- -
- @username@domain
- {' '}
-
-
- -
- URL
- {' '}
-
-
- -
- URL
- {' '}
-
-
-
-
-
- )}
-
+
+ {({ opacity, scaleX, scaleY }) => (
+
+
+
+ -
+ #example
+ {' '}
+
+
+ -
+ @username@domain
+ {' '}
+
+
+ -
+ URL
+ {' '}
+
+
+ -
+ URL
+ {' '}
+
+
+
+
+
+ )}
+
+
);
}
diff --git a/app/javascript/flavours/glitch/styles/components/drawer.scss b/app/javascript/flavours/glitch/styles/components/drawer.scss
index ebf9969072..865ab4343d 100644
--- a/app/javascript/flavours/glitch/styles/components/drawer.scss
+++ b/app/javascript/flavours/glitch/styles/components/drawer.scss
@@ -114,19 +114,27 @@
}
& > .icon {
+ display: block;
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ width: 18px;
+ height: 18px;
+ color: $ui-secondary-color;
+ font-size: 18px;
+ line-height: 18px;
+ z-index: 2;
+
.fa {
display: inline-block;
position: absolute;
- top: 10px;
- right: 10px;
- width: 18px;
- height: 18px;
- color: $ui-secondary-color;
- font-size: 18px;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
opacity: 0;
cursor: default;
pointer-events: none;
- z-index: 2;
transition: all 100ms linear;
}
@@ -136,14 +144,15 @@
}
.fa-times-circle {
- top: 11px;
transform: rotate(-90deg);
cursor: pointer;
&:hover { color: $primary-text-color }
}
+ }
- &.active {
+ &.active {
+ & > .icon {
.fa-search {
opacity: 0;
transform: rotate(90deg);
@@ -158,6 +167,32 @@
}
}
+.drawer--search--popout {
+ box-sizing: border-box;
+ margin-top: 10px;
+ border-radius: 4px;
+ padding: 10px 14px 14px 14px;
+ box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
+ color: $ui-primary-color;
+ background: $simple-background-color;
+
+ h4 {
+ margin-bottom: 10px;
+ color: $ui-primary-color;
+ font-size: 13px;
+ font-weight: 500;
+ text-transform: uppercase;
+ }
+
+ ul { margin-bottom: 10px }
+ li { padding: 4px 0 }
+
+ em {
+ color: $ui-base-color;
+ font-weight: 500;
+ }
+}
+
.drawer--account {
padding: 10px;
color: $ui-primary-color;
diff --git a/app/javascript/flavours/glitch/styles/components/index.scss b/app/javascript/flavours/glitch/styles/components/index.scss
index 67c95eb938..9676203979 100644
--- a/app/javascript/flavours/glitch/styles/components/index.scss
+++ b/app/javascript/flavours/glitch/styles/components/index.scss
@@ -3918,37 +3918,6 @@
border-radius: 0;
}
-.drawer--search--popout {
- background: $simple-background-color;
- border-radius: 4px;
- padding: 10px 14px;
- padding-bottom: 14px;
- margin-top: 10px;
- color: $ui-primary-color;
- box-shadow: 2px 4px 15px rgba($base-shadow-color, 0.4);
-
- h4 {
- text-transform: uppercase;
- color: $ui-primary-color;
- font-size: 13px;
- font-weight: 500;
- margin-bottom: 10px;
- }
-
- li {
- padding: 4px 0;
- }
-
- ul {
- margin-bottom: 10px;
- }
-
- em {
- font-weight: 500;
- color: $ui-base-color;
- }
-}
-
noscript {
text-align: center;