Compare commits

..

70 Commits

Author SHA1 Message Date
db5dd04e1d Обновить README.md 2026-02-21 13:27:26 +03:00
caf7878f84 Обновить README.md 2026-02-20 01:54:28 +03:00
bb6bbc6b5a Обновить README.md 2026-02-20 01:53:02 +03:00
b6f3b2cf55 Обновить README.md 2026-02-20 01:48:03 +03:00
f38ce773d6 Обновить README.md 2026-02-20 01:39:38 +03:00
030a93fab6 Обновить README.md 2026-02-20 01:38:52 +03:00
8068b30d56 revert c65f8ed136
revert Обновить README.md
2026-02-20 01:38:26 +03:00
80f97437d5 revert c65f8ed136
revert Обновить README.md
2026-02-20 01:38:02 +03:00
f0d09d8492 revert c65f8ed136
revert Обновить README.md
2026-02-20 01:36:42 +03:00
c65f8ed136 Обновить README.md 2026-02-20 01:34:15 +03:00
99043faa0b 2026-02-19 17:17:18 +03:00
3c3ebf5250 2026-02-19 17:14:43 +03:00
2b6dfa0ef4 Обновить тему: объединить модули в tolfin.css, удалить старые файлы 2026-02-19 17:11:12 +03:00
995bf6e4ed 2026-02-18 11:22:17 +03:00
eff2a5071c 2026-02-17 22:39:35 +03:00
d787481660 2026-02-17 22:34:25 +03:00
eb7bf7bf9d 2026-02-17 22:33:22 +03:00
00c2ee32a1 2026-02-17 22:32:02 +03:00
c9ecb269f1 2026-02-17 22:31:29 +03:00
324ea99182 2026-02-17 22:17:22 +03:00
73c1beeb48 2026-02-17 22:07:28 +03:00
fcedada22d 2026-02-17 22:05:33 +03:00
777f2afb7a 2026-02-17 21:57:56 +03:00
c96d0238eb Правка 2026-02-17 21:50:20 +03:00
b0dce671c3 Правка 2026-02-17 21:47:29 +03:00
f9d2f2d9ff Правка 2026-02-17 21:40:45 +03:00
0d74f38561 Правка 2026-02-17 21:31:10 +03:00
e24a6a5918 Правка 2026-02-17 21:28:41 +03:00
4cb14836a3 Правка 2026-02-17 21:11:41 +03:00
51e45ecf18 Правка 2026-02-17 20:57:43 +03:00
fd89971fd7 Правка 2026-02-17 20:48:51 +03:00
a48c075aa8 Правка 2026-02-17 20:45:29 +03:00
4d9c0ac666 Правка 2026-02-17 20:41:38 +03:00
b304e752f9 Правка 2026-02-17 20:39:41 +03:00
d8354a5ad8 Правка 2026-02-17 20:17:37 +03:00
12d9bec244 Merge branch 'main' of https://git.tolchin.pro/Oleg/Tolfin 2026-02-17 20:15:09 +03:00
114e2ed607 Правка 2026-02-17 20:14:19 +03:00
205270d576 Правка 2026-02-17 20:10:29 +03:00
d9dec4eb17 asd 2026-02-17 18:48:32 +03:00
53fc9107bf asdadecf 2026-02-17 17:43:36 +03:00
1bccbd10dc Merge branch 'main' of https://git.tolchin.pro/Oleg/Tolfin 2026-02-17 17:40:51 +03:00
9c36079311 Merge branch 'main' of https://git.tolchin.pro/Oleg/Tolfin 2026-02-17 17:40:43 +03:00
7896cb496c Merge branch 'main' of https://git.tolchin.pro/Oleg/Tolfin 2026-02-17 17:35:18 +03:00
875b141259 dssvdsvszdf 2026-02-17 17:34:43 +03:00
280459f2dc Обновить theme/modules/change-banner.css 2026-02-17 16:51:56 +03:00
0ab13c64d5 Обновить theme/modules/change-banner.css 2026-02-17 16:51:13 +03:00
b9a32c0696 Revert "Fix URL format in manifest.json and modules README"
This reverts commit 02171c21d4.
2026-02-17 16:48:53 +03:00
fdaaa5642e Fix banner display - add higher specificity selectors and remove gradient overlay 2026-02-17 16:36:22 +03:00
f51eb5e16f Fix URLs - remove /branch/main/ from paths, use correct API format 2026-02-17 16:07:41 +03:00
02171c21d4 Fix URL format in manifest.json and modules README 2026-02-17 15:28:19 +03:00
a376edc778 Update all URLs to use Gitea API format with /api/v1/repos/ and ?ref=main 2026-02-17 15:18:48 +03:00
edd590e380 Test Git Credential Manager setup 2026-02-17 14:37:31 +03:00
9c17226be6 Update banner URL to API format for ORB bypass 2026-02-17 14:14:39 +03:00
2db5eddfb4 Restructure project: use base.css + modules approach like example 2026-02-17 09:44:25 +03:00
308e480307 Remove versions and tags - use only branch/main for latest version 2026-02-17 09:24:36 +03:00
d3baf5c47c Fix CSS syntax errors in tolfin.css 2026-02-17 09:18:33 +03:00
84f307739e Update all URLs to Gitea (branch/main) 2026-02-17 09:11:32 +03:00
e981daa6d2 Обновить README.md 2026-02-17 02:33:41 +03:00
589890770f Update domain from gitea.tolchin.pro to git.tolchin.pro 2026-02-16 21:56:26 +03:00
1bd364a669 Update all links to Gitea instead of GitHub 2026-02-16 21:32:45 +03:00
a9f5d3c879 Update documentation for release v1.0.1 2026-02-16 19:59:53 +03:00
a9c840af15 Update tolfin.css for release v1.0.1 2026-02-16 19:57:35 +03:00
3d923af943 Update release workflow: @latest now points to latest release, not commits 2026-02-16 19:37:37 +03:00
8683e5da2d Add RELEASE.md with release instructions 2026-02-16 18:19:29 +03:00
f113d2820f Update tolfin.css 2026-02-16 18:18:11 +03:00
b04a0c1ec0 Update README with release information and version links 2026-02-16 18:17:37 +03:00
Oleg
c48665e3aa Update tolfin.css 2026-02-16 01:05:28 +03:00
1a72cdb7cb Update tolfin.css 2026-02-15 23:34:06 +03:00
124e8219d0 Remove all logo-related code and files, keep only banner 2026-02-15 23:29:53 +03:00
9239861b8f Update tolfin.css 2026-02-15 23:16:38 +03:00
15 changed files with 357 additions and 692 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
/node_modules

View File

@@ -1,21 +1,30 @@
# Tolfin
<div align="center">
<img src="assets/banner.png" alt="Logo" width="250"/>
<div align="left">
#
Modern CSS theme for Jellyfin media server with custom fonts, smooth animations and responsive design.
## Note
This project was created to experiment with CSS settings and correct visual flaws.
## Installation
### Method 1: Via CDN URL (Recommended)
### Via CDN URL (Recommended)
1. Go to Jellyfin Dashboard → General → Custom CSS
2. Paste this code:
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/tolfin.css");
@import url("https://git.tolchin.pro/Oleg/Tolfin/raw/branch/main/tolfin.css");
```
3. Click Save
### Method 2: Manual
### Manual Installation
1. Download `theme/tolfin.css` from this repository
1. Download `tolfin.css` from this repository
2. Go to Jellyfin Dashboard → General → Custom CSS
3. Paste the contents of the file
4. Click Save
@@ -28,17 +37,13 @@ Modern CSS theme for Jellyfin media server with custom fonts, smooth animations
- 📱 Fully responsive layout
- 🎯 Optimized for desktop and mobile viewing
## Manifest
This theme includes a `manifest.json` for automatic installation via theme repositories and plugins.
## Repository
https://github.com/OlegTolchin/Tolfin
https://git.tolchin.pro/Oleg/Tolfin
## Author
OlegTolchin
Oleg Tolchin
## License

View File

@@ -1,10 +0,0 @@
{
"name": "Tolfin",
"description": "Modern CSS theme for Jellyfin with custom fonts, smooth animations and responsive design",
"version": "1.0.0",
"author": "OlegTolchin",
"repository": "https://github.com/OlegTolchin/Tolfin",
"url": "https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/tolfin.css",
"target": "jellyfin",
"categories": ["theme", "css"]
}

View File

@@ -1,12 +0,0 @@
{
"name": "tolfin",
"version": "1.0.0",
"description": "Modern CSS theme for Jellyfin media server",
"author": "OlegTolchin",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/OlegTolchin/Tolfin.git"
},
"homepage": "https://github.com/OlegTolchin/Tolfin#readme"
}

View File

@@ -1,109 +0,0 @@
# Tolfin Modules
Модули темы Tolfin для Jellyfin. Каждый модуль может использоваться отдельно или в сочетании с другими.
## Доступные модули
### static-sidebar.css
Делает боковую панель статичной (не прокручивается вместе со страницей) на десктопе.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/static-sidebar.css");
```
---
### central-libraries-small.css
Центрирует секцию "Мои медиа (small)" на главной странице.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/central-libraries-small.css");
```
---
### change-logo.css
Заменяет логотип Jellyfin на кастомный.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/change-logo.css");
```
---
### count-indicators.css
Изменяет цвет индикаторов счётчиков (количество эпизодов, и т.д.).
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/count-indicators.css");
```
---
### forgot-password.css
Убирает кнопку "Забыли пароль" со страницы входа.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/forgot-password.css");
```
---
### hide-my-media.css
Скрывает секцию "Мои медиа" с главной страницы Jellyfin.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/hide-my-media.css");
```
---
### moving-cards.css
Делает карточки Jellyfin немного приподнимающимися при наведении.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/moving-cards.css");
```
---
### smaller-cast.css
Делает карточки актёров меньше при просмотре деталей контента.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/smaller-cast.css");
```
---
### floating-progress.css
Делает прогресс-бары плавающими от низа карточки.
**Использование:**
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/floating-progress.css");
```
---
## Использование модулей
### С базовой темой:
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/base.css");
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/static-sidebar.css");
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/modules/change-logo.css");
```
### Полная тема (все модули):
```css
@import url("https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/theme/complete.css");
```

View File

@@ -1,10 +0,0 @@
/*
Этот модуль центрирует секцию "Мои медиа (small)" на главной странице.
Полезно для более сбалансированного вида главной страницы.
Может использоваться как отдельный модуль.
*/
#indexPage .section0 .itemsContainer.padded-left.padded-right {
justify-content: center !important;
padding-top: 15px !important;
}

View File

@@ -1,14 +0,0 @@
/*
Этот модуль заменяет логотип Jellyfin на кастомный.
Позволяет использовать свой логотип в интерфейсе.
Может использоваться как отдельный модуль.
*/
:root {
--logo-url: url('https://cdn.jsdelivr.net/gh/OlegTolchin/Tolfin@latest/assets/logo.png');
}
.pageTitleWithDefaultLogo,
.spashLogo {
background-image: var(--logo-url) !important;
}

View File

@@ -1,26 +0,0 @@
/*
Этот модуль изменяет цвет индикаторов счётчиков.
Простой способ сделать Jellyfin более современным.
Может использоваться как отдельный модуль.
*/
:root {
--show-count-indicators: flex; /* none для скрытия */
--count-indicator-colour: rgba(200, 200, 200, 0.75);
--played-indicator-colour: rgba(32, 139, 36, 0.75);
}
.countIndicator {
display: var(--show-count-indicators);
}
.countIndicator,
.fullSyncIndicator,
.mediaSourceIndicator,
.playedIndicator {
background: var(--count-indicator-colour);
}
.playedIndicator {
background: var(--played-indicator-colour);
}

View File

@@ -1,45 +0,0 @@
/*
Этот модуль делает прогресс-бары плавающими от низа карточки.
Полезно для большей видимости прогресс-бара.
Может использоваться как отдельный модуль.
*/
:root {
--floating-progress-roundness: .75rem;
--floating-progress-height: 10px;
}
.sessionNowPlayingDetails {
padding-bottom: 10px;
}
.fullInnerCardFooter,
.activeSession .backgroundProgress,
.activeSession .playbackProgress,
.activeSession .transcodingProgress {
width: 95%;
bottom: 10px;
margin: 0 auto;
height: var(--floating-progress-height);
border-radius: var(--floating-progress-roundness) !important;
-webkit-border-radius: var(--floating-progress-roundness) !important;
-moz-border-radius: var(--floating-progress-roundness) !important;
}
.itemProgressBar {
height: var(--floating-progress-height);
box-shadow: inset 0 1px var(--theme-menu-shadow-colour);
-webkit-box-shadow: inset 0 1px var(--theme-menu-shadow-colour);
-moz-box-shadow: inset 0 1px var(--theme-menu-shadow-colour);
}
.playbackProgress > div,
.backgroundProgress > div,
.transcodingProgress > div {
box-shadow: inset 0 1px var(--theme-menu-shadow-colour);
-webkit-box-shadow: inset 0 1px var(--theme-menu-shadow-colour);
-moz-box-shadow: inset 0 1px var(--theme-menu-shadow-colour);
border-radius: var(--floating-progress-roundness);
-webkit-border-radius: var(--floating-progress-roundness);
-moz-border-radius: var(--floating-progress-roundness);
}

View File

@@ -1,14 +0,0 @@
/*
Этот модуль убирает кнопку "Забыли пароль" со страницы входа.
Полезно если используется сторонняя система управления пользователями.
Может использоваться как отдельный модуль.
*/
#btnResetPassword,
.btnForgotPassword {
display: none !important;
}
#loginPage {
max-height: 450px;
}

View File

@@ -1,17 +0,0 @@
/*
Этот модуль скрывает секцию "Мои медиа" с главной страницы Jellyfin.
Полезно для более минималистичного вида главной страницы.
Может использоваться как отдельный модуль.
*/
#indexPage .section0 .sectionTitle {
display: none;
}
#indexPage .section0 {
padding-top: 1em;
}
#indexPage .verticalSection.section0 {
padding-top: 3em;
}

View File

@@ -1,13 +0,0 @@
/*
Этот модуль делает карточки Jellyfin немного приподнимающимися при наведении.
Простой способ сделать Jellyfin более современным.
Может использоваться как отдельный модуль.
*/
.cardBox:hover {
transform: translateY(-2.5px);
-webkit-transform: translateY(-2.5px);
-moz-transform: translateY(-2.5px);
-ms-transform: translateY(-2.5px);
-o-transform: translateY(-2.5px);
}

View File

@@ -1,77 +0,0 @@
/*
Этот модуль делает карточки актёров меньше при просмотре деталей контента.
Полезно для более компактного отображения актёрского состава.
Может использоваться как отдельный модуль.
Оригинальный код: https://jellyfin.org/docs/general/clients/css-customization/#stylized-and-smaller-cast--crew-info
*/
#castContent .card.overflowPortraitCard.personCard.card-hoverable.card-withuserdata {
width: 4.2cm;
font-size: 90%;
}
#castContent .cardContent-button.cardImageContainer.coveredImage.cardContent.cardContent-shadow.itemAction.lazy {
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
#castContent .cardContent-button.cardImageContainer.coveredImage.defaultCardBackground.defaultCardBackground1.cardContent.cardContent-shadow.itemAction {
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
#castContent .cardContent-button.cardImageContainer.coveredImage.defaultCardBackground.defaultCardBackground2.cardContent.cardContent-shadow.itemAction {
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
#castContent .cardContent-button.cardImageContainer.coveredImage.defaultCardBackground.defaultCardBackground3.cardContent.cardContent-shadow.itemAction {
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
#castContent .cardContent-button.cardImageContainer.coveredImage.defaultCardBackground.defaultCardBackground4.cardContent.cardContent-shadow.itemAction {
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
#castContent .cardContent-button.cardImageContainer.coveredImage.defaultCardBackground.defaultCardBackground5.cardContent.cardContent-shadow.itemAction {
background-size: cover;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
}
#castContent .cardScalable {
width: 3.8cm;
height: 3.8cm;
}
#castContent .cardOverlayButton-br {
bottom: 4%;
right: 15%;
width: 70%;
}
#castContent .cardOverlayButton.cardOverlayButton-hover.itemAction.paper-icon-button-light {
margin: auto;
}
#castContent .cardBox:not(.visualCardBox) .cardPadder {
background-color: unset;
}
#castContent .cardBox:not(.visualCardBox) .cardPadder,
#castContent .cardContent-shadow {
box-shadow: unset;
}

View File

@@ -1,34 +0,0 @@
/*
Этот модуль делает боковую панель статичной (не прокручивается вместе со страницей).
Простой способ сделать Jellyfin более современным.
Может использоваться как отдельный модуль.
*/
.layout-desktop .mainDrawer,
.MuiDrawer-paperAnchorLeft {
left: 0 !important;
top: 0;
width: 250px !important;
background-color: var(--theme-sidebar-background-colour) !important;
z-index: 100;
}
.layout-desktop .mainDrawerButton,
.layout-desktop .headerHomeButton {
display: none;
}
.layout-desktop .libraryPage:not(#editItemMetadataPage) {
margin-left: 250px;
width: calc(100% - 250px);
}
.layout-desktop #slides-container {
margin-left: 320px;
width: calc(100% - 385px);
}
.layout-desktop .hide-scroll .mainDrawer,
.layout-desktop .hideMainDrawer .mainDrawer {
display: none;
}

File diff suppressed because it is too large Load Diff