Commit 230e139e authored by Yassine Doghri's avatar Yassine Doghri
Browse files

feat: make displayed publication time as relative time using @github/time-elements

parent 0e14eb4d
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -514,3 +514,24 @@ if (! function_exists('audio_player')) {
        CODE_SAMPLE;
    }
}

// ------------------------------------------------------------------------

if (! function_exists('relative_time')) {
    function relative_time(Time $time, string $class = ''): string
    {
        $translatedDate = lang('Common.mediumDate', [$time]);
        $datetime = $time->toDateTimeString();

        return <<<CODE_SAMPLE
            <time-ago class="${class}" datetime="${datetime}">
                <time
                    itemprop="published"
                    datetime="${datetime}"
                    title="${time}">${translatedDate}</time>
            </time-ago>
        CODE_SAMPLE;
    }
}

// ------------------------------------------------------------------------
+1 −0
Original line number Diff line number Diff line
import "@github/markdown-toolbar-element";
import "@github/time-elements";
import ClientTimezone from "./modules/ClientTimezone";
import Clipboard from "./modules/Clipboard";
import DateTimePicker from "./modules/DateTimePicker";
+1 −0
Original line number Diff line number Diff line
import "@github/time-elements";
import Dropdown from "./modules/Dropdown";
import Time from "./modules/Time";
import Toggler from "./modules/Toggler";
+2 −13
Original line number Diff line number Diff line
@@ -42,12 +42,7 @@
                <span class="text-sm text-gray-500 truncate">@<?= $podcast
                                                                    ->actor->username ?></span>
            </p>
            <time class="text-xs text-gray-500" itemprop="published" datetime="<?= $status->published_at->format(
                                                                                    DateTime::ATOM,
                                                                                ) ?>" title="<?= $status->published_at ?>"><?= lang(
                                                            'Common.mediumDate',
                                                            [$status->published_at],
                                                        ) ?></time>
            <?= relative_time($status->published_at, 'text-xs text-gray-500') ?>
        </div>
    </div>
    <div class="px-4 mb-2">
@@ -78,13 +73,7 @@
                    ) ?>
                </div>
                <div class="text-xs text-gray-600">
                    <time itemprop="published" datetime="<?= $episode->published_at->format(
                                                                DateTime::ATOM,
                                                            ) ?>" title="<?= $episode->published_at ?>">
                        <?= lang('Common.mediumDate', [
                            $episode->published_at,
                        ]) ?>
                    </time>
                    <?= relative_time($episode->published_at) ?>
                    <span class="mx-1"></span>
                    <time datetime="PT<?= $episode->audio_file_duration ?>S">
                        <?= format_duration($episode->audio_file_duration) ?>
+1 −5
Original line number Diff line number Diff line
@@ -21,11 +21,7 @@
                    <span class="mx-1">-</span>
                    <?= $episode->title ?>
                </h2>
                <time class="text-xs whitespace-nowrap" itemprop="published" datetime="<?= $episode->published_at->format(DateTime::ATOM,) ?>" title="<?= $episode->published_at ?>">
                    <?= lang('Common.mediumDate', [
                        $episode->published_at,
                    ]) ?>
                </time>
                <?= relative_time($episode->published_at, 'text-xs whitespace-nowrap') ?>
            </a>
            <div class="flex mt-auto gap-x-4">
                <?= play_episode_button($episode->id, $episode->image->thumbnail_url, $episode->title, $podcast->title, $episode->audio_file_web_url, $episode->audio_file_mimetype, 'mt-auto') ?>
Loading