+
{errors ? errorsUI : null}
{validationIssues ? validationIssuesUI : null}
{allCompilerIssues.length > 0 ? logEntriesUI : null}
@@ -121,6 +123,49 @@ function PreviewLogsPane({
)
}
+function LogsPaneBetaNotice() {
+ const { t } = useTranslation()
+ const [dismissedBetaNotice, setDismissedBetaNotice] = usePersistedState(
+ `logs_pane.dismissed_beta_notice`,
+ false
+ )
+
+ function handleDismissButtonClick() {
+ setDismissedBetaNotice(true)
+ }
+
+ return dismissedBetaNotice ? null : (
+
+ )
+}
+
PreviewLogsPane.propTypes = {
logEntries: PropTypes.shape({
all: PropTypes.array,
diff --git a/services/web/frontend/stories/preview-logs-pane-entry.stories.js b/services/web/frontend/stories/preview-logs-pane-entry.stories.js
index 8dd3bf5b66..b42259d054 100644
--- a/services/web/frontend/stories/preview-logs-pane-entry.stories.js
+++ b/services/web/frontend/stories/preview-logs-pane-entry.stories.js
@@ -1,77 +1,85 @@
import React from 'react'
import PreviewLogsPaneEntry from '../js/features/preview/components/preview-logs-pane-entry.js'
+import Icon from '../js/shared/components/icon.js'
-export const ErrorWithCompilerOutput = args => (
+export const EntryWithCompilerOutput = args => (
)
-ErrorWithCompilerOutput.args = {
+EntryWithCompilerOutput.args = {
+ title: 'PreviewLogsPaneEntry/bar/baz',
level: 'error'
}
-export const ErrorWithCompilerOutputAndHumanReadableHint = args => (
+export const EntryWithCompilerOutputAndHumanReadableHint = args => (
)
-ErrorWithCompilerOutputAndHumanReadableHint.args = {
+EntryWithCompilerOutputAndHumanReadableHint.args = {
level: 'error',
formattedContent:
,
extraInfoURL:
'https://www.overleaf.com/learn/latex/Errors/Extra_alignment_tab_has_been_changed_to_%5Ccr'
}
-export const ErrorWithoutCompilerOutput = args => (
+export const EntryWithoutCompilerOutput = args => (
)
-ErrorWithoutCompilerOutput.args = {
+EntryWithoutCompilerOutput.args = {
level: 'error',
rawContent: null
}
-export const WarningWithCompilerOutput = args => (
+export const EntryWithoutSourceLocationLink = args => (
)
-WarningWithCompilerOutput.args = {
+EntryWithoutSourceLocationLink.args = {
+ level: 'error',
+ showSourceLocationLink: false
+}
+
+export const EntryWithLevelError = args =>
+EntryWithLevelError.args = {
+ level: 'error'
+}
+
+export const EntryWithLevelWarning = args =>
+EntryWithLevelWarning.args = {
level: 'warning'
}
-export const WarningWithCompilerOutputAndHumanReadableHint = args => (
+export const EntryWithLevelTypesetting = args => (
)
-WarningWithCompilerOutputAndHumanReadableHint.args = {
- level: 'warning',
- formattedContent:
,
- extraInfoURL:
- 'https://www.overleaf.com/learn/latex/Errors/Extra_alignment_tab_has_been_changed_to_%5Ccr'
-}
-
-export const WarningWithoutCompilerOutput = args => (
-
-)
-WarningWithoutCompilerOutput.args = {
- level: 'warning',
- rawContent: null
-}
-
-export const InfoWithCompilerOutput = args =>
-InfoWithCompilerOutput.args = {
+EntryWithLevelTypesetting.args = {
level: 'typesetting'
}
-export const InfoWithCompilerOutputAndHumanReadableHint = args => (
-
-)
-InfoWithCompilerOutputAndHumanReadableHint.args = {
- level: 'typesetting',
- formattedContent:
,
- extraInfoURL:
- 'https://www.overleaf.com/learn/latex/Errors/Extra_alignment_tab_has_been_changed_to_%5Ccr'
+export const EntryWithLevelRaw = args =>
+EntryWithLevelRaw.args = {
+ level: 'raw'
}
-export const InfoWithoutCompilerOutput = args => (
-
-)
-InfoWithoutCompilerOutput.args = {
+export const EntryWithLevelSuccess = args =>
+EntryWithLevelSuccess.args = {
+ level: 'success'
+}
+
+export const EntryWithButtonToClose = args =>
+EntryWithButtonToClose.args = {
+ level: 'error',
+ showCloseButton: true,
+ onClose: () => window.alert('You clicked "×"')
+}
+
+export const EntryWithIcon = args =>
+EntryWithIcon.args = {
+ level: 'error',
+ headerIcon:
+}
+
+export const EntryWithBetaIcon = args =>
+EntryWithBetaIcon.args = {
level: 'typesetting',
- rawContent: null
+ headerIcon:
}
function SampleHumanReadableHintComponent() {
@@ -100,7 +108,7 @@ export default {
line: 10,
column: 20
},
- headerTitle: 'Lorem ipsum',
+ headerTitle: 'Entry title',
rawContent: `
The LaTeX compiler output
* With a lot of details
diff --git a/services/web/frontend/stylesheets/app/beta-program.less b/services/web/frontend/stylesheets/app/beta-program.less
index 209eac301d..f37d4ecafc 100644
--- a/services/web/frontend/stylesheets/app/beta-program.less
+++ b/services/web/frontend/stylesheets/app/beta-program.less
@@ -3,15 +3,3 @@
margin-top: 15px;
}
}
-
-.beta-feature-badge {
- &:extend(.label);
- &:extend(.label-warning);
- vertical-align: 11%;
- padding-bottom: 4px;
- padding-top: 2px;
- margin-left: 12px;
- &:before {
- content: 'β';
- }
-}
diff --git a/services/web/frontend/stylesheets/app/editor/logs.less b/services/web/frontend/stylesheets/app/editor/logs.less
index eba5eb04fb..8573b5f117 100644
--- a/services/web/frontend/stylesheets/app/editor/logs.less
+++ b/services/web/frontend/stylesheets/app/editor/logs.less
@@ -95,6 +95,10 @@
color: #fff;
}
+.log-entry-header-icon-container {
+ margin-right: @margin-sm;
+}
+
.log-entry-header-link {
display: flex;
align-items: center;
@@ -104,8 +108,10 @@
text-align: right;
margin-left: @margin-sm;
max-width: 33%;
+ padding: 0 @padding-xs;
&:hover,
&:focus {
+ text-decoration: none;
outline: 0;
color: #fff;
}
diff --git a/services/web/frontend/stylesheets/components/beta-badges.less b/services/web/frontend/stylesheets/components/beta-badges.less
index 98dff48ec8..71c18233f2 100644
--- a/services/web/frontend/stylesheets/components/beta-badges.less
+++ b/services/web/frontend/stylesheets/components/beta-badges.less
@@ -1,11 +1,10 @@
.info-badge,
.beta-badge {
- display: block;
+ display: inline-block;
width: @line-height-computed * 0.75;
height: @line-height-computed * 0.75;
line-height: @line-height-computed * 0.75;
text-align: center;
- cursor: pointer;
color: #fff;
&:hover,
diff --git a/services/web/locales/en.json b/services/web/locales/en.json
index a003014965..abb98c5043 100644
--- a/services/web/locales/en.json
+++ b/services/web/locales/en.json
@@ -1,5 +1,7 @@
{
"reload_editor": "Reload editor",
+ "logs_pane_beta_message": "We are beta testing a new logs pane",
+ "logs_pane_beta_message_popup": "We are beta testing a new logs pane. Click here to give feedback and manage your beta program membership.",
"compile_error_description": "This project did not compile because of an error",
"validation_issue_description": "This project did not compile because of a validation issue",
"compile_error_entry_description": "An error which prevented this project from compiling",
@@ -1337,4 +1339,4 @@
"add_affiliation": "Add Affiliation",
"did_you_know_institution_providing_professional": "Did you know that __institutionName__ is providing <0>free __appName__ Professional features0> to everyone at __institutionName__?",
"add_email_to_claim_features": "Add an institutional email address to claim your features."
-}
+}
\ No newline at end of file