2024-08-25 23:04:29 +05:00
|
|
|
|
defmodule ComfycampWeb.HomeHTML do
|
|
|
|
|
@moduledoc """
|
|
|
|
|
This module contains pages rendered by HomeController.
|
|
|
|
|
"""
|
|
|
|
|
use ComfycampWeb, :html
|
2024-08-25 23:58:22 +05:00
|
|
|
|
import ComfycampWeb.Icons
|
2024-08-25 23:04:29 +05:00
|
|
|
|
|
|
|
|
|
def index(assigns) do
|
|
|
|
|
~H"""
|
2024-08-26 22:10:51 +05:00
|
|
|
|
<div class="home">
|
2024-08-25 23:04:29 +05:00
|
|
|
|
<h1>Уютный домик</h1>
|
|
|
|
|
|
2024-08-31 13:42:27 +05:00
|
|
|
|
<%= if assigns[:current_user] != nil and @current_user.is_approved == false do %>
|
|
|
|
|
<p class="warning">
|
|
|
|
|
Ваш аккаунт ещё не был одобрен, вы не сможете использовать другие сервисы.
|
|
|
|
|
Подождите немного.
|
|
|
|
|
</p>
|
|
|
|
|
<% end %>
|
|
|
|
|
|
2024-08-25 23:04:29 +05:00
|
|
|
|
<p>
|
|
|
|
|
У меня есть несколько проектов, запущенных на домашнем сервере.
|
|
|
|
|
Я буду рад, если они будут полезны другим людям.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Создайте аккаунт на этом сайте, чтобы получить доступ к остальным сервисам.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Не стоит ожидать большой надёжности, однако я прикладываю все усилия,
|
|
|
|
|
чтобы сервисы были доступны 24/7.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p><i>- Иван, администратор comfycamp.space</i></p>
|
|
|
|
|
|
|
|
|
|
<h2>Доступные сервисы</h2>
|
|
|
|
|
|
|
|
|
|
<.service
|
|
|
|
|
name="Mastodon"
|
|
|
|
|
domain="m.comfycamp.space"
|
|
|
|
|
description="Микроблоги с поддержкой fediverse."
|
2024-08-25 23:47:58 +05:00
|
|
|
|
learn_more_url="/services/mastodon"
|
2024-08-25 23:04:29 +05:00
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<.service
|
|
|
|
|
name="Nextcloud"
|
|
|
|
|
domain="nc.comfycamp.space"
|
|
|
|
|
description="Облако, календарь, задачи."
|
2024-08-25 23:47:58 +05:00
|
|
|
|
learn_more_url="/services/nextcloud"
|
2024-08-25 23:04:29 +05:00
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<.service
|
|
|
|
|
name="Forgejo"
|
|
|
|
|
domain="git.comfycamp.space"
|
|
|
|
|
description="Хостинг для git-проектов."
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<.service
|
|
|
|
|
name="XMPP"
|
|
|
|
|
domain="xmpp.comfycamp.space"
|
|
|
|
|
description="Проверенный временем протокол для обмена сообщениями."
|
|
|
|
|
enable_link={false}
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<.service
|
|
|
|
|
name="Matrix"
|
|
|
|
|
domain="matrix.comfycamp.space"
|
|
|
|
|
description="Современный протокол для общения."
|
|
|
|
|
enable_link={false}
|
|
|
|
|
/>
|
|
|
|
|
|
|
|
|
|
<.service
|
|
|
|
|
name="Fresh RSS"
|
|
|
|
|
domain="freshrss.comfycamp.space"
|
|
|
|
|
description="Сервис для чтения RSS лент."
|
|
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
"""
|
|
|
|
|
end
|
2024-08-25 23:47:58 +05:00
|
|
|
|
|
2024-08-25 23:58:22 +05:00
|
|
|
|
@doc """
|
|
|
|
|
A component representing one service, like mastodon or nextcloud.
|
|
|
|
|
"""
|
|
|
|
|
attr :name, :string, required: true
|
|
|
|
|
attr :domain, :string, required: true
|
|
|
|
|
attr :description, :string, required: true
|
|
|
|
|
attr :enable_link, :boolean, required: false, default: true
|
|
|
|
|
attr :learn_more_url, :string, required: false
|
|
|
|
|
|
|
|
|
|
def service(assigns) do
|
|
|
|
|
~H"""
|
|
|
|
|
<div class="service">
|
|
|
|
|
<h3><%= @name %></h3>
|
|
|
|
|
<%= if @enable_link do %>
|
|
|
|
|
<a class="link" href={"https://" <> @domain} target="_blank">
|
|
|
|
|
<%= @domain %> <.arrow_top_right_on_square_icon />
|
|
|
|
|
</a>
|
|
|
|
|
<% else %>
|
|
|
|
|
<span class="link"><%= @domain %></span>
|
|
|
|
|
<% end %>
|
|
|
|
|
<p>
|
|
|
|
|
<%= @description %>
|
|
|
|
|
<%= if assigns[:learn_more_url] do %>
|
|
|
|
|
<.link href={@learn_more_url}>Узнать больше</.link>
|
|
|
|
|
<% end %>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
"""
|
|
|
|
|
end
|
|
|
|
|
|
2024-08-25 23:47:58 +05:00
|
|
|
|
def mastodon(assigns) do
|
|
|
|
|
~H"""
|
2024-08-26 22:10:51 +05:00
|
|
|
|
<div class="home">
|
|
|
|
|
<h1>Mastodon</h1>
|
|
|
|
|
<a href="https://m.comfycamp.space" target="_blank">m.comfycamp.space</a>
|
|
|
|
|
<p>Удобный сервис для ведения микроблогов. Простыми словами, это альтернатива Twitter.</p>
|
|
|
|
|
<p>
|
|
|
|
|
Mastodon умеет подключаться к другим сервисам внутри сети Fediverse.
|
|
|
|
|
Так, например, вы можете общаться с пользователями Pleroma, Misskey, Friendica, Pixelfed,
|
|
|
|
|
даже если они находятся на других серверах.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
2024-08-25 23:47:58 +05:00
|
|
|
|
"""
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def nextcloud(assigns) do
|
|
|
|
|
~H"""
|
2024-08-26 22:10:51 +05:00
|
|
|
|
<div class="home">
|
|
|
|
|
<h1>Nextcloud</h1>
|
|
|
|
|
<a href="https://nc.comfycamp.space" target="_blank">nc.comfycamp.space</a>
|
|
|
|
|
<p>
|
|
|
|
|
Облако, способное заменить десяток сервисов.
|
|
|
|
|
При помощи Nextcloud вы можете хранить файлы, вести календарь и список задач,
|
|
|
|
|
синхронизировать контакты, читать почту и новости...
|
|
|
|
|
А если этого будет мало, вам доступны десятки приложений на любой вкус и цвет.
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
2024-08-25 23:47:58 +05:00
|
|
|
|
"""
|
|
|
|
|
end
|
2024-08-25 23:04:29 +05:00
|
|
|
|
end
|