Mudanças entre as edições de "Widget:Teste"
Ir para navegação
Ir para pesquisar
' +
'' + sym + '' +
'' + highlight(h.texto, tokens) + '' +
'
m |
m |
||
| Linha 1: | Linha 1: | ||
<style> | <style> | ||
/* {literal} */ | |||
#fq-widget * { box-sizing: border-box; margin: 0; padding: 0; } | |||
#fq-widget { | |||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |||
background: #ffffff; | |||
color: #202122; | |||
max-width: 780px; | |||
margin: 1rem 0; | |||
font-size: 0.9375rem; | |||
line-height: 1.6; | |||
} | } | ||
. | .fq-header { margin-bottom: 1.25rem; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem; } | ||
.fq-header-main { flex: 1; min-width: 12rem; } | |||
.fq-title { font-size: 1.25rem; font-weight: 600; color: #202122; margin-bottom: 0.2rem; } | |||
.fq-sub { font-size: 0.875rem; color: #54595d; } | |||
.fq-lang-wrap { flex-shrink: 0; } | |||
#fq-lang-select { | |||
font-size: 0.8125rem; padding: 0.35rem 0.5rem; border: 1px solid #a2a9b1; border-radius: 2px; | |||
background: #f8f9fa; color: #202122; cursor: pointer; max-width: 100%; | |||
} | } | ||
#fq-lang-select:focus { outline: none; border-color: #36c; box-shadow: 0 0 0 2px rgba(51,102,204,0.15); } | |||
. | |||
.fq-weekly { | |||
display: flex; align-items: center; gap: 0.5rem; | |||
margin-bottom: 1.25rem; cursor: pointer; user-select: none; width: fit-content; | |||
} | } | ||
.fq-checkbox { | |||
. | display: flex; align-items: center; justify-content: center; | ||
width: 1.125rem; height: 1.125rem; border-radius: 3px; | |||
border: 1px solid #a2a9b1; flex-shrink: 0; | |||
background: #f8f9fa; transition: all 0.15s; | |||
} | } | ||
.fq-checkbox.on { background: #36c; border-color: #36c; } | |||
. | .fq-checkbox svg { display: none; } | ||
.fq-checkbox.on svg { display: block; } | |||
.fq-weekly-label { font-size: 0.875rem; color: #54595d; transition: color 0.15s; } | |||
.fq-weekly-label.on { color: #36c; font-weight: 500; } | |||
.fq-weekly:hover .fq-checkbox:not(.on) { border-color: #36c; } | |||
.fq-weekly:hover .fq-weekly-label:not(.on) { color: #36c; } | |||
.fq-search-wrap { position: relative; margin-bottom: 0.75rem; } | |||
.fq-search-icon { | |||
position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%); | |||
color: #72777d; pointer-events: none; line-height: 0; | |||
} | } | ||
#fq-input { | |||
width: 100%; background: #fff; border: 1px solid #a2a9b1; | |||
border-radius: 2px; padding: 0.45rem 2.5rem; | |||
font-size: 0.9375rem; color: #202122; outline: none; | |||
transition: border-color 0.15s, box-shadow 0.15s; | |||
} | } | ||
</style> | #fq-input::placeholder { color: #72777d; } | ||
< | #fq-input:focus { border-color: #36c; box-shadow: 0 0 0 2px rgba(51,102,204,0.15); } | ||
( | #fq-clear { | ||
position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%); | |||
background: none; border: none; color: #72777d; cursor: pointer; | |||
line-height: 0; padding: 0; transition: color 0.15s; | |||
} | |||
#fq-clear:hover { color: #202122; } | |||
#fq-clear.hidden { display: none; } | |||
#fq-stats { font-size: 0.8125rem; color: #54595d; margin-bottom: 0.75rem; } | |||
#fq-stats .vd { color: #14866d; font-weight: 500; } | |||
#fq-stats .fa { color: #c0392b; font-weight: 500; } | |||
#fq-stats .sep { color: #a2a9b1; margin: 0 0.3rem; } | |||
#fq-stats.hidden { display: none; } | |||
.fq-msg { font-size: 0.875rem; color: #72777d; text-align: center; padding: 3rem 0; } | |||
.fq-msg.hidden { display: none; } | |||
#fq-results { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; } | |||
#fq-results.hidden { display: none; } | |||
.fq-item { | |||
display: flex; align-items: flex-start; gap: 0.625rem; | |||
border: 1px solid; border-radius: 2px; | |||
padding: 0.625rem 0.875rem; font-size: 0.9rem; line-height: 1.55; | |||
} | |||
.fq-item.vd { background: #f0fdf4; border-color: #14866d; color: #14433a; } | |||
.fq-item.fa { background: #fff0f0; border-color: #c0392b; color: #5a1010; } | |||
.fq-badge { | |||
flex-shrink: 0; margin-top: 0.1rem; | |||
width: 1.125rem; height: 1.125rem; border-radius: 50%; | |||
display: flex; align-items: center; justify-content: center; | |||
font-weight: 700; font-size: 0.7rem; color: #fff; | |||
} | |||
.fq-badge.vd { background: #14866d; } | |||
.fq-badge.fa { background: #c0392b; } | |||
mark { background: #fef08a; color: #713f12; border-radius: 1px; padding: 0 1px; } | |||
/* {/literal} */ | |||
</style> | |||
<div id="fq-widget" data-fq-lang=""> | |||
<div class="fq-header"> | |||
<div class="fq-header-main"> | |||
<h1 class="fq-title">Foxy Quiz</h1> | |||
<p class="fq-sub" id="fq-sub"></p> | |||
</div> | |||
<div class="fq-lang-wrap"> | |||
<label for="fq-lang-select" class="fq-visually-hidden" id="fq-lang-label" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">Language</label> | |||
<select id="fq-lang-select" aria-labelledby="fq-lang-label"> | |||
<option value="pt">Português</option> | |||
<option value="en">English</option> | |||
<option value="es">Español</option> | |||
<option value="pl">Polski</option> | |||
</select> | |||
</div> | |||
</div> | |||
<div class="fq-weekly" id="fq-weekly"> | |||
<span class="fq-checkbox" id="fq-chk"> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" | |||
fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"> | |||
<polyline points="20 6 9 17 4 12"/> | |||
</svg> | |||
</span> | |||
<span class="fq-weekly-label" id="fq-lbl"></span> | |||
</div> | |||
<div class="fq-search-wrap"> | |||
<span class="fq-search-icon"> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" | |||
viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> | |||
<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/> | |||
</svg> | |||
</span> | |||
<input id="fq-input" type="text" /> | |||
<button id="fq-clear" class="hidden" type="button" aria-label=""> | |||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" | |||
viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> | |||
<path d="M18 6 6 18M6 6l12 12"/> | |||
</svg> | |||
</button> | |||
</div> | |||
<p id="fq-stats" class="hidden"></p> | |||
<div id="fq-tip" class="fq-msg"></div> | |||
<div id="fq-nores" class="fq-msg hidden"></div> | |||
<ul id="fq-results" class="hidden"></ul> | |||
</div> | |||
<script> | |||
/* {literal} */ | |||
var FQ_LANG_KEY = 'foxy-quiz-lang'; | |||
var FQ_STRINGS = { | |||
pt: { | |||
langLabel: 'Idioma', | |||
sub: 'Pesquise uma afirmação para ver se ela é verdadeira ou falsa.', | |||
weeklyOff: 'Já recebi a recompensa do Foxy Quiz nesta semana!', | |||
weeklyDone: 'Foxy Quiz concluído em ', | |||
placeholder: 'Digite palavras-chave para pesquisar...', | |||
clearAria: 'Limpar', | |||
tip: 'Digite ao menos 2 caracteres para pesquisar.', | |||
nores: 'Nenhuma afirmação encontrada.', | |||
locale: 'pt-BR' | |||
}, | |||
en: { | |||
langLabel: 'Language', | |||
sub: 'Search for a statement to see if it is true or false.', | |||
weeklyOff: 'I already claimed my Foxy Quiz reward this week!', | |||
weeklyDone: 'Foxy Quiz completed on ', | |||
placeholder: 'Type keywords to search...', | |||
clearAria: 'Clear', | |||
tip: 'Enter at least 2 characters to search.', | |||
nores: 'No matching statements found.', | |||
locale: 'en-US' | |||
}, | |||
es: { | |||
langLabel: 'Idioma', | |||
sub: 'Busca una afirmación para ver si es verdadera o falsa.', | |||
weeklyOff: '¡Ya reclamé la recompensa del Foxy Quiz esta semana!', | |||
weeklyDone: 'Foxy Quiz completado el ', | |||
placeholder: 'Escribe palabras clave para buscar...', | |||
clearAria: 'Borrar', | |||
tip: 'Introduce al menos 2 caracteres para buscar.', | |||
nores: 'No se encontraron afirmaciones.', | |||
locale: 'es' | |||
}, | |||
pl: { | |||
langLabel: 'Język', | |||
sub: 'Wyszukaj stwierdzenie, aby sprawdzić, czy jest prawdziwe, czy fałszywe.', | |||
weeklyOff: 'Odebrałem już nagrodę Foxy Quiz w tym tygodniu!', | |||
weeklyDone: 'Foxy Quiz ukończono ', | |||
placeholder: 'Wpisz słowa kluczowe, aby wyszukać...', | |||
clearAria: 'Wyczyść', | |||
tip: 'Wpisz co najmniej 2 znaki, aby wyszukać.', | |||
nores: 'Nie znaleziono stwierdzeń.', | |||
locale: 'pl-PL' | |||
} | |||
}; | |||
function fqStatsHtml(n, t, f, lang) { | |||
if (lang === 'en') { | |||
return n + ' result' + (n !== 1 ? 's' : '') + | |||
'<span class="sep"> · </span>' + | |||
'<span class="vd">' + t + ' true</span>' + | |||
'<span class="sep"> · </span>' + | |||
'<span class="fa">' + f + ' false</span>'; | |||
} | |||
if (lang === 'es') { | |||
return n + ' resultado' + (n !== 1 ? 's' : '') + | |||
'<span class="sep"> · </span>' + | |||
'<span class="vd">' + t + ' verdadero' + (t !== 1 ? 's' : '') + '</span>' + | |||
'<span class="sep"> · </span>' + | |||
'<span class="fa">' + f + ' falso' + (f !== 1 ? 's' : '') + '</span>'; | |||
} | |||
if (lang === 'pl') { | |||
return n + ' wynik' + (n === 1 ? '' : (n < 5 ? 'i' : 'ów')) + | |||
'<span class="sep"> · </span>' + | |||
'<span class="vd">' + t + ' prawdziw' + (t === 1 ? 'e' : (t < 5 ? 'e' : 'ych')) + '</span>' + | |||
'<span class="sep"> · </span>' + | |||
'<span class="fa">' + f + ' fałszyw' + (f === 1 ? 'e' : (f < 5 ? 'e' : 'ych')) + '</span>'; | |||
} | |||
return n + ' resultado' + (n !== 1 ? 's' : '') + | |||
'<span class="sep"> · </span>' + | |||
'<span class="vd">' + t + ' verdadeiro' + (t !== 1 ? 's' : '') + '</span>' + | |||
'<span class="sep"> · </span>' + | |||
'<span class="fa">' + f + ' falso' + (f !== 1 ? 's' : '') + '</span>'; | |||
} | |||
var QUIZ_CORE = [ | |||
{ c: true, en: 'Eiichiro Oda is the creator of One Piece.', pt: 'Eiichiro Oda é o criador de One Piece.', es: 'Eiichiro Oda es el creador de One Piece.', pl: 'Eiichiro Oda jest twórcą One Piece.' }, | |||
{ c: true, en: 'Zeus is an One Piece character.', pt: 'Zeus é um personagem de One Piece.', es: 'Zeus es un personaje de One Piece.', pl: 'Zeus jest postacią z One Piece.' }, | |||
{ c: true, en: 'Neptune is an One Piece character.', pt: 'Neptune é um personagem de One Piece.', es: 'Neptuno es un personaje de One Piece.', pl: 'Neptun jest postacią z One Piece.' }, | |||
{ c: true, en: 'If the World Government had known that Crocodile was the head of Baroque Works, his bounty would be at least doubled to 162,000,000 berry.', pt: 'Se o Governo Mundial soubesse que Crocodile era o chefe da Baroque Works, sua recompensa pelo menos dobraria para 162.000.000 de berries.', es: 'Si el Gobierno Mundial hubiera sabido que Crocodile era el jefe de Baroque Works, su recompensa se habría duplicado al menos a 162.000.000 de berries.', pl: 'Gdyby Światowy Rząd wiedział, że Crocodile był szefem Baroque Works, jego nagroda wzrosłaby co najmniej dwukrotnie do 162 000 000 berry.' }, | |||
{ c: true, en: "Crocodile's dream was to become the Pirate King.", pt: 'O sonho de Crocodile era se tornar o Rei dos Piratas.', es: 'El sueño de Crocodile era convertirse en el Rey de los Piratas.', pl: 'Marzeniem Crocodile\'a zostało Królem Piratów.' }, | |||
{ c: true, en: 'Hancock is the first female character in the series capable of using all three forms of Haki.', pt: 'Hancock é a primeira personagem feminina da série capaz de usar as três formas de Haki.', es: 'Hancock es la primera personaje femenina de la serie capaz de usar las tres formas de Haki.', pl: 'Hancock jest pierwszą kobiecą postacią w serii zdolną do użycia wszystkich trzech form Haki.' }, | |||
{ c: true, en: 'Boa Hancock character has several references to Greek mythology.', pt: 'A personagem Boa Hancock tem várias referências à mitologia grega.', es: 'El personaje Boa Hancock tiene varias referencias a la mitología griega.', pl: 'Postać Boa Hancock zawiera kilka odniesień do greckiej mitologii.' }, | |||
{ c: true, en: 'If One Piece was set in the real world, then Luffy would be from Brazil.', pt: 'Se One Piece se passasse no mundo real, Luffy seria do Brasil.', es: 'Si One Piece se ambientara en el mundo real, Luffy sería de Brasil.', pl: 'Gdyby One Piece rozgrywało się w prawdziwym świecie, Luffy pochodziłby z Brazylii.' }, | |||
{ c: true, en: 'Buggy is the first villain to appear in the series who is a Devil Fruit user. He is the also first Devil Fruit user whom Luffy has fought.', pt: 'Buggy é o primeiro vilão da série que é usuário de Akuma no Mi. Também é o primeiro usuário de Akuma no Mi com quem Luffy lutou.', es: 'Buggy es el primer villano de la serie que es usuario de Fruta del Diablo. También es el primer usuario de Fruta del Diablo contra el que lucha Luffy.', pl: 'Buggy jest pierwszym antagonistą w serii użytkownikiem Diabelskiego Owocu. To także pierwszy taki przeciwnik, z którym walczy Luffy.' }, | |||
{ c: true, en: "Monkey D. Luffy's mother was not revealed yet.", pt: 'A mãe de Monkey D. Luffy ainda não foi revelada.', es: 'La madre de Monkey D. Luffy aún no ha sido revelada.', pl: 'Matka Monkey D. Luffy\'ego nie została jeszcze ujawniona.' }, | |||
{ c: true, en: "Portgas D. Ace is Gold Roger's son.", pt: 'Portgas D. Ace é filho de Gold Roger.', es: 'Portgas D. Ace es hijo de Gold Roger.', pl: 'Portgas D. Ace jest synem Gold Rogera.' }, | |||
{ c: true, en: "Portgas D. Ace is Rouge's son.", pt: 'Portgas D. Ace é filho de Rouge.', es: 'Portgas D. Ace es hijo de Rouge.', pl: 'Portgas D. Ace jest synem Rouge.' }, | |||
{ c: true, en: "Gum-Gum Fruit is the official name of Luffy's Devil Fruit in English.", pt: 'Fruta Gum-Gum é o nome oficial da Akuma no Mi do Luffy em inglês.', es: 'Gum-Gum Fruit es el nombre oficial de la Fruta del Diablo de Luffy en inglés.', pl: 'Gum-Gum Fruit to oficjalna angielska nazwa Diabelskiego Owocu Luffy\'ego.' }, | |||
{ c: true, en: 'Wapol is the first king shown in the series.', pt: 'Wapol é o primeiro rei mostrado na série.', es: 'Wapol es el primer rey que aparece en la serie.', pl: 'Wapol jest pierwszym królem pokazanym w serii.' }, | |||
{ c: true, en: 'Arlong is the only known individual to have been released from Impel Down.', pt: 'Arlong é o único indivíduo conhecido a ter sido solto de Impel Down.', es: 'Arlong es el único individuo conocido que ha sido liberado de Impel Down.', pl: 'Arlong jest jedyną znaną osobą, która została zwolniona z Impel Down.' }, | |||
{ c: true, en: 'Mr. 2 has the same voice actor as Franky and Jango.', pt: 'Mr. 2 tem o mesmo dublador que Franky e Jango.', es: 'Mr. 2 tiene el mismo actor de voz que Franky y Jango.', pl: 'Mr. 2 ma tego samego aktora głosowego co Franky i Jango.' }, | |||
{ c: true, en: 'Akainu has the same voice actor as Krieg.', pt: 'Akainu tem o mesmo dublador que Krieg.', es: 'Akainu tiene el mismo actor de voz que Krieg.', pl: 'Akainu ma tego samego aktora głosowego co Krieg.' }, | |||
{ c: true, en: 'Sanji in his childhood has the same voice actress as Chopper.', pt: 'Sanji na infância tem a mesma dubladora que Chopper.', es: 'Sanji de niño tiene la misma actriz de voz que Chopper.', pl: 'Sanji w dzieciństwie ma tę samą aktorkę głosową co Chopper.' }, | |||
{ c: true, en: 'Chopper has his voice actress changed in some episodes.', pt: 'A dubladora de Chopper foi trocada em alguns episódios.', es: 'La actriz de voz de Chopper cambió en algunos episodios.', pl: 'Aktorka głosowa Choppera została zmieniona w niektórych odcinkach.' }, | |||
{ c: true, en: 'Nico Robin was also known as Miss All Sunday.', pt: 'Nico Robin também era conhecida como Miss All Sunday.', es: 'Nico Robin también era conocida como Miss All Sunday.', pl: 'Nico Robin znana była też jako Miss All Sunday.' }, | |||
{ c: true, en: "Nico Robin's mother hair is white.", pt: 'O cabelo da mãe de Nico Robin é branco.', es: 'El pelo de la madre de Nico Robin es blanco.', pl: 'Włosy matki Nico Robin są białe.' }, | |||
{ c: true, en: "Yubashiri (One of Zoro's sword) rusted.", pt: 'Yubashiri (uma das espadas de Zoro) enferrujou.', es: 'Yubashiri (una de las espadas de Zoro) se oxidó.', pl: 'Yubashiri (jeden z mieczy Zoro) zardzewiał.' }, | |||
{ c: false, en: 'Masashi Kishimoto is the creator of One Piece.', pt: 'Masashi Kishimoto é o criador de One Piece.', es: 'Masashi Kishimoto es el creador de One Piece.', pl: 'Masashi Kishimoto jest twórcą One Piece.' }, | |||
{ c: false, en: 'Akira Toriyama is the creator of One Piece.', pt: 'Akira Toriyama é o criador de One Piece.', es: 'Akira Toriyama es el creador de One Piece.', pl: 'Akira Toriyama jest twórcą One Piece.' }, | |||
{ c: false, en: 'Frost is an One Piece character.', pt: 'Frost é um personagem de One Piece.', es: 'Frost es un personaje de One Piece.', pl: 'Frost jest postacią z One Piece.' }, | |||
{ c: false, en: 'The bounty of a Pirate reflects his strength.', pt: 'A recompensa de um pirata reflete sua força.', es: 'La recompensa de un pirata refleja su fuerza.', pl: 'Nagroda za pirata odzwierciedla jego siłę.' }, | |||
{ c: false, en: 'Franky was the first cyborg to appear in the series.', pt: 'Franky foi o primeiro ciborgue a aparecer na série.', es: 'Franky fue el primer cyborg en aparecer en la serie.', pl: 'Franky był pierwszym cyborgiem w serii.' }, | |||
{ c: false, en: "Teach's favorite food is apple pie.", pt: 'A comida favorita de Teach é torta de maçã.', es: 'La comida favorita de Teach es pastel de manzana.', pl: 'Ulubionym jedzeniem Teach\'a jest szarlotka.' }, | |||
{ c: false, en: "Monkey D. Garp is Luffy's real father.", pt: 'Monkey D. Garp é o pai biológico de Luffy.', es: 'Monkey D. Garp es el padre biológico de Luffy.', pl: 'Monkey D. Garp jest biologicznym ojcem Luffy\'ego.' }, | |||
{ c: false, en: "Pandaman is in Trafalgar Law's Crew.", pt: 'Pandaman está na tripulação de Trafalgar Law.', es: 'Pandaman está en la tripulación de Trafalgar Law.', pl: 'Pandaman jest w załodze Trafalgara Law.' }, | |||
{ c: false, en: 'Bepo is not a Mink.', pt: 'Bepo não é um Mink.', es: 'Bepo no es un Mink.', pl: 'Bepo nie jest Minkiem.' }, | |||
{ c: false, en: 'Gin has the same voice actor as Kuro.', pt: 'Gin tem o mesmo dublador que Kuro.', es: 'Gin tiene el mismo actor de voz que Kuro.', pl: 'Gin ma tego samego aktora głosowego co Kuro.' }, | |||
{ c: false, en: 'Perona has the same voice actress as Koala.', pt: 'Perona tem a mesma dubladora que Koala.', es: 'Perona tiene la misma actriz de voz que Koala.', pl: 'Perona ma tę samą aktorkę głosową co Koala.' }, | |||
{ c: false, en: 'Boa Hancock has the same voice actress as Reiju.', pt: 'Boa Hancock tem a mesma dubladora que Reiju.', es: 'Boa Hancock tiene la misma actriz de voz que Reiju.', pl: 'Boa Hancock ma tę samą aktorkę głosową co Reiju.' }, | |||
{ c: false, en: 'Dracule Mihawk had only one voice actor in the entire anime.', pt: 'Dracule Mihawk teve apenas um dublador em todo o anime.', es: 'Dracule Mihawk solo tuvo un actor de voz en todo el anime.', pl: 'Dracule Mihawk miał tylko jednego aktora głosowego w całym anime.' }, | |||
{ c: false, en: 'Luffy got his scar from a tiger in Foosha Village.', pt: 'Luffy ganhou sua cicatriz de um tigre na Vila Foosha.', es: 'Luffy se hizo la cicatriz por un tigre en la aldea Foosha.', pl: 'Luffy dostał bliznę od tygrysa we wsi Foosha.' }, | |||
{ c: false, en: "Sandai Kitetsu (One of Zoro's sword) rusted.", pt: 'Sandai Kitetsu (uma das espadas de Zoro) enferrujou.', es: 'Sandai Kitetsu (una de las espadas de Zoro) se oxidó.', pl: 'Sandai Kitetsu (jeden z mieczy Zoro) zardzewiał.' }, | |||
{ c: false, en: 'Ryuma had the shadow of a Legendary Wano samurai.', pt: 'Ryuma tinha a sombra de um samurai lendário de Wano.', es: 'Ryuma tenía la sombra de un samurái legendario de Wano.', pl: 'Ryuma miał cień legendarnego samuraja z Wano.' }, | |||
{ c: false, en: "Bartolomeo's Barrier broke only one time during the anime.", pt: 'A barreira de Bartolomeo quebrou apenas uma vez no anime.', es: 'La barrera de Bartolomeo solo se rompió una vez en el anime.', pl: 'Bariera Bartolomeo pękła tylko raz w anime.' }, | |||
{ c: false, en: 'Bartolomeo has the Nikyu Nikyu no Mi devil fruit.', pt: 'Bartolomeo possui a Akuma no Mi Nikyu Nikyu no Mi.', es: 'Bartolomeo tiene la Fruta del Diablo Nikyu Nikyu no Mi.', pl: 'Bartolomeo ma Diabelski Owoc Nikyu Nikyu no Mi.' } | |||
]; | |||
var FQ_KEY = 'foxy-quiz-weekly'; | |||
var FQ_LANG = 'pt'; | |||
var QUIZ_DATA = []; | |||
var IDX = []; | |||
function norm(s) { | |||
return s.normalize('NFD').replace(/[\u0300-\u036f]/g, '').toLowerCase(); | |||
} | |||
function weekKey() { | |||
var now = new Date(); | |||
var diff = (now.getDay() - 5 + 7) % 7; | |||
var fri = new Date(now); | |||
fri.setDate(now.getDate() - diff); | |||
return fri.toISOString().slice(0, 10); | |||
} | |||
function esc(s) { | |||
return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); | |||
} | |||
function highlight(texto, tokens) { | |||
var n = norm(texto); | |||
var ranges = [], i, t, idx, pos; | |||
for (i = 0; i < tokens.length; i++) { | |||
t = tokens[i]; idx = 0; | |||
while ((pos = n.indexOf(t, idx)) !== -1) { | |||
ranges.push([pos, pos + t.length]); | |||
idx = pos + 1; | |||
} | } | ||
if (document. | } | ||
if (!ranges.length) return esc(texto); | |||
} else { | ranges.sort(function(a, b) { return a[0] - b[0]; }); | ||
var merged = [], r, last; | |||
for (i = 0; i < ranges.length; i++) { | |||
r = ranges[i]; last = merged[merged.length - 1]; | |||
if (last && r[0] <= last[1]) { if (r[1] > last[1]) last[1] = r[1]; } | |||
else { merged.push([r[0], r[1]]); } | |||
} | |||
var out = '', cur = 0, seg; | |||
for (i = 0; i < merged.length; i++) { | |||
seg = merged[i]; | |||
out += esc(texto.slice(cur, seg[0])); | |||
out += '<mark>' + esc(texto.slice(seg[0], seg[1])) + '</mark>'; | |||
cur = seg[1]; | |||
} | |||
return out + esc(texto.slice(cur)); | |||
} | |||
function rebuildIndex() { | |||
var lang = FQ_LANG; | |||
var ii, row, t; | |||
QUIZ_DATA = []; | |||
for (ii = 0; ii < QUIZ_CORE.length; ii++) { | |||
row = QUIZ_CORE[ii]; | |||
t = row[lang] || row.en; | |||
QUIZ_DATA.push({ correto: row.c, texto: t }); | |||
} | |||
IDX = []; | |||
for (ii = 0; ii < QUIZ_DATA.length; ii++) { | |||
IDX.push({ e: QUIZ_DATA[ii], n: norm(QUIZ_DATA[ii].texto) }); | |||
} | |||
} | |||
function applyUi() { | |||
var ui = FQ_STRINGS[FQ_LANG] || FQ_STRINGS.en; | |||
document.getElementById('fq-sub').textContent = ui.sub; | |||
document.getElementById('fq-lang-label').textContent = ui.langLabel; | |||
elInput.placeholder = ui.placeholder; | |||
elClear.setAttribute('aria-label', ui.clearAria); | |||
elTip.textContent = ui.tip; | |||
elNores.textContent = ui.nores; | |||
var on = elChk.classList.contains('on'); | |||
if (!on) elLbl.textContent = ui.weeklyOff; | |||
elLang.value = FQ_LANG; | |||
} | |||
var elWidget = document.getElementById('fq-widget'); | |||
var elWeekly = document.getElementById('fq-weekly'); | |||
var elChk = document.getElementById('fq-chk'); | |||
var elLbl = document.getElementById('fq-lbl'); | |||
var elInput = document.getElementById('fq-input'); | |||
var elClear = document.getElementById('fq-clear'); | |||
var elStats = document.getElementById('fq-stats'); | |||
var elTip = document.getElementById('fq-tip'); | |||
var elNores = document.getElementById('fq-nores'); | |||
var elResults = document.getElementById('fq-results'); | |||
var elLang = document.getElementById('fq-lang-select'); | |||
function resolveInitialLang() { | |||
var d = elWidget.getAttribute('data-fq-lang'); | |||
if (d && FQ_STRINGS[d]) return d; | |||
try { | |||
var s = localStorage.getItem(FQ_LANG_KEY); | |||
if (s && FQ_STRINGS[s]) return s; | |||
} catch (e) {} | |||
var nav = (navigator.language || navigator.userLanguage || 'en').slice(0, 2).toLowerCase(); | |||
if (nav === 'pt') return 'pt'; | |||
if (nav === 'es') return 'es'; | |||
if (nav === 'pl') return 'pl'; | |||
return 'en'; | |||
} | |||
FQ_LANG = resolveInitialLang(); | |||
rebuildIndex(); | |||
applyUi(); | |||
elLang.addEventListener('change', function() { | |||
FQ_LANG = elLang.value; | |||
try { localStorage.setItem(FQ_LANG_KEY, FQ_LANG); } catch (e) {} | |||
rebuildIndex(); | |||
applyUi(); | |||
elInput.dispatchEvent(new Event('input')); | |||
}); | |||
elWeekly.addEventListener('click', function() { | |||
var ui = FQ_STRINGS[FQ_LANG] || FQ_STRINGS.en; | |||
var loc = ui.locale; | |||
var on = elChk.classList.contains('on'); | |||
if (on) { | |||
elChk.classList.remove('on'); | |||
elLbl.classList.remove('on'); | |||
elLbl.textContent = ui.weeklyOff; | |||
try { localStorage.removeItem(FQ_KEY); } catch(e) {} | |||
} else { | |||
var d = new Date(); | |||
var ds = d.toLocaleDateString(loc) + ' (' + d.toLocaleDateString(loc, { weekday: 'long' }) + ')'; | |||
elChk.classList.add('on'); | |||
elLbl.classList.add('on'); | |||
elLbl.textContent = ui.weeklyDone + ds; | |||
try { localStorage.setItem(FQ_KEY, JSON.stringify({ weekKey: weekKey(), date: ui.weeklyDone + ds })); } catch(e) {} | |||
} | |||
}); | |||
elClear.addEventListener('click', function() { | |||
elInput.value = ''; | |||
elInput.dispatchEvent(new Event('input')); | |||
elInput.focus(); | |||
}); | |||
elInput.addEventListener('input', function() { | |||
var raw = elInput.value; | |||
var trimmed = raw.trim(); | |||
if (raw.length > 0) { | |||
elClear.classList.remove('hidden'); | |||
} else { | |||
elClear.classList.add('hidden'); | |||
} | |||
if (trimmed.length < 2) { | |||
elStats.classList.add('hidden'); | |||
elTip.classList.remove('hidden'); | |||
elNores.classList.add('hidden'); | |||
elResults.classList.add('hidden'); | |||
elResults.innerHTML = ''; | |||
return; | |||
} | |||
var parts = trimmed.split(/\s+/); | |||
var tokens = []; | |||
for (var i = 0; i < parts.length; i++) { | |||
if (parts[i]) tokens.push(norm(parts[i])); | |||
} | |||
var hits = [], item, j, ok; | |||
for (var k = 0; k < IDX.length; k++) { | |||
item = IDX[k]; ok = true; | |||
for (j = 0; j < tokens.length; j++) { | |||
if (item.n.indexOf(tokens[j]) === -1) { ok = false; break; } | |||
} | } | ||
if (ok) hits.push(item.e); | |||
} | |||
elTip.classList.add('hidden'); | |||
if (hits.length === 0) { | |||
elStats.classList.add('hidden'); | |||
elResults.classList.add('hidden'); | |||
elResults.innerHTML = ''; | |||
elNores.classList.remove('hidden'); | |||
return; | |||
} | |||
var tc = 0, fc = 0; | |||
for (var x = 0; x < hits.length; x++) { | |||
if (hits[x].correto) tc++; else fc++; | |||
} | |||
elStats.innerHTML = fqStatsHtml(hits.length, tc, fc, FQ_LANG); | |||
elStats.classList.remove('hidden'); | |||
var html = '', h, cls, sym; | |||
for (var y = 0; y < hits.length; y++) { | |||
h = hits[y]; | |||
cls = h.correto ? 'vd' : 'fa'; | |||
sym = h.correto ? '✓' : '✗'; | |||
html += '<li class="fq-item ' + cls + '">' + | |||
'<span class="fq-badge ' + cls + '">' + sym + '</span>' + | |||
'<span>' + highlight(h.texto, tokens) + '</span>' + | |||
'</li>'; | |||
} | |||
elResults.innerHTML = html; | |||
elResults.classList.remove('hidden'); | |||
elNores.classList.add('hidden'); | |||
}); | |||
(function() { | |||
try { | |||
var raw = localStorage.getItem(FQ_KEY); | |||
if (!raw) return; | |||
var obj = JSON.parse(raw); | |||
if (obj.weekKey !== weekKey()) return; | |||
elChk.classList.add('on'); | |||
elLbl.classList.add('on'); | |||
elLbl.textContent = obj.date; | |||
} catch(e) {} | |||
})(); | })(); | ||
</script> | |||
/* {/literal} */ | |||
</script> | |||
Edição das 01h53min de 4 de abril de 2026
<style>
/* {literal} */
#fq-widget * { box-sizing: border-box; margin: 0; padding: 0; }
#fq-widget {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: #ffffff;
color: #202122;
max-width: 780px;
margin: 1rem 0;
font-size: 0.9375rem;
line-height: 1.6;
}
.fq-header { margin-bottom: 1.25rem; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 0.75rem; }
.fq-header-main { flex: 1; min-width: 12rem; }
.fq-title { font-size: 1.25rem; font-weight: 600; color: #202122; margin-bottom: 0.2rem; }
.fq-sub { font-size: 0.875rem; color: #54595d; }
.fq-lang-wrap { flex-shrink: 0; }
#fq-lang-select {
font-size: 0.8125rem; padding: 0.35rem 0.5rem; border: 1px solid #a2a9b1; border-radius: 2px;
background: #f8f9fa; color: #202122; cursor: pointer; max-width: 100%;
}
#fq-lang-select:focus { outline: none; border-color: #36c; box-shadow: 0 0 0 2px rgba(51,102,204,0.15); }
.fq-weekly {
display: flex; align-items: center; gap: 0.5rem;
margin-bottom: 1.25rem; cursor: pointer; user-select: none; width: fit-content;
}
.fq-checkbox {
display: flex; align-items: center; justify-content: center;
width: 1.125rem; height: 1.125rem; border-radius: 3px;
border: 1px solid #a2a9b1; flex-shrink: 0;
background: #f8f9fa; transition: all 0.15s;
}
.fq-checkbox.on { background: #36c; border-color: #36c; }
.fq-checkbox svg { display: none; }
.fq-checkbox.on svg { display: block; }
.fq-weekly-label { font-size: 0.875rem; color: #54595d; transition: color 0.15s; }
.fq-weekly-label.on { color: #36c; font-weight: 500; }
.fq-weekly:hover .fq-checkbox:not(.on) { border-color: #36c; }
.fq-weekly:hover .fq-weekly-label:not(.on) { color: #36c; }
.fq-search-wrap { position: relative; margin-bottom: 0.75rem; }
.fq-search-icon {
position: absolute; left: 0.75rem; top: 50%; transform: translateY(-50%);
color: #72777d; pointer-events: none; line-height: 0;
}
#fq-input {
width: 100%; background: #fff; border: 1px solid #a2a9b1;
border-radius: 2px; padding: 0.45rem 2.5rem;
font-size: 0.9375rem; color: #202122; outline: none;
transition: border-color 0.15s, box-shadow 0.15s;
}
#fq-input::placeholder { color: #72777d; }
#fq-input:focus { border-color: #36c; box-shadow: 0 0 0 2px rgba(51,102,204,0.15); }
#fq-clear {
position: absolute; right: 0.75rem; top: 50%; transform: translateY(-50%);
background: none; border: none; color: #72777d; cursor: pointer;
line-height: 0; padding: 0; transition: color 0.15s;
}
#fq-clear:hover { color: #202122; }
#fq-clear.hidden { display: none; }
#fq-stats { font-size: 0.8125rem; color: #54595d; margin-bottom: 0.75rem; }
#fq-stats .vd { color: #14866d; font-weight: 500; }
#fq-stats .fa { color: #c0392b; font-weight: 500; }
#fq-stats .sep { color: #a2a9b1; margin: 0 0.3rem; }
#fq-stats.hidden { display: none; }
.fq-msg { font-size: 0.875rem; color: #72777d; text-align: center; padding: 3rem 0; }
.fq-msg.hidden { display: none; }
#fq-results { list-style: none; display: flex; flex-direction: column; gap: 0.5rem; }
#fq-results.hidden { display: none; }
.fq-item {
display: flex; align-items: flex-start; gap: 0.625rem;
border: 1px solid; border-radius: 2px;
padding: 0.625rem 0.875rem; font-size: 0.9rem; line-height: 1.55;
}
.fq-item.vd { background: #f0fdf4; border-color: #14866d; color: #14433a; }
.fq-item.fa { background: #fff0f0; border-color: #c0392b; color: #5a1010; }
.fq-badge {
flex-shrink: 0; margin-top: 0.1rem;
width: 1.125rem; height: 1.125rem; border-radius: 50%;
display: flex; align-items: center; justify-content: center;
font-weight: 700; font-size: 0.7rem; color: #fff;
}
.fq-badge.vd { background: #14866d; }
.fq-badge.fa { background: #c0392b; }
mark { background: #fef08a; color: #713f12; border-radius: 1px; padding: 0 1px; }
/* {/literal} */
</style>
Foxy Quiz
<label for="fq-lang-select" class="fq-visually-hidden" id="fq-lang-label" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">Language</label>
<select id="fq-lang-select" aria-labelledby="fq-lang-label">
<option value="pt">Português</option>
<option value="en">English</option>
<option value="es">Español</option>
<option value="pl">Polski</option>
</select>
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"
fill="none" stroke="#fff" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
<polyline points="20 6 9 17 4 12"/>
</svg>
<input id="fq-input" type="text" /> <button id="fq-clear" class="hidden" type="button" aria-label=""> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path d="M18 6 6 18M6 6l12 12"/> </svg> </button>
<script>
/* {literal} */
var FQ_LANG_KEY = 'foxy-quiz-lang';
var FQ_STRINGS = {
pt: {
langLabel: 'Idioma',
sub: 'Pesquise uma afirmação para ver se ela é verdadeira ou falsa.',
weeklyOff: 'Já recebi a recompensa do Foxy Quiz nesta semana!',
weeklyDone: 'Foxy Quiz concluído em ',
placeholder: 'Digite palavras-chave para pesquisar...',
clearAria: 'Limpar',
tip: 'Digite ao menos 2 caracteres para pesquisar.',
nores: 'Nenhuma afirmação encontrada.',
locale: 'pt-BR'
},
en: {
langLabel: 'Language',
sub: 'Search for a statement to see if it is true or false.',
weeklyOff: 'I already claimed my Foxy Quiz reward this week!',
weeklyDone: 'Foxy Quiz completed on ',
placeholder: 'Type keywords to search...',
clearAria: 'Clear',
tip: 'Enter at least 2 characters to search.',
nores: 'No matching statements found.',
locale: 'en-US'
},
es: {
langLabel: 'Idioma',
sub: 'Busca una afirmación para ver si es verdadera o falsa.',
weeklyOff: '¡Ya reclamé la recompensa del Foxy Quiz esta semana!',
weeklyDone: 'Foxy Quiz completado el ',
placeholder: 'Escribe palabras clave para buscar...',
clearAria: 'Borrar',
tip: 'Introduce al menos 2 caracteres para buscar.',
nores: 'No se encontraron afirmaciones.',
locale: 'es'
},
pl: {
langLabel: 'Język',
sub: 'Wyszukaj stwierdzenie, aby sprawdzić, czy jest prawdziwe, czy fałszywe.',
weeklyOff: 'Odebrałem już nagrodę Foxy Quiz w tym tygodniu!',
weeklyDone: 'Foxy Quiz ukończono ',
placeholder: 'Wpisz słowa kluczowe, aby wyszukać...',
clearAria: 'Wyczyść',
tip: 'Wpisz co najmniej 2 znaki, aby wyszukać.',
nores: 'Nie znaleziono stwierdzeń.',
locale: 'pl-PL'
}
};
function fqStatsHtml(n, t, f, lang) {
if (lang === 'en') {
return n + ' result' + (n !== 1 ? 's' : ) +
' · ' +
'' + t + ' true' +
' · ' +
'' + f + ' false';
}
if (lang === 'es') {
return n + ' resultado' + (n !== 1 ? 's' : ) +
' · ' +
'' + t + ' verdadero' + (t !== 1 ? 's' : ) + '' +
' · ' +
'' + f + ' falso' + (f !== 1 ? 's' : ) + '';
}
if (lang === 'pl') {
return n + ' wynik' + (n === 1 ? : (n < 5 ? 'i' : 'ów')) +
' · ' +
'' + t + ' prawdziw' + (t === 1 ? 'e' : (t < 5 ? 'e' : 'ych')) + '' +
' · ' +
'' + f + ' fałszyw' + (f === 1 ? 'e' : (f < 5 ? 'e' : 'ych')) + '';
}
return n + ' resultado' + (n !== 1 ? 's' : ) +
' · ' +
'' + t + ' verdadeiro' + (t !== 1 ? 's' : ) + '' +
' · ' +
'' + f + ' falso' + (f !== 1 ? 's' : ) + '';
}
var QUIZ_CORE = [
{ c: true, en: 'Eiichiro Oda is the creator of One Piece.', pt: 'Eiichiro Oda é o criador de One Piece.', es: 'Eiichiro Oda es el creador de One Piece.', pl: 'Eiichiro Oda jest twórcą One Piece.' },
{ c: true, en: 'Zeus is an One Piece character.', pt: 'Zeus é um personagem de One Piece.', es: 'Zeus es un personaje de One Piece.', pl: 'Zeus jest postacią z One Piece.' },
{ c: true, en: 'Neptune is an One Piece character.', pt: 'Neptune é um personagem de One Piece.', es: 'Neptuno es un personaje de One Piece.', pl: 'Neptun jest postacią z One Piece.' },
{ c: true, en: 'If the World Government had known that Crocodile was the head of Baroque Works, his bounty would be at least doubled to 162,000,000 berry.', pt: 'Se o Governo Mundial soubesse que Crocodile era o chefe da Baroque Works, sua recompensa pelo menos dobraria para 162.000.000 de berries.', es: 'Si el Gobierno Mundial hubiera sabido que Crocodile era el jefe de Baroque Works, su recompensa se habría duplicado al menos a 162.000.000 de berries.', pl: 'Gdyby Światowy Rząd wiedział, że Crocodile był szefem Baroque Works, jego nagroda wzrosłaby co najmniej dwukrotnie do 162 000 000 berry.' },
{ c: true, en: "Crocodile's dream was to become the Pirate King.", pt: 'O sonho de Crocodile era se tornar o Rei dos Piratas.', es: 'El sueño de Crocodile era convertirse en el Rey de los Piratas.', pl: 'Marzeniem Crocodile\'a zostało Królem Piratów.' },
{ c: true, en: 'Hancock is the first female character in the series capable of using all three forms of Haki.', pt: 'Hancock é a primeira personagem feminina da série capaz de usar as três formas de Haki.', es: 'Hancock es la primera personaje femenina de la serie capaz de usar las tres formas de Haki.', pl: 'Hancock jest pierwszą kobiecą postacią w serii zdolną do użycia wszystkich trzech form Haki.' },
{ c: true, en: 'Boa Hancock character has several references to Greek mythology.', pt: 'A personagem Boa Hancock tem várias referências à mitologia grega.', es: 'El personaje Boa Hancock tiene varias referencias a la mitología griega.', pl: 'Postać Boa Hancock zawiera kilka odniesień do greckiej mitologii.' },
{ c: true, en: 'If One Piece was set in the real world, then Luffy would be from Brazil.', pt: 'Se One Piece se passasse no mundo real, Luffy seria do Brasil.', es: 'Si One Piece se ambientara en el mundo real, Luffy sería de Brasil.', pl: 'Gdyby One Piece rozgrywało się w prawdziwym świecie, Luffy pochodziłby z Brazylii.' },
{ c: true, en: 'Buggy is the first villain to appear in the series who is a Devil Fruit user. He is the also first Devil Fruit user whom Luffy has fought.', pt: 'Buggy é o primeiro vilão da série que é usuário de Akuma no Mi. Também é o primeiro usuário de Akuma no Mi com quem Luffy lutou.', es: 'Buggy es el primer villano de la serie que es usuario de Fruta del Diablo. También es el primer usuario de Fruta del Diablo contra el que lucha Luffy.', pl: 'Buggy jest pierwszym antagonistą w serii użytkownikiem Diabelskiego Owocu. To także pierwszy taki przeciwnik, z którym walczy Luffy.' },
{ c: true, en: "Monkey D. Luffy's mother was not revealed yet.", pt: 'A mãe de Monkey D. Luffy ainda não foi revelada.', es: 'La madre de Monkey D. Luffy aún no ha sido revelada.', pl: 'Matka Monkey D. Luffy\'ego nie została jeszcze ujawniona.' },
{ c: true, en: "Portgas D. Ace is Gold Roger's son.", pt: 'Portgas D. Ace é filho de Gold Roger.', es: 'Portgas D. Ace es hijo de Gold Roger.', pl: 'Portgas D. Ace jest synem Gold Rogera.' },
{ c: true, en: "Portgas D. Ace is Rouge's son.", pt: 'Portgas D. Ace é filho de Rouge.', es: 'Portgas D. Ace es hijo de Rouge.', pl: 'Portgas D. Ace jest synem Rouge.' },
{ c: true, en: "Gum-Gum Fruit is the official name of Luffy's Devil Fruit in English.", pt: 'Fruta Gum-Gum é o nome oficial da Akuma no Mi do Luffy em inglês.', es: 'Gum-Gum Fruit es el nombre oficial de la Fruta del Diablo de Luffy en inglés.', pl: 'Gum-Gum Fruit to oficjalna angielska nazwa Diabelskiego Owocu Luffy\'ego.' },
{ c: true, en: 'Wapol is the first king shown in the series.', pt: 'Wapol é o primeiro rei mostrado na série.', es: 'Wapol es el primer rey que aparece en la serie.', pl: 'Wapol jest pierwszym królem pokazanym w serii.' },
{ c: true, en: 'Arlong is the only known individual to have been released from Impel Down.', pt: 'Arlong é o único indivíduo conhecido a ter sido solto de Impel Down.', es: 'Arlong es el único individuo conocido que ha sido liberado de Impel Down.', pl: 'Arlong jest jedyną znaną osobą, która została zwolniona z Impel Down.' },
{ c: true, en: 'Mr. 2 has the same voice actor as Franky and Jango.', pt: 'Mr. 2 tem o mesmo dublador que Franky e Jango.', es: 'Mr. 2 tiene el mismo actor de voz que Franky y Jango.', pl: 'Mr. 2 ma tego samego aktora głosowego co Franky i Jango.' },
{ c: true, en: 'Akainu has the same voice actor as Krieg.', pt: 'Akainu tem o mesmo dublador que Krieg.', es: 'Akainu tiene el mismo actor de voz que Krieg.', pl: 'Akainu ma tego samego aktora głosowego co Krieg.' },
{ c: true, en: 'Sanji in his childhood has the same voice actress as Chopper.', pt: 'Sanji na infância tem a mesma dubladora que Chopper.', es: 'Sanji de niño tiene la misma actriz de voz que Chopper.', pl: 'Sanji w dzieciństwie ma tę samą aktorkę głosową co Chopper.' },
{ c: true, en: 'Chopper has his voice actress changed in some episodes.', pt: 'A dubladora de Chopper foi trocada em alguns episódios.', es: 'La actriz de voz de Chopper cambió en algunos episodios.', pl: 'Aktorka głosowa Choppera została zmieniona w niektórych odcinkach.' },
{ c: true, en: 'Nico Robin was also known as Miss All Sunday.', pt: 'Nico Robin também era conhecida como Miss All Sunday.', es: 'Nico Robin también era conocida como Miss All Sunday.', pl: 'Nico Robin znana była też jako Miss All Sunday.' },
{ c: true, en: "Nico Robin's mother hair is white.", pt: 'O cabelo da mãe de Nico Robin é branco.', es: 'El pelo de la madre de Nico Robin es blanco.', pl: 'Włosy matki Nico Robin są białe.' },
{ c: true, en: "Yubashiri (One of Zoro's sword) rusted.", pt: 'Yubashiri (uma das espadas de Zoro) enferrujou.', es: 'Yubashiri (una de las espadas de Zoro) se oxidó.', pl: 'Yubashiri (jeden z mieczy Zoro) zardzewiał.' },
{ c: false, en: 'Masashi Kishimoto is the creator of One Piece.', pt: 'Masashi Kishimoto é o criador de One Piece.', es: 'Masashi Kishimoto es el creador de One Piece.', pl: 'Masashi Kishimoto jest twórcą One Piece.' },
{ c: false, en: 'Akira Toriyama is the creator of One Piece.', pt: 'Akira Toriyama é o criador de One Piece.', es: 'Akira Toriyama es el creador de One Piece.', pl: 'Akira Toriyama jest twórcą One Piece.' },
{ c: false, en: 'Frost is an One Piece character.', pt: 'Frost é um personagem de One Piece.', es: 'Frost es un personaje de One Piece.', pl: 'Frost jest postacią z One Piece.' },
{ c: false, en: 'The bounty of a Pirate reflects his strength.', pt: 'A recompensa de um pirata reflete sua força.', es: 'La recompensa de un pirata refleja su fuerza.', pl: 'Nagroda za pirata odzwierciedla jego siłę.' },
{ c: false, en: 'Franky was the first cyborg to appear in the series.', pt: 'Franky foi o primeiro ciborgue a aparecer na série.', es: 'Franky fue el primer cyborg en aparecer en la serie.', pl: 'Franky był pierwszym cyborgiem w serii.' },
{ c: false, en: "Teach's favorite food is apple pie.", pt: 'A comida favorita de Teach é torta de maçã.', es: 'La comida favorita de Teach es pastel de manzana.', pl: 'Ulubionym jedzeniem Teach\'a jest szarlotka.' },
{ c: false, en: "Monkey D. Garp is Luffy's real father.", pt: 'Monkey D. Garp é o pai biológico de Luffy.', es: 'Monkey D. Garp es el padre biológico de Luffy.', pl: 'Monkey D. Garp jest biologicznym ojcem Luffy\'ego.' },
{ c: false, en: "Pandaman is in Trafalgar Law's Crew.", pt: 'Pandaman está na tripulação de Trafalgar Law.', es: 'Pandaman está en la tripulación de Trafalgar Law.', pl: 'Pandaman jest w załodze Trafalgara Law.' },
{ c: false, en: 'Bepo is not a Mink.', pt: 'Bepo não é um Mink.', es: 'Bepo no es un Mink.', pl: 'Bepo nie jest Minkiem.' },
{ c: false, en: 'Gin has the same voice actor as Kuro.', pt: 'Gin tem o mesmo dublador que Kuro.', es: 'Gin tiene el mismo actor de voz que Kuro.', pl: 'Gin ma tego samego aktora głosowego co Kuro.' },
{ c: false, en: 'Perona has the same voice actress as Koala.', pt: 'Perona tem a mesma dubladora que Koala.', es: 'Perona tiene la misma actriz de voz que Koala.', pl: 'Perona ma tę samą aktorkę głosową co Koala.' },
{ c: false, en: 'Boa Hancock has the same voice actress as Reiju.', pt: 'Boa Hancock tem a mesma dubladora que Reiju.', es: 'Boa Hancock tiene la misma actriz de voz que Reiju.', pl: 'Boa Hancock ma tę samą aktorkę głosową co Reiju.' },
{ c: false, en: 'Dracule Mihawk had only one voice actor in the entire anime.', pt: 'Dracule Mihawk teve apenas um dublador em todo o anime.', es: 'Dracule Mihawk solo tuvo un actor de voz en todo el anime.', pl: 'Dracule Mihawk miał tylko jednego aktora głosowego w całym anime.' },
{ c: false, en: 'Luffy got his scar from a tiger in Foosha Village.', pt: 'Luffy ganhou sua cicatriz de um tigre na Vila Foosha.', es: 'Luffy se hizo la cicatriz por un tigre en la aldea Foosha.', pl: 'Luffy dostał bliznę od tygrysa we wsi Foosha.' },
{ c: false, en: "Sandai Kitetsu (One of Zoro's sword) rusted.", pt: 'Sandai Kitetsu (uma das espadas de Zoro) enferrujou.', es: 'Sandai Kitetsu (una de las espadas de Zoro) se oxidó.', pl: 'Sandai Kitetsu (jeden z mieczy Zoro) zardzewiał.' },
{ c: false, en: 'Ryuma had the shadow of a Legendary Wano samurai.', pt: 'Ryuma tinha a sombra de um samurai lendário de Wano.', es: 'Ryuma tenía la sombra de un samurái legendario de Wano.', pl: 'Ryuma miał cień legendarnego samuraja z Wano.' },
{ c: false, en: "Bartolomeo's Barrier broke only one time during the anime.", pt: 'A barreira de Bartolomeo quebrou apenas uma vez no anime.', es: 'La barrera de Bartolomeo solo se rompió una vez en el anime.', pl: 'Bariera Bartolomeo pękła tylko raz w anime.' },
{ c: false, en: 'Bartolomeo has the Nikyu Nikyu no Mi devil fruit.', pt: 'Bartolomeo possui a Akuma no Mi Nikyu Nikyu no Mi.', es: 'Bartolomeo tiene la Fruta del Diablo Nikyu Nikyu no Mi.', pl: 'Bartolomeo ma Diabelski Owoc Nikyu Nikyu no Mi.' }
];
var FQ_KEY = 'foxy-quiz-weekly';
var FQ_LANG = 'pt';
var QUIZ_DATA = [];
var IDX = [];
function norm(s) {
return s.normalize('NFD').replace(/[\u0300-\u036f]/g, ).toLowerCase();
}
function weekKey() {
var now = new Date();
var diff = (now.getDay() - 5 + 7) % 7;
var fri = new Date(now);
fri.setDate(now.getDate() - diff);
return fri.toISOString().slice(0, 10);
}
function esc(s) {
return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
}
function highlight(texto, tokens) {
var n = norm(texto);
var ranges = [], i, t, idx, pos;
for (i = 0; i < tokens.length; i++) {
t = tokens[i]; idx = 0;
while ((pos = n.indexOf(t, idx)) !== -1) {
ranges.push([pos, pos + t.length]);
idx = pos + 1;
}
}
if (!ranges.length) return esc(texto);
ranges.sort(function(a, b) { return a[0] - b[0]; });
var merged = [], r, last;
for (i = 0; i < ranges.length; i++) {
r = ranges[i]; last = merged[merged.length - 1];
if (last && r[0] <= last[1]) { if (r[1] > last[1]) last[1] = r[1]; }
else { merged.push([r[0], r[1]]); }
}
var out = , cur = 0, seg;
for (i = 0; i < merged.length; i++) {
seg = merged[i];
out += esc(texto.slice(cur, seg[0]));
out += '' + esc(texto.slice(seg[0], seg[1])) + '';
cur = seg[1];
}
return out + esc(texto.slice(cur));
}
function rebuildIndex() {
var lang = FQ_LANG;
var ii, row, t;
QUIZ_DATA = [];
for (ii = 0; ii < QUIZ_CORE.length; ii++) {
row = QUIZ_CORE[ii];
t = row[lang] || row.en;
QUIZ_DATA.push({ correto: row.c, texto: t });
}
IDX = [];
for (ii = 0; ii < QUIZ_DATA.length; ii++) {
IDX.push({ e: QUIZ_DATA[ii], n: norm(QUIZ_DATA[ii].texto) });
}
}
function applyUi() {
var ui = FQ_STRINGS[FQ_LANG] || FQ_STRINGS.en;
document.getElementById('fq-sub').textContent = ui.sub;
document.getElementById('fq-lang-label').textContent = ui.langLabel;
elInput.placeholder = ui.placeholder;
elClear.setAttribute('aria-label', ui.clearAria);
elTip.textContent = ui.tip;
elNores.textContent = ui.nores;
var on = elChk.classList.contains('on');
if (!on) elLbl.textContent = ui.weeklyOff;
elLang.value = FQ_LANG;
}
var elWidget = document.getElementById('fq-widget');
var elWeekly = document.getElementById('fq-weekly');
var elChk = document.getElementById('fq-chk');
var elLbl = document.getElementById('fq-lbl');
var elInput = document.getElementById('fq-input');
var elClear = document.getElementById('fq-clear');
var elStats = document.getElementById('fq-stats');
var elTip = document.getElementById('fq-tip');
var elNores = document.getElementById('fq-nores');
var elResults = document.getElementById('fq-results');
var elLang = document.getElementById('fq-lang-select');
function resolveInitialLang() {
var d = elWidget.getAttribute('data-fq-lang');
if (d && FQ_STRINGS[d]) return d;
try {
var s = localStorage.getItem(FQ_LANG_KEY);
if (s && FQ_STRINGS[s]) return s;
} catch (e) {}
var nav = (navigator.language || navigator.userLanguage || 'en').slice(0, 2).toLowerCase();
if (nav === 'pt') return 'pt';
if (nav === 'es') return 'es';
if (nav === 'pl') return 'pl';
return 'en';
}
FQ_LANG = resolveInitialLang();
rebuildIndex();
applyUi();
elLang.addEventListener('change', function() {
FQ_LANG = elLang.value;
try { localStorage.setItem(FQ_LANG_KEY, FQ_LANG); } catch (e) {}
rebuildIndex();
applyUi();
elInput.dispatchEvent(new Event('input'));
});
elWeekly.addEventListener('click', function() {
var ui = FQ_STRINGS[FQ_LANG] || FQ_STRINGS.en;
var loc = ui.locale;
var on = elChk.classList.contains('on');
if (on) {
elChk.classList.remove('on');
elLbl.classList.remove('on');
elLbl.textContent = ui.weeklyOff;
try { localStorage.removeItem(FQ_KEY); } catch(e) {}
} else {
var d = new Date();
var ds = d.toLocaleDateString(loc) + ' (' + d.toLocaleDateString(loc, { weekday: 'long' }) + ')';
elChk.classList.add('on');
elLbl.classList.add('on');
elLbl.textContent = ui.weeklyDone + ds;
try { localStorage.setItem(FQ_KEY, JSON.stringify({ weekKey: weekKey(), date: ui.weeklyDone + ds })); } catch(e) {}
}
});
elClear.addEventListener('click', function() {
elInput.value = ;
elInput.dispatchEvent(new Event('input'));
elInput.focus();
});
elInput.addEventListener('input', function() {
var raw = elInput.value;
var trimmed = raw.trim();
if (raw.length > 0) {
elClear.classList.remove('hidden');
} else {
elClear.classList.add('hidden');
}
if (trimmed.length < 2) {
elStats.classList.add('hidden');
elTip.classList.remove('hidden');
elNores.classList.add('hidden');
elResults.classList.add('hidden');
elResults.innerHTML = ;
return;
}
var parts = trimmed.split(/\s+/);
var tokens = [];
for (var i = 0; i < parts.length; i++) {
if (parts[i]) tokens.push(norm(parts[i]));
}
var hits = [], item, j, ok;
for (var k = 0; k < IDX.length; k++) {
item = IDX[k]; ok = true;
for (j = 0; j < tokens.length; j++) {
if (item.n.indexOf(tokens[j]) === -1) { ok = false; break; }
}
if (ok) hits.push(item.e);
}
elTip.classList.add('hidden');
if (hits.length === 0) {
elStats.classList.add('hidden');
elResults.classList.add('hidden');
elResults.innerHTML = ;
elNores.classList.remove('hidden');
return;
}
var tc = 0, fc = 0;
for (var x = 0; x < hits.length; x++) {
if (hits[x].correto) tc++; else fc++;
}
elStats.innerHTML = fqStatsHtml(hits.length, tc, fc, FQ_LANG);
elStats.classList.remove('hidden');
var html = , h, cls, sym;
for (var y = 0; y < hits.length; y++) {
h = hits[y];
cls = h.correto ? 'vd' : 'fa';
sym = h.correto ? '✓' : '✗';
html += '
'; } elResults.innerHTML = html; elResults.classList.remove('hidden'); elNores.classList.add('hidden'); }); (function() { try { var raw = localStorage.getItem(FQ_KEY); if (!raw) return; var obj = JSON.parse(raw); if (obj.weekKey !== weekKey()) return; elChk.classList.add('on'); elLbl.classList.add('on'); elLbl.textContent = obj.date; } catch(e) {} })(); /* {/literal} */ </script>