added Basic Status Messages to GoogleAuth

This commit is contained in:
Samuel Andert
2023-07-21 15:16:07 +02:00
parent 207b154035
commit 081d052443
6 changed files with 88 additions and 52 deletions

View File

@ -6,24 +6,24 @@ function isClientSide() {
}
// Safely get item from localStorage
function getFromLocalStorage(key: string, defaultValue: any) {
function getFromLocalStorage(key, defaultValue) {
if (isClientSide()) {
return localStorage.getItem(key)
? JSON.parse(localStorage.getItem(key)!)
? JSON.parse(localStorage.getItem(key))
: defaultValue;
}
return defaultValue;
}
// Safely set item to localStorage
function setToLocalStorage(key: string, value: any) {
function setToLocalStorage(key, value) {
if (isClientSide()) {
localStorage.setItem(key, JSON.stringify(value));
}
}
// Define the updated Message interface
interface Message {
export interface Message {
text: string;
timestamp: string;
sender: string;
@ -31,8 +31,9 @@ interface Message {
}
// Load messages from localStorage or set an empty array if not available
const initialMessages: Message[] = getFromLocalStorage('chat-messages', []);
const initialMessages = getFromLocalStorage('chat-messages', []);
// Convert the array to a writable store
export const messages = writable(initialMessages);
// Subscribe to messages store to watch for changes and save them to localStorage
@ -40,28 +41,14 @@ messages.subscribe(currentMessages => {
setToLocalStorage('chat-messages', currentMessages);
});
// Dummy messages
const messagesList: Message[] = [
{ text: "Hello there!", timestamp: new Date().toLocaleString(), sender: "John", type: "text" },
{ text: "How are you?", timestamp: new Date().toLocaleString(), sender: "Alice", type: "text" },
// Add more dummy messages here with the timestamp and sender properties
];
export function addRandomMessage() {
const randomMessage = messagesList[Math.floor(Math.random() * messagesList.length)];
messages.update(oldMessages => [
...oldMessages,
{ ...randomMessage, timestamp: new Date().toLocaleString(), sender: "Bot", type: "chat" }
]);
}
export function createMessage(text: string, sender: string, type: string) {
export function createMessage(messageData) {
const currentDate = new Date().toLocaleString();
const newMessageObj: Message = {
text: text,
const newMessageObj = {
text: messageData.text,
timestamp: currentDate,
sender: sender,
type: type
sender: messageData.sender,
type: messageData.type
};
messages.update(oldMessages => [...oldMessages, newMessageObj]);
}
@ -69,3 +56,10 @@ export function createMessage(text: string, sender: string, type: string) {
export function clearMessages() {
messages.set([]);
}
// Dummy messages
export const messagesList: Message[] = [
{ text: "Hello there!", timestamp: new Date().toLocaleString(), sender: "John", type: "text" },
{ text: "How are you?", timestamp: new Date().toLocaleString(), sender: "Alice", type: "text" },
// Add more dummy messages here with the timestamp and sender properties
];