Skip to content

Commit

Permalink
Add JetpackPluginOverlayViewModel
Browse files Browse the repository at this point in the history
  • Loading branch information
alpavanoglu committed Feb 3, 2023
1 parent 898c3e7 commit d4a15f1
Show file tree
Hide file tree
Showing 5 changed files with 154 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -148,17 +148,18 @@ class JetpackFeaturesRemovalCoordinator: NSObject {
let phase = generalPhase()
let frequencyConfig = phase.frequencyConfig
let frequencyTrackerPhaseString = source.frequencyTrackerPhaseString(phase: phase)
var viewModel = JetpackFullscreenOverlayGeneralViewModel(phase: phase, source: source, blog: blog)
// var viewModel = JetpackFullscreenOverlayGeneralViewModel(phase: phase, source: source, blog: blog)
var viewModel = JetpackPluginOverlayViewModel(siteName: "https://alpavanoglu.wordpress.com")
viewModel.onWillDismiss = onWillDismiss
viewModel.onDidDismiss = onDidDismiss
let frequencyTracker = JetpackOverlayFrequencyTracker(frequencyConfig: frequencyConfig,
phaseString: frequencyTrackerPhaseString,
source: source)
guard viewModel.shouldShowOverlay, frequencyTracker.shouldShow(forced: forced) else {
onWillDismiss?()
onDidDismiss?()
return
}
// guard viewModel.shouldShowOverlay, frequencyTracker.shouldShow(forced: forced) else {
// onWillDismiss?()
// onDidDismiss?()
// return
// }
createAndPresentOverlay(with: viewModel, in: viewController, fullScreen: fullScreen)
frequencyTracker.track()
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
import Foundation

class JetpackPluginOverlayViewModel: JetpackFullscreenOverlayViewModel {
private enum Constants {
static let lottieLTRFileName = "JetpackInstallPluginLogoAnimation_ltr"
static let lottieRTLFileName = "JetpackInstallPluginLogoAnimation_rtl"
}

let title: String = Strings.title
let subtitle: NSAttributedString
let animationLtr: String = Constants.lottieLTRFileName
let animationRtl: String = Constants.lottieRTLFileName
let footnote: String? = Strings.footnote
let learnMoreButtonURL: String? = nil
let switchButtonText = Strings.primaryButtonTitle
let continueButtonText: String? = Strings.secondaryButtonTitle
let shouldShowCloseButton = true
let analyticsSource: String = ""
var onWillDismiss: JetpackOverlayDismissCallback?
var onDidDismiss: JetpackOverlayDismissCallback?
var secondaryView: UIView? = nil
let isCompact = false

init(siteName: String) {
self.subtitle = Self.subtitle(withSiteName: siteName)
}

func trackOverlayDisplayed() {
}

func trackLearnMoreTapped() {
}

func trackSwitchButtonTapped() {
}

func trackCloseButtonTapped() {
}

func trackContinueButtonTapped() {
}

private static func subtitle(withSiteName siteName: String) -> NSAttributedString {
let siteNameAttributedText = attributedSubtitle(with: siteName, fontWeight: .bold)
let jetpackBackupAttributedText = attributedSubtitle(with: Strings.jetpackBackupText, fontWeight: .bold)
let jetpackPluginAttributedText = attributedSubtitle(with: Strings.jetpackPluginText, fontWeight: .bold)

return NSAttributedString(
format: attributedSubtitle(
with: Strings.subtitle,
fontWeight: .regular),
args: ("%1$@", siteNameAttributedText), ("%2$@", jetpackBackupAttributedText), ("%3$@", jetpackBackupAttributedText)
)
}

private static func attributedSubtitle(with string: String, fontWeight: UIFont.Weight) -> NSMutableAttributedString {
let font = WPStyleGuide.fontForTextStyle(.body, fontWeight: fontWeight)
return NSMutableAttributedString(string: string, attributes: [.font: font])
}
}

private extension NSAttributedString {
convenience init(format: NSAttributedString, args: (String, NSAttributedString)...) {
let mutableNSAttributedString = NSMutableAttributedString(attributedString: format)

args.forEach { (key, attributedString) in
let range = NSString(string: mutableNSAttributedString.string).range(of: key)
mutableNSAttributedString.replaceCharacters(in: range, with: attributedString)
}
self.init(attributedString: mutableNSAttributedString)
}
}

// MARK: - Strings
private extension JetpackPluginOverlayViewModel {
enum Strings {
static let title = NSLocalizedString(
"jetpack.plugin.modal.title",
value: "Please install the full Jetpack plugin",
comment: "Jetpack Plugin Modal title"
)

static let subtitle = NSLocalizedString(
"jetpack.plugin.modal.subtitle",
value: """
%1$@ is using the %2$@, which doesn't support all features of the app yet.
Please install the %3$@ to use the app with this site.
""",
comment: """
Jetpack Plugin Modal subtitle with formatted texts.
One is for the site name, the other for 'Jetpack Backup'
and the last one for 'full Jetpack Plugin'
"""
)

static let jetpackBackupText = NSLocalizedString(
"jetpack.plugin.modal.subtitle.jetpack.backup",
value: "Jetpack Backup",
comment: "The 'Jetpack Backup' string in the subtitle"
)

static let jetpackPluginText = NSLocalizedString(
"jetpack.plugin.modal.subtitle.jetpack.plugin",
value: "full Jetpack Plugin",
comment: "The 'full Jetpack Plugin' string in the subtitle"
)

static let footnote = NSLocalizedString(
"jetpack.plugin.modal.footnote",
value: "By setting up jetpack you agree to our Terms and Conditions",
comment: "Jetpack Plugin Modal footnote"
)

static let primaryButtonTitle = NSLocalizedString(
"jetpack.plugin.modal.primary.button.title",
value: "Install the full plugin",
comment: "Jetpack Plugin Modal primary button title"
)

static let secondaryButtonTitle = NSLocalizedString(
"jetpack.plugin.modal.secondary.button.title",
value: "Contact Support",
comment: "Jetpack Plugin Modal secondary button title"
)
}
}
1 change: 1 addition & 0 deletions WordPress/JetpackInstallPluginLogoAnimation_ltr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"v":"5.10.2","fr":60,"ip":0,"op":145,"w":131,"h":71,"nm":"jp-error-left lottie","ddd":0,"assets":[{"id":"comp_0","nm":"jp-error-left","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"Jetpack","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.186],"y":[1]},"o":{"x":[0.561],"y":[0]},"t":74,"s":[90.001]},{"t":106,"s":[209.863]}],"ix":3},"y":{"a":0,"k":81.001,"ix":4}},"a":{"a":0,"k":[77.5,77.5,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"t":42,"s":[0,0,100]},{"t":58,"s":[99.8,99.8,100]}],"ix":6,"l":2}},"ao":0,"w":155,"h":155,"ip":32,"op":1212,"st":12,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":1,"nm":"Pale Green Solid 1","parent":1,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[17.137,76.999,0],"ix":2,"l":2},"a":{"a":0,"k":[150,81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"s","pt":{"a":0,"k":{"i":[[38.936,0],[0,-38.936],[-38.936,0],[0,38.936]],"o":[[-38.936,0],[0,38.936],[38.936,0],[0,-38.936]],"v":[[206,11],[135.5,81.5],[206,152],[276.5,81.5]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"sw":300,"sh":162,"sc":"#bdf0bc","ip":0,"op":1200,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"Warning icon","tt":1,"tp":2,"refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[90.28,81,0],"ix":2,"l":2},"a":{"a":0,"k":[65,65,0],"ix":1,"l":2},"s":{"a":0,"k":[107.2,107.2,100],"ix":6,"l":2}},"ao":0,"w":130,"h":130,"ip":0,"op":1200,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"Warning icon","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[90.28,81,0],"ix":2,"l":2},"a":{"a":0,"k":[65,65,0],"ix":1,"l":2},"s":{"a":0,"k":[107.2,107.2,100],"ix":6,"l":2}},"ao":0,"w":130,"h":130,"ip":0,"op":58,"st":0,"bm":0}]},{"id":"comp_1","nm":"jetpack logo","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Circle 3","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[77.499,77.499,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,19.325],[-19.282,0],[0,-19.325],[19.325,0]],"o":[[0,-19.325],[19.325,0],[0,19.325],[-19.325,0]],"v":[[-35,0],[0,-35],[35,0],[0,35]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.023529412225,0.61960786581,0.031372550875,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Top Triangle","tt":1,"tp":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":77.499,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.104],"y":[1]},"o":{"x":[0.452],"y":[0]},"t":42,"s":[219.499]},{"t":74,"s":[77.499]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-19.239,5.797],[-1.804,5.797],[-1.804,-28.128]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1242,"st":42,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Circle 2","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[77.499,77.499,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,19.325],[-19.282,0],[0,-19.325],[19.325,0]],"o":[[0,-19.325],[19.325,0],[0,19.325],[-19.325,0]],"v":[[-35,0],[0,-35],[35,0],[0,35]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.023529412225,0.61960786581,0.031372550875,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Bottom Triangle","tt":1,"tp":3,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":77.499,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.104],"y":[1]},"o":{"x":[0.452],"y":[0]},"t":42,"s":[-57.501]},{"t":74,"s":[77.499]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[1.761,-5.883],[1.761,28.043],[19.153,-5.883]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1242,"st":42,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Circle","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[77.499,77.499,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,19.325],[-19.282,0],[0,-19.325],[19.325,0]],"o":[[0,-19.325],[19.325,0],[0,19.325],[-19.325,0]],"v":[[-35,0],[0,-35],[35,0],[0,35]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.023529412225,0.61960786581,0.031372550875,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Warning icon","fr":30,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"warning","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[64,64,0],"ix":2,"l":2},"a":{"a":0,"k":[40,40,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":80,"h":80,"ip":0,"op":1200,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Warning icon","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[65,65,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[65,65],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":100,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.839215695858,0.211764708161,0.219607844949,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Warning icon","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"ct":1,"bm":0}]},{"id":"comp_3","nm":"warning","fr":30,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,7.367],[7.367,0],[0,-7.367],[-7.367,0]],"o":[[0,-7.367],[-7.367,0],[0,7.367],[7.367,0]],"v":[[13.333,0],[0,-13.333],[-13.333,0],[0,13.333]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[2.467,-8.467],[1.883,2.3],[-1.883,2.3],[-2.467,-8.467]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.7],[0.4,-0.383],[0,0],[0.75,0],[0.433,0.383],[0,0.683],[-0.417,0.383],[-0.783,0],[-0.4,-0.383]],"o":[[0,0.683],[0,0],[-0.417,0.383],[-0.75,0],[-0.417,-0.383],[0,-0.7],[0.417,-0.383],[0.783,0],[0.4,0.383]],"v":[[2.35,6.3],[1.733,7.9],[1.733,7.9],[-0.017,8.467],[-1.783,7.9],[-2.417,6.3],[-1.8,4.683],[-0.017,4.1],[1.75,4.683]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"warning","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,40,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":2,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[200,200],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"warning","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1200,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"jp-error-left","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[65.5,35.5,0],"ix":2,"l":2},"a":{"a":0,"k":[150,81,0],"ix":1,"l":2},"s":{"a":0,"k":[50,50,100],"ix":6,"l":2}},"ao":0,"w":300,"h":162,"ip":0,"op":145,"st":0,"bm":0}],"markers":[{"tm":0,"cm":"","dr":145}]}
Loading

0 comments on commit d4a15f1

Please sign in to comment.