Files
RomhackPlaza/resources/js/app.js
2026-06-23 19:24:38 +02:00

50 lines
1.3 KiB
JavaScript

import { createIcons, icons } from "lucide";
import EasyMDE from "easymde";
import "easymde/dist/easymde.min.css";
import { calculate as calculateHashes } from "./hashes.js";
import hovercard from "./hovercard.js";
import notifications from "./notifications.js";
import conversations from "./conversations.js";
import settings from "./settings.js";
import { initMobileMenu } from "./mobile-menu.js";
/**
* Get config defined in meta.blade.php
* @param {string} key
* @return {string|null}
*/
window.getConfig = function( key ){
return document.querySelector('meta[name="config-' + key + '"]')?.getAttribute('content') ?? null;
}
// Lucide icons.
createIcons({ icons });
window.refreshIcons = (container = document) => {
const pending = container.querySelectorAll('[data-lucide]');
if (pending.length === 0) return;
createIcons({ icons });
};
// EasyMDE.
window.EasyMDE = EasyMDE;
// Hashes.
window.calculateHashes = calculateHashes;
// Hover card.
Alpine.store('hovercard', hovercard() );
// Notifications
Alpine.store('notifications', notifications() );
// Conversations
Alpine.store('conversations', conversations() );
// Settings
Alpine.store('settings', settings() );
// Mobile Menu
document.addEventListener('DOMContentLoaded', initMobileMenu);