Compare commits
No commits in common. "40f661ff58e04893bd49a68a2a4f606aabe8fa24" and "f779c5fd82bcbe259311cc7a76a78bff48ed101b" have entirely different histories.
40f661ff58
...
f779c5fd82
11 changed files with 69 additions and 140 deletions
|
@ -1,7 +1,6 @@
|
||||||
@import "./core_components.css";
|
@import "./core_components.css";
|
||||||
@import "./flash.css";
|
@import "./flash.css";
|
||||||
@import "./admin.css";
|
@import "./admin.css";
|
||||||
@import "./home.css";
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--bg: #13151a;
|
--bg: #13151a;
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
.service {
|
|
||||||
margin-top: 28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.service h3 {
|
|
||||||
margin-bottom: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.service .link {
|
|
||||||
color: var(--accent);
|
|
||||||
}
|
|
||||||
|
|
||||||
.service svg {
|
|
||||||
width: 16px;
|
|
||||||
height: 16px;
|
|
||||||
}
|
|
|
@ -89,7 +89,6 @@ defmodule ComfycampWeb do
|
||||||
import ComfycampWeb.Flash
|
import ComfycampWeb.Flash
|
||||||
import ComfycampWeb.Gettext
|
import ComfycampWeb.Gettext
|
||||||
import ComfycampWeb.NavBar
|
import ComfycampWeb.NavBar
|
||||||
import ComfycampWeb.Home
|
|
||||||
|
|
||||||
# Shortcut for generating JS commands
|
# Shortcut for generating JS commands
|
||||||
alias Phoenix.LiveView.JS
|
alias Phoenix.LiveView.JS
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
defmodule ComfycampWeb.Home do
|
|
||||||
@moduledoc """
|
|
||||||
Components for the home page.
|
|
||||||
"""
|
|
||||||
use Phoenix.Component
|
|
||||||
import ComfycampWeb.Icons
|
|
||||||
|
|
||||||
@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
|
|
||||||
|
|
||||||
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 %></p>
|
|
||||||
</div>
|
|
||||||
"""
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,13 +0,0 @@
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
fill="none"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
stroke-width="1.5"
|
|
||||||
stroke="currentColor"
|
|
||||||
>
|
|
||||||
<path
|
|
||||||
stroke-linecap="round"
|
|
||||||
stroke-linejoin="round"
|
|
||||||
d="M13.5 6H5.25A2.25 2.25 0 0 0 3 8.25v10.5A2.25 2.25 0 0 0 5.25 21h10.5A2.25 2.25 0 0 0 18 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25"
|
|
||||||
/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 341 B |
|
@ -1,70 +0,0 @@
|
||||||
defmodule ComfycampWeb.HomeHTML do
|
|
||||||
@moduledoc """
|
|
||||||
This module contains pages rendered by HomeController.
|
|
||||||
"""
|
|
||||||
use ComfycampWeb, :html
|
|
||||||
|
|
||||||
def index(assigns) do
|
|
||||||
~H"""
|
|
||||||
<div>
|
|
||||||
<h1>Уютный домик</h1>
|
|
||||||
|
|
||||||
<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."
|
|
||||||
/>
|
|
||||||
|
|
||||||
<.service
|
|
||||||
name="Nextcloud"
|
|
||||||
domain="nc.comfycamp.space"
|
|
||||||
description="Облако, календарь, задачи."
|
|
||||||
/>
|
|
||||||
|
|
||||||
<.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
|
|
||||||
end
|
|
|
@ -1,4 +1,4 @@
|
||||||
defmodule ComfycampWeb.HomeController do
|
defmodule ComfycampWeb.MainController do
|
||||||
use ComfycampWeb, :controller
|
use ComfycampWeb, :controller
|
||||||
|
|
||||||
def index(conn, _params) do
|
def index(conn, _params) do
|
8
lib/comfycamp_web/controllers/main_html.ex
Normal file
8
lib/comfycamp_web/controllers/main_html.ex
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
defmodule ComfycampWeb.MainHTML do
|
||||||
|
@moduledoc """
|
||||||
|
This module contains pages rendered by ServicesController.
|
||||||
|
"""
|
||||||
|
use ComfycampWeb, :html
|
||||||
|
|
||||||
|
embed_templates "main_html/*"
|
||||||
|
end
|
58
lib/comfycamp_web/controllers/main_html/index.html.heex
Normal file
58
lib/comfycamp_web/controllers/main_html/index.html.heex
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<div>
|
||||||
|
<h1>Уютный домик</h1>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
У меня есть несколько проектов, запущенных на домашнем сервере.
|
||||||
|
Я буду рад, если они будут полезны другим людям.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Создайте аккаунт на этом сайте, чтобы получить доступ к остальным сервисам.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Не стоит ожидать большой надёжности, однако я прикладываю все усилия,
|
||||||
|
чтобы сервисы были доступны 24/7.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><i>- Иван, администратор comfycamp.space</i></p>
|
||||||
|
|
||||||
|
<h2>Доступные сервисы</h2>
|
||||||
|
|
||||||
|
<h3>Mastodon</h3>
|
||||||
|
<a href="https://m.comfycamp.space" target="_blank">m.comfycamp.space</a>
|
||||||
|
<p>Микроблоги с поддержкой fediverse.</p>
|
||||||
|
|
||||||
|
<h3>Nextcloud</h3>
|
||||||
|
<a href="https://nc.comfycamp.space" target="_blank">nc.comfycamp.space</a>
|
||||||
|
<p>Облако, календарь, задачи.</p>
|
||||||
|
|
||||||
|
<h3>Forgejo</h3>
|
||||||
|
<a href="https://git.comfycamp.space" target="_blank">git.comfycamp.space</a>
|
||||||
|
<p>Хостинг для git-проектов.</p>
|
||||||
|
|
||||||
|
<h3>XMPP</h3>
|
||||||
|
<a>xmpp.comfycamp.space</a>
|
||||||
|
<p>
|
||||||
|
Проверенный временем протокол для обмена сообщениями.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Для входа можете использовать dino (linux) или conversations (android).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Matrix</h3>
|
||||||
|
<a>matrix.comfycamp.space</a>
|
||||||
|
<p>
|
||||||
|
Современный протокол для общения.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Для входа можете использовать element (android, linux) или nheko (linux).
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Fresh RSS</h3>
|
||||||
|
<a href="https://freshrss.comfycamp.space" target="_blank">freshrss.comfycamp.space</a>
|
||||||
|
<p>Сервис для чтения RSS лент.</p>
|
||||||
|
|
||||||
|
<h2>Список задач</h2>
|
||||||
|
<p><input type="checkbox" disabled />Вход через один аккаунт на все сервисы.</p>
|
||||||
|
</div>
|
|
@ -33,12 +33,7 @@ defmodule ComfycampWeb.UserRegistrationLive do
|
||||||
|
|
||||||
<.input field={@form[:email]} type="email" label="Email" required />
|
<.input field={@form[:email]} type="email" label="Email" required />
|
||||||
<.input field={@form[:password]} type="password" label="Пароль" required />
|
<.input field={@form[:password]} type="password" label="Пароль" required />
|
||||||
<.input
|
<.input field={@form[:info]} type="textarea" label="Почему вы хотите получить доступ?" required />
|
||||||
field={@form[:info]}
|
|
||||||
type="textarea"
|
|
||||||
label="Почему вы хотите получить доступ?"
|
|
||||||
required
|
|
||||||
/>
|
|
||||||
<p>
|
<p>
|
||||||
Ваш небольшой рассказ помогает защитить сервисы.
|
Ваш небольшой рассказ помогает защитить сервисы.
|
||||||
Можете указать ссылки на соцсети.
|
Можете указать ссылки на соцсети.
|
||||||
|
|
|
@ -20,7 +20,7 @@ defmodule ComfycampWeb.Router do
|
||||||
scope "/", ComfycampWeb do
|
scope "/", ComfycampWeb do
|
||||||
pipe_through :browser
|
pipe_through :browser
|
||||||
|
|
||||||
get "/", HomeController, :index
|
get "/", MainController, :index
|
||||||
resources "/notes", NotesController, only: [:index, :show]
|
resources "/notes", NotesController, only: [:index, :show]
|
||||||
get "/cinema", CinemaController, :index
|
get "/cinema", CinemaController, :index
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue