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»Sports»Morocco threatens legal action as Senegal plans to parade AFCON trophy ahead of friendlies with Peru
    Sports

    Morocco threatens legal action as Senegal plans to parade AFCON trophy ahead of friendlies with Peru

    Johnson BenguruBy Johnson BenguruJuly 4, 2026No Comments11 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Morocco threatens legal action as Senegal plans to parade AFCON trophy ahead of friendlies with Peru
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 29

    Morocco threatens legal action as Senegal plans to parade AFCON trophy ahead of friendlies with Peru

    Morocco threatens legal action as Senegal plans to parade AFCON trophy ahead of friendlies with Peru

    Senegal football team. (Photo: CAF)

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    5 min listen
    Audio reading is not supported on this browser.

    Despite filing an appeal with the Court of Arbitration for Sport (CAS), Senegal has insisted it will not hand over the trophy and intends to parade it at the Stade de France before the friendly against Peru

    A fresh storm has engulfed African football after Morocco threatened legal action against the Senegalese Football Federation (FSF) over plans to parade the Africa Cup of Nations (AFCON) trophy before Saturday’s international friendly against Peru in Paris.
    The dispute follows a dramatic March 17, 2026, ruling by the Confederation of African Football (CAF) Appeal Jury, which stripped Senegal of the AFCON title and reattributed it to Morocco. The decision overturned Senegal’s 1-0 victory over the hosts in January’s chaotic final, instead awarding a 3-0 forfeit win to Morocco.
    Despite filing an appeal with the Court of Arbitration for Sport (CAS), Senegal has insisted it will not hand over the trophy and intends to parade it at the Stade de France before the friendly against Peru.

    More To Read

    • CAF opens bidding for 2028, 2032 and 2036 AFCON tournaments
    • President Yoweri Museveni backs single East African visa for 2027 AFCON
    • Kenya and Morocco deepen defence cooperation with joint focus on air power and military training
    • Morocco fight back to dump Netherlands out of World Cup
    • Countdown begins as expanded WAFCON 2026 nears kick‑off in Morocco
    • Kenya, Uganda and Tanzania gear up for historic 2027 AFCON

    Mourad Elajouti, president of Morocco’s lawyers’ club, warned that any public display of the trophy would trigger immediate legal consequences.
    “This morning, we sent two formal notices of default to the Société d’Exploitation Stade de France as well as to the GL Events group. By lending their support to a ceremony based on a revoked title, these entities are incurring their direct liability,” Elajouti wrote.
    He further argued that the planned ceremony is unlawful. “By a final decision rendered on March 17, 2026, the CAF Appeal Jury reattributed the title to Morocco. In the absence of a suspensive decision from the CAS, the exhibition of this trophy constitutes a usurpation of title and a manifestly illicit disturbance Art. 835 of the CPC.”

    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

    Elajouti warned that continuation of the event would result in legal action for damages under Article 1240 of the Civil Code.
    “In the absence of a contractual or legal title of possession, the subject matter of the dispute must be placed under the custody of a judicial officer,” he added.
    Senegal, however, has shown no signs of retreating. The FSF published a detailed programme for Saturday’s match that includes the trophy parade, underscoring their defiance.
    FSF president Abdoulaye Fall described CAF’s ruling as unprecedented and vowed continued resistance.
    “Faced with what amounts to the most blatant and unprecedented administrative robbery in the history of our sport, the Senegalese Football Federation refuses to accept this as inevitable. Senegal will not bend the knee and will not compromise its values. Our fight now transcends the football pitch,” Fall said at a press conference in Paris.
    For the dethroned Lions of Teranga, the legal battle now runs parallel to preparations for the 2026 World Cup qualifiers in June. While the off-field saga dominates headlines, on the pitch, Senegal remains in formidable shape.
    Senegal enters Saturday’s encounter in strong form, unbeaten in their last six matches with five wins and one draw. Across that run, they have scored 10 goals and conceded just two, underlining their defensive discipline.
    Their AFCON campaign itself was built on narrow, controlled victories; three consecutive 1-0 wins over Mali, Egypt and Morocco highlighted a compact structure rather than attacking flair. 
    However, they will be without forward Sadio Mane, who is ruled out through injury. In his absence, Nicolas Jackson is expected to spearhead the attack, supported by Ismaila Sarr and Iliman Ndiaye. Midfield experience comes from Idrissa Gueye, while Kalidou Koulibaly anchors the defence.
    Peru arrives in contrasting form. The South Americans have won just once in their last six outings, losing four, and have scored only five goals while conceding nine in that stretch. Although a recent 2-0 win over Bolivia ended a lengthy winless run, consistency remains elusive.
    Away from home, Peru has struggled with attacking output, failing to score in five of their last nine matches.
    Experienced figures such as Yoshimar Yotun and Pedro Gallese provide leadership, but Peru’s inability to qualify for the World Cup after finishing near the bottom of the CONMEBOL standings highlights their current limitations.
    Historically, the two nations have met only once before, with Peru claiming a 1-0 friendly victory. Yet current form and squad depth heavily favour Senegal heading into this encounter.

    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 operation
    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

    Action Legal Morocco Senegal threatens
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Johnson Benguru
    • Website

    Related Posts

    FIFA, CAF launch probe into ouster of FKF President Hussein Mohammed, two other top officials

    July 6, 2026

    World Cup 2026: Argentina survive, Cape Verde rise, African football announces new mentality

    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.