booktok romance books by main character (2024)

Quiz Lab

Quiz Lab

Literature

Book

Type in answers that appear in a list

Type in answers that appear in a list

Classic

Can you name the booktok romance book by the main character?

By siiiggg

5m

15 Questions

4 Plays4 Plays

4 Plays

Comments

Give Quiz Kudos

Give Quiz Kudos

-

Random OrderRandomize order of answers

Randomize order of answers

")$objective.click(() => {window.onClickObjective(reckoningQuestObjective.quest_number, reckoningQuestObjective.objective_number, reckoningQuestObjective.quest_id, reckoningQuestObjective.objective_id, $objective);});if (!window.mweb) {$j('#snark').hide();$objective.insertAfter($j('#gameOverMsg'));} else if (is_flagship_app_view) {$j('#snark').html();$objective.appendTo($j('#snark'));} else {$objective.appendTo($j('#reckoning .stats-wrapper'));}} else if (showSnark) {var snark = getSnark(userPct);var attachSnarkModalListener = false;if (snark !== '') {snark = ""+snark+"";if (!window.mweb) {if (false) {attachSnarkModalListener = true;snark += "";} else {snark += "";}}} else {$j('#snark').hide();}$j('#snark').html(snark);if(attachSnarkModalListener){ $j('#hide-snark-open-confirmation-modal').on('click', function () { var modalArgs = {title: 'Hide These Messages?',message: 'Are you sure you want to hide post-quiz messages?', onYes: function(remodal){ $j.ajax({ type: "GET", url: "/ajax/user_settings.php", data: {s: 0}, success: function(response) { if (response.success) { $j('#snark').hide(); remodal.close(); } else { if (response.responseJSON.message) { remodal.$modal.find('#confirmation-error').html(response.responseJSON.message); remodal.$modal.find('#confirmation-error').show(); } else { remodal.$modal.find('#confirmation-error').html('There was an error saving your preferences. Please contact feedback if you continue to see this issue.'); remodal.$modal.find('#confirmation-error').show(); } } }, error: function(response) { if (response.responseJSON.message) { remodal.$modal.find('#confirmation-error').html(response.responseJSON.message); remodal.$modal.find('#confirmation-error').show(); } else { remodal.$modal.find('#confirmation-error').html('There was an error saving your preferences. Please contact feedback if you continue to see this issue.'); remodal.$modal.find('#confirmation-error').show(); } } }); } }; SporcleLib.Modal._openConfirmationModal(modalArgs); }); }} else {$j('#snark').hide();}// Update get reckoning with playlist infovar playlistData;if (mweb) {playlistData = typeof window.playlist === 'object' && window.playlist.hasOwnProperty('games') ? window.playlist : null;} else {playlistData = window.Sporcle.gameData.playlist ? window.Sporcle.gameData.playlist.vm.data : null;}if (playlistData) {playlistReckoning(playlistData, userPct, false && !stopwatch);}$j('#playGameBar').addClass('reckoning');$j('#reckonBox').show();if (mweb) {/* mobile games only */$j('#reckoning-numright').html(numRight);$j('#reckoning-time').html(displayTime(timerSecs));if (stopwatch) {$j('#reckoning-time-title').text("Stopwatch");$j('#reckoning-time, #reckoning-score').addClass('timePast');}var checkToOpenFlorinPlayGoalModal = () => {if (userPct == 0) {return;}if (!florinsPlayGoalData) {return;}var openModal = false;if (florinsPlayGoalData.reward_claimable) {openModal = true;} else if (florinsPlayGoalData.curr_streak + 1 == florinsPlayGoalData.goal_days && florinsPlayGoalData.plays_today == 0) {// First play of the day, this should complete their play goalopenModal = true;}if (openModal) { window.SporcleLib.Modal.openFlorinPlayGoalModal({ // Fudge these values to be at the goal, since we haven't necessarily logged this play yet and it might be the 7th curr_streak : florinsPlayGoalData.goal_days, reward_claimable : true, plays_today : florinsPlayGoalData.plays_today + 1, goal_days : florinsPlayGoalData.goal_days, reward_amount : florinsPlayGoalData.reward_amount, })}}if (is_flagship_app_view) {let animations = window.animations;let hapticType = 'success';let completeMsg;let animConfig = {animationData : animations.checkmark,loop : true,playSegments : [[0, 30], [31, 75]]};if (userPct == 1) {animConfig.animationData = animations.perfectScore;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "Perfect Score!";} else if (timerSecs == 0) {hapticType = 'error';animConfig.animationData = animations.outOfTime;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "Out of Time!";} else if (_spks && !didGiveUp) {hapticType = 'error';animConfig.animationData = animations.bomb;animConfig.playSegments = [[0, 14], [15, 75]];completeMsg = "You Hit a Mine!";}window.SporcleLib.Modal.openModalFromTpl($j('#post-game-modal-tpl').html(), {show_loading : false,onInit : (modal) => {let $modal = modal.$modal; $modal.attr('id', 'postGameModal'); postGameAnim = lottie.loadAnimation({container : $modal.find('#postGameIcon')[0],animationData : animConfig.animationData,loop : animConfig.loop,autoplay : false});$modal.find('.modal-close').on('click', () => {window.continuePostQuiz();}); $modal.find('#completeMsg').html(completeMsg); $modal.find('#postPct').html(roundPercentScore(userPct));$modal.find('#postCorrect').html($j('#reckoning-score').text());if (snark) {$modal.find('#snark').html(snark);} else {$modal.find('#snark').hide();}setTimeout(() => {postGameAnim.playSegments(animConfig.playSegments, true);// if (hapticType) {// setTimeout(() => {// window.SporcleApp.api.playHaptic(hapticType);// }, 150);// }}, 150);},onClose : () => {// Need this delay because if we open a new modal right as the close animation finishes,// Then the modal events get confused and the "onOpen" callback never gets calledsetTimeout(() => {checkToOpenFlorinPlayGoalModal();}, 50);}});} else {checkToOpenFlorinPlayGoalModal();}}$j('#playGameBox').empty().hide();$j('#postGameBox').show();}function toggleshow() {showans = !showans;}function roundPercentScore(pctScore) {return _.round(100 * pctScore);}function updateBadge(userPct) {var earned = false;if (quizBadge && userPct > 0) { if (quizBadge.criteria && quizBadge.criteria.length) { var requiredCount = quizBadge.criteria.length; var earnedCount = 0; //Loop through possible badge criteria to see if we earned them quizBadge.criteria.forEach(function (criterion) { var comparison = parseInt(criterion.compare); if(criterion.name === 'percent'){ if ((comparison === 0 && userPct === parseFloat(criterion.value)) || //'0' means percent needs to equal (comparison === 1 && userPct > parseFloat(criterion.value)) || //'1' means percent needs to be greater than (comparison === -1 && userPct < parseFloat(criterion.value)) //'-1' means percent needs to be less than (at the time of writing, no badge exists like this) ) { earnedCount++; } } else if (criterion.name === 'month'){ var d = new Date(); //getMonth() starts at 0 if((d.getMonth() + 1 == criterion.value && comparison === 0) || (d.getMonth() + 1 > criterion.value && comparison === 1) || (d.getMonth() + 1 < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'day'){ var d = new Date(); if((d.getDate() == criterion.value && comparison === 0) || (d.getDate() > criterion.value && comparison === 1) || (d.getDate() < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'day_of_the_week'){ var d = new Date(); if((d.getDay() == criterion.value && comparison === 0) || (d.getDay() > criterion.value && comparison === 1) || (d.getDay() < criterion.value && comparison === -1) ){ earnedCount++; } } else if (criterion.name === 'avg_percent' && typeof averageScore !== 'undefined') {var roundedUserPct = _.round(userPct, 2); //matches backend precision in badge trackervar roundedAvgPct = _.round(averageScore, 2);if((roundedUserPct == roundedAvgPct && comparison === 0) || (roundedUserPct > roundedAvgPct && comparison === 1) || (roundedUserPct < roundedAvgPct && comparison === -1) ){ earnedCount++; } }}); earned = earnedCount == requiredCount;} else {earned = true;}} if (earned) {quizBadge.condition_earned = true;quizBadge.achieved_count++; var spliceIndex = null;_(quizBadge.remaining_conditions).each(function(condition, index) {if (quizBadge.condition_id == condition.condition_id) {spliceIndex = index;}});_(quizBadge.conditions).each(function(condition, index) {if (quizBadge.condition_id == condition.condition_id) {condition.earned = true;}});if (spliceIndex !== null) {quizBadge.remaining_conditions.splice(spliceIndex, 1); quizBadge.condition_earned_date = (new Date()).toLocaleDateString(undefined, { year: 'numeric', month: 'long', day: 'numeric' });; }if (quizBadge.remaining_conditions.length === 0 ) {if (quizBadge.badge_earned && quizBadge.levelable) {quizBadge.achieved_count = 0;quizBadge.level++;var currDate = new Date();quizBadge.last_level_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();} else {quizBadge.badge_earned = true;var currDate = new Date();quizBadge.earned_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();if (quizBadge.levelable) {quizBadge.level = 1;quizBadge.last_level_date = window.SporcleLib.getMonthString(currDate.getMonth()) + ' ' + currDate.getDate() + ', ' + currDate.getFullYear();quizBadge.achieved_count = 0;}}}if (badgeTooltip) {badgeTooltip.deactivate();}if (badgeTooltipRightRail) {badgeTooltipRightRail.deactivate();}var template = _.template($j('#quiz-badge-template').html());if (window.mweb) {$j('#main-wrapper .quiz-badge').replaceWith($j(template(quizBadge)));} else {quizBadge.tooltip_trigger_id = 'quiz-badge-art';$j('#main-quiz-content .quiz-badge').replaceWith($j(template(quizBadge)));quizBadge.tooltip_trigger_id = 'quiz-badge-art-right-rail';$j('#right-rail .quiz-badge').replaceWith($j(template(quizBadge)));if (!quizBadge.badge_earned) {if (window.setupUnearnedBadgeTooltip) {window.setupUnearnedBadgeTooltip($j('#quiz-badge-art'), quizBadge);window.setupUnearnedBadgeTooltip($j('#quiz-badge-art-right-rail'), quizBadge);} else {var conditionsTemp = _.template($j('#badge-conditions-template').html());var tooltipHtml = $j(conditionsTemp(quizBadge));const badgeTooltipOptions = { //this should match /sporcle-ui/tooltips/functionalTooltipstarget : true,tipJoint : 'bottom middle',showOn : 'mouseover',hideTriggers : ['target','tip'],stemLength : 8,stemBase : 12,hideOn : 'mouseout',removeElementsOnHide : true,background : 'white',borderColor : '#d8d8d8',borderWidth : 1,shadowOffset : [3,3],shadowBlur : 10,showEffect : 'slide',showEffectDuration : 0.1,hideEffectDuration : 0.3,className : 'badge-tooltip',shadowColor : 'rgba(0,0,0,0.25)'};badgeTooltip = new Opentip('#quiz-badge-art', tooltipHtml.html(), badgeTooltipOptions);badgeTooltipRightRail = new Opentip('#quiz-badge-art-right-rail', tooltipHtml.html(), badgeTooltipOptions);}} else {if (window.setupEarnedBadgeTooltip) {window.setupEarnedBadgeTooltip($j('#quiz-badge-art'), quizBadge);window.setupEarnedBadgeTooltip($j('#quiz-badge-art-right-rail'), quizBadge);}}}}}function showHintTooltip(x, y, hint) {$hint = $j('#hintTooltip');if ($hint.length == 0) {$hint = $j('

' +'

' +'

' +'

' +'

' +'

').appendTo($j('body'));}if (hint) {var $afterContainer = $hint.find('.afterContainer');var $after = $hint.find('.after');// Set to max width before resize$afterContainer.css({width: '120px'});$hint.show();// Set tooltip text to hint$after.html(hint);// Get width of tooltip with textvar width = Math.ceil($after[0].offsetWidth) + 1;var leftShift = 0;if (mweb) {// Make sure the tooltip doesn't go off either side of the screenvar leftBound = 51;var rightBound = $j('body').width() - 71;var buf = 11;// Shift based on width of textvar shiftLimit = Math.max(width/2 - 20, 0);if (x < leftBound) {// Too close to left edge of screenleftShift = -shiftLimit;x = Math.max(x, buf);} else if (x > rightBound) {// Too close to right edge of screenleftShift = shiftLimit;x = Math.min(x, $j('body').width() - buf);}}// Set the position of the hint$hint.css({left: x + 'px',top: y + 'px',});// Set outer container size and position$afterContainer.css({width: width + 'px',left: '-' + ((width / 2) + leftShift) + 'px'});} else {$hint.hide();}}function getRandomColor() {var r = Math.round(Math.random() * 255);var g = Math.round(Math.random() * 255);var b = Math.round(Math.random() * 255);return 'rgb(' + r + ',' + g + ',' + b + ')';}function hintTooltipIsDisplayed() {return $j('#hintTooltip').is(':visible');}function getCurrentHintText() {return $j('#hintTooltip .afterContainer .after').text();}// This is used to yield execution to the main javascript thread so that we can break longer running tasks into smaller tasks.// See here: https://web.dev/articles/optimize-long-tasks?utm_source=devtoolsfunction yieldToMain () {return new Promise(resolve => {setTimeout(resolve, 0);});}async function runStartCode(stopwatch) {if (typeof gamePageIsLoaded != "undefined" && gamePageIsLoaded) {if (window.startTriggered) {return;} else {window.startTriggered = true;}if (typeof stopwatch !== 'undefined') {if (stopwatch) {window.selectTimerSetting('stopwatch');} else {window.selectTimerSetting('timer');}}// The `startGame` function does a lot, so we want to yield execution both before and after this call. Yielding before// will allow the existing task to finish, freeing up the runtime to move to the next thing in the message queue before startGame// executes. Yielding after will do the same, before we perform the rest of the actions related to starting a quiz.await yieldToMain();await startGame(300);await yieldToMain();callSPHooks('postStart');}}function callSPHooks(name) {if (typeof _spHooks != 'undefined') {var hlen = _spHooks[name].length;for (var i = 0; i < hlen; i++) {_spHooks[name][i]();}}}

0/15

Quiz is untimed. Quiz plays in practice mode will not be counted towards challenge completion or badge progress.

05:00

(One of) main character(s)book title
Evelyn Hugo
Elio Perlman
Ava Chen
Alexis Montgomery
Conrad Fischer
January Andrews
Lina Emerson
Alex Claremont-Diaz
(One of) main character(s)book title
Bree Prescott
Aaron Warner
Garrett Graham
Olive Smith
Anastasia Allen
Meredith Fox
Harriet Kilpatrick
booktok romance books by main character (2024)

References

Top Articles
A Martinez: Filme, Serien und Biografie
What Has A Martinez Been Up To Since Longmire? - Looper
Navicent Human Resources Phone Number
Duralast Gold Cv Axle
Spn 1816 Fmi 9
The 10 Best Restaurants In Freiburg Germany
Craigslist Mexico Cancun
Pickswise the Free Sports Handicapping Service 2023
Delectable Birthday Dyes
Big Y Digital Coupon App
King Fields Mortuary
Joe Gorga Zodiac Sign
Mndot Road Closures
Nonuclub
WWE-Heldin Nikki A.S.H. verzückt Fans und Kollegen
Calmspirits Clapper
The Superhuman Guide to Twitter Advanced Search: 23 Hidden Ways to Use Advanced Search for Marketing and Sales
Https://Store-Kronos.kohls.com/Wfc
Clear Fork Progress Book
Puretalkusa.com/Amac
Swgoh Blind Characters
Glenda Mitchell Law Firm: Law Firm Profile
Isaidup
Spn 520211
Www.publicsurplus.com Motor Pool
Hood County Buy Sell And Trade
Happy Homebodies Breakup
Safeway Aciu
O'reilly's In Monroe Georgia
Schooology Fcps
Uncovering the Enigmatic Trish Stratus: From Net Worth to Personal Life
91 Octane Gas Prices Near Me
Wheeling Matinee Results
WOODSTOCK CELEBRATES 50 YEARS WITH COMPREHENSIVE 38-CD DELUXE BOXED SET | Rhino
417-990-0201
Transformers Movie Wiki
Jt Closeout World Rushville Indiana
Chicago Pd Rotten Tomatoes
One Credit Songs On Touchtunes 2022
Craigslist Albany Ny Garage Sales
Missouri State Highway Patrol Will Utilize Acadis to Improve Curriculum and Testing Management
Duff Tuff
Craigslist Pets Huntsville Alabama
Wisconsin Women's Volleyball Team Leaked Pictures
Dollar Tree's 1,000 store closure tells the perils of poor acquisitions
Anderson Tribute Center Hood River
Pulitzer And Tony Winning Play About A Mathematical Genius Crossword
Mybiglots Net Associates
Gli italiani buttano sempre più cibo, quasi 7 etti a settimana (a testa)
Reli Stocktwits
Spreading Unverified Info Crossword Clue
login.microsoftonline.com Reviews | scam or legit check
Latest Posts
Article information

Author: Greg Kuvalis

Last Updated:

Views: 5549

Rating: 4.4 / 5 (75 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Greg Kuvalis

Birthday: 1996-12-20

Address: 53157 Trantow Inlet, Townemouth, FL 92564-0267

Phone: +68218650356656

Job: IT Representative

Hobby: Knitting, Amateur radio, Skiing, Running, Mountain biking, Slacklining, Electronics

Introduction: My name is Greg Kuvalis, I am a witty, spotless, beautiful, charming, delightful, thankful, beautiful person who loves writing and wants to share my knowledge and understanding with you.