138 lines
7.5 KiB
Twig
138 lines
7.5 KiB
Twig
{###########################################################################
|
||
# Copyright (c) 2025, Антон Аксенов
|
||
# This file is part of iptv.axenov.dev web interface
|
||
# MIT License: https://git.axenov.dev/IPTV/web/src/branch/master/LICENSE
|
||
###########################################################################}
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="ru" class="h-100">
|
||
<head>
|
||
<title>{% block title %}{{ config('app.title') }}{% endblock %}</title>
|
||
<meta charset="utf-8">
|
||
<meta name="description" content="{% block metadescription %}{% endblock %}">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="keywords" content="{% block metakeywords %}{% endblock %}" />
|
||
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
||
<style>.cursor-pointer{cursor:pointer}</style>
|
||
<script async type="module" src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.esm.js"></script>
|
||
<script async nomodule src="https://unpkg.com/ionicons@7.1.0/dist/ionicons/ionicons.js"></script>
|
||
<link href="/css/bootstrap.min.css" rel="stylesheet">
|
||
<link rel="shortcut icon" href="/favicon/favicon.ico" />
|
||
<link rel="icon" type="image/png" sizes="96x96" href="/favicon/favicon-96x96.png" />
|
||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png" />
|
||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png" />
|
||
<link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg" />
|
||
<link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png" />
|
||
<meta name="apple-mobile-web-app-title" content="IPTV Плейлисты" />
|
||
<link rel="manifest" href="/favicon/site.webmanifest" />
|
||
<meta name="msapplication-TileColor" content="#00aba9">
|
||
<meta name="msapplication-TileImage" content="/favicon/mstile-150x150.png">
|
||
<meta name="theme-color" content="#212529">
|
||
{% block head %}{% endblock %}
|
||
</head>
|
||
<body class="d-flex flex-column h-100 bg-dark text-light">
|
||
<header class="sticky-top bg-dark border-bottom border-secondary">
|
||
<nav class="navbar navbar-expand-lg navbar-dark container px-2">
|
||
<a class="navbar-brand d-flex align-items-center gap-2" href="/" title="На главную">
|
||
<img src="/favicon/favicon-32x32.png" alt="Логотип проекта" class="d-inline-block">
|
||
<span>{{ config('app.title') }}</span>
|
||
</a>
|
||
<button class="navbar-toggler"
|
||
type="button"
|
||
data-bs-toggle="collapse"
|
||
data-bs-target="#navbarNav"
|
||
aria-controls="navbarNav"
|
||
>
|
||
<span class="navbar-toggler-icon"></span>
|
||
</button>
|
||
<div class="collapse navbar-collapse" id="navbarNav">
|
||
<ul class="navbar-nav ms-auto">
|
||
<li class="nav-item">
|
||
<a class="nav-link" target="_blank" href="/docs">
|
||
<ion-icon name="document-text-outline" class="me-1"></ion-icon> Документация
|
||
</a>
|
||
</li>
|
||
<li class="nav-item">
|
||
<a class="nav-link" target="_blank" href="/docs/support.html">
|
||
<ion-icon name="heart-outline" class="me-1"></ion-icon> Помочь проекту
|
||
</a>
|
||
</li>
|
||
<li class="nav-item dropdown">
|
||
<a class="nav-link dropdown-toggle d-flex align-items-center"
|
||
href="#"
|
||
role="button"
|
||
data-bs-toggle="dropdown"
|
||
aria-expanded="false"
|
||
>
|
||
<ion-icon name="paper-plane-outline" class="me-1"></ion-icon> Telegram
|
||
</a>
|
||
<ul class="dropdown-menu dropdown-menu-dark">
|
||
<li>
|
||
<a class="dropdown-item d-flex align-items-center gap-2" target="_blank" href="https://t.me/iptv_aggregator">
|
||
<ion-icon name="megaphone-outline"></ion-icon> Канал @iptv_aggregator
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a class="dropdown-item d-flex align-items-center gap-2" target="_blank" href="https://t.me/iptv_aggregator_chat">
|
||
<ion-icon name="chatbubbles-outline"></ion-icon> Чат @iptv_aggregator_chat
|
||
</a>
|
||
</li>
|
||
<li>
|
||
<a class="dropdown-item d-flex align-items-center gap-2" target="_blank" href="https://t.me/iptv_aggregator_bot">
|
||
<ion-icon name="chatbox-ellipses-outline"></ion-icon> Бот @iptv_aggregator_bot
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</nav>
|
||
</header>
|
||
|
||
<main class="flex-grow-1 container py-4">
|
||
{% block header %}{% endblock %}
|
||
<div class="content-wrapper">
|
||
{% block content %}{% endblock %}
|
||
</div>
|
||
</main>
|
||
|
||
<footer class="bg-dark border-top border-secondary py-4">
|
||
<div class="container text-center">
|
||
<div class="d-flex flex-wrap justify-content-center gap-3 mb-3">
|
||
<a target="_blank" href="/docs" class="text-light text-decoration-none d-flex align-items-center gap-1">
|
||
<ion-icon name="document-text-outline"></ion-icon>Документация
|
||
</a>
|
||
<a target="_blank" href="https://git.axenov.dev/IPTV" class="text-light text-decoration-none d-flex align-items-center gap-1">
|
||
<ion-icon name="code-slash-outline"></ion-icon>Исходники
|
||
</a>
|
||
<a target="_blank" href="https://axenov.dev" class="text-light text-decoration-none d-flex align-items-center gap-1">
|
||
<ion-icon name="person-outline"></ion-icon>axenov.dev
|
||
</a>
|
||
<a target="_blank" href="https://t.me/iptv_aggregator" class="text-light text-decoration-none d-flex align-items-center gap-1">
|
||
<ion-icon name="megaphone-outline"></ion-icon>Канал
|
||
</a>
|
||
<a target="_blank" href="https://t.me/iptv_aggregator_chat" class="text-light text-decoration-none d-flex align-items-center gap-1">
|
||
<ion-icon name="chatbubbles-outline"></ion-icon>Чат
|
||
</a>
|
||
<a target="_blank" href="https://t.me/iptv_aggregator_bot" class="text-light text-decoration-none d-flex align-items-center gap-1">
|
||
<ion-icon name="chatbox-ellipses-outline"></ion-icon>Бот
|
||
</a>
|
||
</div>
|
||
<div>
|
||
<a class="small text-secondary d-inline-flex align-items-center gap-1"
|
||
href="https://git.axenov.dev/IPTV/web/releases/tag/v{{ version() }}"
|
||
target="_blank"
|
||
>
|
||
<ion-icon name="pricetag-outline"></ion-icon>v{{ version() }}
|
||
</a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script src="/js/bootstrap.bundle.min.js"></script>
|
||
{% block footer %}{% endblock %}
|
||
|
||
{% include("custom.twig") ignore missing %}
|
||
</body>
|
||
</html>
|