Either/Or Management
Welcome to Fans United Either/Or Management Widget. The widget allows staff members with sufficient permissions to create, update and delete Either/Or mini-games. You can use this widget as it is and embed it in your platform, or you can use the Management Panel. Either/Or is a mini-game where users receives two options and he needs to answer which is one more or less for a specified time. With successful installation, you can create, edit and delete a Either/Or mini-game.
Installation and usage
The easiest way to use fansunited-widget-either-or-management is to install it from npm as follows:
npm install fansunited-widget-either-oror:
yarn add fansunited-widget-either-orHere is an example how you can integrate Fans United Either/Or Management Widget:
import 'fansunited-widget-either-or/style.css';
import { EitherOrManager } from 'fansunited-widget-either-or';
const App = () => {
return (
<EitherOrManager
fansUnitedApiKey={'your-api-key'}
fansUnitedClientId={'your-client-id'} />
);
}Notes
-
The widget is bundled as a React component and its usage is as simple as the above example
-
Don't worry about your project's CSS. The widget's styling is done with Tailwind CSS and all classes are prefixed to avoid collisions with your existing CSS. This means that the widget's CSS will NOT affect yours. One important thing is that you need to import
style.cssfile from package folder:
import 'fansunited-widget-either-or/style.css';
N.B: If you are using an entry point for importing all your stylings, you need to import fansunited-widget-either-or/style.css there as well
- Easy translation in every language. For more information check our Translation heading.
Props
type EitherOrManagerProps = {
fansUnitedApiKey: string;
fansUnitedClientId: string;
fansUnitedLanguage?: string;
fansUnitedEnvironment?: string;
sportal365Project?: string;
sportal365Infrastructure?: 'shared' | 'betway';
labels?: LabelsModel;
hideSignOutButton?: boolean;
};Fans United Either/Or Management Widget depends on Fans United JS SDK and Fans United Client API. Thats why fansUnitedApiKey and fansUnitedClientId are required. They will be provided to you from Fans United team. For other optional props here is some information:
-
fansUnitedLanguage- for our sports APIs FansUnited platform supports different languages. For now they are Bulgarian (bg), English (en), Romanian (ro), Greek (el), Slovak (sk), Serbian (sr) and Hungarian (hu). If no value given it will be set to English (en). -
fansUnitedEnvironment- You can run the widget in the following environments: staging, production, watg and yolo. If no value given it will be set to production (prod). -
labels- you can easily translate all labels, UI messages, descriptions, placeholders and etc. with this prop. By default, Fans United Match Either/Or Management Widget is available in English so if no value is given, the widget will be translated in English. -
sportal365Project- The Sportal365 project. Used as a request header when communicating with Sportal365 APIs. -
sportal365Infrastructure- The Sportal365 infrastructure. Used to determine what authorization should be used when communicating with Sportal365 APIs. If no value given (when sportal365Project props is provided) it will be set to shared . -
hideSignOutButton- By default on the top left corner of the widget will be displayed a sign out button. To hide that button set this prop to true.
Translation
You can easily translate Fans United Either/Or Management Widget in your language! You just need to pass an object to labels prop with concrete keys and values and that's it! Here's an example how you can do it:
import 'fansunited-widget-either-or/style.css';
import { EitherOrManager } from 'fansunited-widget-either-or';
const labels = {
userNotFound: 'User not found. Please try again',
clientFeaturesNotFoundMessage: "There was a problem fetching client's configuration. Please check again your API key and client ID. For more information contact Fans United staff.",
noGamesFound: "No Either/Or games were found. You can create one by clicking the button 'Create'",
featureDisabled: 'Feature disabled!',
noPermissionMessage: 'You have no permission for this feature!',
tryAgainButton: 'Try again',
additionalInformation: 'Additional information',
signOut: 'Sign out',
timeFormat: 'DD.MM.YYYY, HH:mm',
getEitherOrsErrorMessage: 'There was a problem with fetching list of Either/Or games',
title: 'Title',
alternativeTitle: 'Alternative title',
status: 'Status',
creationDate: 'Created at',
actions: 'Actions',
create: 'Create',
edit: 'Edit',
save: 'Save',
preview: 'Preview',
previewGame: 'Preview Either/Or',
close: 'Close',
filterBy: 'Filter by:',
sortBy: 'Sort by:',
clearStatus: 'Clear status',
contextEntityTag: 'Context entity tag',
typeContextTagNamePlaceholder: 'Type context tag name...',
itemsPerPage: 'Items per page',
pageNo: 'Page No',
deleteEitherOrTitle: 'Delete Either/Or',
deleteEitherOrDescription: 'Are you sure you want to delete',
showMoreImages: 'Show more images',
hideMoreImages: 'Hide more images',
uploadImage: 'Upload image',
groupByStatus: 'Group by status',
copyUrl: 'Copy URL',
copied: 'Copied',
add: 'Add',
configuration: 'Configuration',
description: 'Description',
descriptionPlaceholder: 'Describe your Either/Or',
images: 'Images',
rules: 'Rules',
rulesPlaceholder: 'Describe your rules for participating in Either/Or',
adContent: 'Ad content',
adContentPlaceholder: 'Place your ad content in Either/Or',
optionImages: 'Option images',
main: 'Main',
cover: 'Cover',
mobile: 'Mobile',
imagePlaceholder: 'Paste your image as valid URL or as relative path',
active: 'Active',
inactive: 'Inactive',
expired: 'Expired',
statusDescription: "When Either/Or is Inactive, then users are not allowed to participate",
winningCondition: 'Winning condition',
winningConditionDescription: "Winning condition determines the correct choice out of a pair of options presented to the user. When is set to 'More,' the user must select the option that has a greater value to win. Conversely, if is set to 'Less,' the winning choice is the one with the lesser value",
more: 'More',
less: 'Less',
time: 'Time',
timeDescription: 'Enter the time limit for answering questions by users. Time is in seconds',
lives: 'Lives',
livesDescription: 'Enter how many lives the user will have during a game',
points: 'Points',
pointsDescription: 'Set the threshold of consecutive correct answers after which points are awarded and define the amount of points received from this step onwards.Valid value for correct steps is between 0-50 and for score 1-100',
pointNumber: 'Point number',
pointsCorrectSteps: 'Correct steps',
pointsCorrectStepsPlaceholder: 'Set the number of correct steps needed in a row to earn points',
pointsScore: 'Score',
pointsScorePlaceholder: 'Set the points awarded per correct answer within the streak',
optionsDescription: 'Describe the options that users will select from during the game. Ensure to provide a minimum of 5 and a maximum of 100 options',
optionsValue: 'Value',
optionsValuePlaceholder: 'Type the value of the option',
repeatedValueMessage: 'You have entered a repeated value. Please enter a different one',
flags: 'Flags',
flagsPlaceholder: 'Type your flag and hit enter',
labels: 'Labels',
customFields: 'Custom fields',
dynamicFieldsDescription: 'You can create your custom attributes for easier way to connect or describe your Either/Or',
keyDynamicFields: 'Key',
valueDynamicFields: 'Value',
options: 'Options',
optionNumber: 'Option number',
context: 'Context',
content: 'Content',
tags: 'Tags',
entity: 'Entity',
campaign: 'Campaign',
id: 'ID',
label: 'Label',
type: 'Type',
typeDescription: 'Select the Either/Or type. You can set the types in our Management Portal by going to Features, then clicking on the Either/Or page',
deleteLabel: 'Delete',
getFootballEntitiesErrorMessage: "There was a problem with fetching football's data",
createEitherOrMessage: 'You have successfully created Either/Or',
createEitherOrErrorMessage: 'There was a problem creating Either/Or. Please try again',
titleRequiredFieldValidationMessage: 'Title field is required!',
livesFieldValidationMessage: "The value for 'lives' field is invalid. The valid one is withing the range of 1-20",
timeFieldValidationMessage: "The value for 'time' field is invalid. The valid one is withing the range of 1-20",
pointsFieldValidationMessage: "Points contain value where score or correct steps is an invalid one",
optionsFieldValidationMessage: "Options must not contain any repeated IDs",
tagsInvalidFieldValidationMessage: 'Tag entity is required!',
getEitherOrErrorMessage: 'There was a problem with fetching Either/Or data. Please try again',
deleteEitherOrMessage: 'You have successfully deleted Either/Or',
deleteEitherOrErrorMessage: 'There was a problem with deleting Either/Or. Please try again',
updateEitherOrMessage: 'You have successfully updated Either/Or',
updateEitherOrErrorMessage: 'There was a problem updating Either/Or. Please try again',
updateEitherOrTranslationErrorMessage: 'There was a problem translating Either/Or game. Please try again',
uploadingImageMessage: 'You have successfully uploaded image',
generateSignedInUrlErrorMessage: 'There was a problem generating signed in URL to store the image in bucket. Please try again',
uploadingImageErrorMessage: 'There was a problem with uploading image to bucket. Please try again',
encryptingImageErrorMessage: 'There was a problem with encrypting image before uploading it to bucket. Please try again',
searchSportal365ImagesErrorMessage: 'There was a problem with searching images from Sportal 365 API. Please try again',
hideFilters: 'Hide filters',
showFilters: 'Show filters',
branding: 'Branding',
urls: 'URLs',
primaryUrl: 'Primary URL',
secondaryUrl: 'Secondary URL',
privacyPolicyUrl: 'Privacy Policy URL',
termsAndConditionsUrl: 'Terms and Conditions URL',
additionalUrl: 'Additional URL',
colors: 'Colors',
primaryColor: 'Primary Color',
secondaryColor: 'Secondary Color',
contentColor: 'Content Color',
backgroundColor: 'Background Color',
borderColor: 'Border Color',
additionalColor: 'Additional Color',
mainLogo: 'Main Logo',
mobileLogo: 'Mobile Logo',
backgroundImage: 'Background Image',
mobileBackgroundImage: 'Mobile Background Image',
additionalImage: 'Additional Image',
exportAllUsers: "Export all users",
usersExportMessage: "All users have been exported successfully",
usersExportErrorMessage: "There was a problem with exporting users. Please try again",
createFromTemplate: 'Create from template',
browseEitherOrGames: 'Browse Either/Or Games',
noTemplateGamesFound: 'No Either/Or games were found.',
expand: 'Expand',
import: 'Import',
translateAndImport: 'Translate to _language_ and Import',
sortByCreatedAtAsc: 'Sort by created at field in ascending order',
sortByCreatedAtDesc: 'Sort by created at field in descending order',
sortByUpdatedAtAsc: 'Sort by updated at field in ascending order',
sortByUpdatedAtDesc: 'Sort by updated at field in descending order',
mainImage: 'Main',
coverImage: 'Cover',
mobileImage: 'Mobile',
clearImage: 'Clear image',
viewImage: 'View image',
cropImage: 'Crop image',
aspectRatio: 'Aspect ratio',
crop: 'Crop',
reset: 'Reset',
sportal365Images: 'Sportal365 Images',
search: 'Search',
delete: 'Delete',
schedule: 'Schedule',
scheduledTaskNotAvailable: 'To configure scheduled tasks you need to first create your game',
createScheduledTaskMessage: 'You have successfully created scheduled task',
createScheduledTaskErrorMessage: 'An error occurred while creating scheduled task. Please try again later',
updateScheduledTaskMessage: 'You have successfully updated scheduled task',
updateScheduledTaskErrorMessage: 'An error occurred while updating scheduled task. Please try again later',
deleteScheduledTaskMessage: 'You have successfully deleted scheduled task',
deleteScheduledTaskErrorMessage: 'An error occurred while deleting scheduled task. Please try again later',
deleteScheduledTaskModalTitle: 'Delete scheduled task',
deleteScheduledTaskModalParagraph: 'Are you sure you want to delete the following scheduled task: ',
changeStatusTo: 'Change status to:',
at: 'At:',
authRequirement: 'Auth Requirement',
authRequirementDescription: 'Choose the type of authentication to be used.',
free: 'Free',
lead: 'Lead',
registered: 'Registered',
paid: 'Paid',
language: 'Language',
languageDescription: 'Select the language for your game. You can manage language selection by configuring available languages in language configuration. It cannot be changed if multilingual feature is in use.',
urlCopiedToClipboardMessage: 'URL copied to clipboard',
imageDeletedMessage: 'Image deleted',
imageResetMessage: 'The initial size of the image has been restored',
exports: 'Exports',
exportUsersData: 'Export users data',
category: 'Category',
action: 'Action',
exportAllUsersDescription: 'Export all users who participated in the game.',
fromDate: 'From Date',
toDate: 'To Date',
addOption: 'Add option',
removeOption: 'Remove option',
addImages: 'Add images',
additionalFields: 'Additional fields',
addPoint: 'Add point',
removePoint: 'Remove point',
reports: 'Reports',
standings: 'Standings',
participations: 'Participations',
participationOverview: 'Participation Overview',
exportUsersWithMinPoints: 'Export all users with at least _minPoints_ points',
exportUsersWithMinPointsDescription: 'Exports the users who got at least _minPoints_ points in the game.',
chartErrorMessage: 'There was a problem with fetching information about either/or game participation. Please try again',
performanceByDay: 'Performance by day',
noStandingsAvailable: 'No standings available.',
standingsErrorMessage: 'There was a problem with fetching information about either/or game standings. Please try again',
name: 'Name',
languagesModalTitle: 'Select Languages',
languagesModalDescription: 'Select the languages this game is going to be translated in.',
languagesModalSave: 'Save language preference',
languageParentText: 'This game is a translated version of',
gameTranslationErrorMessage: 'An error occurred while translating the game.',
translateTo: 'Translate to ',
exportUsersLeads: 'Export users leads',
exportAllUsersLeads: 'Export all users leads',
exportAllUsersLeadsDescription: 'Export all users collected leads in the game.',
usersLeadsExportMessage: 'All users leads have been exported successfully',
usersLeadsExportErrorMessage: 'There was a problem with exporting all users leads. Please try again',
related: 'Related',
relationship: 'Relationship',
relatedEntitiesErrorMessage: 'There was a problem with fetching entities for related. Please try again',
widgetEmbedCodeTitle: 'Widget embed code',
configureLeads: 'Configure leads',
configureLeadsDisabledMessage: 'Configure leads is enabled only when the authentication requirement is set to “Lead”.',
leadPosition: 'Lead position',
addCampaignInfo: 'Add campaign info',
campaignIdInfoMessage: 'Group multiple content items by a campaign ID. This field will be used for filtering later on, so make sure you have excatly the same ID across your multiple quizzes, polls and other games in general. We recommend using lowercase and -. Example: "adidas-december-2025"',
campaignNameInfoMessage: 'A label for your campaign that will appear in the reports. You can use anything here. Example: "Adidas (December 2025)"',
copyToClipboard: 'Copy to clipboard',
divElementTextInfo: "The generated embed code can be copied directly into your website's HTML. For comprehensive implementation details, visit our documentation: ",
widgetEmbedCodeNotAvailable: 'To configure embed code you need to first create your Either/Or game.',
signInLabel: 'Label',
signInLabelInfoMessage: `Custom text displayed on the sign-in button. If empty, defaults to "Sign in to vote".`,
authenticationHandler: 'Authentication handler',
authenticationHandlerInfoMessage: 'JavaScript function code that executes when users click the sign-in button. To evaluate the function, provide only the function name. Example: showLoginModal() or window.openAuth(). The function is required otherwise the sign-in button will just log dummy message in the console.',
configureSignIn: 'Configure sign-in options',
configureSignInDisabledMessage: `Configure sign-in options is enabled only when the authentication requirement is set to “Registered”.`,
translationOptions: 'Translate to:',
cloneMiniGameTitle: 'Clone Either/Or',
clone: 'Clone',
cloneEitherOrMessage: 'You have successfully cloned Either/Or',
cloneEitherOrErrorMessage: 'There was a problem cloning Either/Or. Please try again',
translationErrorMessage: 'An error occurred while translating.'
};
const App = () => {
return (
<EitherOrManager
fansUnitedApiKey={'your-api-key'}
fansUnitedClientId={'your-client-id'}
labels={labels}/>
);
}Here is all information about LabelsModel:
| Key | Description | Default Value |
|---|---|---|
userNotFound | On login screen when client gives invalid information about email or password. | User not found. Please try again |
clientFeaturesNotFoundMessage | Toast error message when client is providing invalid value to fansUnitedApiKey or fansUnitedClientId prop. | There was a problem fetching client's configuration. Please check again your API key and client ID. For more information contact Fans United staff. |
featureDisabled | Label for no permission card title | Feature disabled! |
noPermissionMessage | Label for no permission card paragraph | You have no permission for this feature! |
tryAgainButton | Label for no permission card button | Try again |
additionalInformation | Label for tooltip button | Additional information |
noGamesFound | When there are no created games for specific client, this message will appear on screen. | No Either/Or games were found. You can create one by clicking the button 'Create' |
signOut | Used as label on sign out button. | Sign out |
getEitherOrsErrorMessage | react-toastify error message when request fails for fetching list of Either/Or. | There was a problem with fetching list of Either/Or games |
title | Label for title | Title |
alternativeTitle | Label for alternative title | Alternative title |
status | Status of a Either/Or | Status |
creationDate | Date of created Either/Or in same format as given for timeFormat prop | Created at |
actions | Two icon buttons with different actions | Actions |
create | Label for management header | Create |
edit | Label for management header | Edit |
save | Label for save button | Save |
preview | Label for preview button | Preview |
previewGame | Title for preview game modal | Preview Either/Or |
close | Label for close button | Close |
filterBy | Label for filters container on main screen | Filter by: |
sortBy | Label for sort container on main screen | Sort by: |
clearStatus | Label for clear status hyperlink for status filter | Clear status |
contextEntityTag | Label for input search for context entity tag in filters container | Context entity tag |
typeContextTagNamePlaceholder | Placeholder for input search for context entity tag in filters container and in context side bar | Type context tag name... |
showMoreImages | Label for hyperlink in images container | Show more images |
hideMoreImages | Label for hyperlink in images container | Hide more images |
uploadImage | Label next to upload button | Upload image |
groupByStatus | Label for checkbox in sort container | Group by status |
copyUrl | Label for copy url button | Copy URL |
copied | Label for copy url button | Copied |
add | Label for add button | Add |
configuration | Label for configuration accordion | Configuration |
timeFormat | Timeformat for displaying dates. Widgets uses dayjs as a date dependency. | DD.MM.YYYY, HH:mm |
previous | Label for pagination button. | Previous |
next | Label for pagination button. | Next |
id | Label for ID read only input field. | ID |
description | Label for desciption input field on management screen. | Description |
descriptionPlaceholder | Placeholder/desciption about input field for game description when creating/editing a game. | Describe your Either/Or |
images | Label for images container. | Images |
rules | Label for rules rich text. | Rules |
rulesPlaceholder | Placeholder for rules rich text. | Describe your rules for participating in Either/Or |
adContent | Label for AD content rich text. | Ad content |
adContentPlaceholder | Placeholder for AD content rich text. | Place your ad content in Either/Or |
optionImages | Label for option images container. | Option images |
main | Label for main image. | Main |
cover | Label for cover image. | Cover |
mobile | Label for mobile image. | Mobile |
imagePlaceholder | Placeholder for image inputs. | Paste your image as valid URL or as relative path |
active | Label for status. | Active |
inactive | Label for status. | Inactive |
expired | Label for status. | Expired |
statusDescription | Description for status select. | When Either/Or is Inactive, then users are not allowed to participate |
winningCondition | Label for winning condition select. | Winning condition |
winningConditionDescription | Description for winning condition select. | Winning condition determines the correct choice out of a pair of options presented to the user. When is set to 'More,' the user must select the option that has a greater value to win. Conversely, if is set to 'Less,' the winning choice is the one with the lesser value |
more | Label for more option. | More |
less | Label for less option. | Less |
time | Label for time input. | Time |
timeDescription | Placeholder for time input. | Enter the time limit for answering questions by users. Time is in seconds |
lives | Label for lives input. | Lives |
livesDescription | Placeholder for lives input. | Enter how many lives the user will have during a game |
points | Label for points. | Points |
pointsDescription | Description for points. | Set the threshold of consecutive correct answers after which points are awarded and define the amount of points received from this step onwards.Valid value for correct steps is between 0-50 and for score 1-100 |
pointNumber | Label for point container. | Point number |
pointsCorrectSteps | Label for points correct steps input. | Correct steps |
pointsCorrectStepsPlaceholder | Placeholder for point correct steps input. | Set the number of correct steps needed in a row to earn points |
pointsScore | Label for points score input. | Score |
pointsScorePlaceholder | Placeholder for points score input. | Set the points awarded per correct answer within the streak |
optionsDescription | Description for options. | Describe the options that users will select from during the game. Ensure to provide a minimum of 5 and a maximum of 100 options |
optionsValue | Label for options value. | Value |
optionsValuePlaceholder | Placeholder for options value. | Type the value of the option |
flags | Label for choosing flags. | Flags |
flagsPlaceholder | Placeholder on input field for flags | Type your flag and hit enter |
labels | Label for labels container | Labels |
customFields | Label for custom fields container | Custom fields |
dynamicFieldsDescription | Description paragraph for labels and custom fields containers | You can create your custom attributes for easier way to connect or describe your Either/Or |
keyDynamicFields | Label for key input | Key |
valueDynamicFields | Label for value input | Value |
repeatedValueMessage | react-toastify warning message when client submits same flag. | You have entered a repeated value. Please enter a different one |
options | Label for options. | Options |
optionNumber | Label for option container's header. | Option number |
correct | Label for correct radio button. | Correct |
context | Label for context container. | Context |
content | Label for context content container. | Content |
tags | Label for context tags container. | Tags |
entity | Label for entity search in tag. | Entity |
campaign | Label for context campaign container. | Campaign |
id | Label for ID. | ID |
label | Label for context content/campaign label input. | Label |
type | Label for context content type input. | Type |
typeDescription | Description paragraph for type select. | Select the Either/Or type. You can set the types in our Management Portal by going to Features, then clicking on the Either/Or page |
deleteLabel | Label for delete button in confirmation modal. | Delete |
hideFilters | Label for hyperlink to hide filters for image search | Hide filters |
showFilters | Label for hyperlink to show filters for image search | Show filters |
branding | Label for branding container | Branding |
urls | Label for branding urls container | URLs |
primaryUrl | Label for branding primary url input | Primary URL |
secondaryUrl | Label for branding secondary url input | Secondary URL |
privacyPolicyUrl | Label for branding privacy policy url input | Privacy Policy URL |
termsAndConditionsUrl | Label for branding terms and conditions url input | Terms and Conditions URL |
additionalUrl | Label for branding additional url input | Additional URL |
colors | Label for branding colors container | Colors |
primaryColor | Label for branding primary color input | Primary Color |
secondaryColor | Label for branding secondary color input | Secondary Color |
contentColor | Label for branding content color input | Content Color |
backgroundColor | Label for branding background color input | Background Color |
borderColor | Label for branding border color input | Border Color |
additionalColor | Label for branding additional color input | Additional Color |
mainLogo | Label for branding main logo | Main Logo |
mobileLogo | Label for branding mobile logo | Mobile Logo |
backgroundImage | Label for branding background image | Background Image |
mobileBackgroundImage | Label for branding mobile background image | Mobile Background Image |
additionalImage | Label for branding additional image | Additional Image |
exportAllUsers | Tooltip for exported users button | Export all users |
usersExportMessage | react-toastify successful message when exporting all users | All users have been exported successfully |
usersExportErrorMessage | react-toastify error message when exporting all users fails | There was a problem with exporting users. Please try again |
createFromTemplate | Create from game template button title | Create from template |
browseEitherOrGames | Import game from template modal header | Browse Either/Or Games |
noTemplateGamesFound | Screen message when there are no template games found | No Either/Or games were found. |
expand | Expand row button tooltip | Expand |
import | Import game modal action button title | Import |
translateAndImport | Import game modal translate action button title | Translate to language and Import |
getFootballEntitiesErrorMessage | react-toastify error message when typing the name of the entity in tags and request fails. | There was a problem with fetching football's data |
createEitherOrMessage | react-toastify successful message when creating Either/Or | You have successfully created Either/Or |
createEitherOrErrorMessage | react-toastify error message when creating Either/Or | There was a problem creating Either/Or. Please try again |
titleRequiredFieldValidationMessage | react-toastify error message when validating title for Either/Or | Title field is required! |
livesFieldValidationMessage | react-toastify error message when validating lives for Either/Or | The value for 'lives' field is invalid. The valid one is withing the range of 1-20 |
timeFieldValidationMessage | react-toastify error message when validating time for Either/Or | The value for 'time' field is invalid. The valid one is withing the range of 1-20 |
pointsFieldValidationMessage | react-toastify error message when validating points for Either/Or | Points contain value where score or correct steps is an invalid one |
optionsFieldValidationMessage | react-toastify error message when validating options for Either/Or | Options must not contain any repeated IDs |
tagsInvalidFieldValidationMessage | react-toastify error message when validating tags for Either/Or | Tag entity is required! |
updateEitherOrMessage | react-toastify successful message when updating Either/Or | You have successfully updated Either/Or |
updateEitherOrErrorMessage | react-toastify error message when updating Either/Or | There was a problem updating Either/Or. Please try again |
updateEitherOrTranslationErrorMessage | react-toastify error message when updating and making translations for Either/Or game | There was a problem translating Either/Or game. Please try again |
deleteEitherOrMessage | react-toastify successful message when deleting Either/Or | You have successfully deleted Either/Or |
deleteEitherOrErrorMessage | react-toastify error message when deleting Either/Or | There was a problem with deleting Either/Or. Please try again |
uploadingImageMessage | react-toastify success message when uploading image to bucket | You have successfully uploaded image |
generateSignedInUrlErrorMessage | react-toastify error message when trying to receive a signed in URL. | There was a problem generating signed in URL to store the image in bucket. Please try again |
uploadingImageErrorMessage | react-toastify error message when uploading image to bucket | There was a problem with uploading image to bucket. Please try again |
encryptingImageErrorMessage | react-toastify error message when encrypting image before uploading it to bucket | There was a problem with encrypting image before uploading it to bucket. Please try again |
searchSportal365ImagesErrorMessage | react-toastify error message when searching images from Sportal 365 API | There was a problem with searching images from Sportal 365 API. Please try again |
sortByCreatedAtAsc | Label for sort option | Sort by created at field in ascending order |
sortByCreatedAtDesc | Label for sort option | Sort by created at field in descending order |
sortByUpdatedAtAsc | Label for sort option | Sort by updated at field in ascending order |
sortByUpdatedAtDesc | Label for sort option | Sort by updated at field in descending order |
itemsPerPage | Label for items per page filter select | Items per page |
pageNo | Label before pagination buttons | Page No |
deleteEitherOrTitle | Title for delete either/or modal | Delete Either/Or |
deleteEitherOrDescription | Description for delete either/or modal | Are you sure you want to delete |
back | Label next to back button | Back |
manageEitherOrTitle | Title on management screen | Manage Either/Or |
manageEitherOrDescription | Description on management screen | Manage your Either/Or game here |
mainImage | Label for main image. | Main |
coverImage | Label for cover image. | Cover |
mobileImage | Label for mobile image. | Mobile |
clearImage | Tooltip for clear image button | Clear image |
viewImage | Tooltip for view image button | View image |
cropImage | Tooltip for crop image button | Crop image |
aspectRatio | Label for aspect ratio select | Aspect ratio |
crop | Label for crop button | Crop |
rest | Label for reset button | Reset |
sportal365Images | Label for sportal365 images button | Sportal365 Images |
search | Label for search | Search |
delete | Label for delete | Delete |
schedule | Label for schedule accordion | Schedule |
scheduledTaskNotAvailable | Paragraph when trying to configure scheduled task for not created game | To configure scheduled tasks you need to first create your game |
deleteScheduledTaskModalTitle | Title for delete scheduled task modal | Delete scheduled task |
deleteScheduledTaskModalParagraph | Paragraph for delete scheduled task modal | Are you sure you want to delete the following scheduled task: |
createScheduledTaskMessage | Toast successful message when a new scheduled task is created | You have successfully created scheduled task |
createScheduledTaskErrorMessage | Toast error message when a new scheduled task is created | An error occurred while creating scheduled task. Please try again later |
updateScheduledTaskMessage | Toast successful message when a scheduled task is updated | You have successfully updated scheduled task |
updateScheduledTaskErrorMessage | Toast error message when a scheduled task is updated | An error occurred while updating scheduled task. Please try again later |
deleteScheduledTaskMessage | Toast successful message when a scheduled task is deleted | You have successfully deleted scheduled task |
deleteScheduledTaskErrorMessage | Toast error message when a scheduled task is deleted | An error occurred while deleting scheduled task. Please try again later |
changeStatusTo | Label for select input in schedule accordion | Change status to: |
at | Label for calendar input in schedule accordion | At: |
authRequirement | Label for auth requirement select in configuration panel. | Auth Requirement |
authRequirementDescription | Description for auth requirement select in configuration panel. | Choose the type of authentication to be used. |
free | Label for auth requirement option. | Free |
lead | Label for auth requirement option. | Lead |
registered | Label for auth requirement option. | Registered |
paid | Label for auth requirement option. | Paid |
language | Label for language selection in configuration panel. | Language |
languageDescription | Description paragraph for language select. | Select the language for your game. You can manage language selection by configuring available languages in language configuration. It cannot be changed if multilingual feature is in use. |
urlCopiedToClipboardMessage | Toast info message when image URL is copied | URL copied to clipboard |
imageDeletedMessage | Toast info message when image is deleted | Image deleted |
imageResetMessage | Toast info message when image size is restored | The initial size of the image has been restored |
exports | Label for exports tab | Exports |
exportUsersData | Title in exports users data | Export users data |
category | Name of column | Category |
action | Name of column | Action |
exportAllUsersDescription | Description for export all users category record | Export all users who participated in the game. |
fromDate | Label for from date input | From Date |
toDate | Label for to date input | To Date |
addOption | Label for add option button | Add option |
removeOption | Label for remove option button | Remove option |
additionalFields | Label for additional fields | Additional fields |
addImages | Label for add images checkbox | Add images |
addPoint | Label for add point button | Add point |
removePoint | Label for remove point button | Remove point |
reports | Label for tab | Reports |
standings | Label for tab | Standings |
participations | Label for participations chart legend | Participations |
participationOverview | Label for statistics table header | Participation Overview |
exportUsersWithMinPoints | Label for for export users by minimum points criteria category record. The placeholder 'minPoints' is required and will be replaced with the points that is provided by the user. | Export all users with at least minPoints points |
exportUsersWithMinPointsDescription | Description for export users by minimum points criteria category record. The placeholder 'minPoints' is required and will be replaced with the points that is provided by the user. | Exports the users who got at least minPoints points in the game. |
performanceByDay | Label for participations chart legend | Performance by day |
chartErrorMessage | Toast error message when fetching the game participation fails | There was a problem with fetching information about game participation. Please try again |
noStandingsAvailable | Paragraph when no standings is still available | No standings available. |
standingsErrorMessage | Toast error message when fetching the game staindings fails | There was a problem with fetching information about either/or game standings. Please try again |
name | Label for name | Name |
languagesModalTitle | Title for translate languages modal | Select Languages |
languagesModalDescription | Description for translate languages modal | Select the languages this game is going to be translated in. |
languagesModalSave | Languages modal save button title | Save language preference |
languageParentText | Alert text for translated game | This game is a translated version of |
gameTranslationErrorMessage | Toast error message when translating a game | An error occurred while translating the game. |
translateTo | Translation game content button title | Translate to |
exportUsersLeads | Title in export users leads table | Export users leads |
exportAllUsersLeads | Category label in export users leads table | Export all users leads |
exportAllUsersLeadsDescription | Category description label in export users leads table | Export all users collected leads in the game. |
exportAllUsersLeadsDescription | Success toast message when exporting users leads | All users leads have been exported successfully |
exportAllUsersLeadsDescription | Toast error message when exporting users leads operation fails | There was a problem with exporting all users leads. Please try again |
related | Label for related accordion in side bar. | Related |
relationship | Label for relationship select input. | Relationship |
relatedEntitiesErrorMessage | Toast error message when fetching related entities data fails. | There was a problem with fetching entities for related. Please try again |
widgetEmbedCodeTitle | Label for widget embed code acordion in side bar | Widget embed code |
configureLeads | Configure lead switch button label | Configure leads |
configureLeadsDisabledMessage | Message shown when configure leads switch button is disabled | Configure leads is enabled only when the authentication requirement is set to “Lead”. |
leadPosition | Lead position selector title in embed code acordion | Lead position |
addCampaignInfo | Campaign info switch label in embed code acordion | Add campaign info |
campaignIdInfoMessage | Tooltip info text for campaign id input field | Group multiple content items by a campaign ID. This field will be used for filtering later on, so make sure you have excatly the same ID across your multiple quizzes, polls and other games in general. We recommend using lowercase and -. Example: "adidas-december-2025" |
campaignNameInfoMessage | Tooltip info text for campaign name input field | A label for your campaign that will appear in the reports. You can use anything here. Example: "Adidas (December 2025)" |
copyToClipboard | Div text button tooltip text in embed code acordion | Copy to clipboard |
divElementTextInfo | Helper text for div content in embed code acordion | The generated embed code can be copied directly into your website's HTML. For comprehensive implementation details, visit our documentation: |
widgetEmbedCodeNotAvailable | Paragraph when trying to configure widget embed code for not created Either/Or | To configure embed code you need to first create your Either/Or game. |
signInLabel | Label for sign in label input | Label |
signInLabelInfoMessage | Info tooltip message for sign in label input | Custom text displayed on the sign-in button. If empty, defaults to "Sign in to vote". |
authenticationHandler | Label for authentication handler | Authentication handler |
authenticationHandlerInfoMessage | Info tooltip message for authentication handler | JavaScript function code that executes when users click the sign-in button. To evaluate the function, provide only the function name. Example: showLoginModal() or window.openAuth(). The function is required otherwise the sign-in button will just log dummy message in the console. |
configureSignIn | Label for configure sign in switch | Configure sign-in options |
configureSignInDisabledMessage | Info tooltiup message when configure sign in is disabled | Configure sign-in options is enabled only when the authentication requirement is set to “Registered”. |
translationOptions | Label for translation options section in clone modal | Translate to: |
cloneMiniGameTitle | Title for clone Either/Or modal | Clone Either/Or |
clone | Label for clone button | Clone |
cloneEitherOrMessage | Toast successful message when cloning Either/Or | You have successfully cloned Either/Or |
cloneEitherOrErrorMessage | Toast error message when cloning Either/Or fails | There was a problem cloning Either/Or. Please try again |
translationErrorMessage | Toast error message when translation fails during cloning | An error occurred while translating. |
Updated 10 days ago
