<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[13801] sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events: Translate: Sync "Translation Events" from GitHub</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta" style="font-size: 105%">
<dt style="float: left; width: 6em; font-weight: bold">Revision</dt> <dd><a style="font-weight: bold" href="http://meta.trac.wordpress.org/changeset/13801">13801</a><script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","description":"Review this Commit","action":{"@type":"ViewAction","url":"http://meta.trac.wordpress.org/changeset/13801","name":"Review Commit"}}</script></dd>
<dt style="float: left; width: 6em; font-weight: bold">Author</dt> <dd>psrpinto</dd>
<dt style="float: left; width: 6em; font-weight: bold">Date</dt> <dd>2024-06-11 13:52:53 +0000 (Tue, 11 Jun 2024)</dd>
</dl>

<pre style='padding-left: 1em; margin: 2em 0; border-left: 2px solid #ccc; line-height: 1.25; font-size: 105%; font-family: sans-serif'>Translate: Sync "Translation Events" from GitHub</pre>

<h3>Added Paths</h3>
<ul>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventsassetscssnewdesigncss">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventattendeesphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventcreatephp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventdetailsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventeditphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateshomephp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesmyeventsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignmyeventsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsfooterphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsheaderphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsbreadcrumbsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventformphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventlistphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsfooterphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsheaderphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php</a></li>
<li>sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/</li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsfooterphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsheaderphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationstablephp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php</a></li>
<li><a href="#sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestrashedeventsphp">sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventsassetscssnewdesigncss"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css                            (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css      2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,53 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+/* This style is copied from
+https://github.com/WordPress/wporg-mu-plugins/blob/4ab57d37d930c8b8526458fc510568d0fb0050f8/mu-plugins/blocks/global-header-footer/postcss/_common.pcss
+ */
+body {
+       --wp--preset--color--charcoal-2: #23282d;
+       --wp-global-header--background-color: var(--wp--preset--color--charcoal-2);
+       --wp--preset--color--charcoal-4: #656a71;
+       --wp--preset--color--white-opacity-15: #ffffff26;
+}
+
+header#masthead.site-header {
+       height: 60px;
+       gap: 80px;
+       border-top: 1px solid var(--wp--preset--color--white-opacity-15);
+       background-color: var(--wp-global-header--background-color);
+       div.site-branding {
+               p.site-title {
+                       font-family: Inter;
+                       font-size: 14px;
+                       font-weight: 400;
+                       line-height: 24px;
+                       text-align: left;
+               }
+
+               ul#menu-headline-nav.menu li {
+                       font-family: Inter;
+                       font-size: 14px;
+                       font-weight: 400;
+                       line-height: 24px;
+                       text-align: left;
+                       a {
+                               text-decoration: none;
+                       }
+               }
+       }
+}
+
+ul.breadcrumb {
+       font-family: Inter;
+       height: 24px;
+       li, li a {
+               font-size: 14px;
+               font-weight: 400;
+               line-height: 24px;
+               text-align: left;
+               color: var(--wp--preset--color--charcoal-4);
+               text-decoration: none;
+       }
+       li:after {
+               color: rgba(217, 217, 217, 1);
+               margin: 0 8px;
+       }
+}
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/assets/css/new-design.css
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventattendeesphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php                                (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php  2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,71 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Attendees list page.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/**  @var Event $event */
+/** @var bool $is_active_filter */
+
+Templates::header(
+       array(
+               'html_title' => __( 'Translation Events', 'gp-translation-events' ),
+               'page_title' => __( 'Manage Attendees', 'gp-translation-events' ),
+       ),
+);
+?>
+
+<div class="event-page-wrapper">
+       <div class="event-details-stats">
+       <a href="<?php echo esc_url( Urls::event_details( $event->id() ) ); ?>" class="view-event-page">Go to event page</a>
+       <ul class="event-attendees-filter">
+               <li><a class="<?php echo ( ! $is_active_filter ) ? 'active-filter' : ''; ?>" href="<?php echo esc_url( Urls::event_attendees( $event->id() ) ); ?>"><?php esc_html_e( 'All attendees', 'gp-translation-events' ); ?></a></a></li>
+               <li><a class="<?php echo ( $is_active_filter ) ? 'active-filter' : ''; ?>" href="?filter=hosts"><?php esc_html_e( 'Hosts', 'gp-translation-events' ); ?></a></li>
+       </ul>
+<?php if ( ! empty( $attendees ) ) : ?>
+       <table>
+               <thead>
+                       <tr>
+                               <th scope="col"><?php esc_html_e( 'Name', 'gp-translation-events' ); ?></th>
+                               <th><?php esc_html_e( 'Host', 'gp-translation-events' ); ?></th>
+                               <th><?php esc_html_e( 'Action', 'gp-translation-events' ); ?></th>
+                       </tr>
+               </thead>
+               <tbody>
+                       <?php foreach ( $attendees as $attendee ) : ?>
+                               <tr>
+                                       <td>
+                                               <a class="attendee-avatar" href="<?php echo esc_url( get_author_posts_url( $attendee->user_id() ) ); ?>" class="avatar"><?php echo get_avatar( $attendee->user_id(), 48 ); ?></a>
+                                               <a href="<?php echo esc_url( get_author_posts_url( $attendee->user_id() ) ); ?>" class="name"><?php echo esc_html( get_the_author_meta( 'display_name', $attendee->user_id() ) ); ?></a>
+                                       </td>
+                                       <td>
+                                               <?php if ( $attendee->is_host() ) : ?>
+                                                       <span><?php esc_html_e( 'Yes', 'gp-translation-events' ); ?></span>
+                                                       <?php endif; ?>
+                                       </td>
+                                       <td>
+                                       <form class="add-remove-user-as-host" method="post" action="<?php echo esc_url( Urls::event_toggle_host( $event->id(), $attendee->user_id() ) ); ?>">
+                                               <?php if ( $attendee->is_host() ) : ?>
+                                                       <input type="submit" class="button is-primary remove-as-host" value="<?php echo esc_attr__( 'Remove as host', 'gp-translation-events' ); ?>"/>
+                                                       <?php else : ?>
+                                                                       <input type="submit" class="button is-secondary convert-to-host" value="<?php echo esc_attr__( 'Make co-host', 'gp-translation-events' ); ?>"/>
+                                                       <?php endif; ?>
+                                                       <?php if ( ! $attendee->is_host() ) : ?>
+                                                               <a href="<?php echo esc_url( Urls::event_remove_attendee( $event->id(), $attendee->user_id() ) ); ?>" class="button remove-attendee"><?php esc_html_e( 'Remove', 'gp-translation-events' ); ?></a>
+                                                       <?php endif; ?>
+                                               </form>
+                                       </td>
+                               </tr>
+                       <?php endforeach; ?>
+               </tbody>
+       </table>
+       <?php else : ?>
+               <p><?php esc_html_e( 'No attendees found.', 'gp-translation-events' ); ?></p>
+       </div>
+<?php endif; ?>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-attendees.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventcreatephp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php                           (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php     2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,30 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for event form.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Event_Text_Snippet;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+
+$page_title = __( 'Create Event', 'gp-translation-events' );
+
+Templates::header(
+       array(
+               'html_title'  => __( 'Translation Events', 'gp-translation-events' ) . ' - ' . esc_html( $page_title ),
+               'page_title'  => $page_title,
+               'breadcrumbs' => array( esc_html( $page_title ) ),
+       ),
+);
+?>
+
+<div class="event-page-wrapper">
+       <?php $is_create_form = true; ?>
+       <?php Templates::part( 'event-form', compact( 'is_create_form', 'event' ) ); ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-create.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventdetailsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php                          (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php    2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,309 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for event page.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use GP_Locales;
+use WP_User;
+use Wporg\TranslationEvents\Attendee\Attendee;
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Stats\Event_Stats;
+use Wporg\TranslationEvents\Stats\Stats_Row;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var bool $user_is_attending */
+/** @var bool $user_is_contributor */
+/** @var Attendee[] $hosts */
+/** @var Attendee[] $attendees_not_contributing */
+/** @var Attendee[] $contributors */
+/** @var array $new_contributor_ids */
+/** @var Event $event */
+/** @var Event_Stats $event_stats */
+/** @var array $projects */
+/** @var WP_User $user */
+
+Templates::header(
+       array(
+               /* translators: %s: Event title. */
+               'html_title'       => sprintf( __( 'Translation Events - %s' ), esc_html( $event->title() ) ),
+               'page_title'       => function () use ( $event ) {
+                       echo esc_html( $event->title() );
+                       if ( 'draft' === $event->status() ) : ?>
+                               <span class="event-label-draft"><?php echo esc_html( $event->status() ); ?></span>
+                       <?php endif; ?>
+                       <?php
+               },
+               'html_description' => $event->description(),
+               'url'              => Urls::event_details_absolute( $event->id() ),
+               'image_url'        => Urls::event_image( $event->id() ),
+               'breadcrumbs'      => array( esc_html( $event->title() ) ),
+               'sub_head'         => function () use ( $event, $user, $hosts ) {
+                       ?>
+                       <span class="event-host">
+                               <?php
+                               $has_hosts = count( $hosts ) > 0;
+
+                               if ( ! $has_hosts ) {
+                                       $hosts = array( new Attendee( $event->id(), $event->author_id(), true ) );
+                               }
+                               $hosts_list = array_map(
+                                       function ( $host ) {
+                                               $url  = get_author_posts_url( $host->user_id() );
+                                               $name = get_the_author_meta( 'display_name', $host->user_id() );
+                                               return '<a href="' . esc_attr( $url ) . '">' . esc_html( $name ) . '</a>';
+                                       },
+                                       $hosts
+                               );
+
+                               if ( ! $has_hosts ) {
+                                       /* translators: %s: Display name of the user who created the event. */
+                                       $hosts_string = __( 'Created by: %s', 'gp-translation-events' );
+                               } else {
+                                       /* translators: %s is a comma-separated list of event hosts (=usernames) */
+                                       $hosts_string = _n( 'Host: %s', 'Hosts: %s', count( $hosts ), 'gp-translation-events' );
+                               }
+
+                               echo wp_kses(
+                                       sprintf( $hosts_string, implode( ', ', $hosts_list ) ),
+                                       array( 'a' => array( 'href' => array() ) )
+                               );
+                               ?>
+                       </span>
+                       <?php if ( current_user_can( 'edit_translation_event', $event->id() ) ) : ?>
+                               <a class="event-page-edit-link" href="<?php echo esc_url( Urls::event_edit( $event->id() ) ); ?>"><span class="dashicons dashicons-edit"></span><?php esc_html_e( 'Edit event', 'gp-translation-events' ); ?></a>
+                       <?php endif ?>
+                       <?php
+               },
+       ),
+);
+?>
+
+<div class="event-page-wrapper">
+       <div class="event-details-left">
+               <div class="event-page-content">
+                       <?php
+                               echo wp_kses_post( wpautop( make_clickable( $event->description() ) ) );
+                       ?>
+               </div>
+               <?php if ( ! empty( $contributors ) ) : ?>
+                       <div class="event-contributors">
+                               <h2>
+                               <?php
+                               // translators: %d is the number of contributors.
+                               echo esc_html( sprintf( __( 'Contributors (%d)', 'gp-translation-events' ), number_format_i18n( count( $contributors ) ) ) );
+                               ?>
+                               </h2>
+                               <ul>
+                                       <?php foreach ( $contributors as $contributor ) : ?>
+                                               <li class="event-contributor" title="<?php echo esc_html( implode( ', ', $contributor->contributed_locales() ) ); ?>">
+                                                       <a href="<?php echo esc_url( get_author_posts_url( $contributor->user_id() ) ); ?>" class="avatar"><?php echo get_avatar( $contributor->user_id(), 48 ); ?></a>
+                                                       <a href="<?php echo esc_url( get_author_posts_url( $contributor->user_id() ) ); ?>" class="name"><?php echo esc_html( get_the_author_meta( 'display_name', $contributor->user_id() ) ); ?></a>
+                                                       <?php if ( $contributor->is_new_contributor() ) : ?>
+                                                               <span class="first-time-contributor-tada" title="<?php esc_html_e( 'New Translation Contributor', 'gp-translation-events' ); ?>"></span>
+                                                       <?php endif; ?>
+                                               </li>
+                                       <?php endforeach; ?>
+                               </ul>
+                       </div>
+               <?php endif; ?>
+               <?php if ( ! empty( $attendees_not_contributing ) && current_user_can( 'edit_translation_event', $event->id() ) ) : ?>
+                       <div class="event-attendees">
+                               <h2>
+                               <?php
+                               // translators: %d is the number of attendees.
+                               echo esc_html( sprintf( __( 'Attendees (%d)', 'gp-translation-events' ), number_format_i18n( count( $attendees_not_contributing ) ) ) );
+                               ?>
+                               </h2>
+                               <ul>
+                                       <?php foreach ( $attendees_not_contributing as $_attendee ) : ?>
+                                               <li class="event-attendee">
+                                                       <a href="<?php echo esc_url( get_author_posts_url( $_attendee->user_id() ) ); ?>" class="avatar"><?php echo get_avatar( $_attendee->user_id(), 48 ); ?></a>
+                                                       <a href="<?php echo esc_url( get_author_posts_url( $_attendee->user_id() ) ); ?>" class="name"><?php echo esc_html( get_the_author_meta( 'display_name', $_attendee->user_id() ) ); ?></a>
+                                                       <?php if ( $_attendee->is_new_contributor() ) : ?>
+                                                               <span class="first-time-contributor-tada" title="<?php esc_html_e( 'New Translation Contributor', 'gp-translation-events' ); ?>"></span>
+                                                       <?php endif; ?>
+                                               </li>
+                                       <?php endforeach; ?>
+                               </ul>
+                       </div>
+               <?php endif; ?>
+               <?php if ( ! empty( $event_stats->rows() ) ) : ?>
+                       <div class="event-details-stats">
+                               <h2><?php esc_html_e( 'Stats', 'gp-translation-events' ); ?></h2>
+                               <table>
+                                       <thead>
+                                       <tr>
+                                               <th scope="col"><?php esc_html_e( 'Translations', 'gp-translation-events' ); ?></th>
+                                               <th scope="col"><?php esc_html_e( 'Created', 'gp-translation-events' ); ?></th>
+                                               <th scope="col"><?php esc_html_e( 'Reviewed', 'gp-translation-events' ); ?></th>
+                                               <th scope="col"><?php esc_html_e( 'Contributors', 'gp-translation-events' ); ?></th>
+                                       </tr>
+                                       </thead>
+                                       <tbody>
+                                       <?php /** @var $row Stats_Row */ ?>
+                                       <?php foreach ( $event_stats->rows() as $_locale => $row ) : ?>
+                                       <tr>
+                                               <td title="<?php echo esc_html( $_locale ); ?> "><a href="<?php echo esc_url( gp_url_join( gp_url( '/languages' ), $row->language->slug ) ); ?>"><?php echo esc_html( $row->language->english_name ); ?></a></td>
+                                               <td><a href="<?php echo esc_url( Urls::event_translations( $event->id(), $row->language->slug ) ); ?>"><?php echo esc_html( $row->created ); ?></a></td>
+                                               <td><?php echo esc_html( $row->reviewed ); ?></td>
+                                               <td><?php echo esc_html( $row->users ); ?></td>
+                                       </tr>
+                               <?php endforeach ?>
+                                       <tr class="event-details-stats-totals">
+                                               <td>Total</td>
+                                               <td><?php echo esc_html( $event_stats->totals()->created ); ?></td>
+                                               <td><?php echo esc_html( $event_stats->totals()->reviewed ); ?></td>
+                                               <td><?php echo esc_html( $event_stats->totals()->users ); ?></td>
+                                       </tr>
+                                       </tbody>
+                               </table>
+                       </div>
+                       <div class="event-projects">
+                               <h2><?php esc_html_e( 'Projects', 'gp-translation-events' ); ?></h2>
+                               <ul>
+                                       <?php foreach ( $projects as $project_name => $row ) : ?>
+                                       <li class="event-project" title="<?php echo esc_html( str_replace( ',', ', ', $row->locales ) ); ?>">
+                                               <?php
+                                               $row_locales = array();
+                                               foreach ( explode( ',', $row->locales ) as $_locale ) {
+                                                       $_locale       = GP_Locales::by_slug( $_locale );
+                                                       $row_locales[] = '<a href="' . esc_url( gp_url_project_locale( $row->project, $_locale->slug, 'default' ) ) . '">' . esc_html( $_locale->english_name ) . '</a>';
+                                               }
+                                               echo wp_kses_post(
+                                                       wp_sprintf(
+                                                               // translators: 1: Project translated. 2: List of languages. 3: Number of contributors.
+                                                               _n(
+                                                                       '%1$s <small>to %2$l by %3$d contributor</small>',
+                                                                       '%1$s <small>to %2$l by %3$d contributors</small>',
+                                                                       $row->users,
+                                                                       'gp-translation-events'
+                                                               ),
+                                                               '<a href="' . esc_url( gp_url_project( $row->project ) ) . '">' . esc_html( $project_name ) . '</a>',
+                                                               $row_locales,
+                                                               $row->users
+                                                       )
+                                               );
+                                               ?>
+                                       </li>
+                               <?php endforeach; ?>
+                               </ul>
+                       </div>
+                       <details class="event-stats-summary" open>
+                               <summary><?php esc_html_e( 'View stats summary in text', 'gp-translation-events' ); ?></summary>
+                               <p class="event-stats-text">
+                                       <?php
+                                       $new_contributors_text = '';
+                                       if ( ! empty( $new_contributor_ids ) ) {
+                                               $new_contributors_text = sprintf(
+                                                       // translators: %d is the number of new contributors.
+                                                       _n( '(%d new contributor ðŸŽ‰)', '(%d new contributors ðŸŽ‰)', count( $new_contributor_ids ), 'gp-translation-events' ),
+                                                       count( $new_contributor_ids )
+                                               );
+                                       }
+
+                                       echo wp_kses(
+                                               wp_sprintf(
+                                                       // translators: %1$s: Event title, %2$d: Number of contributors, %3$s: is a parenthesis with potential text "x new contributors", %4$d: Number of languages, %5$l: List of languages, %6$d: Number of strings translated, %7$d: Number of strings reviewed.
+                                                       __( 'At the <strong>%1$s</strong> event, we had %2$d people %3$s who contributed in %4$d languages (%5$l), translated %6$d strings and reviewed %7$d strings.', 'gp-translation-events' ),
+                                                       esc_html( $event->title() ),
+                                                       esc_html( $event_stats->totals()->users ),
+                                                       $new_contributors_text,
+                                                       count( $event_stats->rows() ),
+                                                       array_map(
+                                                               function ( $row ) {
+                                                                       return $row->language->english_name;
+                                                               },
+                                                               $event_stats->rows()
+                                                       ),
+                                                       esc_html( $event_stats->totals()->created ),
+                                                       esc_html( $event_stats->totals()->reviewed )
+                                               ),
+                                               array(
+                                                       'strong' => array(),
+                                               )
+                                       );
+                                       ?>
+                                       <?php
+                                       echo wp_kses(
+                                               wp_sprintf(
+                                                       // translators: %s List of contributors.
+                                                       _n(
+                                                               'Contributor was %l.',
+                                                               'Contributors were %l.',
+                                                               count( $contributors ),
+                                                               'gp-translation-events'
+                                                       ),
+                                                       array_map(
+                                                               function ( $contributor ) {
+                                                                       $append_tada = '';
+                                                                       if ( $contributor->is_new_contributor() ) {
+                                                                                       $append_tada = ' <span class="new-contributor" title="' . esc_html__( 'New Translation Contributor', 'gp-translation-events' ) . '">🎉</span>';
+                                                                       }
+                                                                       return '@' . ( new WP_User( $contributor->user_id() ) )->user_login . $append_tada;
+                                                               },
+                                                               $contributors
+                                                       )
+                                               ),
+                                               array(
+                                                       'span' => array(
+                                                               'class' => array(),
+                                                               'title' => array(),
+                                                       ),
+                                               )
+                                       );
+                                       ?>
+                       </p>
+       </details>
+               <?php endif; ?>
+       </div>
+       <div class="event-details-right">
+               <div class="event-details-date">
+                       <p>
+                               <span class="event-details-date-label">
+                                       <?php echo esc_html( $event->start()->is_in_the_past() ? __( 'Started', 'gp-translation-events' ) : __( 'Starts', 'gp-translation-events' ) ); ?>:
+                                       <?php $event->start()->print_relative_time_html(); ?>
+                               </span>
+                               <?php $event->start()->print_time_html(); ?>
+                               <span class="event-details-date-label">
+                                       <?php echo esc_html( $event->end()->is_in_the_past() ? __( 'Ended', 'gp-translation-events' ) : __( 'Ends', 'gp-translation-events' ) ); ?>:
+                                       <?php $event->end()->print_relative_time_html(); ?>
+
+                               </span>
+                               <?php $event->end()->print_time_html(); ?>
+                       </p>
+               </div>
+               <?php if ( is_user_logged_in() ) : ?>
+               <div class="event-details-join">
+                       <?php if ( $event->end()->is_in_the_past() ) : ?>
+                               <?php if ( $user_is_attending ) : ?>
+                                       <button disabled="disabled" class="button is-primary attend-btn"><?php esc_html_e( 'You attended', 'gp-translation-events' ); ?></button>
+                               <?php endif; ?>
+                       <?php elseif ( $user_is_contributor ) : ?>
+                               <?php // Contributors can't un-attend so don't show anything. ?>
+                       <?php else : ?>
+                               <form class="event-details-attend" method="post" action="<?php echo esc_url( Urls::event_toggle_attendee( $event->id() ) ); ?>">
+                                       <?php if ( $user_is_attending ) : ?>
+                                               <input type="submit" class="button is-secondary attending-btn" value="<?php esc_attr_e( "You're attending", 'gp-translation-events' ); ?>" />
+                                       <?php else : ?>
+                                               <input type="submit" class="button is-primary attend-btn" value="<?php esc_attr_e( 'Attend Event', 'gp-translation-events' ); ?>"/>
+                                       <?php endif; ?>
+                               </form>
+                       <?php endif; ?>
+               </div>
+               <?php else : ?>
+               <div class="event-details-join">
+                       <p>
+                               <?php if ( ! $event->end()->is_in_the_past() ) : ?>
+                                       <a href="<?php echo esc_url( wp_login_url() ); ?>" class="button is-primary attend-btn"><?php esc_html_e( 'Login to attend', 'gp-translation-events' ); ?></a>
+                               <?php else : ?>
+                                       <button disabled="disabled" class="button is-primary attend-btn"><?php esc_html_e( 'Event is over', 'gp-translation-events' ); ?></button>
+                               <?php endif; ?>
+                       </p>
+               </div>
+               <?php endif; ?>
+       </div>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-details.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateseventeditphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php                             (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php       2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,36 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for event form.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Event_Text_Snippet;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+
+$page_title = __( 'Edit Event', 'gp-translation-events' );
+
+Templates::header(
+       array(
+               'html_title'  => __( 'Translation Events', 'gp-translation-events' ) . ' - ' . esc_html( $page_title . ' - ' . $event->title() ),
+               'page_title'  => $page_title,
+               'breadcrumbs' => array( esc_html( $page_title ) ),
+       ),
+);
+?>
+
+<div class="event-page-wrapper">
+       <?php $is_create_form = false; ?>
+       <?php Templates::part( 'event-form', compact( 'is_create_form', 'event' ) ); ?>
+</div>
+
+<div class="event-edit-right">
+       <?php if ( current_user_can( 'edit_translation_event_attendees', $event->id() ) ) : ?>
+               <a class="manage-attendees-btn button is-primary" href="<?php echo esc_url( Urls::event_attendees( $event->id() ) ); ?>"><?php esc_html_e( 'Manage Attendees', 'gp-translation-events' ); ?></a>
+       <?php endif; ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/event-edit.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplateshomephp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php                           (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php     2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,100 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Events list page.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Templates;
+
+/** @var Events_Query_Result $current_events_query */
+/** @var Events_Query_Result $upcoming_events_query */
+/** @var Events_Query_Result $past_events_query */
+/** @var Events_Query_Result $user_attending_events_query */
+
+Templates::header(
+       array(
+               'html_title' => __( 'Translation Events', 'gp-translation-events' ),
+               'page_title' => __( 'Translation Events', 'gp-translation-events' ),
+       ),
+);
+?>
+
+<div class="event-page-wrapper">
+<div class="event-left-col">
+<?php
+if ( empty( $current_events_query->events ) && empty( $upcoming_events_query->events ) && empty( $past_events_query->post_count ) ) :
+       esc_html_e( 'No events found.', 'gp-translation-events' );
+endif;
+
+if ( ! empty( $current_events_query->events ) ) :
+       ?>
+       <h2><?php esc_html_e( 'Current events', 'gp-translation-events' ); ?></h2>
+       <?php
+       Templates::part(
+               'event-list',
+               array(
+                       'query'                  => $current_events_query,
+                       'pagination_query_param' => 'current_events_paged',
+                       'show_end'               => true,
+               ),
+       );
+endif;
+
+if ( ! empty( $upcoming_events_query->events ) ) :
+       ?>
+       <h2><?php esc_html_e( 'Upcoming events', 'gp-translation-events' ); ?></h2>
+       <?php
+       Templates::part(
+               'event-list',
+               array(
+                       'query'                  => $upcoming_events_query,
+                       'pagination_query_param' => 'upcoming_events_paged',
+                       'show_start'             => true,
+               ),
+       );
+endif;
+
+if ( ! empty( $past_events_query->events ) ) :
+       ?>
+       <h2><?php esc_html_e( 'Past events', 'gp-translation-events' ); ?></h2>
+       <?php
+       Templates::part(
+               'event-list',
+               array(
+                       'query'                  => $past_events_query,
+                       'pagination_query_param' => 'past_events_paged',
+                       'show_end'               => true,
+               ),
+       );
+endif;
+?>
+
+</div>
+<?php if ( is_user_logged_in() ) : ?>
+       <div class="event-right-col">
+               <h2>Events I'm Attending</h2>
+               <?php if ( empty( $user_attending_events_query->events ) ) : ?>
+                       <p>You don't have any events to attend.</p>
+               <?php else : ?>
+                       <?php
+                       Templates::part(
+                               'event-list',
+                               array(
+                                       'query'                  => $user_attending_events_query,
+                                       'pagination_query_param' => 'user_attending_events_paged',
+                                       'show_start'             => true,
+                                       'show_end'               => true,
+                                       'show_excerpt'           => false,
+                                       'date_format'            => 'F j, Y H:i T',
+                                       'relative_time'          => false,
+                                       'classes'                => array( 'event-attending-list' ),
+                               ),
+                       );
+               endif;
+               ?>
+       </div>
+<?php endif; ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/home.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesmyeventsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php                              (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php        2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,46 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+/**
+ * Template for My Events.
+ */
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Attendee\Attendee;
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Templates;
+
+/** @var Events_Query_Result $events */
+/** @var ?Attendee[] $current_user_attendee_per_event Associative array with event id as key, and boolean as value. */
+
+Templates::header(
+       array(
+               'html_title'  => esc_html__( 'Translation Events', 'gp-translation-events' ) . ' - ' . esc_html__( 'My Events', 'gp-translation-events' ),
+               'page_title'  => __( 'My Events', 'gp-translation-events' ),
+               'breadcrumbs' => array( esc_html__( 'My Events', 'gp-translation-events' ) ),
+       ),
+);
+
+?>
+
+<div class="event-page-wrapper">
+       <?php
+       if ( empty( $events->events ) ) :
+               esc_html_e( 'No events found.', 'gp-translation-events' );
+       else :
+               ?>
+               <?php
+               Templates::part(
+                       'event-list',
+                       array(
+                               'query'                           => $events,
+                               'pagination_query_param'          => 'page',
+                               'show_start'                      => true,
+                               'show_end'                        => true,
+                               'relative_time'                   => false,
+                               'current_user_attendee_per_event' => $current_user_attendee_per_event,
+                       ),
+               );
+       endif;
+       ?>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/my-events.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignmyeventsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php                           (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php     2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,12 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+namespace Wporg\TranslationEvents\Templates\NewDesign;
+
+use Wporg\TranslationEvents\Templates;
+
+Templates::header();
+
+echo 'my events<br>';
+// TODO.
+
+Templates::footer();
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/my-events.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsfooterphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php                                (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php  2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,4 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+echo 'footer<br>';
+// TODO.
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/footer.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatesnewdesignpartsheaderphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php                                (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php  2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,4 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+
+echo 'header<br>';
+// TODO.
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/new-design/parts/header.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsbreadcrumbsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php                              (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php        2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,18 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Urls;
+
+/** @var array $extra_items */
+
+$home_link  = gp_link_get( home_url(), __( 'Home', 'gp-translation-events' ) );
+$breadcrumb = array(
+       empty( $extra_items ) ? __( 'Events', 'gp-translation-events' ) : gp_link_get( Urls::events_home(), __( 'Events', 'gp-translation-events' ) ),
+);
+
+$breadcrumb = array_merge( array( $home_link ), $breadcrumb );
+if ( ! empty( $extra_items ) ) {
+       $breadcrumb = array_merge( $breadcrumb, $extra_items );
+}
+
+gp_breadcrumb( $breadcrumb );
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/breadcrumbs.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventformphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php                               (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,115 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Event_Text_Snippet;
+use Wporg\TranslationEvents\Urls;
+
+/** @var bool $is_create_form */
+/** @var Event $event */
+?>
+
+<form class="translation-event-form" action="" method="post">
+       <?php wp_nonce_field( '_event_nonce', '_event_nonce' ); ?>
+       <?php if ( $is_create_form ) : ?>
+               <details id="quick-add"><summary><?php esc_html_e( 'Upcoming WordCamps', 'gp-translation-events' ); ?></summary><div class="loading"></div></details>
+       <?php endif; ?>
+       <input type="hidden" name="action" value="submit_event_ajax">
+       <?php $event_form_name = $is_create_form ? 'create_event' : 'edit_event'; ?>
+       <input type="hidden" id="form-name" name="form_name" value="<?php echo esc_attr( $event_form_name ); ?>">
+       <input type="hidden" id="event-id" name="event_id" value="<?php echo esc_attr( $event->id() ); ?>">
+       <input type="hidden" id="event-form-action" name="event_form_action">
+       <div>
+               <label for="event-title"><?php esc_html_e( 'Event Title', 'gp-translation-events' ); ?></label>
+               <input type="text" id="event-title" name="event_title" value="<?php echo esc_html( $event->title() ); ?>" <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_title', $event->id() ) ?: 'readonly' ); ?> required size="42">
+       </div>
+       <?php $event_url_class = $is_create_form ? 'hide-event-url' : ''; ?>
+       <?php $event_url = $is_create_form ? '' : Urls::event_details_absolute( $event->id() ); ?>
+       <div id="event-url" class="<?php echo esc_attr( $event_url_class ); ?>">
+               <label for="event-permalink"><?php esc_html_e( 'Event URL', 'gp-translation-events' ); ?></label>
+               <a id="event-permalink" class="event-permalink" href="<?php echo esc_url( $event_url ); ?>" target="_blank"><?php echo esc_url( $event_url ); ?></a>
+       </div>
+       <div>
+               <label for="event-description"><?php esc_html_e( 'Event Description', 'gp-translation-events' ); ?></label>
+               <textarea id="event-description" name="event_description" rows="4" cols="40" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_description', $event->id() ) ?: 'readonly' ); ?>><?php echo esc_html( $event->description() ); ?></textarea>
+               <?php
+               echo wp_kses(
+                       Event_Text_Snippet::get_snippet_links(),
+                       array(
+                               'a'  => array(
+                                       'href'         => array(),
+                                       'data-snippet' => array(),
+                                       'class'        => array(),
+                               ),
+                               'ul' => array( 'class' => array() ),
+                               'li' => array(),
+                       )
+               );
+               ?>
+               <div>
+                       <label for="event-start"><?php esc_html_e( 'Start Date', 'gp-translation-events' ); ?></label>
+                       <input type="datetime-local" id="event-start" name="event_start" value="<?php echo esc_attr( $event->start()->format( 'Y-m-d H:i' ) ); ?>" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_start', $event->id() ) ?: 'readonly' ); ?> >
+               </div>
+               <div>
+                       <label for="event-end"><?php esc_html_e( 'End Date', 'gp-translation-events' ); ?></label>
+                       <input type="datetime-local" id="event-end" name="event_end" value="<?php echo esc_attr( $event->end()->format( 'Y-m-d H:i' ) ); ?>" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_end', $event->id() ) ?: 'readonly' ); ?>>
+               </div>
+               <div>
+                       <label for="event-timezone"><?php esc_html_e( 'Event Timezone', 'gp-translation-events' ); ?></label>
+                       <select id="event-timezone" name="event_timezone" required <?php echo esc_html( $is_create_form || current_user_can( 'edit_translation_event_timezone', $event->id() ) ?: 'disabled' ); ?> >
+                               <?php
+                               echo wp_kses(
+                                       wp_timezone_choice( $is_create_form ? null : $event->timezone()->getName(), get_user_locale() ),
+                                       array(
+                                               'optgroup' => array( 'label' => array() ),
+                                               'option'   => array(
+                                                       'value'    => array(),
+                                                       'selected' => array(),
+                                               ),
+                                       )
+                               );
+                               ?>
+                       </select>
+               </div>
+               <div class="submit-btn-group">
+                       <label for="event-status"></label>
+                       <?php if ( $event->id() ) : ?>
+                               <?php if ( $event->is_draft() ) : ?>
+                                       <button class="button is-primary save-draft submit-event" type="submit" data-event-status="draft">Update Draft</button>
+                               <?php endif; ?>
+                               <button class="button is-primary submit-event" type="submit"  data-event-status="publish">
+                                       <?php echo ( $event->is_published() ) ? esc_html( 'Update Event' ) : esc_html( 'Publish Event' ); ?>
+                               </button>
+                       <?php else : ?>
+                               <button class="button is-primary save-draft submit-event" type="submit" data-event-status="draft">Save Draft</button>
+                               <button class="button is-primary submit-event" type="submit"  data-event-status="publish">Publish Event</button>
+                       <?php endif; ?>
+                       <?php $visibility_trash_button = current_user_can( 'trash_translation_event', $event->id() ) ? 'inline-flex' : 'none'; ?>
+                       <button id="trash-button" class="button is-destructive trash-event" type="submit" name="submit" value="Delete" style="display: <?php echo esc_attr( $visibility_trash_button ); ?>">Delete Event</button>
+               </div>
+               <div class="clear"></div>
+               <div class="published-update-text">
+                       <?php
+                       $visibility_published_button = 'none';
+                       if ( $event->is_published() ) {
+                               $visibility_published_button = 'block';
+                       }
+                       ?>
+                       <span id="published-update-text" style="display: <?php echo esc_attr( $visibility_published_button ); ?>">
+               <?php
+               $polyglots_slack_channel = 'https://wordpress.slack.com/archives/C02RP50LK';
+               echo wp_kses(
+               // translators: %s: Polyglots Slack channel URL.
+                       sprintf( __( 'If you need to update the event slug, please, contact with an admin in the <a href="%s" target="_blank">Polyglots</a> channel in Slack.', 'gp-translation-events' ), $polyglots_slack_channel ),
+                       array(
+                               'a' => array(
+                                       'href'   => array(),
+                                       'target' => array(),
+                               ),
+
+                       )
+               );
+               ?>
+               </span>
+               </div>
+</form>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-form.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartseventlistphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php                               (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php 2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,134 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Attendee\Attendee;
+use Wporg\TranslationEvents\Event\Event_End_Date;
+use Wporg\TranslationEvents\Event\Event_Start_Date;
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Events_Query_Result $query */
+/** @var ?string $pagination_query_param */
+/** @var ?bool $show_start */
+/** @var ?bool $show_end */
+/** @var ?bool $show_excerpt */
+/** @var ?string[] $extra_classes */
+/** @var ?Attendee[] $current_user_attendee_per_event Associative array with event id as key, and Attendee as value. */
+
+$show_start                      = $show_start ?? false;
+$show_end                        = $show_end ?? false;
+$show_excerpt                    = $show_excerpt ?? true;
+$show_permanent_delete           = $show_permanent_delete ?? false;
+$extra_classes                   = isset( $extra_classes ) ? implode( $extra_classes, ' ' ) : '';
+$current_user_attendee_per_event = $current_user_attendee_per_event ?? array();
+
+/**
+ * @param Event_Start_Date|Event_End_Date $time
+ */
+$print_time = function ( $time ): void {
+       $time->print_absolute_and_relative_time_html();
+};
+?>
+
+<ul class="event-list <?php echo esc_attr( $extra_classes ); ?>">
+       <?php foreach ( $query->events as $event ) : ?>
+               <?php
+               $current_user_attendee = $current_user_attendee_per_event[ $event->id() ] ?? null;
+               ?>
+               <li class="event-list-item">
+                       <?php // Title. ?>
+                       <?php // phpcs:ignore Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace ?>
+                       <a <?php if ( $event->is_draft() ) : ?>class="event-link-draft" <?php endif; ?>
+                               href="<?php echo esc_url( Urls::event_details( $event->id() ) ); ?>">
+                               <?php echo esc_html( $event->title() ); ?>
+                       </a>
+
+                       <?php // Labels. ?>
+                       <span class="event-list-item-labels">
+                               <?php if ( $event->is_draft() ) : ?>
+                                       <span class="event-list-item-label-draft"><?php echo esc_html__( 'Draft', 'gp-translation-events' ); ?></span>
+                               <?php endif; ?>
+                               <?php if ( $event->is_past() ) : ?>
+                                       <?php if ( $current_user_attendee && $current_user_attendee->is_host() ) : ?>
+                                               <span class="event-list-item-label-hosted"><?php echo esc_html__( 'Hosted', 'gp-translation-events' ); ?></span>
+                                       <?php elseif ( $current_user_attendee ) : ?>
+                                               <span class="event-list-item-label-attended"><?php echo esc_html__( 'Attended', 'gp-translation-events' ); ?></span>
+                                       <?php endif; ?>
+                               <?php else : ?>
+                                       <?php if ( $current_user_attendee && $current_user_attendee->is_host() ) : ?>
+                                               <span class="event-list-item-label-hosting"><?php echo esc_html__( 'Hosting', 'gp-translation-events' ); ?></span>
+                                       <?php elseif ( $current_user_attendee ) : ?>
+                                               <span class="event-list-item-label-attending"><?php echo esc_html__( 'Attending', 'gp-translation-events' ); ?></span>
+                                       <?php endif; ?>
+                               <?php endif; ?>
+                       </span>
+
+                       <?php // Buttons. ?>
+                       <?php if ( current_user_can( 'edit_translation_event', $event->id() ) ) : ?>
+                               <a href="<?php echo esc_url( Urls::event_edit( $event->id() ) ); ?>"
+                                       class="event-list-item-button"
+                                       title="<?php echo esc_attr__( 'Edit', 'gp-translation-events' ); ?>">
+                                       <span class="dashicons dashicons-edit"></span>
+                               </a>
+                       <?php endif; ?>
+                       <?php if ( current_user_can( 'trash_translation_event', $event->id() ) ) : ?>
+                               <?php if ( $event->is_trashed() ) : ?>
+                                       <a href="<?php echo esc_url( Urls::event_trash( $event->id() ) ); ?>"
+                                               class="button is-small"
+                                               title="<?php echo esc_attr__( 'Restore', 'gp-translation-events' ); ?>">
+                                               <?php echo esc_attr__( 'Restore', 'gp-translation-events' ); ?>
+                                       </a>
+                               <?php else : ?>
+                                       <a href="<?php echo esc_url( Urls::event_trash( $event->id() ) ); ?>"
+                                               class="event-list-item-button is-destructive"
+                                               title="<?php echo esc_attr__( 'Move to trash', 'gp-translation-events' ); ?>">
+                                               <span class="dashicons dashicons-trash"></span>
+                                       </a>
+                               <?php endif; ?>
+                       <?php endif; ?>
+                       <?php if ( $show_permanent_delete && current_user_can( 'delete_translation_event', $event->id() ) ) : ?>
+                               <a href="<?php echo esc_url( Urls::event_delete( $event->id() ) ); ?>"
+                                       class="button is-small is-destructive"
+                                       title="<?php echo esc_attr__( 'Delete permanently', 'gp-translation-events' ); ?>">
+                                       <?php echo esc_attr__( 'Delete permanently', 'gp-translation-events' ); ?>
+                               </a>
+                       <?php endif; ?>
+
+                       <?php // Dates. ?>
+                       <?php if ( $show_start ) : ?>
+                               <?php if ( $event->start()->is_in_the_past() ) : ?>
+                                       <span class="event-list-date"><?php $print_time( $event->start() ); ?></span>
+                               <?php else : ?>
+                                       <span class="event-list-date"><?php $print_time( $event->start() ); ?></span>
+                               <?php endif; ?>
+                       <?php endif; ?>
+                       <?php if ( $show_end ) : ?>
+                               <?php if ( $event->end()->is_in_the_past() ) : ?>
+                                       <span class="event-list-date"><?php $print_time( $event->end() ); ?></span>
+                               <?php else : ?>
+                                       <span class="event-list-date"><?php $print_time( $event->end() ); ?></time></span>
+                               <?php endif; ?>
+                       <?php endif; ?>
+
+                       <?php // Excerpt. ?>
+                       <?php if ( $show_excerpt ) : ?>
+                               <?php echo esc_html( get_the_excerpt( $event->id() ) ); ?>
+                       <?php endif; ?>
+               </li>
+       <?php endforeach; ?>
+</ul>
+
+<?php
+if ( ! empty( $pagination_query_param ) ) {
+       echo wp_kses_post(
+               paginate_links(
+                       array(
+                               'total'     => $query->page_count,
+                               'current'   => $query->current_page,
+                               'format'    => "?$pagination_query_param=%#%",
+                               'prev_text' => '&laquo; Previous',
+                               'next_text' => 'Next &raquo;',
+                       )
+               ) ?? ''
+       );
+}
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/event-list.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsfooterphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php                           (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php     2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,7 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+?>
+
+<div class="clear"></div>
+<?php gp_tmpl_footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/footer.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatespartsheaderphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php                           (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php     2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,74 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Parts;
+
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var string $html_title */
+/** @var string|callable $page_title */
+/** @var string $url */
+/** @var string $image_url */
+/** @var string $html_description */
+/** @var ?callable $sub_head */
+/** @var ?string[] $breadcrumbs */
+
+$html_title       = $html_title ?? esc_html__( 'Translation Events', 'gp-translation-events' );
+$url              = $url ?? Urls::events_home();
+$html_description = $html_description ?? esc_html__( 'WordPress Translation Events', 'gp-translation-events' );
+$image_url        = $image_url ?? Urls::event_default_image();
+
+add_action(
+       'gp_head',
+       function () use ( $html_title, $url, $html_description, $image_url ) {
+               echo '<meta name="twitter:card" content="summary" />' . "\n";
+               echo '<meta name="twitter:site" content="@WordPress" />' . "\n";
+               echo '<meta name="twitter:title" content="' . esc_attr( $html_title ) . '" />' . "\n";
+               echo '<meta name="twitter:description" content="' . esc_attr( $html_description ) . '" />' . "\n";
+               echo '<meta name="twitter:creator" content="@WordPress" />' . "\n";
+               echo '<meta name="twitter:image" content="' . esc_url( $image_url ) . '" />' . "\n";
+               echo '<meta name="twitter:image:alt" content="' . esc_attr( $html_title ) . '" />' . "\n";
+
+               echo '<meta property="og:url" content="' . esc_url( $url ) . '" />' . "\n";
+               echo '<meta property="og:title" content="' . esc_attr( $html_title ) . '" />' . "\n";
+               echo '<meta property="og:description" content="' . esc_attr( $html_description ) . '" />' . "\n";
+               echo '<meta property="og:site_name" content="' . esc_attr( get_bloginfo() ) . '" />' . "\n";
+               echo '<meta property="og:image:url" content="' . esc_url( $image_url ) . '" />' . "\n";
+               echo '<meta property="og:image:secure_url" content="' . esc_url( $image_url ) . '" />' . "\n";
+               echo '<meta property="og:image:type" content="image/png" />' . "\n";
+               echo '<meta property="og:image:width" content="1200" />' . "\n";
+               echo '<meta property="og:image:height" content="675" />' . "\n";
+               echo '<meta property="og:image:alt" content="' . esc_attr( $html_title ) . '" />' . "\n";
+       }
+);
+gp_title( $html_title );
+Templates::part( 'breadcrumbs', array( 'extra_items' => $breadcrumbs ?? array() ) );
+gp_tmpl_header();
+?>
+
+<div class="event-list-top-bar">
+       <h2 class="event-page-title">
+               <?php if ( is_callable( $page_title ) ) : ?>
+                       <?php $page_title(); ?>
+               <?php else : ?>
+                       <?php echo esc_html( $page_title ); ?>
+               <?php endif; ?>
+       </h2>
+
+       <ul class="event-list-nav">
+               <?php if ( is_user_logged_in() ) : ?>
+                       <?php if ( current_user_can( 'manage_translation_events' ) ) : ?>
+                               <li><a href="<?php echo esc_url( Urls::events_trashed() ); ?>">Deleted Events</a></li>
+                       <?php endif; ?>
+                       <li><a href="<?php echo esc_url( Urls::my_events() ); ?>">My Events</a></li>
+                       <?php if ( current_user_can( 'create_translation_event' ) ) : ?>
+                               <li><a class="button is-primary" href="<?php echo esc_url( Urls::event_create() ); ?>">Create Event</a></li>
+                       <?php endif; ?>
+               <?php endif; ?>
+       </ul>
+
+       <?php if ( isset( $sub_head ) && is_callable( $sub_head ) ) : ?>
+               <p class="event-sub-head">
+                       <?php $sub_head(); ?>
+               </p>
+       <?php endif; ?>
+</div>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/parts/header.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsfooterphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php                            (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php      2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,42 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Translations;
+
+use Wporg\TranslationEvents\Templates;
+?>
+
+</div>
+<div class="clear"></div>
+<script type="text/javascript">
+jQuery( function($) {
+       var hooks_installed = {};
+       var current_event_translations_table = false;
+<?php
+foreach ( $editor_options as $translation_set_id => $options ) {
+       ?>
+       $('#translations_<?php echo esc_html( $translation_set_id ); ?>' ).click( set_translation_table_<?php echo esc_html( $translation_set_id ); ?> );
+       $('#translations_<?php echo esc_html( $translation_set_id ); ?>' ).mousemove( function() {
+               if ( ! $( '#translations', this ).length ) {
+                       set_translation_table_<?php echo esc_html( $translation_set_id ); ?>();
+               }
+       });
+       function set_translation_table_<?php echo esc_html( $translation_set_id ); ?>() {
+               if ( current_event_translations_table === <?php echo esc_html( $translation_set_id ); ?> ) {
+                       return;
+               }
+               current_event_translations_table = <?php echo esc_html( $translation_set_id ); ?>;
+               $gp_editor_options = <?php echo wp_json_encode( $options ); ?>;
+               $( '#translations' ).attr( 'id', null );
+               $( '#translations_<?php echo esc_html( $translation_set_id ); ?> table' ).attr( 'id', 'translations' );
+               $gp.editor.table = $( '#translations' );
+               if ( typeof hooks_installed[<?php echo esc_html( $translation_set_id ); ?>] === 'undefined' ) {
+                       $gp.editor.install_hooks();
+                       hooks_installed[<?php echo esc_html( $translation_set_id ); ?>] = true;
+               }
+               $gp_translation_helpers_editor = $gp_translation_helpers_editor_<?php echo esc_html( $translation_set_id ); ?>;
+               }
+<?php } ?>
+} );
+</script>
+<?php
+gp_enqueue_script( 'wporg-translate-editor' );
+Templates::footer();
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/footer.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationsheaderphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php                            (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php      2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,66 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Translations;
+
+use Wporg\TranslationEvents\Event\Event;
+use Wporg\TranslationEvents\Templates;
+use Wporg\TranslationEvents\Urls;
+
+/** @var Event $event */
+
+/* translators: %s: Event title. */
+gp_title( sprintf( __( 'Translation Events - %s' ), esc_html( $event->title() ) ) );
+
+$breadcrumbs = array( '<a href="' . esc_url( Urls::event_details( $event->id() ) ) . '">' . esc_html( $event->title() ) . '</a>', __( 'Translations', 'glotpress' ), $locale->english_name );
+Templates::part( 'breadcrumbs', array( 'extra_items' => $breadcrumbs ) );
+
+gp_enqueue_scripts( array( 'gp-editor', 'gp-translations-page' ) );
+wp_localize_script(
+       'gp-translations-page',
+       '$gp_translations_options',
+       array(
+               'sort'   => __( 'Sort', 'glotpress' ),
+               'filter' => __( 'Filter', 'glotpress' ),
+       )
+);
+
+gp_tmpl_header();
+?>
+
+<div class="event-list-top-bar">
+<h2 class="event-page-title">
+       <?php echo esc_html( $event->title() ); ?>
+       <?php if ( isset( $event ) && 'draft' === $event->status() ) : ?>
+                               <span class="event-label-draft"><?php echo esc_html( $event->status() ); ?></span>
+                       <?php endif; ?>
+</h2>
+</div>
+<div class="event-page-wrapper">
+       <h4>
+       <?php
+       echo esc_html(
+               sprintf(
+               // Translators: %s is the locale name.
+                       __( 'Translations to %s', 'glotpress' ),
+                       $locale->english_name
+               )
+       );
+       ?>
+       </h4>
+       <ul id="translation-links">
+       <?php foreach ( $translation_sets as $translation_set ) : ?>
+               <li id="translations_link_<?php echo esc_attr( $translation_set->translation_set_id ); ?>"><a href="#translations_<?php echo esc_attr( $translation_set->translation_set_id ); ?>"><?php echo esc_html( gp_project_names_from_root( $projects[ $translation_set->translation_set_id ] ) ); ?></a></li>
+       <?php endforeach; ?>
+       </ul>
+
+       <?php
+       if ( trim( $status, '/' ) !== 'waiting' ) {
+               ?>
+               <a href="<?php echo esc_url( Urls::event_translations( $event->id(), $locale->slug, 'waiting' ) ); ?>"><?php esc_html_e( 'Show only waiting translations', 'glotpress' ); ?></a>
+               <?php
+       } else {
+               ?>
+               <a href="<?php echo esc_url( Urls::event_translations( $event->id(), $locale->slug ) ); ?>"><?php esc_html_e( 'Show all contributed translations', 'glotpress' ); ?></a>
+               <?php
+       }
+       ?>
+       <hr>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/header.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestranslationstablephp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php                             (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php       2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,153 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates\Translations;
+
+use GP;
+use Wporg\TranslationEvents\Event\Event;
+
+/** @var Event  $event */
+?>
+<div id="translations_<?php echo esc_attr( $translation_set->id ); ?>">
+<div class="gp-heading">
+       <h3>
+               <?php
+               printf(
+                       /* translators: 1: Project name. 2: Translation set name. */
+                       esc_html__( 'Translation of %1$s: %2$s', 'glotpress' ),
+                       wp_kses(
+                               gp_link_get(
+                                       gp_url_project_locale( $project, $translation_set->locale, $translation_set->slug ),
+                                       esc_html(
+                                               gp_project_names_from_root( $project )
+                                       )
+                               ),
+                               array(
+                                       'a' => array(
+                                               'href'  => array(),
+                                               'title' => array(),
+                                       ),
+                               )
+                       ),
+                       esc_html( $locale->name )
+               );
+               ?>
+       </h3>
+</div>
+<div class="gp-table-actions top">
+       <?php
+       if ( $can_approve ) {
+               gp_translations_bulk_actions_toolbar( $bulk_action, $can_write, $translation_set, 'top' );
+       }
+       ?>
+</div>
+
+<?php $class_rtl = 'rtl' === $locale->text_direction ? ' translation-sets-rtl' : ''; ?>
+<?php
+/**
+ * Fires before the translation table has been displayed.
+ *
+ * @since 4.0.0
+ *
+ * @param array $def_vars Variables defined in the template.
+ */
+do_action( 'gp_before_translation_table', get_defined_vars() );
+?>
+<table data-translation-set="<?php echo esc_attr( $translation_set->id ); ?>" class="<?php echo esc_attr( apply_filters( 'gp_translation_table_classes', 'gp-table translations ' . $class_rtl, get_defined_vars() ) ); ?>">
+       <thead>
+       <tr>
+               <?php
+               if ( $can_approve ) :
+                       ?>
+                       <th class="gp-column-checkbox checkbox" scope="row"><input type="checkbox" /></th>
+                       <?php
+               endif;
+               ?>
+               <th class="gp-column-priority"><?php /* Translators: Priority */ esc_html_e( 'Prio', 'glotpress' ); ?></th>
+               <th class="gp-column-original"><?php esc_html_e( 'Original string', 'glotpress' ); ?></th>
+               <th class="gp-column-translation"><?php esc_html_e( 'Translation', 'glotpress' ); ?></th>
+               <th class="gp-column-actions">&mdash;</th>
+       </tr>
+       </thead>
+<?php
+foreach ( $translations as $translation ) {
+       if ( ! $translation->translation_set_id ) {
+               $translation->translation_set_id = $translation_set->id;
+       }
+
+       $can_approve_translation = GP::$permission->current_user_can( 'approve', 'translation', $translation->id, array( 'translation' => $translation ) );
+       gp_tmpl_load( 'translation-row', get_defined_vars() );
+}
+?>
+<tr class="preview" style="display: none"></tr>
+<?php
+if ( ! $translations ) :
+       ?>
+       <tr><td colspan="<?php echo $can_approve ? 5 : 4; ?>"><?php esc_html_e( 'No translations were found!', 'glotpress' ); ?></td></tr>
+       <?php
+       endif;
+?>
+</table>
+<?php
+/**
+ * Fires after the translation table has been displayed.
+ *
+ * @since 4.0.0
+ *
+ * @param array $def_vars Variables defined in the template.
+ */
+do_action( 'gp_after_translation_table', get_defined_vars() );
+?>
+
+<div class="gp-table-actions bottom">
+       <?php
+       if ( $can_approve ) {
+               gp_translations_bulk_actions_toolbar( $bulk_action, $can_write, $translation_set, 'bottom' );
+       }
+       ?>
+       <div id="legend">
+               <div><strong><?php esc_html_e( 'Legend:', 'glotpress' ); ?></strong></div>
+               <?php
+               foreach ( GP::$translation->get_static( 'statuses' ) as $legend_status ) :
+                       if ( ( 'changesrequested' === $legend_status ) && ( ! apply_filters( 'gp_enable_changesrequested_status', false ) ) ) { // todo: delete when we merge the gp-translation-helpers in GlotPress.
+                               continue;
+                       }
+                       ?>
+                       <div class="box status-<?php echo esc_attr( $legend_status ); ?>"></div>
+                       <div>
+                               <?php
+                               switch ( $legend_status ) {
+                                       case 'current':
+                                               esc_html_e( 'Current', 'glotpress' );
+                                               break;
+                                       case 'waiting':
+                                               esc_html_e( 'Waiting', 'glotpress' );
+                                               break;
+                                       case 'fuzzy':
+                                               esc_html_e( 'Fuzzy', 'glotpress' );
+                                               break;
+                                       case 'old':
+                                               esc_html_e( 'Old', 'glotpress' );
+                                               break;
+                                       case 'rejected':
+                                               esc_html_e( 'Rejected', 'glotpress' );
+                                               break;
+                                       case 'changesrequested':
+                                               if ( apply_filters( 'gp_enable_changesrequested_status', false ) ) { // todo: delete when we merge the gp-translation-helpers in GlotPress.
+                                                       esc_html_e( 'Changes requested', 'glotpress' );
+                                               } else {
+                                                       esc_html_e( 'Rejected', 'glotpress' );
+                                               }
+                                               break;
+                                       default:
+                                               echo esc_html( $legend_status );
+                               }
+                               ?>
+                       </div>
+                       <?php
+               endforeach;
+               ?>
+               <div class="box has-warnings"></div>
+               <div><?php esc_html_e( 'With warnings', 'glotpress' ); ?></div>
+       </div>
+</div>
+</div>
+<hr>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/translations/table.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span><a id="sitestrunkwordpressorgpublic_htmlwpcontentpluginswporggptranslationeventstemplatestrashedeventsphp"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php</h4>
<pre class="diff"><span>
<span class="info" style="display: block; padding: 0 10px; color: #888">--- sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php                         (rev 0)
+++ sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php   2024-06-11 13:52:53 UTC (rev 13801)
</span><span class="lines" style="display: block; padding: 0 10px; color: #888">@@ -0,0 +1,39 @@
</span><ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+<?php
+namespace Wporg\TranslationEvents\Templates;
+
+use Wporg\TranslationEvents\Event\Events_Query_Result;
+use Wporg\TranslationEvents\Templates;
+
+/** @var Events_Query_Result $trashed_events_query */
+
+Templates::header(
+       array(
+               'html_title' => __( 'Deleted Translation Events', 'gp-translation-events' ),
+               'page_title' => __( 'Deleted Translation Events', 'gp-translation-events' ),
+       ),
+);
+?>
+
+<div class="event-page-wrapper">
+       <div class="event-left-col">
+               <?php if ( empty( $trashed_events_query->events ) ) : ?>
+                       <?php esc_html_e( 'No deleted events found.', 'gp-translation-events' ); ?>
+               <?php else : ?>
+                       <?php
+                       Templates::part(
+                               'event-list',
+                               array(
+                                       'query'                  => $trashed_events_query,
+                                       'pagination_query_param' => 'page',
+                                       'show_start'             => true,
+                                       'show_end'               => true,
+                                       'relative_time'          => false,
+                                       'show_permanent_delete'  => true,
+                               ),
+                       );
+                       ?>
+               <?php endif; ?>
+       </div>
+</div>
+
+<?php Templates::footer(); ?>
</ins><span class="cx" style="display: block; padding: 0 10px">Property changes on: sites/trunk/wordpress.org/public_html/wp-content/plugins/wporg-gp-translation-events/templates/trashed-events.php
</span><span class="cx" style="display: block; padding: 0 10px">___________________________________________________________________
</span></span></pre></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4 style="background-color: #eee; color: inherit; margin: 1em 0; padding: 1.3em; font-size: 115%">Added: svn:eol-style</h4></div>
<ins style="background-color: #dfd; text-decoration:none; display:block; padding: 0 10px">+native
</ins><span class="cx" style="display: block; padding: 0 10px">\ No newline at end of property
</span></div>

</body>
</html>