diff --git a/pkg/interface/src/views/apps/term/components/line.js b/pkg/interface/src/views/apps/term/components/line.js index cf530612e..7c1edcfa0 100644 --- a/pkg/interface/src/views/apps/term/components/line.js +++ b/pkg/interface/src/views/apps/term/components/line.js @@ -15,8 +15,8 @@ export default React.memo(({line}) => { switch (deco) { case null: return prop; case 'br': return {bold: true, ...prop}; - case 'bl': return {blink: true, ...prop}; //TODO - case 'un': return {textDecoration: 'underline', ...prop}; //TODO fixme + case 'bl': return {className: 'blink', ...prop}; + case 'un': return {style: {textDecoration: 'underline'}, ...prop}; default: console.log('weird deco', deco); return prop; } }, {}); diff --git a/pkg/interface/src/views/apps/term/css/custom.css b/pkg/interface/src/views/apps/term/css/custom.css index c93e76ef0..ab4f226b5 100644 --- a/pkg/interface/src/views/apps/term/css/custom.css +++ b/pkg/interface/src/views/apps/term/css/custom.css @@ -3,6 +3,18 @@ input#term { color: inherit; } +.blink { + animation: 4s ease-in-out infinite opacity_blink; +} + +@keyframes opacity_blink { + 0% { opacity: 0; } + 10% { opacity: 1; } + 80% { opacity: 1; } + 90% { opacity: 0; } + 100% { opacity: 0; } +} + /* responsive */ @media all and (max-width: 34.375em) { .h-100-m40-s {