Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Monday, July 6
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Politics»UDA SG Hassan Omar calls for end to personality politics, urges Coast leaders to prioritise development
    Politics

    UDA SG Hassan Omar calls for end to personality politics, urges Coast leaders to prioritise development

    Chukwu GodloveBy Chukwu GodloveJuly 4, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    UDA SG Hassan Omar calls for end to personality politics, urges Coast leaders to prioritise development
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 24

    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

    United Democratic Alliance (UDA) Secretary General Hassan Omar speaks during a past event. (Photo: UDA)

    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 Delgado
    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 rich
    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 Hormuz
    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?
    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 Africa
    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 Austria
    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 lineup
    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 tournaments
    CAF opens bidding for 2028, 2032 and 2036 AFCON tournamentsNews
    |Erick Kariuki
    |14 hours ago

    calls Hassan Omar personality Politics
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Chukwu Godlove

    Related Posts

    Gallant Cadres urge politicians to uphold integrity and end ‘dirty politics’ perception

    July 6, 2026

    Australia appoints Keara Shaw as New High Commissioner to Ghana

    July 5, 2026

    ELOG demands swift IEBC action against public officers engaging in politics ahead of by-elections

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    Summer 2026 Tourism: Greece, Spain and Italy Getting Popular

    July 6, 2026

    Record green electricity production: Renewables supply 58 percent

    July 6, 2026

    Global Noise Cancelling Headphone Market Set for Strong Growth, Says The Business Research Company

    July 6, 2026

    NIPHID bill: Where NCDC got it wrong

    July 6, 2026

    Lebanon/ Israel: Framework agreement betrays victims of war crimes in Lebanon

    July 6, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    Summer 2026 Tourism: Greece, Spain and Italy Getting Popular

    Record green electricity production: Renewables supply 58 percent

    Global Noise Cancelling Headphone Market Set for Strong Growth, Says The Business Research Company

    Most Popular

    NIPHID bill: Where NCDC got it wrong

    Lebanon/ Israel: Framework agreement betrays victims of war crimes in Lebanon

    Jaruma Halima Abubakar ta koma addinin Kiristanci daga Musulunci

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

    Type above and press Enter to search. Press Esc to cancel.

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.