feat: add slovenian translation
fix: currency conversion failing on the statistics page
This commit is contained in:
parent
cd9c75db37
commit
03ceb8a6e6
Binary file not shown.
|
Before Width: | Height: | Size: 987 B |
Binary file not shown.
|
Before Width: | Height: | Size: 980 B |
Binary file not shown.
|
Before Width: | Height: | Size: 628 B |
Binary file not shown.
|
Before Width: | Height: | Size: 797 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
$version = "v2.0.0";
|
$version = "v2.1.0";
|
||||||
?>
|
?>
|
||||||
|
|||||||
10
index.php
10
index.php
@ -39,7 +39,7 @@
|
|||||||
<section class="contain">
|
<section class="contain">
|
||||||
<header class="<?= $headerClass ?>" id="main-actions">
|
<header class="<?= $headerClass ?>" id="main-actions">
|
||||||
<button class="button" onClick="addSubscription()">
|
<button class="button" onClick="addSubscription()">
|
||||||
<img class="button-icon" src="images/siteicons/plusicon.png">
|
<i class="fa-solid fa-circle-plus"></i>
|
||||||
<?= translate('new_subscription', $i18n) ?>
|
<?= translate('new_subscription', $i18n) ?>
|
||||||
</button>
|
</button>
|
||||||
<div class="top-actions">
|
<div class="top-actions">
|
||||||
@ -49,7 +49,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="filtermenu on-dashboard">
|
<div class="filtermenu on-dashboard">
|
||||||
<button class="button" id="filtermenu-button" title="<?= translate("filter", $i18n) ?>">
|
<button class="button secondary-button" id="filtermenu-button" title="<?= translate("filter", $i18n) ?>">
|
||||||
<i class="fa-solid fa-filter"></i>
|
<i class="fa-solid fa-filter"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="filtermenu-content">
|
<div class="filtermenu-content">
|
||||||
@ -128,8 +128,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sort-container">
|
<div class="sort-container">
|
||||||
<button class="button" value="Sort" onClick="toggleSortOptions()" id="sort-button" title="<?= translate('sort', $i18n) ?>">
|
<button class="button secondary-button" value="Sort" onClick="toggleSortOptions()" id="sort-button" title="<?= translate('sort', $i18n) ?>">
|
||||||
<img src="images/siteicons/sort.png" class="button-icon" />
|
<i class="fa-solid fa-arrow-down-wide-short"></i>
|
||||||
</button>
|
</button>
|
||||||
<div class="sort-options" id="sort-options">
|
<div class="sort-options" id="sort-options">
|
||||||
<ul>
|
<ul>
|
||||||
@ -195,7 +195,7 @@
|
|||||||
<?= translate('no_subscriptions_yet', $i18n) ?>
|
<?= translate('no_subscriptions_yet', $i18n) ?>
|
||||||
</p>
|
</p>
|
||||||
<button class="button" onClick="addSubscription()">
|
<button class="button" onClick="addSubscription()">
|
||||||
<img class="button-icon" src="images/siteicons/plusicon.png">
|
<i class="fa-solid fa-circle-plus"></i>
|
||||||
<?= translate('add_first_subscription', $i18n) ?>
|
<?= translate('add_first_subscription', $i18n) ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -41,6 +41,9 @@ self.addEventListener('install', function(event) {
|
|||||||
'scripts/i18n/pt.js',
|
'scripts/i18n/pt.js',
|
||||||
'scripts/i18n/pt_br.js',
|
'scripts/i18n/pt_br.js',
|
||||||
'scripts/i18n/ru.js',
|
'scripts/i18n/ru.js',
|
||||||
|
'scripts/i18n/sl.js',
|
||||||
|
'scripts/i18n/sr_lat.js',
|
||||||
|
'scripts/i18n/sr.js',
|
||||||
'scripts/i18n/tr.js',
|
'scripts/i18n/tr.js',
|
||||||
'scripts/i18n/zh_cn.js',
|
'scripts/i18n/zh_cn.js',
|
||||||
'scripts/i18n/zh_tw.js',
|
'scripts/i18n/zh_tw.js',
|
||||||
|
|||||||
10
settings.php
10
settings.php
@ -19,8 +19,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="user-avatar">
|
<div class="user-avatar">
|
||||||
<img src="<?= $userData['avatar'] ?>" alt="avatar" class="avatar" id="avatarImg" onClick="toggleAvatarSelect()"/>
|
<img src="<?= $userData['avatar'] ?>" alt="avatar" class="avatar" id="avatarImg" onClick="toggleAvatarSelect()"/>
|
||||||
<span class="edit-avatar" onClick="toggleAvatarSelect()">
|
<span class="edit-avatar" onClick="toggleAvatarSelect()" title="Change Avatar">
|
||||||
<img src="images/siteicons/editavatar.png" title="Change avatar" />
|
<i class="fa-solid fa-pencil"></i>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -623,7 +623,7 @@
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="form-group-inline" data-categoryid="<?= $category['id'] ?>">
|
<div class="form-group-inline" data-categoryid="<?= $category['id'] ?>">
|
||||||
<div class="drag-icon"></div>
|
<div class=" drag-icon"><i class="fa-solid fa-grip-vertical"></i></div>
|
||||||
<input type="text" name="category" value="<?= $category['name'] ?>" placeholder="Category">
|
<input type="text" name="category" value="<?= $category['name'] ?>" placeholder="Category">
|
||||||
<button class="image-button medium" onClick="editCategory(<?= $category['id'] ?>)" name="save">
|
<button class="image-button medium" onClick="editCategory(<?= $category['id'] ?>)" name="save">
|
||||||
<img src="images/siteicons/<?= $colorTheme ?>/save.png" title="<?= translate('save_category', $i18n) ?>">
|
<img src="images/siteicons/<?= $colorTheme ?>/save.png" title="<?= translate('save_category', $i18n) ?>">
|
||||||
@ -861,7 +861,9 @@
|
|||||||
data-in-use="<?= $inUse ? 'yes' : 'no' ?>"
|
data-in-use="<?= $inUse ? 'yes' : 'no' ?>"
|
||||||
data-paymentid="<?= $payment['id'] ?>"
|
data-paymentid="<?= $payment['id'] ?>"
|
||||||
title="<?= $inUse ? translate('cant_delete_payment_method_in_use', $i18n) : ($payment['enabled'] ? translate('disable', $i18n) : translate('enable', $i18n)) ?>">
|
title="<?= $inUse ? translate('cant_delete_payment_method_in_use', $i18n) : ($payment['enabled'] ? translate('disable', $i18n) : translate('enable', $i18n)) ?>">
|
||||||
<div class="drag-icon" title=""></div>
|
<div class="drag-icon" title="">
|
||||||
|
<i class="fa-solid fa-grip-vertical"></i>
|
||||||
|
</div>
|
||||||
<img src="<?= $paymentIconFolder.$payment['icon'] ?>" alt="Logo" />
|
<img src="<?= $paymentIconFolder.$payment['icon'] ?>" alt="Logo" />
|
||||||
<span class="payment-name" contenteditable="true" title="<?= translate("rename_payment_method", $i18n) ?>"><?= $payment['name'] ?></span>
|
<span class="payment-name" contenteditable="true" title="<?= translate("rename_payment_method", $i18n) ?>"><?= $payment['name'] ?></span>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function getPriceConverted($price, $currency, $database) {
|
function getPriceConverted($price, $currency, $database, $userId) {
|
||||||
$query = "SELECT rate FROM currencies WHERE id = :currency AND user_id = :userId";
|
$query = "SELECT rate FROM currencies WHERE id = :currency AND user_id = :userId";
|
||||||
$stmt = $database->prepare($query);
|
$stmt = $database->prepare($query);
|
||||||
$stmt->bindParam(':currency', $currency, SQLITE3_INTEGER);
|
$stmt->bindParam(':currency', $currency, SQLITE3_INTEGER);
|
||||||
@ -153,7 +153,7 @@ if ($result) {
|
|||||||
$categoryId = $subscription['category_id'];
|
$categoryId = $subscription['category_id'];
|
||||||
$paymentMethodId = $subscription['payment_method_id'];
|
$paymentMethodId = $subscription['payment_method_id'];
|
||||||
$inactive = $subscription['inactive'];
|
$inactive = $subscription['inactive'];
|
||||||
$originalSubscriptionPrice = getPriceConverted($price, $currency, $db);
|
$originalSubscriptionPrice = getPriceConverted($price, $currency, $db, $userId);
|
||||||
$price = getPricePerMonth($cycle, $frequency, $originalSubscriptionPrice);
|
$price = getPricePerMonth($cycle, $frequency, $originalSubscriptionPrice);
|
||||||
|
|
||||||
if ($inactive == 0) {
|
if ($inactive == 0) {
|
||||||
@ -229,7 +229,7 @@ $numberOfElements = 6;
|
|||||||
<?= translate('general_statistics', $i18n) ?> <span class="header-subtitle"><?= $statsSubtitle ?></span>
|
<?= translate('general_statistics', $i18n) ?> <span class="header-subtitle"><?= $statsSubtitle ?></span>
|
||||||
</h2>
|
</h2>
|
||||||
<div class="filtermenu">
|
<div class="filtermenu">
|
||||||
<button class="button" id="filtermenu-button">
|
<button class="button secondary-button" id="filtermenu-button">
|
||||||
<i class="fa-solid fa-filter"></i>
|
<i class="fa-solid fa-filter"></i>
|
||||||
<?= translate("filter", $i18n) ?>
|
<?= translate("filter", $i18n) ?>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
@ -541,6 +541,8 @@ header #avatar {
|
|||||||
background-color: rgba(0,0,0,0.6);
|
background-color: rgba(0,0,0,0.6);
|
||||||
border-radius: 39px;
|
border-radius: 39px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
color: #FFFFFF;
|
||||||
|
font-size: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-form .user-avatar:hover > .edit-avatar {
|
.user-form .user-avatar:hover > .edit-avatar {
|
||||||
@ -553,10 +555,6 @@ header #avatar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-form .user-avatar .edit-avatar > img {
|
|
||||||
width: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.avatar-select {
|
.avatar-select {
|
||||||
display: none;
|
display: none;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
@ -784,8 +782,8 @@ header #avatar {
|
|||||||
|
|
||||||
.payments-list .payments-payment .drag-icon {
|
.payments-list .payments-payment .drag-icon {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
width: 12px;
|
width: 14px;
|
||||||
background-size: contain;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.payments-list .payments-payment > img {
|
.payments-list .payments-payment > img {
|
||||||
@ -1616,16 +1614,17 @@ textarea.thin {
|
|||||||
width: 28px;
|
width: 28px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
cursor: grab;
|
cursor: grab;
|
||||||
background-image: url(../images/siteicons/draggable.png);
|
display: flex;
|
||||||
background-repeat: no-repeat;
|
align-items: center;
|
||||||
background-position: center;
|
justify-content: center;
|
||||||
background-size: 14px auto;
|
font-size: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sortable-list .sortable-ghost {
|
.sortable-list .sortable-ghost {
|
||||||
border-radius: 16px;
|
border-radius: 8px;
|
||||||
background-color: rgba(var(--accent-color-rgb), 0.6);
|
background-color: rgba(var(--accent-color-rgb), 0.6);
|
||||||
border: 1px solid var(--accent-color);
|
border: 1px solid var(--accent-color);
|
||||||
|
padding: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fitler dropdown */
|
/* Fitler dropdown */
|
||||||
@ -1865,6 +1864,7 @@ textarea.thin {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-list .user-list-row {
|
.user-list .user-list-row {
|
||||||
@ -1873,6 +1873,12 @@ textarea.thin {
|
|||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.user-list .user-list-row {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.user-list .user-list-row:last-of-type {
|
.user-list .user-list-row:last-of-type {
|
||||||
flex-grow: 0;
|
flex-grow: 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user