chore: split css files

This commit is contained in:
Ivan R. 2024-08-26 22:10:51 +05:00
parent 3f042d1d99
commit 03256685c0
Signed by: lumin
GPG key ID: E0937DC7CD6D3817
13 changed files with 77 additions and 40 deletions

View file

@ -1,7 +1,5 @@
@import "./core_components.css"; @import "./components.css";
@import "./flash.css"; @import "./flash.css";
@import "./admin.css";
@import "./home.css";
:root { :root {
--bg: #13151a; --bg: #13151a;

View file

@ -1,16 +1,16 @@
.service { .home .service {
margin-top: 28px; margin-top: 28px;
} }
.service h3 { .home .service h3 {
margin-bottom: 8px; margin-bottom: 8px;
} }
.service .link { .home .service .link {
color: var(--accent); color: var(--accent);
} }
.service svg { .home .service svg {
width: 16px; width: 16px;
height: 16px; height: 16px;
} }

View file

@ -21,7 +21,7 @@ import "phoenix_html"
import {Socket} from "phoenix" import {Socket} from "phoenix"
import {LiveSocket} from "phoenix_live_view" import {LiveSocket} from "phoenix_live_view"
import topbar from "../vendor/topbar" import topbar from "../vendor/topbar"
import "../css/app.css" import "../css/core/app.css"
let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content") let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content")
let liveSocket = new LiveSocket("/live", Socket, { let liveSocket = new LiveSocket("/live", Socket, {

View file

@ -41,6 +41,11 @@ config :esbuild,
~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*), ~w(js/app.js --bundle --target=es2017 --outdir=../priv/static/assets --external:/fonts/* --external:/images/*),
cd: Path.expand("../assets", __DIR__), cd: Path.expand("../assets", __DIR__),
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
],
css: [
args: ~w(css/home.css css/admin.css --outdir=../priv/static/assets),
cd: Path.expand("../assets", __DIR__),
env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)}
] ]
# Configures Elixir's Logger # Configures Elixir's Logger

View file

@ -15,6 +15,11 @@
} }
/> />
<link phx-track-static rel="stylesheet" href={~p"/assets/app.css"} /> <link phx-track-static rel="stylesheet" href={~p"/assets/app.css"} />
<%= if assigns[:stylesheets] do %>
<%= for stylesheet <- @stylesheets do %>
<link phx-track-static rel="stylesheet" href={stylesheet} />
<% end %>
<% end %>
<script defer phx-track-static type="text/javascript" src={~p"/assets/app.js"}> <script defer phx-track-static type="text/javascript" src={~p"/assets/app.js"}>
</script> </script>
<link <link

View file

@ -4,12 +4,12 @@ defmodule ComfycampWeb.AdminPageController do
def home(conn, _params) do def home(conn, _params) do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:home, page_title: "Админка") |> render(:home, page_title: "Админка", stylesheets: ["/assets/admin.css"])
end end
def services(conn, _params) do def services(conn, _params) do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:home, page_title: "Админка") |> render(:home, page_title: "Админка", stylesheets: ["/assets/admin.css"])
end end
end end

View file

@ -2,14 +2,14 @@ defmodule ComfycampWeb.HomeController do
use ComfycampWeb, :controller use ComfycampWeb, :controller
def index(conn, _params) do def index(conn, _params) do
render(conn, :index, page_title: "Главная") render(conn, :index, page_title: "Главная", stylesheets: ["/assets/home.css"])
end end
def mastodon(conn, _params) do def mastodon(conn, _params) do
render(conn, :mastodon, page_title: "Mastodon") render(conn, :mastodon, page_title: "Mastodon", stylesheets: ["/assets/home.css"])
end end
def nextcloud(conn, _params) do def nextcloud(conn, _params) do
render(conn, :nextcloud, page_title: "Nextcloud") render(conn, :nextcloud, page_title: "Nextcloud", stylesheets: ["/assets/home.css"])
end end
end end

View file

@ -7,7 +7,7 @@ defmodule ComfycampWeb.HomeHTML do
def index(assigns) do def index(assigns) do
~H""" ~H"""
<div> <div class="home">
<h1>Уютный домик</h1> <h1>Уютный домик</h1>
<p> <p>
@ -103,27 +103,31 @@ defmodule ComfycampWeb.HomeHTML do
def mastodon(assigns) do def mastodon(assigns) do
~H""" ~H"""
<h1>Mastodon</h1> <div class="home">
<a href="https://m.comfycamp.space" target="_blank">m.comfycamp.space</a> <h1>Mastodon</h1>
<p>Удобный сервис для ведения микроблогов. Простыми словами, это альтернатива Twitter.</p> <a href="https://m.comfycamp.space" target="_blank">m.comfycamp.space</a>
<p> <p>Удобный сервис для ведения микроблогов. Простыми словами, это альтернатива Twitter.</p>
Mastodon умеет подключаться к другим сервисам внутри сети Fediverse. <p>
Так, например, вы можете общаться с пользователями Pleroma, Misskey, Friendica, Pixelfed, Mastodon умеет подключаться к другим сервисам внутри сети Fediverse.
даже если они находятся на других серверах. Так, например, вы можете общаться с пользователями Pleroma, Misskey, Friendica, Pixelfed,
</p> даже если они находятся на других серверах.
</p>
</div>
""" """
end end
def nextcloud(assigns) do def nextcloud(assigns) do
~H""" ~H"""
<h1>Nextcloud</h1> <div class="home">
<a href="https://nc.comfycamp.space" target="_blank">nc.comfycamp.space</a> <h1>Nextcloud</h1>
<p> <a href="https://nc.comfycamp.space" target="_blank">nc.comfycamp.space</a>
Облако, способное заменить десяток сервисов. <p>
При помощи Nextcloud вы можете хранить файлы, вести календарь и список задач, Облако, способное заменить десяток сервисов.
синхронизировать контакты, читать почту и новости... При помощи Nextcloud вы можете хранить файлы, вести календарь и список задач,
А если этого будет мало, вам доступны десятки приложений на любой вкус и цвет. синхронизировать контакты, читать почту и новости...
</p> А если этого будет мало, вам доступны десятки приложений на любой вкус и цвет.
</p>
</div>
""" """
end end
end end

View file

@ -9,7 +9,7 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:index, page_title: "Заметки", notes: notes) |> render(:index, page_title: "Заметки", notes: notes, stylesheets: ["/assets/admin.css"])
end end
def new(conn, _params) do def new(conn, _params) do
@ -17,7 +17,11 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:new, page_title: "Новая заметка", changeset: changeset) |> render(:new,
page_title: "Новая заметка",
changeset: changeset,
stylesheets: ["/assets/admin.css"]
)
end end
def edit(conn, %{"id" => id}) do def edit(conn, %{"id" => id}) do
@ -27,7 +31,11 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:edit, page_title: "Редактировать заметку", changeset: changeset) |> render(:edit,
page_title: "Редактировать заметку",
changeset: changeset,
stylesheets: ["/assets/admin.css"]
)
end end
def create(conn, %{"note" => note_params}) do def create(conn, %{"note" => note_params}) do
@ -41,7 +49,11 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_flash(:error, "Ошибка при обновлении заметки.") |> put_flash(:error, "Ошибка при обновлении заметки.")
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:new, page_title: "Создать заметку", changeset: changeset) |> render(:new,
page_title: "Создать заметку",
changeset: changeset,
stylesheets: ["/assets/admin.css"]
)
end end
end end
@ -58,7 +70,11 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_flash(:error, "Ошибка при обновлении заметки.") |> put_flash(:error, "Ошибка при обновлении заметки.")
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:edit, page_title: "Редактировать заметку", changeset: changeset) |> render(:edit,
page_title: "Редактировать заметку",
changeset: changeset,
stylesheets: ["/assets/admin.css"]
)
end end
end end
@ -67,7 +83,7 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:show, page_title: "Заметка", note: note) |> render(:show, page_title: "Заметка", note: note, stylesheets: ["/assets/admin.css"])
end end
def delete(conn, %{"id" => id}) do def delete(conn, %{"id" => id}) do
@ -83,7 +99,11 @@ defmodule ComfycampWeb.NotesEditorController do
conn conn
|> put_flash(:error, "Ошибка при удалении заметки.") |> put_flash(:error, "Ошибка при удалении заметки.")
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:edit, page_title: "Редактировать заметку", changeset: changeset) |> render(:edit,
page_title: "Редактировать заметку",
changeset: changeset,
stylesheets: ["/assets/admin.css"]
)
end end
end end
end end

View file

@ -7,7 +7,11 @@ defmodule ComfycampWeb.UserEditorController do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:index, page_title: "Пользователи", users: users) |> render(:index,
page_title: "Пользователи",
users: users,
stylesheets: ["/assets/admin.css"]
)
end end
def show(conn, %{"id" => id}) do def show(conn, %{"id" => id}) do
@ -15,6 +19,6 @@ defmodule ComfycampWeb.UserEditorController do
conn conn
|> put_layout(html: :admin) |> put_layout(html: :admin)
|> render(:show, page_title: user.email, user: user) |> render(:show, page_title: user.email, user: user, stylesheets: ["/assets/admin.css"])
end end
end end

View file

@ -70,9 +70,10 @@ defmodule Comfycamp.MixProject do
"ecto.reset": ["ecto.drop", "ecto.setup"], "ecto.reset": ["ecto.drop", "ecto.setup"],
test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
"assets.setup": ["esbuild.install --if-missing"], "assets.setup": ["esbuild.install --if-missing"],
"assets.build": ["esbuild comfycamp"], "assets.build": ["esbuild comfycamp", "esbuild css"],
"assets.deploy": [ "assets.deploy": [
"esbuild comfycamp --minify", "esbuild comfycamp --minify",
"esbuild css --minify",
"phx.digest" "phx.digest"
] ]
] ]