';
}
// Same .tc-room skeleton as renderRoomRow (avatar/info/top/bottom) so a group row matches the
// 1:1 rows visually — data-type="group" + data-gid instead of data-cid/data-uid is what the
// click-delegation in renderRooms() switches on. No online/typing indicator (doesn't apply to
// a group), and the avatar is a rounded square instead of a circle as the only visual cue
// distinguishing a group from a person, mirroring common chat-app convention.
function renderGroupRow(group) {
var gid = group.gid;
var name = group.name || '';
var lastMsg = group.lastMessage;
var preview = '';
if (lastMsg) {
preview = parseDisplayText(lastMsg.msm);
if (!preview) {
if (lastMsg.urlima && lastMsg.urlima.indexOf('public://') >= 0) preview = '📷';
else if (lastMsg.urlaudi && lastMsg.urlaudi.indexOf('public://') >= 0) preview = '🎵';
}
if (String(lastMsg.whosend) === String(userId)) preview = 'You: ' + preview;
} else {
preview = 'No messages yet';
}
var timeStr = group.updated ? fmtTime(unixToDbTimestamp(group.updated)) : '';
var unread = group.unreadCount > 0;
var active = activeGid === gid;
return '
';
}
var body = '';
if (msg.urlima === '_loading_') {
body += '
📷 Sending…
';
} else if (msg.urlima && msg.urlima.indexOf('public://') >= 0) {
var src = msg.urlima.replace('public://', FILES_BASE);
body += '';
}
if (msg.urlaudi && msg.urlaudi.indexOf('public://') >= 0) {
var asrc = msg.urlaudi.replace('public://', FILES_BASE);
body += '';
}
if (meta && meta.type === 'loc') {
body += locationLinkHtml(meta.lat, meta.lng);
} else if (!isSalt && text) {
body += '
' + linkifyText(escHtml(text)) + '
';
}
var time = fmtTime(msg.timestamp || '');
return '
'
+ metaHtml + body
+ '' + escHtml(time) + ''
+ '
';
}
// ── Render group messages ────────────────────────────────────────────────────
function renderGroupMessages(gid) {
var msgs = allGroupMsgs[gid] || [];
var $el = $('#tc-msgs');
var order = msgs.slice().reverse();
$el.html(order.map(renderGroupMsg).join(''));
$el.scrollTop($el[0].scrollHeight);
}
// Same shape as renderMsg(), plus a sender-name label on incoming bubbles — unlike a 1:1
// conversation, "not me" doesn't tell you who actually sent it. Reuses the identical
// urlima/urlaudi rendering, so images/audio sent from the Android app (or sendGroupImage()
// here) display correctly. Audio still has no send control in this web widget.
function renderGroupMsg(msg) {
var isMe = String(msg.whosend) === String(userId);
var side = isMe ? 'tc-out' : 'tc-in';
var parsed = parseInlineMeta(msg.msm || '');
var text = parsed.text;
var meta = parsed.meta;
var isSalt = (text.length === 18 && text.indexOf(' ') < 0);
var senderHtml = '';
if (!isMe) {
senderHtml = '
' + escHtml(msg.senderName || msg.whosend) + '
';
}
var metaHtml = '';
if (meta && meta.type === 'fwd') {
metaHtml = '
';
}
// ── Send (opc 11) ────────────────────────────────────────────────────────────
function sendMessage() {
var text = $.trim($('#tc-input').val());
if (!text || !activeCid) return;
$('#tc-input').val('').focus();
isTyping = false;
post({ opc: '11', userid: userId, cid: activeCid, msm: text, fid: '0' })
.then(function (resp) {
if (!resp) return;
var ok = (resp.resp === 3 || resp.resp === '3' ||
resp.resp === 11 || resp.resp === '11');
if (!ok) return;
var msg = {
id: resp.lastmid || String(Date.now()),
whosend: String(userId),
msm: text,
urlima: '',
urlaudi: '',
timestamp: new Date().toISOString().replace('T', ' ').substr(0, 19)
};
if (!allMsgs[activeCid]) allMsgs[activeCid] = [];
allMsgs[activeCid].unshift(msg);
renderMessages(activeCid);
if (socket && socket.connected) {
socket.emit('send-message', {
id: resp.lastmid,
chatId: activeCid,
from: String(userId),
to: String(activeUid),
message: text,
type: 'text'
});
}
});
}
// ── Send group message ───────────────────────────────────────────────────────
// Purely socket-based — group-message-send both persists (tc_group_message, via the
// signaling server) and delivers, unlike 1:1's HTTP-then-socket-notify split. The server
// echoes the message back to the sender too (see group-message-send in signaling-server-2.js),
// so onGroupSocketMessage() is what actually appends it here — no optimistic local insert.
function sendGroupMessage() {
var text = $.trim($('#tc-input').val());
if (!text || !activeGid) return;
if (!socket || !socket.connected) return;
$('#tc-input').val('').focus();
isTyping = false;
socket.emit('group-message-send', {
gid: parseInt(activeGid, 10),
from: userId,
message: text,
type: 'text',
localId: 'web-' + Date.now() + '-' + Math.random().toString(36).substr(2, 8)
});
}
// ── Send group image (group-message-send, type:"image") ─────────────────────
// Unlike 1:1 (HTTP upload then socket notify), groups have no HTTP upload endpoint —
// the server expects the raw file as a base64 string on the same socket event used for
// text (see group-message-send in signaling-server-2.js), and does its own resize/compress
// (sharp, 1024x1024 max, jpeg75) server-side before writing it and echoing "group-message"
// back to every member including the sender. That echo is what onGroupSocketMessage() uses
// to both confirm this optimistic placeholder (matched by localId) and actually display it.
function sendGroupImage(file) {
if (!activeGid) return;
if (!socket || !socket.connected) return;
if (pendingGroupImage) return; // one at a time — button is disabled meanwhile anyway
var gid = activeGid;
var localId = 'web-img-' + Date.now() + '-' + Math.random().toString(36).substr(2, 8);
pendingGroupImage = { gid: gid, localId: localId };
if (!allGroupMsgs[gid]) allGroupMsgs[gid] = [];
allGroupMsgs[gid].unshift({
id: localId, localId: localId, whosend: String(userId), senderName: myName,
msm: '', urlima: '_loading_', urlaudi: '', created: Math.floor(Date.now() / 1000)
});
renderGroupMessages(gid);
$('#tc-img-btn').attr('disabled', 'disabled');
// Safety net — if the server/socket never answers at all (disconnect mid-flight etc.),
// don't leave "Sending…" stuck forever (see the 1:1 image-send bug this mirrors).
var timeoutId = setTimeout(function () { onGroupMessageError({}); }, 20000);
compressImageIfNeeded(file, function (uploadFile) {
var reader = new FileReader();
reader.onload = function () {
clearTimeout(timeoutId);
if (!pendingGroupImage || pendingGroupImage.localId !== localId) return; // already cleared
var base64 = (reader.result || '').split(',')[1] || '';
if (!base64 || !socket || !socket.connected) { onGroupMessageError({}); return; }
socket.emit('group-message-send', {
gid: parseInt(gid, 10),
from: userId,
message: '',
type: 'image',
filedata: base64,
localId: localId
});
};
reader.onerror = function () {
clearTimeout(timeoutId);
onGroupMessageError({});
};
reader.readAsDataURL(uploadFile);
});
}
// Clears whatever group image send is currently in flight — used both for explicit
// "group-message-error" replies (bad file, not a member, rate-limited) and the
// client-side timeout above. Doesn't distinguish by localId: only one send is ever
// in flight at a time (the button is disabled meanwhile), so there's nothing to match.
function onGroupMessageError(data) {
if (!pendingGroupImage) return;
var gid = pendingGroupImage.gid;
var localId = pendingGroupImage.localId;
pendingGroupImage = null;
$('#tc-img-btn').removeAttr('disabled');
if (allGroupMsgs[gid]) {
allGroupMsgs[gid] = allGroupMsgs[gid].filter(function (m) { return m.localId !== localId; });
}
if (activeGid === gid && isOpen) renderGroupMessages(gid);
if (data && data.error) { console.warn('group image send failed:', data.error); }
}
// Resizes/re-encodes as JPEG when a file exceeds COMPRESS_THRESHOLD. Skips GIFs —
// redrawing to canvas would flatten an animated GIF to a single static frame.
// Falls back to the original file untouched if decoding/encoding fails for any reason.
function compressImageIfNeeded(file, callback) {
if (file.size <= COMPRESS_THRESHOLD || file.type === 'image/gif') {
callback(file);
return;
}
var img = new Image();
var url = URL.createObjectURL(file);
img.onload = function () {
URL.revokeObjectURL(url);
var scale = Math.min(1, COMPRESS_MAX_DIM / Math.max(img.width, img.height));
var canvas = document.createElement('canvas');
canvas.width = Math.round(img.width * scale);
canvas.height = Math.round(img.height * scale);
canvas.getContext('2d').drawImage(img, 0, 0, canvas.width, canvas.height);
canvas.toBlob(function (blob) {
callback(blob || file, !!blob);
}, 'image/jpeg', COMPRESS_QUALITY);
};
img.onerror = function () {
URL.revokeObjectURL(url);
callback(file);
};
img.src = url;
}
// ── Send image (opc 11I) ─────────────────────────────────────────────────────
function sendImage(file) {
if (!activeCid) return;
var tempId = '_img_' + Date.now();
if (!allMsgs[activeCid]) allMsgs[activeCid] = [];
allMsgs[activeCid].unshift({
id: tempId, whosend: String(userId), msm: '', urlima: '_loading_',
urlaudi: '', timestamp: new Date().toISOString().replace('T', ' ').substr(0, 19)
});
renderMessages(activeCid);
// .attr()/.removeAttr(), not .prop() — this site's jQuery predates 1.6 (which is
// when .prop() was introduced), and every other call in this file sticks to
// pre-1.6-safe APIs already.
$('#tc-img-btn').attr('disabled', 'disabled');
compressImageIfNeeded(file, function (uploadFile, wasCompressed) {
var form = new FormData();
form.append('opc', '11I');
form.append('userid', String(userId));
form.append('cid', activeCid);
form.append('image', uploadFile, wasCompressed ? 'upload.jpg' : file.name);
fetch(API_URL, { method: 'POST', body: form })
.then(function (r) { return r.ok ? r.json() : null; })
.then(function (resp) {
allMsgs[activeCid] = allMsgs[activeCid].filter(function (m) { return m.id !== tempId; });
if (resp && (resp.resp === 3 || resp.resp === '3') && resp.urlima) {
var msg = {
id: resp.lastmid || String(Date.now()),
whosend: String(userId),
msm: '',
urlima: resp.urlima,
urlaudi: '',
timestamp: new Date().toISOString().replace('T', ' ').substr(0, 19)
};
allMsgs[activeCid].unshift(msg);
if (socket && socket.connected) {
socket.emit('send-message', {
id: resp.lastmid,
chatId: activeCid,
from: String(userId),
to: String(activeUid),
message: '',
urlima: resp.urlima,
type: 'image'
});
}
}
renderMessages(activeCid);
})
.catch(function () {
allMsgs[activeCid] = allMsgs[activeCid].filter(function (m) { return m.id !== tempId; });
renderMessages(activeCid);
})
.then(function () { $('#tc-img-btn').removeAttr('disabled'); });
});
}
// ── Inline meta parser ────────────────────────────────────────────────────────
function parseInlineMeta(raw) {
if (!raw) return { text: '', meta: null };
if (raw.substr(0, FWD_MARKER.length) === FWD_MARKER) {
var end = raw.indexOf(META_ETX);
if (end < 0) return { text: raw, meta: null };
var sender = raw.substring(FWD_MARKER.length, end);
return { text: raw.substring(end + 1), meta: { type: 'fwd', sender: sender } };
}
if (raw.substr(0, REPLY_MARKER.length) === REPLY_MARKER) {
var rend = raw.indexOf(META_ETX);
if (rend < 0) return { text: raw, meta: null };
var parts = raw.substring(REPLY_MARKER.length, rend);
var sep = parts.indexOf(META_SEP);
var rsender = sep >= 0 ? parts.substring(0, sep) : parts;
var orig = sep >= 0 ? parts.substring(sep + 1) : '';
return { text: raw.substring(rend + 1), meta: { type: 'reply', sender: rsender, orig: orig } };
}
// Shared location — same "lat" + META_SEP + "lng" encoding the Android app writes
// (see LOC_MARKER / sendLocationMessage() in ActivityChat.java). No trailing text.
if (raw.substr(0, LOC_MARKER.length) === LOC_MARKER) {
var lend = raw.indexOf(META_ETX);
if (lend < 0) return { text: raw, meta: null };
var coords = raw.substring(LOC_MARKER.length, lend);
var lsep = coords.indexOf(META_SEP);
var lat = lsep >= 0 ? coords.substring(0, lsep) : coords;
var lng = lsep >= 0 ? coords.substring(lsep + 1) : '';
return { text: raw.substring(lend + 1), meta: { type: 'loc', lat: lat, lng: lng } };
}
return { text: raw, meta: null };
}
function parseDisplayText(msm) {
var p = parseInlineMeta(msm || '');
var t = p.text;
if (p.meta && p.meta.type === 'loc') return '📍 ' + LOC_LABEL;
if (t.length === 18 && t.indexOf(' ') < 0) return '';
return (p.meta ? (p.meta.type === 'fwd' ? '↪ ' : '↩ ') : '') + t;
}
// ── Badge & notifications ─────────────────────────────────────────────────────
function updateBadge() {
var n = Object.keys(unreadCids).length;
Object.keys(allGroups).forEach(function (k) {
if (allGroups[k].unreadCount > 0) n++;
});
var $b = $('#tc-badge');
if (n > 0) { $b.text(n).removeClass('tc-hidden'); }
else { $b.addClass('tc-hidden'); }
}
function showNotif(title, body) {
if (!('Notification' in window)) return;
if (Notification.permission === 'granted') {
new Notification(title, {
body: body || '',
icon: 'https://www.taleoi.com/sites/default/files/taleoi.ico'
});
} else if (Notification.permission === 'default') {
Notification.requestPermission();
}
}
// ── HTTP ──────────────────────────────────────────────────────────────────────
function post(params) {
var form = new FormData();
Object.keys(params).forEach(function (k) { form.append(k, String(params[k])); });
return fetch(API_URL, { method: 'POST', body: form })
.then(function (r) { return r.ok ? r.json() : null; })
.catch(function () { return null; });
}
// ── Helpers ───────────────────────────────────────────────────────────────────
// Group timestamps (tc_group.updated, tc_group_message.created) are unix seconds, unlike
// 1:1's "YYYY-MM-DD HH:MM:SS" strings — converts to that same shape (local time) so both can
// share fmtTime() and the plain string comparison renderRooms() sorts by.
// Formatted with UTC getters, not local — fmtTime() (below) always treats this
// "YYYY-MM-DD HH:MM:SS" shape as UTC (appending 'Z' before parsing), matching the raw
// DB timestamp strings 1:1 chat passes it directly. Using local getters here would hand
// fmtTime() an already-local time it then re-shifts by the viewer's UTC offset again.
function unixToDbTimestamp(unixSec) {
if (!unixSec) return '0';
var d = new Date(unixSec * 1000);
function pad(n) { return (n < 10 ? '0' : '') + n; }
return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + ' '
+ pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds());
}
function fmtTime(ts) {
if (!ts) return '';
// DB timestamps are plain "YYYY-MM-DD HH:MM:SS" in UTC (MySQL TIMESTAMP column).
// Without a trailing 'Z', the JS Date parser treats a date-TIME string (unlike a
// date-only string) as local time, not UTC — silently shifting displayed times by
// the viewer's UTC offset. The 'Z' forces correct UTC interpretation.
var d = new Date(ts.replace(' ', 'T') + 'Z');
if (isNaN(d.getTime())) return '';
var now = new Date();
if (d.toDateString() === now.toDateString()) {
return d.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' });
}
return (d.getMonth() + 1) + '/' + d.getDate();
}
function escHtml(s) {
return String(s == null ? '' : s)
.replace(/&/g, '&').replace(//g, '>')
.replace(/"/g, '"').replace(/'/g, ''');
}
function escAttr(s) { return escHtml(s); }
// Wraps http(s) URLs in a message's already-escaped text with clickable links. Must run
// AFTER escHtml() — matching against the escaped string is safe since escaping never
// introduces whitespace inside a URL run, and the entities it does introduce (e.g. "&"
// for a literal "&" in a query string) are exactly what a browser expects inside an href
// attribute anyway. target="_blank" + rel="noopener noreferrer" so following a link never
// navigates away from (or exposes window.opener to) the page the chat widget is floating on.
function linkifyText(escapedText) {
return escapedText.replace(/https?:\/\/[^\s<]+/g, function (url) {
var trail = '';
var m = url.match(/[.,!?:;)\]}'"]+$/);
if (m) { trail = m[0]; url = url.slice(0, -trail.length); }
if (!url) return trail;
return '' + url + '' + trail;
});
}
// A shared location (LOC_MARKER — see parseInlineMeta()) renders as a tappable card
// linking to Google Maps, matching how the Android app opens a geo: intent for the
// same coordinates. Uses an https:// maps URL instead since geo: isn't reliably
// clickable in desktop browsers.
function locationLinkHtml(lat, lng) {
var mapUrl = 'https://www.google.com/maps?q=' + encodeURIComponent(lat) + ',' + encodeURIComponent(lng);
return ''
+ '📍 ' + escHtml(LOC_LABEL) + '';
}
})(jQuery);
br| Page 51 | taleoi.com
Dupla e presa por trafico de drogas em festa no interior do Amazonas
acritica.com
A dupla estava vendendo drogas durante a 5ª Edição da Festa do Mel 2024, em Boa Vista dos Ramos
Policiais militares do Comando de Policiamento do Interior (CPI) prenderam em flagrante dois homens pelo crime de tráfico de drogas, durante a 5...read more
A dupla estava vendendo drogas durante a 5ª Edição da Festa do Mel 2024, em Boa Vista dos Ramos
Policiais militares do Comando de Policiamento do Interior (CPI) prenderam em flagrante dois homens pelo crime de tráfico de drogas, durante a 5ª Edição da Festa do Mel 2024, no município de Boa Vista do Ramos n (a 271 quilômetros de Manaus.
As prisões aconteceram na última sexta-feira (3). Durante o evento, os homens foram vistos tentando fugir do local ao verem a polícia chegando, mas foram perseguidos e alcançados pelos militares que faziam a segurança da festa.
Durante revista pessoal, com eles foram apreendidos 74 trouxinhas de oxi, 12 trouxinhas de cocaína; cinco trouxinhas de maconha; dois aparelhos celulares e R$ 244 em espécie.
A dupla foi encaminhada para a 46ª Delegacia de Polícia Civil de Boa Vista do Ramos, onde foram autuados pelos crimes de tráfico de droga e associação para o tráfico.
Complexo da beleza em Manaus oferece combos para o Dia das Mães
emtempo.com.br
O Dia das Mães é uma ocasião especial que merece ser celebrada com cuidado e carinho. Pensando nisso, o salão de beleza Studio Vip Concept, um verdadeiro santuário de beleza e bem-estar de Manaus, se destaca como destino ideal para homenagear as m...read more
O Dia das Mães é uma ocasião especial que merece ser celebrada com cuidado e carinho. Pensando nisso, o salão de beleza Studio Vip Concept, um verdadeiro santuário de beleza e bem-estar de Manaus, se destaca como destino ideal para homenagear as mães oferecendo uma gama exclusiva de serviços que vão desde tratamentos relaxantes de spa, até procedimentos estéticos que prometem encantar as homenageadas.
Com conceito de luxo e sofisticação, o empreendimento é um complexo completo para cuidados pessoais. Além dos tradicionais serviços de salão de beleza e spa, destaca-se por abrigar uma clínica de odontologia estética, comandada pela renomada dentista e proprietária do estabelecimento, Iara Ribeiro, uma loja de roupas e acessórios, e uma cafeteria. Para o Dia das Mães, foram elaborados combos exclusivos, perfeitos para mães e filhas desfrutarem juntas de momentos especiais.
Os combos foram cuidadosamente criados para atender aos mais variados gostos e necessidades. Desde serviços mais básicos de salão de beleza, como o combo “Mãe & Filha: Carinho”, que inclui duas escovas e duas manicures por R$ 115 por pessoa, até opções mais completas, como o combo “Toque de Amor”, que oferece hidratação Wella Elements, escova, manicure e pedicure por R$ 335.
Para proporcionar momentos de total relaxamento, foram preparadas opções que prometem aliviar as tensões e diminuir o cansaço físico e mental, como o combo “Mãe & Filha: Reconexão”, que oferece duas sessões de escalda-pés, duas massagens relaxantes e dois banhos de imersão por R$ 380 por pessoa.
Além disso, o espaço oferece o Botox Day, com aplicação de botox a partir de R$ 1.100, dos dias 9 a 11 de maio, na clínica de odontologia estética comandada pela própria Iara Ribeiro (CRO/AM 2932), e oferece condições especiais nos serviços de preenchimento, botox e clareamento dental durante todo o mês de maio.
Amazonas e um dos estados com maior ocorrência de raios no pais
altoviaje.blog
Há pouco mais de um mês, um adolescente de 16 anos morreu em uma chácara no município de Aragominas, no Tocantins, após ser atingido por um raio enquanto trabalhava descalço na produção de farinha de mandioca. No mesmo dia, outra vítima de uma des...read more
Há pouco mais de um mês, um adolescente de 16 anos morreu em uma chácara no município de Aragominas, no Tocantins, após ser atingido por um raio enquanto trabalhava descalço na produção de farinha de mandioca. No mesmo dia, outra vítima de uma descarga atmosférica foi registrada em uma praia de Arraial do Cabo, no litoral do Rio de Janeiro: um jovem de 19 anos perdeu a vida no momento em que recolhia cadeiras e materiais de trabalho.
Na mesma época, o estado de Mato Grosso do Sul foi palco de dois episódios fatais. Um foi no município de Ladário, onde uma mulher de 41 anos foi alvo de uma descarga elétrica enquando pescava nas margens do Rio Paraguai. Já em Água Clara, um homem de 33 anos foi eletrocutado enquanto mexia no celular conectado à tomada durante o mau tempo.
A frequência com que casos desse tipo são noticiados tem relação com as condições meteorológicas do Brasil, que é o país com maior incidência de raios no mundo. E a comunidade científica vem manifestando preocupação com a possibilidade de aumento da média anual de ocorrência de raios em território nacional, como desdobramento das mudanças climáticas em curso.
Segundo dados do Grupo de Eletricidade Atmosférica (Elat), vinculado ao Instituto Nacional de Pesquisas Espaciais (Inpe), de 2018 a 2022, a média anual de descargas atmosféricas no país ficou em 590 milhões. Nesse período, Amazonas, Pará, Mato Grosso, Minas Gerais e Mato Grosso do Sul foram os estados com maior número absoluto de ocorrências de raios.
O ranking consta em cartilha produzida pelo Instituto Tecnológico Vale (ITV), braço da mineradora Vale dedicada ao fomento da pesquisa científica. Intitulado Proteção contra raios: redução de riscos para aumento da segurança, o documento recém-finalizado traz um conjunto de informações que incluem perfil das vítimas, circunstâncias mais comuns das ocorrências, atividades consideradas perigosas, recomendações para prevenir danos e leis e normas brasileiras que tratam do tema. A cartilha será distribuída em comunidades e escolas.
País registrou 745 mil deslocamentos internos por desastres em 2023, o maior número já contabilizado. Com inundações no Rio Grande do Sul, recorde deve ser superado neste ano.
Em 2010, Nedine Beauger perdeu sua casa no terremoto em Porto Pr...read more
País registrou 745 mil deslocamentos internos por desastres em 2023, o maior número já contabilizado. Com inundações no Rio Grande do Sul, recorde deve ser superado neste ano.
Em 2010, Nedine Beauger perdeu sua casa no terremoto em Porto Príncipe, no Haiti, e se tornou uma entre um milhão de desabrigados no país. Morou entre abrigos e ruas por dois anos, até que em 2015 decidiu emigrar para o Brasil. Em contato com uma comunidade de haitianos no Facebook, escolheu Porto Alegre. Aos 42 anos, mãe solo de uma filha de 5, ela se vê mais uma vez sem casa, mas agora longe da família, atingida pelas enchentes que assolam o Rio Grande do Sul.
"Foi difícil recomeçar no Brasil, saía para procurar trabalho sem falar português. Agora perdi tudo de novo, não sei para onde poderei ir", conta a haitiana, que morava no Sarandi, um dos bairros mais afetados pelas chuvas em Porto Alegre.
Hospedada na casa de um amigo haitiano depois de cinco dias num abrigo com a filha, Beauger faz parte dos mais de 600 mil deslocados pelas inundações no Rio Grande do Sul. O total não está distante dos 745 mil deslocamentos por desastres registrados em todo o ano de 2023 no Brasil, segundo relatório anual da organização não-governamental Observatório de Deslocamento Interno (IDMC, na sigla em inglês), divulgado nesta terça-feira (14/05).
Carência de nutrientes pode causar fadiga e cansaço em mulheres
acritica.com
Muitas mulheres enfrentam não apenas o desafio emocional, mas também o físico, lidando com níveis significativos de fadiga. De acordo com pesquisa feita pelo Ibope, duas em cada três mulheres, de 20 a 29 anos, se queixam de cansaço.
Muitas mulheres enfrentam não apenas o desafio emocional, mas também o físico, lidando com níveis significativos de fadiga. De acordo com pesquisa feita pelo Ibope, duas em cada três mulheres, de 20 a 29 anos, se queixam de cansaço.
Embora seja comum atribuir esses sintomas ao estresse e à falta de sono, é fundamental compreender que a nutrição desempenha um papel crucial na vitalidade e no bem-estar físico de uma mãe.
A fadiga persistente e o cansaço extremo podem ser indicadores de que algo está faltando no corpo, e muitas vezes, essa lacuna está relacionada à ingestão insuficiente de nutrientes essenciais. Uma dieta desequilibrada, rotinas agitadas e as demandas constantes da maternidade podem levar à deficiência de vitaminas, minerais e outros elementos essenciais para o funcionamento adequado do organismo.
De acordo com o especialista em nutrologia, André Guanabara, a alimentação tem um papel fundamental na absorção de nutrientes que combatem a fadiga.
O Governo do Amazonas, por meio do Sine Amazonas, coordenado pela Secretaria Executiva do Trabalho e Empreendedorismo (Setemp), órgão da Secretaria de Estado de Desenvolvimento Econômico, Ciência, Tecnologia e Inovação (Sedecti), divulga 379 vagas...read more
O Governo do Amazonas, por meio do Sine Amazonas, coordenado pela Secretaria Executiva do Trabalho e Empreendedorismo (Setemp), órgão da Secretaria de Estado de Desenvolvimento Econômico, Ciência, Tecnologia e Inovação (Sedecti), divulga 379 vagas de emprego disponíveis para esta segunda-feira (13/05).
Os interessados em concorrer às vagas devem comparecer na sede do Sine Amazonas, localizada na Galeria+, avenida Djalma Batista, 1.018 (entre o Amazonas Shopping e o Manaus Plaza Shopping). A distribuição das senhas e atendimento são realizados das 8h às 14h.
Para o cadastro, devem apresentar comprovante de vacinação (Covid-19), currículo e documentos pessoais (RG, CPF, PIS, CTPS, comprovante de escolaridade e residência). Não é necessário apresentar cópias, somente os documentos originais. As oportunidades de emprego são de diversas empresas e instituições do Amazonas, e os detalhes das vagas serão informados pelos empregadores.
Editora oferece 20% de desconto para celebrar o dia das mães
emtempo.com.br
Nessa semana lança a campanha “Mães que amam ler” oferece 20% de desconto nos livros e realizará um sorteio
Com mais de 30 anos de atuação, a Editora Valer é referência na publicação de obras que valorizam a cultura e a história da Amazônia...read more
Nessa semana lança a campanha “Mães que amam ler” oferece 20% de desconto nos livros e realizará um sorteio
Com mais de 30 anos de atuação, a Editora Valer é referência na publicação de obras que valorizam a cultura e a história da Amazônia. Possui um catálogo com mais de dois mil títulos, abrangendo desde a poesia até pesquisas científicas. Nessa semana lança a campanha “Mães que amam ler”, na qual oferece 20% de desconto nos livros e realizará um sorteio, sexta-feira (10), às 10h, de um kit com três obras. A campanha segue até a próxima segunda-feira, dia 13 de maio.
Para a coordenadora editorial da Valer, professora doutora em Filosofia e autora do livro “Para aquém ou para além de nós”, Neiza Teixeira, é um dos momentos mais importantes do ano e nada melhor que presentear a mãe com uma bela obra publicada pela Valer.
Com atuação de mais de 30 anos, com publicações focadas na Amazônia, a Editora Valer possui mais de duas mil obras publicadas, com livros que vão desde a poesia até o Direito e pesquisas cientificas.
Ressaltando tanto autores contemporâneos quanto obras clássicas, como “Simá (2011, Editora Valer), de Lourenço Amazonas, e “Poranduba amazonense” (2018, Editora Valer), de Barbosa Rodrigues.
Ainda em 2024, a editora Valer voltará a ter sua loja física, no Largo São Sebastião, no centro de Manaus.
Vila Farroupilha e entorno da Rodoviária no mapa de risco
A Prefeitura de Pelotas atualizou neste sábado o mapa das áreas de risco. As regiões da Rodoviária e da Vila Farroupilha, que antes apareciam em laranja, foram alteradas para a cor v...read more
Vila Farroupilha e entorno da Rodoviária no mapa de risco
A Prefeitura de Pelotas atualizou neste sábado o mapa das áreas de risco. As regiões da Rodoviária e da Vila Farroupilha, que antes apareciam em laranja, foram alteradas para a cor vermelha, que indica áreas de alto risco. A atualização é devido ao aumento dos níveis do canal São Gonçalo e Santa Bárbara.
Curso preparatorio online para estudantes e comunidades
acritica.com
O curso pré-vestibular é direcionado a estudantes interessados em ingressar na Universidade do Estado do Amazonas
A Universidade do Estado do Amazonas (UEA) lançou o Pré-Vest na manhã desta quinta-feira (09/05). Trata-se de um curso pré-ves...read more
O curso pré-vestibular é direcionado a estudantes interessados em ingressar na Universidade do Estado do Amazonas
A Universidade do Estado do Amazonas (UEA) lançou o Pré-Vest na manhã desta quinta-feira (09/05). Trata-se de um curso pré-vestibular on-line e totalmente gratuito, direcionado a pessoas que não têm condições de frequentar cursos preparatórios particulares. As primeiras aulas estarão disponíveis a partir do dia 13 de maio. O objetivo do Pré-Vest UEA é democratizar e preparar estudantes e a comunidade em geral para o ingresso ao ensino superior.
As atividades terão duração de 15 minutos e serão ministradas e veiculadas por meio da plataforma YouTube. E, também, em um aplicativo Pré-Vest, exibidas 2 a 3 vezes por dia. O projeto tem o apoio da Pró-Reitoria de Extensão e Assuntos Comunitários (Proex) e visa preparar alunos das séries do ensino médio para as provas do Sistema de Ingresso Seriado (SIS, 1, 2 e 3) e estudantes que já concluíram o ensino médio para as provas do Vestibular (Macro) da UEA.
O reitor André Zogahib destacou que a universidade e o Governo do Estado estão felizes com a importância da iniciativa e a entrega do Pré-Vest, pois é uma parceria entre a TV Encontro das Águas, UEA e Secretaria de Estado de Educação e Desporto Escolar (Seduc).
“Você, que é aluno da rede pública e particular do ensino médio e que vai prestar o Vestibular da UEA, terá acesso ao nosso programa, gratuitamente, que será veiculado em nossos canais do YouTube e em parceria com a TV Encontro das Águas, durante a sua programação local. Conto com a sua dedicação para fazer um vestibular de alto nível. Garantimos um investimento na segurança do certame e, agora, estamos investindo na sua preparação. É o Governo do Estado do Amazonas e a UEA trabalhando em conjunto pelo seu benefício”, enfatizou o reitor.
O coordenador do Pré-Vest, Prof. Carlos Vitor, explicou que os alunos do ensino médio (1º, 2º e 3º ano) e o alunos que já concluíram estarão aptos para acompanhar as aulas.
“Teremos um aplicativo para esses alunos. Então, é o seu conhecimento na palma da sua mão. Não deixem de participar! Assistam às aulas! Lembrando que a universidade, dentro de um dos seus pilares que é a extensão, está mobilizando todo o corpo da gestão superior desde setembro do ano passado para que esse programa entre em total harmonia com vocês, e que possam desfrutar dos melhores professores de cursinho de Manaus. E temos uma previsão de atendimento de mais de 200 mil alunos que esperamos, toda a sorte, podermos alcançá-los", comentou.
TABATINGA CRIA 1ª LIGA DE E-SPORTS DA FRONTEIRA 📲🔝👏
O advogado Willian Bergman esteve reunido com os adolescentes e jovens do E-SPORT Tabatinga (Jogos Digitais).
No insta ele disse: “O e-sport é uma pratica esportiva reconhecida mund...read more
TABATINGA CRIA 1ª LIGA DE E-SPORTS DA FRONTEIRA 📲🔝👏
O advogado Willian Bergman esteve reunido com os adolescentes e jovens do E-SPORT Tabatinga (Jogos Digitais).
No insta ele disse: “O e-sport é uma pratica esportiva reconhecida mundialmente. O fomento e organização dessa modalidade, ajudam na revelação de novos talentos, no incentivo de atividades sadias aos jovens e a evitar o uso exagerado e prejudicial do game. A Liga Tabatinguense de Esportes Eletrônicos, que foi um sonho nosso de tantos anos, hoje já é mais que uma realidade.”
O comprometimento surge com os lideres de mais de 10 dos principais times existentes na cidade e esta aberto para mais times que queiram se juntar.
O objetivo, é valorizar a pratica do e-sport e regulamenta-la de forma que seja praticada de maneira sadia entre seus jogadores.
O esporte eletrônico pode e deve ser valorizado assim como o futsal, basquete, volei, tenis de mesa e tantos outros esportes.
Policia civil prende trio que atuava em grupo criminoso
acritica.com
A Polícia Civil do Amazonas (PC-AM), por meio do 12° Distrito Integrado de Polícia (DIP), prendeu em flagrante, nesta sexta-feira (10/05), Andrey da Silva Cantuario, 20, Natasha Paz de Araújo, 21, e Pedro Kevin Costa Pena, 18, por roubo, associaçã...read more
A Polícia Civil do Amazonas (PC-AM), por meio do 12° Distrito Integrado de Polícia (DIP), prendeu em flagrante, nesta sexta-feira (10/05), Andrey da Silva Cantuario, 20, Natasha Paz de Araújo, 21, e Pedro Kevin Costa Pena, 18, por roubo, associação criminosa e receptação. As prisões aconteceram na rua Mastruz, bairro Jorge Teixeira, zona leste.
Conforme o delegado Wanceslan de Queiroz, titular do 12° DIP, a captura do trio se deu mediante denúncia anônima informando a localização deles na residência de Natasha, responsável pela receptação dos objetos roubados e divisão dos bens das vítimas. De imediato, a equipe policial foi ao local, confirmou os fatos e prendeu o trio.
“Estávamos em constante investigação para localizar Andrey e seus comparsas, responsáveis pelos roubos nos ônibus. Eles roubaram celulares, dinheiro e demais pertences de valores das vítimas, e agiam com ameaças e eram bastante agressivos com os passageiros. Ontem, quando recebemos a denúncia de movimentação suspeita na casa de Natasha, encontramos Andrey e Pedro Kevin no local”, disse Queiroz.
Segundo o delegado, o grupo cometia os constantes roubos nas avenidas Torquato Tapajós e Max Teixeira, na zona norte. Quando foram presos, estavam em posse de 16 aparelhos eletrônicos, entre celulares e tabletes, 10 relógios, cordões, anéis, dois canivetes e uma faca.
As diligências em torno dos roubos continuarão com o intuito de desbaratar o esquema desse grupo criminoso e, também, localizar e prender os demais autores.
Andrey Cantuario, Natasha Paz e Pedro Kevin responderão por roubo, receptação e associação criminosa. Eles passarão por audiência de custódia e ficarão à disposição da Justiça.
A droga avaliada em cerca de R$ 300 mil, foi encontrada escondida dentro de uma mala, que não apresentava origem de despacho.
Cerca de 15 quilos de maconha do tipo skunk foram apreendidos na noite de terça-feira (7), pela Polícia Militar do...read more
A droga avaliada em cerca de R$ 300 mil, foi encontrada escondida dentro de uma mala, que não apresentava origem de despacho.
Cerca de 15 quilos de maconha do tipo skunk foram apreendidos na noite de terça-feira (7), pela Polícia Militar do Amazonas (PMAM), durante fiscalização em uma embarcação, na Base Fluvial Arpão 2, em Barcelos (a 399 quilômetros de Manaus). A droga avaliada em cerca de R$ 300 mil, foi encontrada escondida dentro de uma mala, que não apresentava origem de despacho.
A ocorrência foi registrada por volta das 23h, durante a abordagem à lancha expresso Maria Valentina, que havia saído de São Gabriel da Cachoeira (a 852 quilômetros de Manaus) e tinha como destino a capital amazonense.
Com o auxílio de um cão de faro para narcóticos, durante a fiscalização, as equipes da PMAM encontraram a mala. Ao todo, foram mais de 15 quilos de entorpecentes. Ao serem submetidos à análise, pelo Departamento Polícia Técnico-Científica (DPTC), foi identificado que se tratava de maconha do tipo skunk.
O suspeito por transportar o entorpecente não foi identificado. A Polícia Civil do Amazonas (PC-AM), que integra a Base Arpão, instaurou procedimento para identificar o dono da droga.
Dia das mães lojas de shopping em Manaus oferecem promoções em produtos
emtempo.com.br
O Dia das Mães está chegando e para ajudar os clientes indecisos na hora de presentear, os lojistas do Millennium Shopping estão apostando em ações promocionais em produtos e serviços de perfumaria, cosméticos, vestuário e acessórios. E, para fica...read more
O Dia das Mães está chegando e para ajudar os clientes indecisos na hora de presentear, os lojistas do Millennium Shopping estão apostando em ações promocionais em produtos e serviços de perfumaria, cosméticos, vestuário e acessórios. E, para ficar ainda melhor, o Millennium realiza até o dia 12 de maio, a sua tradicional campanha “compre e ganhe”, que vai mimar os clientes com uma ecobag estilosa e exclusiva do Ateliê Criativo Mariettas.
A coordenadora de marketing do Millennium Shopping, Elizandra Xavier, destaca que os lojistas estão animados com o Dia das Mães e otimizaram o estoque para impulsionar as vendas. “A nossa expectativa é alcançar 5% de crescimento nas vendas durante o período”, disse.
No quiosque da Água de Cheiro, os clientes que comprarem qualquer kit feminino ganham uma necessaire exclusiva. Já O Boticário está com toda a loja com até 25% de desconto. A SD Sobrancelhas está oferecendo 15% de desconto nas makes express. Na Le Postiche, com R$ 250 em compras, o cliente ganha um batom. Na Via Uno, a loja está com até 30% de desconto em produtos selecionados.
Na Hering, os clientes que realizarem R$ 400 em compras ganham uma necessaire exclusiva. Outra loja que está presenteando os clientes é a Zinzane. Ao comprar R$ 400, o cliente ganha um colar. Na Constance, com R$ 350, o cliente ganha uma necessaire exclusiva. Já a Claro está oferecendo 40% de desconto para os clientes da operadora. E na Infinity, os clientes que realizarem compras no valor de R$ 150 ganham um cupom para concorrer ao SPA dos Pés na Kassara.
“A Bemol Farma, Santo Remédio e FarmaBem também estão com campanhas para o Dia das Mães. Cada dia da semana um setor diferente estará com promoções”, informou a coordenadora de marketing do Millennium Shopping.
Cerca de 64 quilos de entorpecentes entre cocaína, pasta-base de cocaína e maconha do tipo skunk foram apreendidos, na noite de segunda-feira (13/05), por policiais que estão em operação na Base Fluvial Arpão 1, em Coari (a 363 quilômetros de Mana...read more
Cerca de 64 quilos de entorpecentes entre cocaína, pasta-base de cocaína e maconha do tipo skunk foram apreendidos, na noite de segunda-feira (13/05), por policiais que estão em operação na Base Fluvial Arpão 1, em Coari (a 363 quilômetros de Manaus). As drogas foram encontradas escondidas em rolos de arame farpado, sacas de farinha e em rolo de plástico, em uma embarcação oriunda de Tabatinga (a 1.108 quilômetros da capital).
Durante a fiscalização de rotina, realizada por volta das 19h, os cães de faro para narcóticos da Companhia Independente com Cães (CipCães), Xerife e Luna, sinalizaram que dentro de sacos com farinha havia droga. Ao serem revistados os recipientes embarcados em São Paulo de Olivença (a 985 quilômetros de Manaus), os policiais militares, coordenados pela Secretaria de Estado de Segurança (SSP-AM), encontraram os cinco tabletes com cocaína.
Na mesma embarcação, os cães policiais indicaram a presença de mais entorpecentes em rolos de arame farpado. Ao ter passado por procedimento de inspeção, corte e abertura das peças, os policiais localizaram outros 15 tabletes de cocaína.
As equipes policiais apreenderam, ainda, outros 30 tabletes de entorpecentes camuflados em um rolo de plástico e mais nove tabletes na estufa de um freezer. Ao todo foram encontrados 31,5 kg de cocaína, 29,5 kg de pasta-base e 2,4 de maconha, totalizando 63,4 quilos de drogas.
Ao todo, cinco pessoas foram indiciadas pela Polícia Civil (PC-AM) pelos crimes de tráfico e associação para o tráfico de drogas. Toda a droga apreendida foi submetida à perícia realizada pelo Departamento de Polícia Técnico- Científica (DPTC), que comprovou a tipificação dos entorpecentes.
Com as apreensões, as Forças de Segurança do Amazonas causaram mais de R$ 3,8 milhões de danos ao crime.