UDA SG Hassan Omar calls for end to personality politics, urges Coast leaders to prioritise development
UDA SG Hassan Omar calls for end to personality politics, urges Coast leaders to prioritise development
Read this story aloud
Listen to the clean text version of this article
Ready
3 min listen
Audio reading is not supported on this browser.
He dismissed claims of political zoning within any cooperation between UDA and the Orange Democratic Movement (ODM)
United Democratic Alliance (UDA) Secretary-General Hassan Omar has urged leaders in the Coast region to prioritise development, saying the area should move away from personality-driven politics after years of neglect.
Speaking at the Hustler Centre in Nyali, Hassan emphasised the need for a new leadership approach focused on tangible progress.
He argued that emerging leaders must take responsibility for transforming the region’s fortunes.
More To Read
- IEBC to bar non-official agents from tallying centres in 2027 polls as goons threaten election process
- 2027 election timeline: Key IEBC dates every voter should know
- CJ Koome urges Parliament to fast-track electoral reforms, warns against political violence ahead of 2027 polls
- United Opposition faults IEBC over silence on electoral reform talks
- United Opposition rejects IEBC election plan, demands fresh talks before 2027 polls
- Public officers seeking 2027 seats have until February 9 to resign as IEBC sets August 10 as election date
“We are the new leaders in this space. Leadership is not defined by age alone, but by the ability to deliver and take responsibility. Those before us have failed to steer the county forward,” he said.
Hassan also cautioned against allowing political competition to create divisions among long-time allies, stressing that rivalry should not undermine relationships.
He dismissed claims of political zoning within any cooperation between UDA and the Orange Democratic Movement (ODM).
Latest Stories
- Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
- Morocco continue historic rise with record-breaking World Cup victory against Canada
- Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
- Report records 83 harassment incidents against Christians in Israel over three months
The former senator further declared his intention to ensure that Mombasa Governor Abdulswamad Nassir does not secure a second term in the 2027 General Election.
“My priority is to see that the current governor exits office in 2027, regardless of any political arrangements that may emerge,” he stated.
Hassan also downplayed speculation that former Mombasa Governor Hassan Ali Joho could be considered for the deputy presidency in 2027, insisting such narratives are aimed at exploiting regional identity rather than addressing development concerns.
He accused some leaders of relying on emotional appeals instead of engaging in policy-based debates or demonstrating performance.
At the same time, Hassan defended Deputy President Kithure Kindiki, urging UDA supporters to challenge any attempts to undermine his leadership.
“Faced with a choice, I would stand with Kindiki,” he said.
Hassan added that UDA’s guiding principles are rooted in fairness and inclusivity, arguing that leadership positions should be sought to serve all Kenyans equally rather than favour specific communities.
Meanwhile, Mining CS Hassan Joho maintained that his focus remains on fostering unity and accelerating development on the Coast.
“Our path is centred on bringing people together so that their concerns can be addressed collectively,” Joho said.
He noted that the region has historically faced marginalisation but is now gaining attention due to sustained advocacy, adding that unity among communities would strengthen their influence.
Other Topics To Read
Top Stories Today
- Weekly new Ebola cases reach highest level since outbreak began: WHO
- Kenya reaffirms ties with Rwanda as it marks Liberation Day celebrations
- Serena Williams withdraws from Wimbledon doubles after knee injury, ending Venus reunion plans
- Report records 83 harassment incidents against Christians in Israel over three months
- Clean mobility gains ground in trucks and buses, but fossil fuels still dominate at 94 per cent – report
- Over 1,000 Sudanese return home from Egypt under ongoing repatriation programme
`;
}
return “;
}
function commentActionsMarkup(comment, canComment) {
const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
const likeCount = Number(comment.like_count || 0) > 0
? “
: ”;
const likeButton = canComment && comment.status === ‘approved’
? “
: “;
const replyButton = canComment && comment.status === ‘approved’
? “
: ”;
return `
`;
}
function commentMarkup(comment, canComment, isReply = false) {
const pendingBadge = comment.status && comment.status !== ‘approved’
? “
: ”;
const edited = comment.is_edited
? “
: ”;
const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
? `
`
: “;
return `
`;
}
function replyFormMarkup(commentId) {
return `
`;
}
function setNotice(widget, message, type = ‘info’) {
const notice = widget.querySelector(‘[data-role=”notice”]’);
if (!notice) return;
if (!message) {
notice.hidden = true;
notice.textContent = ”;
notice.classList.remove(‘is-error’);
return;
}
notice.hidden = false;
notice.textContent = message;
notice.classList.toggle(‘is-error’, type === ‘error’);
}
function setCount(widget, total) {
const count = widget.querySelector(‘[data-role=”count”]’);
if (!count) return;
const num = Number(total || 0);
count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
}
function openReplyBox(widget, commentId) {
widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
box.hidden = true;
box.innerHTML = ”;
});
const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (!targetItem) return;
const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
if (!replyBox) return;
replyBox.hidden = false;
replyBox.innerHTML = replyFormMarkup(commentId);
const textarea = replyBox.querySelector(‘textarea’);
if (textarea) textarea.focus();
}
function closeReplyBox(container) {
if (!container) return;
container.hidden = true;
container.innerHTML = ”;
}
async function initCommentsWidget(widget) {
const state = {
articleId: Number(widget.dataset.articleId),
loadUrl: widget.dataset.loadUrl,
storeUrl: widget.dataset.storeUrl,
commentsBaseUrl: widget.dataset.commentsBaseUrl,
canComment: widget.dataset.canComment === ‘1’,
page: 1,
perPage: 10,
sort: ‘newest’,
total: 0,
hasMore: false,
busy: false
};
const list = widget.querySelector(‘[data-role=”list”]’);
const loading = widget.querySelector(‘[data-role=”loading”]’);
const empty = widget.querySelector(‘[data-role=”empty”]’);
const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);
async function loadComments(reset = true) {
if (state.busy) return;
state.busy = true;
setNotice(widget, ”);
loading.hidden = false;
if (reset) {
state.page = 1;
list.innerHTML = ”;
empty.hidden = true;
}
try {
const url = new URL(state.loadUrl, window.location.origin);
url.searchParams.set(‘page’, state.page);
url.searchParams.set(‘per_page’, state.perPage);
url.searchParams.set(‘sort’, state.sort);
const response = await requestJson(url.toString(), {
method: ‘GET’,
headers: {
‘Accept’: ‘application/json’,
‘X-Requested-With’: ‘XMLHttpRequest’
}
});
const items = Array.isArray(response.data) ? response.data : [];
const meta = response.meta || {};
state.total = Number(meta.total || 0);
state.hasMore = !!meta.has_more;
setCount(widget, state.total);
if (reset) {
list.innerHTML = ”;
}
if (!items.length && reset) {
empty.hidden = false;
} else {
empty.hidden = true;
list.insertAdjacentHTML(
‘beforeend’,
items.map(item => commentMarkup(item, state.canComment, false)).join(”)
);
}
loadMoreBtn.hidden = !state.hasMore;
} catch (error) {
if (!list.children.length) {
empty.hidden = false;
empty.textContent = ‘Unable to load comments right now.’;
}
setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
} finally {
loading.hidden = true;
state.busy = false;
}
}
async function submitTopLevelComment(form) {
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘[data-role=”submit-comment”]’);
if (!textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(state.storeUrl, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
textarea.value = ”;
if (response?.data) {
list.insertAdjacentHTML(
‘afterbegin’,
commentMarkup(response.data, state.canComment, false)
);
empty.hidden = true;
if ((response.data.status || ”) === ‘approved’) {
state.total += 1;
setCount(widget, state.total);
}
}
setNotice(widget, response.message || ‘Comment posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post comment’;
}
}
}
async function submitReply(form) {
const commentId = Number(form.dataset.commentId || 0);
const textarea = form.querySelector(‘textarea[name=”content”]’);
const button = form.querySelector(‘.ev-comments__reply-submit’);
if (!commentId || !textarea) return;
const content = textarea.value.trim();
if (!content) return;
const originalText = button ? button.textContent : ”;
try {
if (button) {
button.disabled = true;
button.textContent = ‘Posting…’;
}
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({
article_id: state.articleId,
content: content,
source_url: window.location.href
})
});
if (response?.data) {
const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
if (parentItem) {
const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
if (repliesWrap) {
repliesWrap.insertAdjacentHTML(
‘beforeend’,
commentMarkup(response.data, state.canComment, true)
);
}
}
}
closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
setNotice(widget, response.message || ‘Reply posted successfully.’);
} catch (error) {
setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
} finally {
if (button) {
button.disabled = false;
button.textContent = originalText || ‘Post reply’;
}
}
}
async function toggleLike(button) {
const commentId = Number(button.dataset.commentId || 0);
if (!commentId) return;
const originalHtml = button.innerHTML;
try {
button.disabled = true;
button.innerHTML = ‘Working…’;
const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
method: ‘POST’,
headers: buildJsonHeaders(),
body: JSON.stringify({})
});
const liked = !!response?.data?.liked;
const likeCount = Number(response?.data?.like_count || 0);
button.classList.toggle(‘is-liked’, liked);
button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
} catch (error) {
button.innerHTML = originalHtml;
setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
} finally {
button.disabled = false;
}
}
if (composerForm) {
composerForm.addEventListener(‘submit’, function (e) {
e.preventDefault();
submitTopLevelComment(composerForm);
});
}
if (sortSelect) {
sortSelect.addEventListener(‘change’, function () {
state.sort = this.value || ‘newest’;
loadComments(true);
});
}
if (loadMoreBtn) {
loadMoreBtn.addEventListener(‘click’, function () {
if (state.busy || !state.hasMore) return;
state.page += 1;
loadComments(false);
});
}
widget.addEventListener(‘click’, function (e) {
const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
if (likeBtn) {
e.preventDefault();
toggleLike(likeBtn);
return;
}
const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
if (replyBtn) {
e.preventDefault();
openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
return;
}
const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
if (cancelReplyBtn) {
e.preventDefault();
closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
}
});
widget.addEventListener(‘submit’, function (e) {
const replyForm = e.target.closest(‘.ev-comments__reply-form’);
if (replyForm) {
e.preventDefault();
submitReply(replyForm);
}
});
loadComments(true);
}
document.addEventListener(‘DOMContentLoaded’, function () {
document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
});
})();
Trending
Mozambique President Daniel Chapo hails Rwanda’s security role in Cabo DelgadoRwanda
|The New Times
|4 hours ago
South Africa, Egypt and Morocco emerge as Africa’s leading hubs for the super richBusiness
|Alfred Onyango
|10 hours ago
UK, France agree with Oman on multinational military mission to secure Strait of HormuzNews
|Mary Wambui
|12 hours ago
Somalia intelligence agency kills Al-Shabaab mortar unit leader in Basra operationSomalia
|Bashir Mbuthia
|3 hours ago
Messi is old, short and slow: How is he still dominating at the World Cup?Sports
|The Conversation
|12 hours ago
Government announces final repatriation flight for Kenyans in South AfricaNews
|Rachael Mutabasi
|15 hours ago
Spain end 16-year World Cup knockout wait with commanding victory over AustriaNews
|Erick Kariuki
|1 day ago
Colombia beats Ghana to complete World Cup round of 16 lineupSports
|XINHUA
|14 hours ago
Court nullifies ODPP senior promotions, orders fresh recruitment over flawed processNews
|Carolyne Kubwa
|1 day ago
CAF opens bidding for 2028, 2032 and 2036 AFCON tournamentsNews
|Erick Kariuki
|14 hours ago
