2024-10-26 06:47:44 +02:00
|
|
|
<main class="container-lg">
|
|
|
|
<div>
|
2025-01-20 05:52:53 +01:00
|
|
|
<h2>Applications</h2>
|
2024-10-15 03:54:46 +02:00
|
|
|
</div>
|
2024-10-26 06:47:44 +02:00
|
|
|
<hr />
|
2024-07-10 04:07:11 +02:00
|
|
|
(% if apps.is_empty() %)
|
2024-10-26 06:47:44 +02:00
|
|
|
<p>No linked applications available</p>
|
2024-07-10 04:07:11 +02:00
|
|
|
(% else %)
|
|
|
|
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 g-3">
|
|
|
|
(% for app in apps %)
|
|
|
|
<div class="col-md-3">
|
|
|
|
<div class="card text-center">
|
2024-10-15 03:54:46 +02:00
|
|
|
(% match app %)
|
|
|
|
(% when AppLink::Oauth2 with { name, display_name, redirect_url, has_image }
|
|
|
|
%)
|
2024-07-10 04:07:11 +02:00
|
|
|
<a href="(( redirect_url ))" class="link-dark stretched-link mt-2">
|
|
|
|
(% if has_image %)
|
2024-10-15 03:54:46 +02:00
|
|
|
<img src="/ui/images/oauth2/(( name ))" class="oauth2-img"
|
|
|
|
alt="((display_name)) icon" id="(( name ))">
|
2024-07-10 04:07:11 +02:00
|
|
|
(% else %)
|
2024-10-15 03:54:46 +02:00
|
|
|
<img
|
|
|
|
src="/pkg/img/icon-oauth2.svg?v=((crate::https::cache_buster::get_cache_buster_key()))"
|
|
|
|
class="oauth2-img" alt="missing-icon icon" id="(( name ))">
|
2024-07-10 04:07:11 +02:00
|
|
|
(% endif %)
|
|
|
|
</a>
|
|
|
|
<label for="(( name ))">(( display_name ))</label>
|
2024-10-15 03:54:46 +02:00
|
|
|
(% endmatch %)
|
2024-07-10 04:07:11 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
(% endfor %)
|
|
|
|
</div>
|
|
|
|
(% endif %)
|
2024-07-02 12:59:06 +02:00
|
|
|
</main>
|