mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-14 14:13:28 +00:00
Merge pull request #153 from sharelatex/as-remove-old-onboarding
Remove unused onboarding
This commit is contained in:
commit
e1fa196de5
12 changed files with 4 additions and 432 deletions
services/web
app
coffee/Features/Project
views/project
public
coffee
stylesheets/app
test/UnitTests/coffee/Project
|
@ -234,44 +234,6 @@ module.exports = ProjectController =
|
|||
#don't need to wait for this to complete
|
||||
ProjectUpdateHandler.markAsOpened project_id, ->
|
||||
cb()
|
||||
showTrackChangesOnboarding: (cb) ->
|
||||
cb = underscore.once(cb)
|
||||
if !user_id?
|
||||
return cb()
|
||||
timestamp = user_id.toString().substring(0,8)
|
||||
userSignupDate = new Date( parseInt( timestamp, 16 ) * 1000 )
|
||||
if userSignupDate > new Date("2017-03-09") # 8th March
|
||||
# Don't show for users who registered after it was released
|
||||
return cb(null, false)
|
||||
timeout = setTimeout cb, 500
|
||||
AnalyticsManager.getLastOccurance user_id, "shown-track-changes-onboarding-2", (error, event) ->
|
||||
clearTimeout timeout
|
||||
if error?
|
||||
return cb(null, false)
|
||||
else if event?
|
||||
return cb(null, false)
|
||||
else
|
||||
logger.log { user_id, event }, "track changes onboarding not shown yet to this user"
|
||||
return cb(null, true)
|
||||
showPerUserTCNotice: (cb) ->
|
||||
cb = underscore.once(cb)
|
||||
if !user_id?
|
||||
return cb()
|
||||
timestamp = user_id.toString().substring(0,8)
|
||||
userSignupDate = new Date( parseInt( timestamp, 16 ) * 1000 )
|
||||
if userSignupDate > new Date("2017-08-09")
|
||||
# Don't show for users who registered after it was released
|
||||
return cb(null, false)
|
||||
timeout = setTimeout cb, 500
|
||||
AnalyticsManager.getLastOccurance user_id, "shown-per-user-tc-notice", (error, event) ->
|
||||
clearTimeout timeout
|
||||
if error?
|
||||
return cb(null, false)
|
||||
else if event?
|
||||
return cb(null, false)
|
||||
else
|
||||
logger.log { user_id, event }, "per user track changes notice not shown yet to this user"
|
||||
return cb(null, true)
|
||||
isTokenMember: (cb) ->
|
||||
cb = underscore.once(cb)
|
||||
if !user_id?
|
||||
|
@ -331,20 +293,13 @@ module.exports = ProjectController =
|
|||
project = results.project
|
||||
user = results.user
|
||||
subscription = results.subscription
|
||||
{ showTrackChangesOnboarding, showPerUserTCNotice, showAutoCompileOnboarding } = results
|
||||
{ showAutoCompileOnboarding } = results
|
||||
|
||||
daysSinceLastUpdated = (new Date() - project.lastUpdated) / 86400000
|
||||
logger.log project_id:project_id, daysSinceLastUpdated:daysSinceLastUpdated, "got db results for loading editor"
|
||||
|
||||
token = TokenAccessHandler.getRequestToken(req, project_id)
|
||||
isTokenMember = results.isTokenMember
|
||||
# Roll out token-access based on Project owner
|
||||
enableTokenAccessUI = ProjectController._isInPercentageRollout(
|
||||
'linksharing',
|
||||
project.owner_ref,
|
||||
100
|
||||
)
|
||||
showLinkSharingOnboarding = enableTokenAccessUI && results.couldShowLinkSharingOnboarding
|
||||
AuthorizationManager.getPrivilegeLevelForProject user_id, project_id, token, (error, privilegeLevel)->
|
||||
return next(error) if error?
|
||||
if !privilegeLevel? or privilegeLevel == PrivilegeLevels.NONE
|
||||
|
@ -383,8 +338,6 @@ module.exports = ProjectController =
|
|||
syntaxValidation: user.ace.syntaxValidation
|
||||
}
|
||||
trackChangesState: project.track_changes
|
||||
showTrackChangesOnboarding: !!showTrackChangesOnboarding
|
||||
showPerUserTCNotice: !!showPerUserTCNotice
|
||||
autoCompileEnabled: !!showAutoCompileOnboarding?.enabled
|
||||
showAutoCompileOnboarding: !!showAutoCompileOnboarding?.showOnboarding
|
||||
privilegeLevel: privilegeLevel
|
||||
|
@ -395,8 +348,7 @@ module.exports = ProjectController =
|
|||
languages: Settings.languages
|
||||
themes: THEME_LIST
|
||||
maxDocLength: Settings.max_doc_length
|
||||
enableTokenAccessUI: enableTokenAccessUI
|
||||
showLinkSharingOnboarding: showLinkSharingOnboarding
|
||||
showLinkSharingOnboarding: !!results.couldShowLinkSharingOnboarding
|
||||
timer.done()
|
||||
|
||||
_buildProjectList: (allProjects, v1Projects = [])->
|
||||
|
|
|
@ -20,8 +20,6 @@ block content
|
|||
p.loading-screen-error(ng-if="state.error").ng-cloak
|
||||
span(ng-bind-html="state.error")
|
||||
|
||||
include ./editor/feature-onboarding
|
||||
|
||||
.global-alerts(ng-cloak)
|
||||
.alert.alert-danger.small(ng-if="connection.forced_disconnect")
|
||||
strong #{translate("disconnected")}
|
||||
|
@ -122,13 +120,10 @@ block requirejs
|
|||
window.isTokenMember = #{!!isTokenMember};
|
||||
window.maxDocLength = #{maxDocLength};
|
||||
window.trackChangesState = data.trackChangesState;
|
||||
window.showTrackChangesOnboarding = #{!!showTrackChangesOnboarding};
|
||||
window.showPerUserTCNotice = #{!!showPerUserTCNotice};
|
||||
window.autoCompileEnabled = #{!!autoCompileEnabled};
|
||||
window.showAutoCompileOnboarding = #{!!showAutoCompileOnboarding}
|
||||
window.showLinkSharingOnboarding = #{!!showLinkSharingOnboarding}
|
||||
window.wikiEnabled = #{!!(settings.apis.wiki && settings.apis.wiki.url)};
|
||||
window.enableTokenAccessUI = #{enableTokenAccessUI}
|
||||
window.requirejs = {
|
||||
"paths" : {
|
||||
"mathjax": "#{buildJsPath('/libs/mathjax/MathJax.js', {cdn:false, fingerprint:false, qs:{config:'TeX-AMS_HTML'}})}",
|
||||
|
|
|
@ -1,112 +0,0 @@
|
|||
.feat-onboard(
|
||||
ng-controller="FeatureOnboardingController"
|
||||
ng-class="('feat-onboard-step' + onboarding.innerStep)"
|
||||
ng-if="!state.loading && ui.showCollabFeaturesOnboarding"
|
||||
ng-cloak
|
||||
stop-propagation="click"
|
||||
)
|
||||
a.feat-onboard-dismiss(
|
||||
href
|
||||
ng-click="dismiss();"
|
||||
) ×
|
||||
.feat-onboard-wrapper
|
||||
h1.feat-onboard-title
|
||||
| Introducing
|
||||
span.feat-onboard-highlight Commenting
|
||||
| &
|
||||
span.feat-onboard-highlight Track Changes
|
||||
p.feat-onboard-description
|
||||
span.feat-onboard-highlight Commenting
|
||||
| and
|
||||
span.feat-onboard-highlight Track Changes
|
||||
| will make it easier for you to work with peers in your documents.
|
||||
|
||||
.feat-onboard-tutorial-wrapper
|
||||
button.btn.btn-primary.feat-onboard-nav-btn(
|
||||
ng-click="gotoPrevStep();"
|
||||
ng-disabled="onboarding.innerStep === 1;")
|
||||
i.fa.fa-arrow-left
|
||||
div(ng-show="onboarding.innerStep === 1;")
|
||||
video.feat-onboard-video(
|
||||
video-play-state="onboarding.innerStep === 1;"
|
||||
autoplay
|
||||
loop
|
||||
)
|
||||
source(ng-src="{{ '/img/onboarding/review-panel/open-review.mp4' }}", type="video/mp4")
|
||||
img(ng-src="{{ '/img/onboarding/review-panel/open-review.gif' }}", alt="Open review panel demo")
|
||||
div(ng-show="onboarding.innerStep === 2;")
|
||||
video.feat-onboard-video(
|
||||
video-play-state="onboarding.innerStep === 2;"
|
||||
autoplay
|
||||
loop
|
||||
)
|
||||
source(ng-src="{{ '/img/onboarding/review-panel/commenting.mp4' }}", type="video/mp4")
|
||||
img(ng-src="{{ '/img/onboarding/review-panel/commenting.gif' }}", alt="Commenting demo")
|
||||
div(ng-show="onboarding.innerStep === 3;")
|
||||
video.feat-onboard-video(
|
||||
video-play-state="onboarding.innerStep === 3;"
|
||||
autoplay
|
||||
loop
|
||||
)
|
||||
source(ng-src="{{ '/img/onboarding/review-panel/add-changes.mp4' }}", type="video/mp4")
|
||||
img(ng-src="{{ '/img/onboarding/review-panel/add-changes.gif' }}", alt="Add changes demo")
|
||||
div(ng-show="onboarding.innerStep === 4;")
|
||||
video.feat-onboard-video(
|
||||
video-play-state="onboarding.innerStep === 4;"
|
||||
autoplay
|
||||
loop
|
||||
)
|
||||
source(ng-src="{{ '/img/onboarding/review-panel/accept-changes.mp4' }}", type="video/mp4")
|
||||
img(ng-src="{{ '/img/onboarding/review-panel/accept-changes.gif' }}", alt="Accept changes demo")
|
||||
button.btn.btn-primary.feat-onboard-nav-btn(
|
||||
ng-click="gotoNextStep();"
|
||||
ng-disabled="onboarding.innerStep === onboarding.nSteps;")
|
||||
i.fa.fa-arrow-right
|
||||
|
||||
div(ng-switch="onboarding.innerStep")
|
||||
.row(ng-switch-when="1")
|
||||
.col-xs-6
|
||||
h2.feat-onboard-adv-title Commenting
|
||||
p.feat-onboard-description Want to discuss specific parts of the text?
|
||||
p.feat-onboard-description Use our brand-new commenting system.
|
||||
.col-xs-6
|
||||
h2.feat-onboard-adv-title Track Changes
|
||||
p.feat-onboard-description See changes in your documents, live.
|
||||
p.feat-onboard-description Track, accept and reject changes individually.
|
||||
.row(ng-switch-when="2")
|
||||
.col-xs-12
|
||||
h2.feat-onboard-adv-title Commenting
|
||||
p.feat-onboard-description Just select a span of text and click on
|
||||
span.feat-onboard-highlight “Add comment”
|
||||
| .
|
||||
p.feat-onboard-description
|
||||
span.feat-onboard-highlight Comments
|
||||
| can be
|
||||
span.feat-onboard-highlight replied
|
||||
| to,
|
||||
span.feat-onboard-highlight resolved
|
||||
| and permanently
|
||||
span.feat-onboard-highlight deleted
|
||||
| .
|
||||
.row(ng-switch-when="3")
|
||||
.col-xs-12
|
||||
h2.feat-onboard-adv-title Track Changes
|
||||
p.feat-onboard-description
|
||||
| Let your peers know what you've been up to.
|
||||
p.feat-onboard-description
|
||||
| Click on the
|
||||
span.feat-onboard-highlight “Track Changes”
|
||||
| toggle to start marking your insertions, as well as your deletions.
|
||||
|
||||
.row(ng-switch-when="4")
|
||||
.col-xs-12
|
||||
h2.feat-onboard-adv-title Track Changes
|
||||
p.feat-onboard-description Upon reviewing,
|
||||
span.feat-onboard-highlight changes
|
||||
| can be accepted or undone.
|
||||
p.feat-onboard-description
|
||||
| Click
|
||||
span.feat-onboard-highlight “Accept”
|
||||
| or
|
||||
span.feat-onboard-highlight “Reject”
|
||||
| to incorporate or discard an individual change.
|
|
@ -91,9 +91,7 @@
|
|||
)
|
||||
|
||||
li.rp-tc-state-separator
|
||||
li.rp-tc-state-item.rp-tc-state-item-guests(
|
||||
ng-if="__enableTokenAccessUI"
|
||||
)
|
||||
li.rp-tc-state-item.rp-tc-state-item-guests
|
||||
span.rp-tc-state-item-name(
|
||||
ng-class="{ 'rp-tc-state-item-name-disabled' : reviewPanel.trackChangesOnForEveryone}"
|
||||
tooltip=translate('tc_switch_guests_tip')
|
||||
|
@ -577,37 +575,6 @@ script(type="text/ng-template", id="trackChangesUpgradeModalTemplate")
|
|||
)
|
||||
span #{translate("close")}
|
||||
|
||||
script(type="text/ng-template", id="perUserTCNoticeModalTemplate")
|
||||
.modal-header
|
||||
button.close(
|
||||
type="button"
|
||||
data-dismiss="modal"
|
||||
ng-click="$close()"
|
||||
) ×
|
||||
h3 #{translate("per_user_tc_title")}
|
||||
.modal-body
|
||||
.teaser-video-container
|
||||
video.teaser-video(autoplay, loop)
|
||||
source(ng-src="{{ '/img/teasers/track-changes/per-user-track-changes.mp4' }}", type="video/mp4")
|
||||
img(src="/img/teasers/track-changes/per-user-track-changes.gif")
|
||||
h4.teaser-title #{translate("you_can_use_per_user_tc")}
|
||||
.row
|
||||
.col-md-8.col-md-offset-2
|
||||
ul.list-unstyled
|
||||
li
|
||||
i.fa.fa-check
|
||||
| #{translate("turn_tc_on_individuals")}
|
||||
|
||||
li
|
||||
i.fa.fa-check
|
||||
| #{translate("keep_tc_on_like_before")}
|
||||
|
||||
.modal-footer()
|
||||
button.btn.btn-default(
|
||||
ng-click="$close()"
|
||||
)
|
||||
span #{translate("close")}
|
||||
|
||||
script(type="text/ng-template", id="bulkActionsModalTemplate")
|
||||
.modal-header
|
||||
button.close(
|
||||
|
|
|
@ -9,18 +9,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
|
|||
.modal-body.modal-body-share
|
||||
.container-fluid
|
||||
|
||||
//- Private
|
||||
.row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == false")
|
||||
.col-xs-12.text-center
|
||||
| #{translate("this_project_is_private")}
|
||||
|
|
||||
a(
|
||||
href
|
||||
ng-click="openMakePublicModal()"
|
||||
) #{translate("make_public")}
|
||||
|
||||
//- Private (with token-access available)
|
||||
.row.public-access-level(ng-show="project.publicAccesLevel == 'private' && __enableTokenAccessUI == true")
|
||||
.row.public-access-level(ng-show="project.publicAccesLevel == 'private'")
|
||||
.col-xs-12.text-center
|
||||
| #{translate('link_sharing_is_off')}.
|
||||
|
|
||||
|
@ -206,31 +196,6 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
|
|||
ng-click="done()"
|
||||
) #{translate("close")}
|
||||
|
||||
script(type="text/ng-template", id="makePublicModalTemplate")
|
||||
.modal-header
|
||||
button.close(
|
||||
type="button"
|
||||
data-dismiss="modal"
|
||||
ng-click="cancel()"
|
||||
) ×
|
||||
h3 #{translate("make_project_public")}?
|
||||
.modal-body.modal-body-share
|
||||
p #{translate("make_project_public_consequences")}
|
||||
p
|
||||
select.form-control(
|
||||
ng-model="inputs.privileges"
|
||||
name="privileges"
|
||||
)
|
||||
option(value="readAndWrite") #{translate("allow_public_editing")}
|
||||
option(value="readOnly") #{translate("allow_public_read_only")}
|
||||
.modal-footer
|
||||
button.btn.btn-default(
|
||||
ng-click="cancel()"
|
||||
) #{translate("cancel")}
|
||||
button.btn.btn-info(
|
||||
ng-click="makePublic()"
|
||||
) #{translate("make_public")}
|
||||
|
||||
script(type="text/ng-template", id="makeTokenBasedModalTemplate")
|
||||
.modal-header
|
||||
button.close(
|
||||
|
|
|
@ -12,7 +12,6 @@ define [
|
|||
"ide/labels/LabelsManager"
|
||||
"ide/review-panel/ReviewPanelManager"
|
||||
"ide/SafariScrollPatcher"
|
||||
"ide/FeatureOnboardingController",
|
||||
"ide/AutoCompileOnboardingController",
|
||||
"ide/LinkSharingOnboardingController",
|
||||
"ide/settings/index"
|
||||
|
@ -83,18 +82,6 @@ define [
|
|||
linkSharing: if window.showLinkSharingOnboarding then 'unseen' else 'dismissed'
|
||||
}
|
||||
$scope.user = window.user
|
||||
$scope.__enableTokenAccessUI = window.enableTokenAccessUI == true
|
||||
# TODO: remove after rollout and testing
|
||||
window.turnOnTokenAccessUI = () ->
|
||||
$scope.__enableTokenAccessUI = true
|
||||
$scope.$digest
|
||||
window.turnOffTokenAccessUI = () ->
|
||||
$scope.__enableTokenAccessUI = false
|
||||
$scope.$digest
|
||||
|
||||
$scope.$watch "project.features.trackChangesVisible", (visible) ->
|
||||
return if !visible?
|
||||
$scope.ui.showCollabFeaturesOnboarding = window.showTrackChangesOnboarding and visible
|
||||
|
||||
$scope.shouldABTestPlans = false
|
||||
if $scope.user.signUpDate >= '2016-10-27'
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
define [
|
||||
"base"
|
||||
], (App) ->
|
||||
App.controller "FeatureOnboardingController", ($scope, settings, event_tracking) ->
|
||||
$scope.onboarding =
|
||||
innerStep: 1
|
||||
nSteps: 4
|
||||
|
||||
$scope.dismiss = () ->
|
||||
event_tracking.sendMB "shown-track-changes-onboarding-2"
|
||||
$scope.$applyAsync(() -> $scope.ui.showCollabFeaturesOnboarding = false)
|
||||
|
||||
$scope.gotoPrevStep = () ->
|
||||
if $scope.onboarding.innerStep > 1
|
||||
$scope.$applyAsync(() -> $scope.onboarding.innerStep--)
|
||||
|
||||
$scope.gotoNextStep = () ->
|
||||
if $scope.onboarding.innerStep < 4
|
||||
$scope.$applyAsync(() -> $scope.onboarding.innerStep++)
|
||||
|
||||
handleKeydown = (e) ->
|
||||
switch e.keyCode
|
||||
when 37 then $scope.gotoPrevStep() # left directional key
|
||||
when 39, 13 then $scope.gotoNextStep() # right directional key, enter
|
||||
when 27 then $scope.dismiss() # escape
|
||||
|
||||
$(document).on "keydown", handleKeydown
|
||||
$(document).on "click", $scope.dismiss
|
||||
|
||||
$scope.$on "$destroy", () ->
|
||||
$(document).off "keydown", handleKeydown
|
||||
$(document).off "click", $scope.dismiss
|
|
@ -43,7 +43,6 @@ define [
|
|||
# A count of user-facing selected changes. An aggregated change (insertion + deletion) will count
|
||||
# as only one.
|
||||
nVisibleSelectedChanges: 0
|
||||
showPerUserTCNotice: window.showPerUserTCNotice
|
||||
|
||||
window.addEventListener "beforeunload", () ->
|
||||
collapsedStates = {}
|
||||
|
@ -598,8 +597,6 @@ define [
|
|||
|
||||
$scope.toggleFullTCStateCollapse = () ->
|
||||
if $scope.project.features.trackChanges
|
||||
if $scope.reviewPanel.showPerUserTCNotice
|
||||
$scope.openPerUserTCNoticeModal()
|
||||
$scope.reviewPanel.fullTCStateCollapsed = !$scope.reviewPanel.fullTCStateCollapsed
|
||||
else
|
||||
$scope.openTrackChangesUpgradeModal()
|
||||
|
@ -802,11 +799,3 @@ define [
|
|||
controller: "TrackChangesUpgradeModalController"
|
||||
scope: $scope.$new()
|
||||
}
|
||||
|
||||
$scope.openPerUserTCNoticeModal = () ->
|
||||
$scope.reviewPanel.showPerUserTCNotice = false
|
||||
$modal.open({
|
||||
templateUrl: "perUserTCNoticeModalTemplate"
|
||||
}).result.finally () ->
|
||||
event_tracking.sendMB "shown-per-user-tc-notice"
|
||||
|
||||
|
|
|
@ -178,13 +178,6 @@ define [
|
|||
$scope.state.error = "Sorry, something went wrong resending the invite :("
|
||||
event.target.blur()
|
||||
|
||||
$scope.openMakePublicModal = () ->
|
||||
$modal.open {
|
||||
templateUrl: "makePublicModalTemplate"
|
||||
controller: "MakePublicModalController"
|
||||
scope: $scope
|
||||
}
|
||||
|
||||
$scope.openMakePrivateModal = () ->
|
||||
$modal.open {
|
||||
templateUrl: "makePrivateModalTemplate"
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
@import "./editor/online-users.less";
|
||||
@import "./editor/hotkeys.less";
|
||||
@import "./editor/review-panel.less";
|
||||
@import "./editor/feature-onboarding.less";
|
||||
|
||||
@keyframes blink {
|
||||
0% {
|
||||
|
|
|
@ -1,105 +1,3 @@
|
|||
@feat-onboard-width: 900px;
|
||||
|
||||
.feat-onboard {
|
||||
position: fixed;
|
||||
top: 50px;
|
||||
bottom: 50px;
|
||||
left: 50%;
|
||||
width: @feat-onboard-width;
|
||||
margin-left: -(@feat-onboard-width / 2);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: baseline;
|
||||
background-color: rgba(0, 0, 0, .85);
|
||||
background-repeat: no-repeat;
|
||||
background-position-x: 0;
|
||||
color: #FFF;
|
||||
text-align: center;
|
||||
border-radius: 1em;
|
||||
z-index: 102;
|
||||
overflow: auto;
|
||||
}
|
||||
.feat-onboard-wrapper {
|
||||
padding: 30px 0;
|
||||
}
|
||||
|
||||
.feat-onboard-title {
|
||||
color: #FFF;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.feat-onboard-description {
|
||||
max-width: 35em;
|
||||
margin: 0 auto 5px;
|
||||
}
|
||||
|
||||
.feat-onboard-highlight {
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.feat-onboard-adv-title {
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
color: #FFF;
|
||||
font-size: 23px;
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.feat-onboard-tutorial-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 30px 0 15px;
|
||||
}
|
||||
.feat-onboard-video {
|
||||
width: 616px;
|
||||
margin: 0 30px;
|
||||
box-shadow: 0 0 70px 0 rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
.feat-onboard-nav-btn {
|
||||
border-radius: 1em;
|
||||
width: 2em;
|
||||
height: 2em;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
font-size: 1.3em;
|
||||
line-height: 1em;
|
||||
box-shadow: 0 0 70px 0 rgba(255, 255, 255, 0.3);
|
||||
|
||||
&[disabled] {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
&:focus,
|
||||
&:active:focus {
|
||||
outline: 0;
|
||||
box-shadow: 0 0 70px 0 rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
a.feat-onboard-dismiss {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
width: 1em;
|
||||
height: 1em;
|
||||
line-height: 1em;
|
||||
font-size: 2.5em;
|
||||
color: #FFF;
|
||||
background-color: rgba(0,0,0, .25);
|
||||
opacity: 0.7;
|
||||
border-radius: 0.5em;
|
||||
transition: opacity .15s ease-in-out;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
text-decoration: none;
|
||||
color: #FFF;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-autocompile {
|
||||
display: block;
|
||||
top: 10px;
|
||||
|
|
|
@ -493,35 +493,6 @@ describe "ProjectController", ->
|
|||
done()
|
||||
@ProjectController.loadEditor @req, @res
|
||||
|
||||
it "should set showTrackChangesOnboarding = false if there is an event", (done) ->
|
||||
@AnalyticsManager.getLastOccurance.yields(null, {"mock": "event"})
|
||||
@res.render = (pageName, opts)=>
|
||||
opts.showTrackChangesOnboarding.should.equal false
|
||||
done()
|
||||
@ProjectController.loadEditor @req, @res
|
||||
|
||||
it "should set showTrackChangesOnboarding = true if there is no event", (done) ->
|
||||
@AnalyticsManager.getLastOccurance.yields(null, null)
|
||||
@res.render = (pageName, opts)=>
|
||||
opts.showTrackChangesOnboarding.should.equal true
|
||||
done()
|
||||
@ProjectController.loadEditor @req, @res
|
||||
|
||||
it "should set showTrackChangesOnboarding = false if there is an error", (done) ->
|
||||
@AnalyticsManager.getLastOccurance.yields(new Error("oops"), null)
|
||||
@res.render = (pageName, opts)=>
|
||||
opts.showTrackChangesOnboarding.should.equal false
|
||||
done()
|
||||
@ProjectController.loadEditor @req, @res
|
||||
|
||||
it "should set showTrackChangesOnboarding = false if the user signed up after release", (done) ->
|
||||
@AuthenticationController.getLoggedInUserId.returns("58c11a608ba0d6e49e8ce5d5")
|
||||
@AnalyticsManager.getLastOccurance.yields(null, null)
|
||||
@res.render = (pageName, opts)=>
|
||||
opts.showTrackChangesOnboarding.should.equal false
|
||||
done()
|
||||
@ProjectController.loadEditor @req, @res
|
||||
|
||||
describe '_isInPercentageRollout', ->
|
||||
before ->
|
||||
@ids = [
|
||||
|
|
Loading…
Add table
Reference in a new issue