2026-05-20 18:25:15 +02:00
|
|
|
import { createIcons, icons } from "lucide";
|
|
|
|
|
import EasyMDE from "easymde";
|
|
|
|
|
import "easymde/dist/easymde.min.css";
|
|
|
|
|
|
|
|
|
|
import { calculate as calculateHashes } from "./hashes.js";
|
2026-05-24 11:47:20 +02:00
|
|
|
import hovercard from "./hovercard.js";
|
|
|
|
|
import notifications from "./notifications.js";
|
2026-05-25 09:55:47 +02:00
|
|
|
import conversations from "./conversations.js";
|
2026-05-27 21:24:38 +02:00
|
|
|
import settings from "./settings.js";
|
2026-05-20 18:25:15 +02:00
|
|
|
|
2026-05-27 21:24:38 +02:00
|
|
|
/**
|
|
|
|
|
* 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;
|
|
|
|
|
}
|
2026-05-20 18:25:15 +02:00
|
|
|
|
|
|
|
|
// 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;
|
2026-05-24 11:47:20 +02:00
|
|
|
|
|
|
|
|
// Hover card.
|
|
|
|
|
Alpine.store('hovercard', hovercard() );
|
|
|
|
|
|
|
|
|
|
// Notifications
|
|
|
|
|
Alpine.store('notifications', notifications() );
|
2026-05-25 09:55:47 +02:00
|
|
|
|
|
|
|
|
// Conversations
|
|
|
|
|
Alpine.store('conversations', conversations() );
|
2026-05-27 21:24:38 +02:00
|
|
|
|
|
|
|
|
// Settings
|
|
|
|
|
Alpine.store('settings', settings() );
|