From 5d7b3eed7c8bbf024d7764919002f65afb93ccf1 Mon Sep 17 00:00:00 2001 From: Liam Frye-Mason Date: Mon, 13 May 2024 09:11:03 -0700 Subject: [PATCH] Add all remaining templates folders to import/order (#58462) * Add all remaining templates folders to import/order * Fixes * fixes * Fix * Revert "fixes" This reverts commit 04e47f24bc45848623ada026fb5f32c2a47ed297. * Fixes * Fix rubric * Comments * comments * Comments --- apps/.eslintrc.js | 8 ---- apps/src/templates/AccessibleDialog.jsx | 6 ++- apps/src/templates/AgeDialog.jsx | 15 ++++--- apps/src/templates/AgeDialog.story.jsx | 1 + apps/src/templates/AppView.jsx | 13 +++--- apps/src/templates/ArrowButtons.jsx | 2 +- apps/src/templates/AssignButton.jsx | 12 +++--- apps/src/templates/AssignButton.story.jsx | 6 ++- apps/src/templates/Assigned.jsx | 3 +- apps/src/templates/BackToFrontConfetti.jsx | 4 +- apps/src/templates/BaseDialog.jsx | 7 ++- apps/src/templates/BaseDialog.story.jsx | 4 +- apps/src/templates/BelowVisualization.jsx | 1 + apps/src/templates/Button.jsx | 6 ++- apps/src/templates/Button.story.jsx | 3 +- apps/src/templates/ChallengeDialog.jsx | 13 +++--- apps/src/templates/ChallengeDialog.story.jsx | 10 +++-- apps/src/templates/CheckboxDropdown.jsx | 10 ++--- apps/src/templates/CloseOnEscape.jsx | 2 +- apps/src/templates/CodeWorkspace.jsx | 27 ++++++------ apps/src/templates/CodeWorkspaceContainer.jsx | 7 +-- apps/src/templates/CollapserIcon.jsx | 5 ++- apps/src/templates/CollapserIcon.story.jsx | 1 + apps/src/templates/CollapsibleSection.tsx | 8 ++-- apps/src/templates/CompletionButton.jsx | 4 +- apps/src/templates/ContainedLevel.jsx | 1 + apps/src/templates/ContainedLevelAnswer.jsx | 1 + apps/src/templates/ContentContainer.jsx | 9 ++-- apps/src/templates/ContentContainer.story.jsx | 6 ++- apps/src/templates/CopyrightInfo.jsx | 1 + .../templates/CountryAutocompleteDropdown.jsx | 8 +++- apps/src/templates/CrosshairOverlay.jsx | 1 + apps/src/templates/Dialog.jsx | 13 +++--- apps/src/templates/Dialog.story.jsx | 6 ++- apps/src/templates/DialogButtons.jsx | 6 ++- apps/src/templates/DialogButtons.story.jsx | 1 + apps/src/templates/DonorTeacherBanner.jsx | 11 +++-- apps/src/templates/DropdownButton.js | 8 ++-- apps/src/templates/DropdownButton.story.jsx | 4 +- apps/src/templates/EndOfLessonDialog.jsx | 5 ++- apps/src/templates/EnhancedSafeMarkdown.jsx | 3 +- .../FallbackPlayerCaptionDialogLink.jsx | 8 ++-- .../FallbackPlayerCaptionDialogLink.story.jsx | 1 + apps/src/templates/FixZoomHelper.jsx | 4 +- apps/src/templates/FontAwesome.jsx | 2 +- apps/src/templates/GDPRDialog.jsx | 6 ++- apps/src/templates/GDPRDialog.story.jsx | 1 + apps/src/templates/GameButtons.jsx | 13 +++--- apps/src/templates/GameButtons.story.jsx | 1 + apps/src/templates/HeaderBanner.jsx | 2 + apps/src/templates/HeaderBannerNoImage.jsx | 4 +- apps/src/templates/HideToolbarHelper.jsx | 8 ++-- apps/src/templates/HintDisplayLightbulb.jsx | 4 +- .../templates/HourOfCodeGuideEmailDialog.jsx | 16 ++++--- apps/src/templates/IFrameEmbedOverlay.jsx | 8 ++-- apps/src/templates/InlineDropdownMenu.jsx | 7 +-- apps/src/templates/InlineMarkdown.jsx | 1 - apps/src/templates/InputPrompt.story.jsx | 1 + apps/src/templates/LegacyButton.jsx | 2 +- apps/src/templates/Lightbulb.jsx | 1 + apps/src/templates/Lightbulb.story.jsx | 1 + apps/src/templates/LoadableComponent.jsx | 5 ++- apps/src/templates/LocalControlList.jsx | 1 + apps/src/templates/MakerLanding.jsx | 10 +++-- .../templates/MapboxLocationSearchField.jsx | 3 +- apps/src/templates/Meter.jsx | 3 +- apps/src/templates/Meter.story.jsx | 1 + apps/src/templates/MultiCheckboxSelector.jsx | 7 +-- .../templates/MultiCheckboxSelector.story.jsx | 3 +- apps/src/templates/MultipleAssignButton.jsx | 12 +++--- .../templates/MultipleSectionsAssigner.jsx | 19 ++++---- apps/src/templates/NavigationBar.jsx | 7 +-- apps/src/templates/Notification.jsx | 15 ++++--- apps/src/templates/Notification.story.jsx | 4 +- apps/src/templates/Odometer.js | 2 +- apps/src/templates/Overlay.jsx | 5 +-- apps/src/templates/PaginationWrapper.jsx | 5 ++- .../src/templates/PaginationWrapper.story.jsx | 1 + apps/src/templates/PaneHeader.jsx | 8 ++-- apps/src/templates/PaneHeader.story.jsx | 1 + apps/src/templates/PauseButton.jsx | 5 ++- apps/src/templates/PendingButton.jsx | 3 +- apps/src/templates/PendingButton.story.jsx | 4 +- .../ProfessionalLearningSkinnyBanner.jsx | 2 + .../ProjectTemplateWorkspaceIcon.jsx | 7 +-- apps/src/templates/ProtectedStatefulDiv.jsx | 2 +- .../templates/ProtectedVisualizationDiv.jsx | 3 +- apps/src/templates/PuzzleRatingButtons.jsx | 6 ++- apps/src/templates/ReCaptchaDialog.jsx | 7 ++- apps/src/templates/ReCaptchaDialog.story.jsx | 1 + apps/src/templates/RegionalPartnerSearch.jsx | 17 +++++--- apps/src/templates/ResetButton.story.jsx | 1 + apps/src/templates/ResizablePanes.jsx | 4 +- apps/src/templates/RotateContainer.jsx | 3 +- apps/src/templates/SafeMarkdown.jsx | 13 +++--- .../templates/SchoolAutocompleteDropdown.jsx | 9 ++-- apps/src/templates/SchoolDataInputs.jsx | 16 ++++--- apps/src/templates/SchoolInfoInputs.jsx | 7 +-- apps/src/templates/SchoolInfoInputs.story.js | 1 + apps/src/templates/SchoolNameInput.jsx | 6 ++- apps/src/templates/SchoolNotFound.jsx | 5 ++- apps/src/templates/SchoolTypeDropdown.jsx | 4 +- .../src/templates/SchoolTypeDropdown.story.js | 1 + apps/src/templates/SchoolZipSearch.jsx | 18 ++++---- apps/src/templates/SearchBar.jsx | 1 + apps/src/templates/SearchBar.story.jsx | 1 + apps/src/templates/ShareWarnings.jsx | 5 ++- apps/src/templates/ShareWarningsDialog.jsx | 2 + .../templates/ShareWarningsDialog.story.jsx | 3 +- apps/src/templates/ShowCodeToggle.js | 11 +++-- apps/src/templates/SignInOrAgeDialog.js | 15 ++++--- .../src/templates/SignInOrAgeDialog.story.jsx | 1 + apps/src/templates/SkipButton.jsx | 1 + apps/src/templates/SmallChevronLink.jsx | 3 +- apps/src/templates/SmallChevronLink.story.jsx | 1 + apps/src/templates/SortByNameDropdown.jsx | 9 ++-- apps/src/templates/SpeedSlider.jsx | 5 ++- apps/src/templates/SpeedSlider.story.jsx | 1 + apps/src/templates/StudioAppIdleTimer.jsx | 3 +- apps/src/templates/StudioAppWrapper.jsx | 3 +- apps/src/templates/SwipePrompt.jsx | 5 ++- .../templates/TeacherNavigationBar.story.jsx | 1 + apps/src/templates/TimeAgo.jsx | 2 +- apps/src/templates/ToggleButton.jsx | 3 +- apps/src/templates/ToggleGroup.jsx | 2 +- apps/src/templates/Tooltip.jsx | 4 +- apps/src/templates/UnassignSectionButton.jsx | 10 +++-- .../templates/UnassignSectionButton.story.jsx | 6 ++- apps/src/templates/UnassignSectionDialog.jsx | 3 +- apps/src/templates/UnitSelectorV2.jsx | 8 ++-- apps/src/templates/VersionHistory.jsx | 10 ++++- .../VersionHistoryWithCommitsDialog.jsx | 10 +++-- apps/src/templates/VersionRow.jsx | 7 +-- .../templates/VerticalImageResourceCard.jsx | 7 ++- .../VerticalImageResourceCard.story.jsx | 4 +- .../VerticalImageResourceCardRow.jsx | 3 +- apps/src/templates/VideoThumbnail.jsx | 4 +- apps/src/templates/VideoThumbnail.story.jsx | 1 + apps/src/templates/VisualizationOverlay.jsx | 3 +- apps/src/templates/WidgetContinueButton.jsx | 2 + apps/src/templates/alert.jsx | 1 + apps/src/templates/currentUserRedux.js | 5 ++- .../ChildAccountConsent/index.jsx | 7 +-- .../ChildAccountConsent/index.story.jsx | 1 + .../LockoutLinkedAccounts.jsx | 14 +++--- .../LockoutLinkedAccounts.story.jsx | 1 + .../ParentalPermissionModal/index.story.tsx | 6 ++- .../ParentalPermissionModal/index.tsx | 25 ++++++----- apps/src/templates/progress/BubbleBadge.jsx | 7 ++- apps/src/templates/progress/BubbleFactory.jsx | 12 +++--- .../progress/DetailProgressTable.jsx | 1 + .../progress/DetailProgressTable.story.jsx | 6 ++- .../templates/progress/FocusAreaIndicator.jsx | 3 +- .../GoogleClassroomAttributionLabel.jsx | 4 +- .../progress/GoogleClassroomShareButton.jsx | 8 ++-- .../progress/HiddenForSectionToggle.jsx | 6 ++- .../progress/LessonExtrasFlagIcon.jsx | 3 +- .../progress/LessonExtrasProgressBubble.jsx | 9 ++-- apps/src/templates/progress/LessonGroup.jsx | 18 ++++---- .../templates/progress/LessonGroup.story.jsx | 8 ++-- .../templates/progress/LessonGroupInfo.jsx | 5 ++- .../progress/LessonGroupInfoDialog.jsx | 7 +-- apps/src/templates/progress/LessonLock.jsx | 8 ++-- .../src/templates/progress/ProgressBubble.jsx | 14 +++--- .../templates/progress/ProgressBubbleSet.jsx | 10 +++-- .../progress/ProgressBubbleSet.story.jsx | 4 +- .../progress/ProgressDetailToggle.jsx | 21 ++++----- .../progress/ProgressDetailToggle.story.jsx | 8 ++-- .../src/templates/progress/ProgressLegend.jsx | 12 ++++-- .../progress/ProgressLegend.story.jsx | 1 + .../src/templates/progress/ProgressLesson.jsx | 21 +++++---- .../progress/ProgressLesson.story.jsx | 16 ++++--- .../progress/ProgressLessonContent.jsx | 10 +++-- .../progress/ProgressLessonContent.story.jsx | 8 ++-- .../progress/ProgressLessonTeacherInfo.jsx | 15 ++++--- .../ProgressLessonTeacherInfo.story.jsx | 14 +++--- .../templates/progress/ProgressLevelSet.jsx | 14 +++--- .../progress/ProgressLevelSet.story.jsx | 8 ++-- apps/src/templates/progress/ProgressPill.jsx | 19 ++++---- .../templates/progress/ProgressPill.story.jsx | 4 +- apps/src/templates/progress/ProgressTable.jsx | 4 +- apps/src/templates/progress/SendLesson.jsx | 6 ++- .../templates/progress/SendLessonDialog.jsx | 8 ++-- .../templates/progress/SummaryProgressRow.jsx | 18 ++++---- .../progress/SummaryProgressTable.jsx | 6 ++- .../progress/SummaryProgressTable.story.jsx | 8 ++-- apps/src/templates/progress/TeacherInfoBox.js | 1 + .../templates/progress/TooltipWithIcon.jsx | 2 + .../src/templates/progress/progressHelpers.js | 14 +++--- apps/src/templates/progress/progressStyles.js | 2 +- .../templates/progress/progressTestHelpers.js | 7 +-- apps/src/templates/progress/progressTypes.js | 1 + .../templates/projects/FeaturedProjects.jsx | 1 + .../projects/FeaturedProjectsTable.jsx | 25 ++++++----- .../projects/FeaturedProjectsTable.story.jsx | 1 + apps/src/templates/projects/LibraryTable.jsx | 21 +++++---- .../templates/projects/LibraryTable.story.jsx | 8 ++-- .../templates/projects/NewProjectButtons.jsx | 10 +++-- .../projects/NewProjectButtons.story.jsx | 2 + .../projects/PersonalProjectsNameCell.jsx | 8 +++- .../projects/PersonalProjectsTable.jsx | 25 ++++++----- .../projects/PersonalProjectsTable.story.jsx | 10 +++-- .../PersonalProjectsTableActionsCell.jsx | 14 +++--- .../projects/PersonalRecentProjects.jsx | 13 +++--- .../templates/projects/ProjectAppTypeArea.jsx | 15 ++++--- apps/src/templates/projects/ProjectCard.jsx | 12 +++--- .../templates/projects/ProjectCard.story.jsx | 1 + .../templates/projects/ProjectCardGrid.jsx | 13 +++--- .../projects/ProjectCardGrid.story.jsx | 10 +++-- .../src/templates/projects/ProjectCardRow.jsx | 1 + apps/src/templates/projects/ProjectHeader.jsx | 8 ++-- apps/src/templates/projects/ProjectWidget.jsx | 11 +++-- .../projects/ProjectWidget.story.jsx | 8 ++-- .../projects/ProjectWidgetWithData.jsx | 3 +- .../templates/projects/ProjectsGallery.jsx | 19 ++++---- apps/src/templates/projects/ProjectsList.jsx | 11 ++--- .../templates/projects/ProjectsList.story.jsx | 1 + apps/src/templates/projects/ProjectsPromo.jsx | 3 +- apps/src/templates/projects/PublicGallery.jsx | 7 ++- .../templates/projects/ReportAbusePopUp.jsx | 15 ++++--- .../projects/SectionProjectsList.jsx | 5 ++- .../projects/SectionProjectsListWithData.jsx | 2 + .../templates/projects/StartNewProject.jsx | 7 ++- .../projects/StudentFilterDropdown.jsx | 8 ++-- .../deleteDialog/DeleteProjectDialog.jsx | 7 ++- .../DeleteProjectDialog.story.jsx | 8 ++-- .../FrozenProjectInfoDialog.tsx | 16 ++++--- .../projects/generateFakeProjects.js | 1 + apps/src/templates/projects/projectsRedux.js | 9 +++- .../projects/publishDialog/PublishDialog.jsx | 12 +++--- .../publishDialog/PublishDialog.story.jsx | 3 +- .../publishDialog/publishDialogRedux.js | 3 +- .../referenceGuides/ReferenceGuide.jsx | 5 ++- .../referenceGuides/ReferenceGuideView.jsx | 5 ++- apps/src/templates/rubrics/AiAssessment.jsx | 11 +++-- .../src/templates/rubrics/AiAssessmentBox.jsx | 17 +++++--- .../rubrics/AiAssessmentFeedback.jsx | 15 ++++--- .../rubrics/AiAssessmentFeedbackRadio.jsx | 13 +++--- .../src/templates/rubrics/AiConfidenceBox.jsx | 8 ++-- apps/src/templates/rubrics/EvidenceLevels.jsx | 7 +-- .../rubrics/EvidenceLevelsForStudents.jsx | 13 +++--- .../rubrics/EvidenceLevelsForTeachers.jsx | 13 +++--- .../rubrics/EvidenceLevelsForTeachersV2.jsx | 15 ++++--- apps/src/templates/rubrics/LearningGoal.jsx | 33 +++++++------- .../templates/rubrics/LearningGoal.story.jsx | 2 + apps/src/templates/rubrics/LearningGoals.jsx | 43 ++++++++++--------- apps/src/templates/rubrics/ProgressRing.jsx | 11 +++-- .../src/templates/rubrics/RubricContainer.jsx | 34 +++++++++------ .../rubrics/RubricContainer.story.jsx | 9 ++-- apps/src/templates/rubrics/RubricContent.jsx | 15 ++++--- .../rubrics/RubricFloatingActionButton.jsx | 19 ++++---- apps/src/templates/rubrics/RubricSettings.jsx | 27 ++++++------ .../templates/rubrics/RubricSubmitFooter.jsx | 23 +++++----- .../templates/rubrics/RubricTabButtons.jsx | 13 +++--- .../rubrics/RunAIAssessmentButton.jsx | 12 +++--- .../src/templates/rubrics/SectionSelector.jsx | 10 +++-- .../templates/rubrics/StudentRubricView.jsx | 10 +++-- .../src/templates/rubrics/StudentSelector.jsx | 21 +++++---- .../templates/rubrics/productTourHelpers.js | 2 +- apps/src/templates/sessions/LockoutPanel.jsx | 14 +++--- .../templates/sessions/LockoutPanel.story.jsx | 1 + .../verificationPages/WebLabNetworkCheck.jsx | 2 +- 262 files changed, 1216 insertions(+), 775 deletions(-) diff --git a/apps/.eslintrc.js b/apps/.eslintrc.js index b34fd49d39168..fad84e4cfcf4a 100644 --- a/apps/.eslintrc.js +++ b/apps/.eslintrc.js @@ -219,14 +219,6 @@ module.exports = { 'src/storage/**', // This one had some problems, see https://github.com/code-dot-org/code-dot-org/pull/58284 'src/templates/curriculumCatalog/**', - 'src/templates/policy_compliance/**', - 'src/templates/progress/**', - 'src/templates/projects/**', - 'src/templates/referenceGuides/**', - 'src/templates/rubrics/**', - 'src/templates/sessions/**', - 'src/templates/verificationPages/**', - 'src/templates/*', 'src/third-party/*', 'src/types/*', 'src/userHeaderEventLogger/*', diff --git a/apps/src/templates/AccessibleDialog.jsx b/apps/src/templates/AccessibleDialog.jsx index bfc72cd4bd214..7dac88496ee4c 100644 --- a/apps/src/templates/AccessibleDialog.jsx +++ b/apps/src/templates/AccessibleDialog.jsx @@ -1,9 +1,11 @@ +import classnames from 'classnames'; +import FocusTrap from 'focus-trap-react'; import PropTypes from 'prop-types'; import React from 'react'; -import FocusTrap from 'focus-trap-react'; + import CloseOnEscape from '@cdo/apps/templates/CloseOnEscape'; + import defaultStyle from './accessible-dialogue.module.scss'; -import classnames from 'classnames'; function AccessibleDialog({ styles, diff --git a/apps/src/templates/AgeDialog.jsx b/apps/src/templates/AgeDialog.jsx index 5fd94e548fdae..a0a0e96b95a63 100644 --- a/apps/src/templates/AgeDialog.jsx +++ b/apps/src/templates/AgeDialog.jsx @@ -1,16 +1,17 @@ +import PropTypes from 'prop-types'; +import queryString from 'query-string'; import React, {Component} from 'react'; import {connect} from 'react-redux'; + +import fontConstants from '@cdo/apps/fontConstants'; +import {EVENTS} from '@cdo/apps/lib/util/AnalyticsConstants'; +import analyticsReporter from '@cdo/apps/lib/util/AnalyticsReporter'; +import AgeDropdown from '@cdo/apps/templates/AgeDropdown'; import BaseDialog from '@cdo/apps/templates/BaseDialog'; -import color from '@cdo/apps/util/color'; import Button from '@cdo/apps/templates/Button'; -import AgeDropdown from '@cdo/apps/templates/AgeDropdown'; import {SignInState, setOver21} from '@cdo/apps/templates/currentUserRedux'; -import analyticsReporter from '@cdo/apps/lib/util/AnalyticsReporter'; -import {EVENTS} from '@cdo/apps/lib/util/AnalyticsConstants'; +import color from '@cdo/apps/util/color'; import i18n from '@cdo/locale'; -import PropTypes from 'prop-types'; -import queryString from 'query-string'; -import fontConstants from '@cdo/apps/fontConstants'; /* * SignInOrAgeDialog uses 'anon_over13' as its session storage key. diff --git a/apps/src/templates/AgeDialog.story.jsx b/apps/src/templates/AgeDialog.story.jsx index a6e51075315e2..f64ae810e5ee1 100644 --- a/apps/src/templates/AgeDialog.story.jsx +++ b/apps/src/templates/AgeDialog.story.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import {UnconnectedAgeDialog as AgeDialog} from './AgeDialog'; export default { diff --git a/apps/src/templates/AppView.jsx b/apps/src/templates/AppView.jsx index d1c2c7cebafa1..c4fde45314838 100644 --- a/apps/src/templates/AppView.jsx +++ b/apps/src/templates/AppView.jsx @@ -1,14 +1,17 @@ +import classNames from 'classnames'; import PropTypes from 'prop-types'; import React from 'react'; -import classNames from 'classnames'; import {connect} from 'react-redux'; + +import ModalFunctionEditor from '@cdo/apps/blockly/components/ModalFunctionEditor'; + +import VisualizationResizeBar from '../lib/ui/VisualizationResizeBar'; import {isResponsiveFromState} from '../templates/ProtectedVisualizationDiv'; -import StudioAppWrapper from './StudioAppWrapper'; -import InstructionsWithWorkspace from './instructions/InstructionsWithWorkspace'; + import CodeWorkspace from './CodeWorkspace'; +import InstructionsWithWorkspace from './instructions/InstructionsWithWorkspace'; import Overlay from './Overlay'; -import VisualizationResizeBar from '../lib/ui/VisualizationResizeBar'; -import ModalFunctionEditor from '@cdo/apps/blockly/components/ModalFunctionEditor'; +import StudioAppWrapper from './StudioAppWrapper'; /** * Top-level React wrapper for our standard blockly apps. diff --git a/apps/src/templates/ArrowButtons.jsx b/apps/src/templates/ArrowButtons.jsx index 98fd05a77628e..486278dba859c 100644 --- a/apps/src/templates/ArrowButtons.jsx +++ b/apps/src/templates/ArrowButtons.jsx @@ -1,5 +1,5 @@ -import React from 'react'; import PropTypes from 'prop-types'; +import React from 'react'; import {connect} from 'react-redux'; /** diff --git a/apps/src/templates/AssignButton.jsx b/apps/src/templates/AssignButton.jsx index 43af9f134badb..1f23cc1b2cfa2 100644 --- a/apps/src/templates/AssignButton.jsx +++ b/apps/src/templates/AssignButton.jsx @@ -1,14 +1,16 @@ -import React from 'react'; import PropTypes from 'prop-types'; +import React from 'react'; import {connect} from 'react-redux'; -import Button from './Button'; -import i18n from '@cdo/locale'; -import {assignToSection} from '@cdo/apps/templates/teacherDashboard/teacherSectionsRedux'; -import ConfirmHiddenAssignment from '@cdo/apps/templates/courseOverview/ConfirmHiddenAssignment'; + import { isScriptHiddenForSection, updateHiddenScript, } from '@cdo/apps/code-studio/hiddenLessonRedux'; +import ConfirmHiddenAssignment from '@cdo/apps/templates/courseOverview/ConfirmHiddenAssignment'; +import {assignToSection} from '@cdo/apps/templates/teacherDashboard/teacherSectionsRedux'; +import i18n from '@cdo/locale'; + +import Button from './Button'; class AssignButton extends React.Component { static propTypes = { diff --git a/apps/src/templates/AssignButton.story.jsx b/apps/src/templates/AssignButton.story.jsx index b6bb6479727c5..30a22df3f9acc 100644 --- a/apps/src/templates/AssignButton.story.jsx +++ b/apps/src/templates/AssignButton.story.jsx @@ -1,8 +1,10 @@ -import React from 'react'; import {action} from '@storybook/addon-actions'; -import {UnconnectedAssignButton as AssignButton} from './AssignButton'; +import React from 'react'; + import {fakeTeacherSectionsForDropdown} from '@cdo/apps/templates/teacherDashboard/sectionAssignmentTestHelper'; +import {UnconnectedAssignButton as AssignButton} from './AssignButton'; + export default { component: AssignButton, }; diff --git a/apps/src/templates/Assigned.jsx b/apps/src/templates/Assigned.jsx index 270c68c0a6405..958194aaa1e02 100644 --- a/apps/src/templates/Assigned.jsx +++ b/apps/src/templates/Assigned.jsx @@ -1,8 +1,9 @@ import React, {Component} from 'react'; + +import fontConstants from '@cdo/apps/fontConstants'; import FontAwesome from '@cdo/apps/templates/FontAwesome'; import color from '@cdo/apps/util/color'; import i18n from '@cdo/locale'; -import fontConstants from '@cdo/apps/fontConstants'; export default class Assigned extends Component { render() { diff --git a/apps/src/templates/BackToFrontConfetti.jsx b/apps/src/templates/BackToFrontConfetti.jsx index 2d2ff33f9a744..13f4f18d0ea12 100644 --- a/apps/src/templates/BackToFrontConfetti.jsx +++ b/apps/src/templates/BackToFrontConfetti.jsx @@ -7,9 +7,9 @@ * Confetti component directly. */ -import Confetti from 'react-dom-confetti'; -import React from 'react'; import PropTypes from 'prop-types'; +import React from 'react'; +import Confetti from 'react-dom-confetti'; const defaultStyle = { position: 'relative', diff --git a/apps/src/templates/BaseDialog.jsx b/apps/src/templates/BaseDialog.jsx index df52a8b31db76..598686f408974 100644 --- a/apps/src/templates/BaseDialog.jsx +++ b/apps/src/templates/BaseDialog.jsx @@ -1,9 +1,12 @@ import PropTypes from 'prop-types'; import React from 'react'; + +import i18n from '@cdo/locale'; + import {BASE_DIALOG_WIDTH} from '../constants'; -import Button from './Button'; import color from '../util/color'; -import i18n from '@cdo/locale'; + +import Button from './Button'; /** * BaseDialog diff --git a/apps/src/templates/BaseDialog.story.jsx b/apps/src/templates/BaseDialog.story.jsx index 9a91fc53fd92c..672c38fcfa923 100644 --- a/apps/src/templates/BaseDialog.story.jsx +++ b/apps/src/templates/BaseDialog.story.jsx @@ -1,7 +1,9 @@ import React from 'react'; -import BaseDialog from './BaseDialog'; + import ExampleDialogButton from '../util/ExampleDialogButton'; +import BaseDialog from './BaseDialog'; + const EXAMPLE_DIALOG_BODY = (
The contents of the dialog go inside this box! woo diff --git a/apps/src/templates/BelowVisualization.jsx b/apps/src/templates/BelowVisualization.jsx index 251964ccc74a8..8dcb482821c1c 100644 --- a/apps/src/templates/BelowVisualization.jsx +++ b/apps/src/templates/BelowVisualization.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import ProtectedStatefulDiv from './ProtectedStatefulDiv'; /** diff --git a/apps/src/templates/Button.jsx b/apps/src/templates/Button.jsx index 5e9052760136c..d5dbab47fbe0c 100644 --- a/apps/src/templates/Button.jsx +++ b/apps/src/templates/Button.jsx @@ -3,11 +3,13 @@ * This particular button is designed to operate in contexts where we have a solid * background. When we're a button on top of an image, we may want something different. */ +import classNames from 'classnames'; import _ from 'lodash'; -import React from 'react'; import PropTypes from 'prop-types'; +import React from 'react'; + import FontAwesome from '@cdo/apps/templates/FontAwesome'; -import classNames from 'classnames'; + import moduleStyles from './button.module.scss'; // Note: Keep these constants in sync with button.module.scss. diff --git a/apps/src/templates/Button.story.jsx b/apps/src/templates/Button.story.jsx index 3c7d1b150b96f..b4f36196a4644 100644 --- a/apps/src/templates/Button.story.jsx +++ b/apps/src/templates/Button.story.jsx @@ -1,6 +1,7 @@ +import {action} from '@storybook/addon-actions'; import React from 'react'; + import Button from './Button'; -import {action} from '@storybook/addon-actions'; export default { component: Button, diff --git a/apps/src/templates/ChallengeDialog.jsx b/apps/src/templates/ChallengeDialog.jsx index fe1d3f0c0b380..7f213527a1cb7 100644 --- a/apps/src/templates/ChallengeDialog.jsx +++ b/apps/src/templates/ChallengeDialog.jsx @@ -1,15 +1,18 @@ -import BackToFrontConfetti from './BackToFrontConfetti'; -import BaseDialog from './BaseDialog'; -import LegacyButton from './LegacyButton'; -import PuzzleRatingButtons from './PuzzleRatingButtons'; import PropTypes from 'prop-types'; import Radium from 'radium'; // eslint-disable-line no-restricted-imports import React from 'react'; + import assetUrl from '@cdo/apps/code-studio/assetUrl'; -import color from '../util/color'; import {getStore} from '@cdo/apps/redux'; import i18n from '@cdo/locale'; +import color from '../util/color'; + +import BackToFrontConfetti from './BackToFrontConfetti'; +import BaseDialog from './BaseDialog'; +import LegacyButton from './LegacyButton'; +import PuzzleRatingButtons from './PuzzleRatingButtons'; + class ChallengeDialog extends React.Component { static propTypes = { avatar: PropTypes.string, diff --git a/apps/src/templates/ChallengeDialog.story.jsx b/apps/src/templates/ChallengeDialog.story.jsx index e99879210ab9c..3c9d7d129e0d6 100644 --- a/apps/src/templates/ChallengeDialog.story.jsx +++ b/apps/src/templates/ChallengeDialog.story.jsx @@ -1,13 +1,15 @@ -import ChallengeDialog from './ChallengeDialog'; -import CodeWritten from './feedback/CodeWritten'; -import GeneratedCode from './feedback/GeneratedCode'; import React from 'react'; + +import BirdsWinAvatar from '@cdo/static/skins/birds/win_avatar.png'; import HarvesterStaticAvatar from '@cdo/static/skins/harvester/static_avatar.png'; import HarvesterWinAvatar from '@cdo/static/skins/harvester/win_avatar.png'; -import BirdsWinAvatar from '@cdo/static/skins/birds/win_avatar.png'; import StudioWinAvatar from '@cdo/static/skins/studio/win_avatar.png'; import SpriteLabAvatar from '@cdo/static/spritelab/avatar.png'; +import ChallengeDialog from './ChallengeDialog'; +import CodeWritten from './feedback/CodeWritten'; +import GeneratedCode from './feedback/GeneratedCode'; + export default { component: ChallengeDialog, }; diff --git a/apps/src/templates/CheckboxDropdown.jsx b/apps/src/templates/CheckboxDropdown.jsx index f8d902d624f79..9c0783a6192d9 100644 --- a/apps/src/templates/CheckboxDropdown.jsx +++ b/apps/src/templates/CheckboxDropdown.jsx @@ -1,15 +1,15 @@ -import React, {useCallback} from 'react'; -import PropTypes from 'prop-types'; import classnames from 'classnames'; +import PropTypes from 'prop-types'; +import React, {useCallback} from 'react'; +import Checkbox from '@cdo/apps/componentLibrary/checkbox'; import Typography from '@cdo/apps/componentLibrary/typography'; import Button from '@cdo/apps/templates/Button'; -import FontAwesome from './FontAwesome'; - import i18n from '@cdo/locale'; +import FontAwesome from './FontAwesome'; + import style from './checkbox-dropdown.module.scss'; -import Checkbox from '@cdo/apps/componentLibrary/checkbox'; const CheckboxDropdown = ({ name, diff --git a/apps/src/templates/CloseOnEscape.jsx b/apps/src/templates/CloseOnEscape.jsx index 13e43e88587a1..abf7f9594a5cf 100644 --- a/apps/src/templates/CloseOnEscape.jsx +++ b/apps/src/templates/CloseOnEscape.jsx @@ -1,5 +1,5 @@ -import React from 'react'; import PropTypes from 'prop-types'; +import React from 'react'; /** * Utility wrapper component that calls a close function when the Escape key is pressed diff --git a/apps/src/templates/CodeWorkspace.jsx b/apps/src/templates/CodeWorkspace.jsx index c936d402ae159..3f2bbb1bc563e 100644 --- a/apps/src/templates/CodeWorkspace.jsx +++ b/apps/src/templates/CodeWorkspace.jsx @@ -1,25 +1,28 @@ +import classNames from 'classnames'; import $ from 'jquery'; -import React from 'react'; import PropTypes from 'prop-types'; import Radium from 'radium'; // eslint-disable-line no-restricted-imports +import React from 'react'; import {connect} from 'react-redux'; -import ProtectedStatefulDiv from './ProtectedStatefulDiv'; + +import WorkspaceAlert from '@cdo/apps/code-studio/components/WorkspaceAlert'; import JsDebugger from '@cdo/apps/lib/tools/jsdebugger/JsDebugger'; -import PaneHeader, {PaneSection, PaneButton} from './PaneHeader'; +import styleConstants from '@cdo/apps/styleConstants'; +import * as utils from '@cdo/apps/utils'; import i18n from '@cdo/locale'; + +import {closeWorkspaceAlert} from '../code-studio/projectRedux'; +import {queryParams} from '../code-studio/utils'; import commonStyles from '../commonStyles'; -import color from '../util/color'; -import * as utils from '@cdo/apps/utils'; -import {shouldUseRunModeIndicators} from '../redux/selectors'; import SettingsCog from '../lib/ui/SettingsCog'; -import ShowCodeToggle from './ShowCodeToggle'; +import {shouldUseRunModeIndicators} from '../redux/selectors'; import {singleton as studioApp} from '../StudioApp'; +import color from '../util/color'; + +import PaneHeader, {PaneSection, PaneButton} from './PaneHeader'; import ProjectTemplateWorkspaceIcon from './ProjectTemplateWorkspaceIcon'; -import {queryParams} from '../code-studio/utils'; -import WorkspaceAlert from '@cdo/apps/code-studio/components/WorkspaceAlert'; -import {closeWorkspaceAlert} from '../code-studio/projectRedux'; -import styleConstants from '@cdo/apps/styleConstants'; -import classNames from 'classnames'; +import ProtectedStatefulDiv from './ProtectedStatefulDiv'; +import ShowCodeToggle from './ShowCodeToggle'; class CodeWorkspace extends React.Component { static propTypes = { diff --git a/apps/src/templates/CodeWorkspaceContainer.jsx b/apps/src/templates/CodeWorkspaceContainer.jsx index 6e6adc927692e..fc1c3ceb6f170 100644 --- a/apps/src/templates/CodeWorkspaceContainer.jsx +++ b/apps/src/templates/CodeWorkspaceContainer.jsx @@ -3,13 +3,14 @@ * us to position it vertically. Causes resize events to fire when receiving new props */ import $ from 'jquery'; -import React from 'react'; -import ReactDOM from 'react-dom'; import PropTypes from 'prop-types'; import Radium from 'radium'; // eslint-disable-line no-restricted-imports +import React from 'react'; +import ReactDOM from 'react-dom'; import {connect} from 'react-redux'; -import * as utils from '../utils'; + import commonStyles from '../commonStyles'; +import * as utils from '../utils'; class CodeWorkspaceContainer extends React.Component { static propTypes = { diff --git a/apps/src/templates/CollapserIcon.jsx b/apps/src/templates/CollapserIcon.jsx index 013e0051a33b7..923d469ccec3e 100644 --- a/apps/src/templates/CollapserIcon.jsx +++ b/apps/src/templates/CollapserIcon.jsx @@ -1,6 +1,7 @@ -import React from 'react'; -import PropTypes from 'prop-types'; import classNames from 'classnames'; +import PropTypes from 'prop-types'; +import React from 'react'; + import moduleStyles from './collapser-icon.module.scss'; const styles = { diff --git a/apps/src/templates/CollapserIcon.story.jsx b/apps/src/templates/CollapserIcon.story.jsx index 11e0687aa9d4c..4dee51b5b90e0 100644 --- a/apps/src/templates/CollapserIcon.story.jsx +++ b/apps/src/templates/CollapserIcon.story.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import CollapserIcon from './CollapserIcon'; const styles = { diff --git a/apps/src/templates/CollapsibleSection.tsx b/apps/src/templates/CollapsibleSection.tsx index 6fb0d2b43a0c8..5bf8621bde6e1 100644 --- a/apps/src/templates/CollapsibleSection.tsx +++ b/apps/src/templates/CollapsibleSection.tsx @@ -1,11 +1,13 @@ -import FontAwesomeV6Icon from '@cdo/apps/componentLibrary/fontAwesomeV6Icon/FontAwesomeV6Icon'; -import Typography from '@cdo/apps/componentLibrary/typography/Typography'; import React, {useState, useCallback} from 'react'; -import moduleStyles from './collapsible-section.module.scss'; + +import FontAwesomeV6Icon from '@cdo/apps/componentLibrary/fontAwesomeV6Icon/FontAwesomeV6Icon'; import { SemanticTag as TypographyElementSemanticTag, VisualAppearance as TypographyElementVisualAppearance, } from '@cdo/apps/componentLibrary/typography/types'; +import Typography from '@cdo/apps/componentLibrary/typography/Typography'; + +import moduleStyles from './collapsible-section.module.scss'; interface CollapsibleSectionProps { title: string; diff --git a/apps/src/templates/CompletionButton.jsx b/apps/src/templates/CompletionButton.jsx index 2c95cc888e868..5c0a48adbeb08 100644 --- a/apps/src/templates/CompletionButton.jsx +++ b/apps/src/templates/CompletionButton.jsx @@ -1,7 +1,9 @@ -import msg from '@cdo/locale'; import PropTypes from 'prop-types'; import React, {Component} from 'react'; import {connect} from 'react-redux'; + +import msg from '@cdo/locale'; + import ProtectedStatefulDiv from '../templates/ProtectedStatefulDiv'; /** diff --git a/apps/src/templates/ContainedLevel.jsx b/apps/src/templates/ContainedLevel.jsx index c0208fe5dd5c0..a3453ed815450 100644 --- a/apps/src/templates/ContainedLevel.jsx +++ b/apps/src/templates/ContainedLevel.jsx @@ -1,6 +1,7 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; import ReactDOM from 'react-dom'; + import ProtectedStatefulDiv from './ProtectedStatefulDiv'; class ContainedLevel extends Component { diff --git a/apps/src/templates/ContainedLevelAnswer.jsx b/apps/src/templates/ContainedLevelAnswer.jsx index 095448df27af9..627ffab719dda 100644 --- a/apps/src/templates/ContainedLevelAnswer.jsx +++ b/apps/src/templates/ContainedLevelAnswer.jsx @@ -1,6 +1,7 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; import ReactDOM from 'react-dom'; + import ProtectedStatefulDiv from './ProtectedStatefulDiv'; class ContainedLevelAnswer extends Component { diff --git a/apps/src/templates/ContentContainer.jsx b/apps/src/templates/ContentContainer.jsx index 3c48a86f9c23d..c7de60a9e21e6 100644 --- a/apps/src/templates/ContentContainer.jsx +++ b/apps/src/templates/ContentContainer.jsx @@ -1,11 +1,14 @@ +import PropTypes from 'prop-types'; +import Radium from 'radium'; // eslint-disable-line no-restricted-imports import React, {Component} from 'react'; import {connect} from 'react-redux'; + import fontConstants from '@cdo/apps/fontConstants'; + import styleConstants from '../styleConstants'; -import FontAwesome from './FontAwesome'; import color from '../util/color'; -import PropTypes from 'prop-types'; -import Radium from 'radium'; // eslint-disable-line no-restricted-imports + +import FontAwesome from './FontAwesome'; import moduleStyles from './content-container.module.scss'; diff --git a/apps/src/templates/ContentContainer.story.jsx b/apps/src/templates/ContentContainer.story.jsx index af34100d79898..66fab2b5a692f 100644 --- a/apps/src/templates/ContentContainer.story.jsx +++ b/apps/src/templates/ContentContainer.story.jsx @@ -1,9 +1,11 @@ import React from 'react'; -import ContentContainer from './ContentContainer'; -import CourseCard from './studioHomepages/CourseCard'; import {Provider} from 'react-redux'; + import {reduxStore} from '@cdo/storybook/decorators'; +import ContentContainer from './ContentContainer'; +import CourseCard from './studioHomepages/CourseCard'; + export default { component: ContentContainer, }; diff --git a/apps/src/templates/CopyrightInfo.jsx b/apps/src/templates/CopyrightInfo.jsx index c5a05d1d4e5a0..e24f366d78acb 100644 --- a/apps/src/templates/CopyrightInfo.jsx +++ b/apps/src/templates/CopyrightInfo.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import SafeMarkdown from '@cdo/apps/templates/SafeMarkdown'; import i18n from '@cdo/locale'; import CreativeCommons from '@cdo/static/creative-commons-by-nc-sa.png'; diff --git a/apps/src/templates/CountryAutocompleteDropdown.jsx b/apps/src/templates/CountryAutocompleteDropdown.jsx index 445882887615e..db8000a61e38e 100644 --- a/apps/src/templates/CountryAutocompleteDropdown.jsx +++ b/apps/src/templates/CountryAutocompleteDropdown.jsx @@ -1,11 +1,15 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; + import fontConstants from '@cdo/apps/fontConstants'; +import i18n from '@cdo/locale'; + +import {COUNTRIES} from '../geographyConstants'; import loadable from '../util/loadable'; + const VirtualizedSelect = loadable(() => import('./VirtualizedSelect')); -import i18n from '@cdo/locale'; + import {styles} from './census2017/censusFormStyles'; -import {COUNTRIES} from '../geographyConstants'; const singleLineLayoutStyles = { display: 'table-cell', diff --git a/apps/src/templates/CrosshairOverlay.jsx b/apps/src/templates/CrosshairOverlay.jsx index eca35872ee95a..d945a07913b76 100644 --- a/apps/src/templates/CrosshairOverlay.jsx +++ b/apps/src/templates/CrosshairOverlay.jsx @@ -1,6 +1,7 @@ /** @file Crosshair and guides over visualization */ import PropTypes from 'prop-types'; import React from 'react'; + import {isPointInBounds} from '../util/grid'; export const CROSSHAIR_MARGIN = 6; diff --git a/apps/src/templates/Dialog.jsx b/apps/src/templates/Dialog.jsx index 32a9f0d6aedb2..e13814d505ab9 100644 --- a/apps/src/templates/Dialog.jsx +++ b/apps/src/templates/Dialog.jsx @@ -1,12 +1,15 @@ -import React from 'react'; import PropTypes from 'prop-types'; import Radium from 'radium'; // eslint-disable-line no-restricted-imports -import LegacyButton from './LegacyButton'; -import BaseDialog from './BaseDialog'; -import color from '../util/color'; -import {childrenOfType, whenNoChildOfTypes} from '../propTypes'; +import React from 'react'; + import locale from '@cdo/locale'; +import {childrenOfType, whenNoChildOfTypes} from '../propTypes'; +import color from '../util/color'; + +import BaseDialog from './BaseDialog'; +import LegacyButton from './LegacyButton'; + export const styles = { icon: { backgroundSize: 100, diff --git a/apps/src/templates/Dialog.story.jsx b/apps/src/templates/Dialog.story.jsx index 2d6d6be6b26bc..f9d0cac793633 100644 --- a/apps/src/templates/Dialog.story.jsx +++ b/apps/src/templates/Dialog.story.jsx @@ -1,4 +1,8 @@ +import {action} from '@storybook/addon-actions'; import React from 'react'; + +import ExampleDialogButton from '../util/ExampleDialogButton'; + import Dialog, { Icon, Title, @@ -8,8 +12,6 @@ import Dialog, { Confirm, Footer, } from './Dialog'; -import ExampleDialogButton from '../util/ExampleDialogButton'; -import {action} from '@storybook/addon-actions'; // There are so many different variations that making a template is not helpful export default { diff --git a/apps/src/templates/DialogButtons.jsx b/apps/src/templates/DialogButtons.jsx index 9929a6cf1c016..8e409c482e585 100644 --- a/apps/src/templates/DialogButtons.jsx +++ b/apps/src/templates/DialogButtons.jsx @@ -1,9 +1,11 @@ -import LegacyButton from './LegacyButton'; import PropTypes from 'prop-types'; import React, {Component} from 'react'; + +import {getStore} from '@cdo/apps/redux'; import msg from '@cdo/locale'; + +import LegacyButton from './LegacyButton'; import Lightbulb from './Lightbulb'; -import {getStore} from '@cdo/apps/redux'; export default class DialogButtons extends Component { static propTypes = { diff --git a/apps/src/templates/DialogButtons.story.jsx b/apps/src/templates/DialogButtons.story.jsx index e8a874bac9787..59be02bd77dd6 100644 --- a/apps/src/templates/DialogButtons.story.jsx +++ b/apps/src/templates/DialogButtons.story.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import DialogButtons from './DialogButtons'; export default { diff --git a/apps/src/templates/DonorTeacherBanner.jsx b/apps/src/templates/DonorTeacherBanner.jsx index 4e4d428e60759..09da01f7340e6 100644 --- a/apps/src/templates/DonorTeacherBanner.jsx +++ b/apps/src/templates/DonorTeacherBanner.jsx @@ -1,14 +1,17 @@ import $ from 'jquery'; import PropTypes from 'prop-types'; import React, {Component} from 'react'; -import Notification, {NotificationType} from '@cdo/apps/templates/Notification'; -import {pegasus} from '@cdo/apps/lib/util/urlHelpers'; + import fontConstants from '@cdo/apps/fontConstants'; -import analyticsReporter from '@cdo/apps/lib/util/AnalyticsReporter'; import {EVENTS} from '@cdo/apps/lib/util/AnalyticsConstants'; +import analyticsReporter from '@cdo/apps/lib/util/AnalyticsReporter'; +import {pegasus} from '@cdo/apps/lib/util/urlHelpers'; +import Notification, {NotificationType} from '@cdo/apps/templates/Notification'; +import i18n from '@cdo/locale'; + import color from '../util/color'; + import Button from './Button'; -import i18n from '@cdo/locale'; export default class DonorTeacherBanner extends Component { static propTypes = { diff --git a/apps/src/templates/DropdownButton.js b/apps/src/templates/DropdownButton.js index 84a212cf681ee..7966d7e61e33d 100644 --- a/apps/src/templates/DropdownButton.js +++ b/apps/src/templates/DropdownButton.js @@ -1,8 +1,10 @@ -import React, {Component} from 'react'; +import classNames from 'classnames'; import PropTypes from 'prop-types'; -import Button from '@cdo/apps/templates/Button'; +import React, {Component} from 'react'; import onClickOutside from 'react-onclickoutside'; -import classNames from 'classnames'; + +import Button from '@cdo/apps/templates/Button'; + import style from './dropdown-button.module.scss'; /** diff --git a/apps/src/templates/DropdownButton.story.jsx b/apps/src/templates/DropdownButton.story.jsx index 6a53afc5d632b..b5cd7bf533298 100644 --- a/apps/src/templates/DropdownButton.story.jsx +++ b/apps/src/templates/DropdownButton.story.jsx @@ -1,7 +1,9 @@ import React from 'react'; -import DropdownButton from './DropdownButton'; + import Button from '@cdo/apps/templates/Button'; +import DropdownButton from './DropdownButton'; + export default { component: DropdownButton, }; diff --git a/apps/src/templates/EndOfLessonDialog.jsx b/apps/src/templates/EndOfLessonDialog.jsx index 64f831f848353..f85c860033e7e 100644 --- a/apps/src/templates/EndOfLessonDialog.jsx +++ b/apps/src/templates/EndOfLessonDialog.jsx @@ -1,10 +1,11 @@ import PropTypes from 'prop-types'; import React, {useState} from 'react'; import {connect} from 'react-redux'; -import Button from '@cdo/apps/templates/Button'; -import i18n from '@cdo/locale'; + import BaseDialog from '@cdo/apps/templates/BaseDialog'; +import Button from '@cdo/apps/templates/Button'; import DialogFooter from '@cdo/apps/templates/teacherDashboard/DialogFooter'; +import i18n from '@cdo/locale'; function EndOfLessonDialog({lessonNumber, isSummaryView}) { const [isDialogOpen, setIsDialogOpen] = useState(true); diff --git a/apps/src/templates/EnhancedSafeMarkdown.jsx b/apps/src/templates/EnhancedSafeMarkdown.jsx index 0a88bb6e31a37..c5c372c7eaa39 100644 --- a/apps/src/templates/EnhancedSafeMarkdown.jsx +++ b/apps/src/templates/EnhancedSafeMarkdown.jsx @@ -3,8 +3,9 @@ import React from 'react'; import ReactDOM from 'react-dom'; import {connect} from 'react-redux'; -import SafeMarkdown from './SafeMarkdown'; import {openDialog} from '@cdo/apps/redux/instructionsDialog'; + +import SafeMarkdown from './SafeMarkdown'; import {renderExpandableImages} from './utils/expandableImages'; export class UnconnectedExpandableImagesWrapper extends React.Component { diff --git a/apps/src/templates/FallbackPlayerCaptionDialogLink.jsx b/apps/src/templates/FallbackPlayerCaptionDialogLink.jsx index 04af1c50af6c8..b4d38c65a8480 100644 --- a/apps/src/templates/FallbackPlayerCaptionDialogLink.jsx +++ b/apps/src/templates/FallbackPlayerCaptionDialogLink.jsx @@ -1,11 +1,13 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; -import Button from './Button'; + +import fontConstants from '@cdo/apps/fontConstants'; +import {pegasus} from '@cdo/apps/lib/util/urlHelpers'; import i18n from '@cdo/locale'; + import BaseDialog from './BaseDialog'; +import Button from './Button'; import DialogFooter from './teacherDashboard/DialogFooter'; -import {pegasus} from '@cdo/apps/lib/util/urlHelpers'; -import fontConstants from '@cdo/apps/fontConstants'; export default class FallbackPlayerCaptionDialogLink extends React.Component { static propTypes = { diff --git a/apps/src/templates/FallbackPlayerCaptionDialogLink.story.jsx b/apps/src/templates/FallbackPlayerCaptionDialogLink.story.jsx index e47bd9640a65f..692794f9057a0 100644 --- a/apps/src/templates/FallbackPlayerCaptionDialogLink.story.jsx +++ b/apps/src/templates/FallbackPlayerCaptionDialogLink.story.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import FallbackPlayerCaptionDialogLink from './FallbackPlayerCaptionDialogLink'; export default { diff --git a/apps/src/templates/FixZoomHelper.jsx b/apps/src/templates/FixZoomHelper.jsx index 6b88b2e7e7982..4a70ef4e105e7 100644 --- a/apps/src/templates/FixZoomHelper.jsx +++ b/apps/src/templates/FixZoomHelper.jsx @@ -1,8 +1,10 @@ +import _ from 'lodash'; import React from 'react'; + import i18n from '@cdo/locale'; + import color from '../util/color'; import trackEvent from '../util/trackEvent'; -import _ from 'lodash'; /** * If the browser supports window.visualViewport, and we detect that the user diff --git a/apps/src/templates/FontAwesome.jsx b/apps/src/templates/FontAwesome.jsx index fc51b3b0a987d..c531d09560334 100644 --- a/apps/src/templates/FontAwesome.jsx +++ b/apps/src/templates/FontAwesome.jsx @@ -1,8 +1,8 @@ /** @file font-awesome helper component. */ +import _ from 'lodash'; import PropTypes from 'prop-types'; import React from 'react'; -import _ from 'lodash'; /** * Given an icon name, render the icon using an tag in typical font-awesome diff --git a/apps/src/templates/GDPRDialog.jsx b/apps/src/templates/GDPRDialog.jsx index 18f20efa222ca..c103aabc8ddb0 100644 --- a/apps/src/templates/GDPRDialog.jsx +++ b/apps/src/templates/GDPRDialog.jsx @@ -1,10 +1,12 @@ import PropTypes from 'prop-types'; import React, {Component} from 'react'; -import Button from './Button'; + +import {pegasus} from '@cdo/apps/lib/util/urlHelpers'; import i18n from '@cdo/locale'; + import BaseDialog from './BaseDialog'; +import Button from './Button'; import DialogFooter from './teacherDashboard/DialogFooter'; -import {pegasus} from '@cdo/apps/lib/util/urlHelpers'; export default class GDPRDialog extends Component { static propTypes = { diff --git a/apps/src/templates/GDPRDialog.story.jsx b/apps/src/templates/GDPRDialog.story.jsx index d8492755237bc..3407924405c7c 100644 --- a/apps/src/templates/GDPRDialog.story.jsx +++ b/apps/src/templates/GDPRDialog.story.jsx @@ -1,4 +1,5 @@ import React from 'react'; + import GDPRDialog from './GDPRDialog'; export default { diff --git a/apps/src/templates/GameButtons.jsx b/apps/src/templates/GameButtons.jsx index d5e00ca460620..c491504cb813d 100644 --- a/apps/src/templates/GameButtons.jsx +++ b/apps/src/templates/GameButtons.jsx @@ -1,15 +1,16 @@ -import React from 'react'; -import msg from '@cdo/locale'; - -import ProtectedStatefulDiv from './ProtectedStatefulDiv'; -import commonStyles from '../commonStyles'; import classNames from 'classnames'; import PropTypes from 'prop-types'; import Radium from 'radium'; // eslint-disable-line no-restricted-imports -import SkipButton from './SkipButton'; +import React from 'react'; import {connect} from 'react-redux'; +import msg from '@cdo/locale'; + import blankImg from '../../static/common_images/1x1.gif'; +import commonStyles from '../commonStyles'; + +import ProtectedStatefulDiv from './ProtectedStatefulDiv'; +import SkipButton from './SkipButton'; export const FinishButton = () => (