Skip to content

Commit

Permalink
Move various utility functions to their own JS libraries.
Browse files Browse the repository at this point in the history
  • Loading branch information
BusterNeece committed Jul 23, 2024
1 parent 6b7d542 commit 7b7d5f6
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 23 deletions.
2 changes: 2 additions & 0 deletions backend/templates/account/recover.twig
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
{% block head %}
{{ parent() }}

{{ renderAssets('frontend/passwordStrength.js') }}

<script>
ready(() => {
passwordStrength();
Expand Down
2 changes: 2 additions & 0 deletions backend/templates/account/register.twig
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

{% block head %}
{{ parent() }}

{{ renderAssets('frontend/passwordStrength.js') }}

<script>
ready(() => {
Expand Down
2 changes: 2 additions & 0 deletions backend/templates/dashboard/password.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
{% block head %}
{{ parent() }}

{{ renderAssets('frontend/passwordStrength.js') }}

<script>
ready(() => {
passwordStrength();
Expand Down
2 changes: 2 additions & 0 deletions backend/templates/events/defective.twig
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
{% block head %}
{{ parent() }}

{{ renderAssets('frontend/dateTime.js') }}

<script>
ready(() => {
const tz = {{ tz|json_encode|raw }};
Expand Down
12 changes: 12 additions & 0 deletions frontend/dateTime.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import {
dateTimeToDateTimeString, dateTimeToRelative,
dateTimeToTimeString,
nowToDateTime,
timestampToDateTime
} from "~/js/dateTimeUtils.js";

window.nowToDateTime = nowToDateTime;
window.timestampToDateTime = timestampToDateTime;
window.dateTimeToDateTimeString = dateTimeToDateTimeString;
window.dateTimeToTimeString = dateTimeToTimeString;
window.dateTimeToRelative = dateTimeToRelative;
19 changes: 0 additions & 19 deletions frontend/layout.js
Original file line number Diff line number Diff line change
@@ -1,35 +1,16 @@
// Frontend styling
import "~/scss/style.scss";

// Frontend JS
import * as bootstrap from "bootstrap";
import $ from "jquery";

// Custom functions
import passwordStrength from './js/passwordStrength.js';
import {confirmDanger} from './js/sweetalert.js';
import {
dateTimeToDateTimeString,
dateTimeToRelative,
dateTimeToTimeString,
nowToDateTime,
timestampToDateTime,
} from './js/dateTimeUtils.js';

window.bootstrap = bootstrap;

window.jQuery = window.$ = $;

window.passwordStrength = passwordStrength;

window.confirmDanger = confirmDanger;

window.nowToDateTime = nowToDateTime;
window.timestampToDateTime = timestampToDateTime;
window.dateTimeToDateTimeString = dateTimeToDateTimeString;
window.dateTimeToTimeString = dateTimeToTimeString;
window.dateTimeToRelative = dateTimeToRelative;

const ready = (callback) => {
if (document.readyState !== "loading") callback();
else document.addEventListener("DOMContentLoaded", callback);
Expand Down
3 changes: 3 additions & 0 deletions frontend/passwordStrength.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import passwordStrength from "~/js/passwordStrength.js";

window.passwordStrength = passwordStrength;
14 changes: 10 additions & 4 deletions vite.config.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
import {defineConfig} from "vite";
import {glob} from "glob";
import {resolve} from "path";

const inputs = {
"layout": resolve(__dirname, "./frontend/layout.js"),
"wwradio": resolve(__dirname, "./frontend/wwradio.js")
};
const inputs = glob.sync('./frontend/*.js').reduce((acc, path) => {
// vue/pages/Admin/Index becomes AdminIndex
const entry = path.replace(/\.js$/g, '')
.replace(/^frontend\//g, '')
.replace(/\//g, '');

acc[entry] = resolve(__dirname, path)
return acc
}, {});

console.log(inputs);

Expand Down

0 comments on commit 7b7d5f6

Please sign in to comment.