diff --git a/lib/comfycamp_web/components/home.ex b/lib/comfycamp_web/components/home.ex index 7fc1374..8013253 100644 --- a/lib/comfycamp_web/components/home.ex +++ b/lib/comfycamp_web/components/home.ex @@ -12,6 +12,7 @@ defmodule ComfycampWeb.Home do 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""" @@ -24,7 +25,12 @@ defmodule ComfycampWeb.Home do <% else %> <%= @domain %> <% end %> -

<%= @description %>

+

+ <%= @description %> + <%= if assigns[:learn_more_url] do %> + <.link href={@learn_more_url}>Узнать больше + <% end %> +

""" end diff --git a/lib/comfycamp_web/controllers/home_controller.ex b/lib/comfycamp_web/controllers/home_controller.ex index 0bf61e6..a6631ae 100644 --- a/lib/comfycamp_web/controllers/home_controller.ex +++ b/lib/comfycamp_web/controllers/home_controller.ex @@ -4,4 +4,12 @@ defmodule ComfycampWeb.HomeController do def index(conn, _params) do render(conn, :index, page_title: "Главная") end + + def mastodon(conn, _params) do + render(conn, :mastodon, page_title: "Mastodon") + end + + def nextcloud(conn, _params) do + render(conn, :nextcloud, page_title: "Nextcloud") + end end diff --git a/lib/comfycamp_web/controllers/home_html.ex b/lib/comfycamp_web/controllers/home_html.ex index 6d7d55d..bcc20ae 100644 --- a/lib/comfycamp_web/controllers/home_html.ex +++ b/lib/comfycamp_web/controllers/home_html.ex @@ -31,12 +31,14 @@ defmodule ComfycampWeb.HomeHTML do name="Mastodon" domain="m.comfycamp.space" description="Микроблоги с поддержкой fediverse." + learn_more_url="/services/mastodon" /> <.service name="Nextcloud" domain="nc.comfycamp.space" description="Облако, календарь, задачи." + learn_more_url="/services/nextcloud" /> <.service @@ -67,4 +69,30 @@ defmodule ComfycampWeb.HomeHTML do """ end + + def mastodon(assigns) do + ~H""" +

Mastodon

+ m.comfycamp.space +

Удобный сервис для ведения микроблогов. Простыми словами, это альтернатива Twitter.

+

+ Mastodon умеет подключаться к другим сервисам внутри сети Fediverse. + Так, например, вы можете общаться с пользователями Pleroma, Misskey, Friendica, Pixelfed, + даже если они находятся на других серверах. +

+ """ + end + + def nextcloud(assigns) do + ~H""" +

Nextcloud

+ nc.comfycamp.space +

+ Облако, способное заменить десяток сервисов. + При помощи Nextcloud вы можете хранить файлы, вести календарь и список задач, + синхронизировать контакты, читать почту и новости... + А если этого будет мало, вам доступны десятки приложений на любой вкус и цвет. +

+ """ + end end diff --git a/lib/comfycamp_web/router.ex b/lib/comfycamp_web/router.ex index 844650d..8ffb1de 100644 --- a/lib/comfycamp_web/router.ex +++ b/lib/comfycamp_web/router.ex @@ -21,6 +21,9 @@ defmodule ComfycampWeb.Router do pipe_through :browser get "/", HomeController, :index + get "/services/mastodon", HomeController, :mastodon + get "/services/nextcloud", HomeController, :nextcloud + resources "/notes", NotesController, only: [:index, :show] get "/cinema", CinemaController, :index end