ui refactor

This commit is contained in:
Stijnus
2025-01-20 09:53:15 +01:00
parent 9230ef3b55
commit 436a8e54bf
41 changed files with 4749 additions and 1964 deletions

18
app/lib/api/connection.ts Normal file
View File

@@ -0,0 +1,18 @@
export interface ConnectionStatus {
connected: boolean;
latency: number;
lastChecked: string;
}
export const checkConnection = async (): Promise<ConnectionStatus> => {
/*
* TODO: Implement actual connection check logic
* This is a mock implementation
*/
const connected = Math.random() > 0.1; // 90% chance of being connected
return {
connected,
latency: connected ? Math.floor(Math.random() * 1500) : 0, // Random latency between 0-1500ms
lastChecked: new Date().toISOString(),
};
};

65
app/lib/api/debug.ts Normal file
View File

@@ -0,0 +1,65 @@
export interface DebugWarning {
id: string;
message: string;
timestamp: string;
code: string;
}
export interface DebugError {
id: string;
message: string;
timestamp: string;
stack?: string;
}
export interface DebugStatus {
warnings: DebugWarning[];
errors: DebugError[];
lastChecked: string;
}
export interface DebugIssue {
id: string;
type: 'warning' | 'error';
message: string;
}
export const getDebugStatus = async (): Promise<DebugStatus> => {
/*
* TODO: Implement actual debug status logic
* This is a mock implementation
*/
return {
warnings: [
{
id: 'warn-1',
message: 'High memory usage detected',
timestamp: new Date().toISOString(),
code: 'MEM_HIGH',
},
],
errors: [
{
id: 'err-1',
message: 'Failed to connect to database',
timestamp: new Date().toISOString(),
stack: 'Error: Connection timeout',
},
],
lastChecked: new Date().toISOString(),
};
};
export const acknowledgeWarning = async (warningId: string): Promise<void> => {
/*
* TODO: Implement actual warning acknowledgment logic
*/
console.log(`Acknowledging warning ${warningId}`);
};
export const acknowledgeError = async (errorId: string): Promise<void> => {
/*
* TODO: Implement actual error acknowledgment logic
*/
console.log(`Acknowledging error ${errorId}`);
};

35
app/lib/api/features.ts Normal file
View File

@@ -0,0 +1,35 @@
export interface Feature {
id: string;
name: string;
description: string;
viewed: boolean;
releaseDate: string;
}
export const getFeatureFlags = async (): Promise<Feature[]> => {
/*
* TODO: Implement actual feature flags logic
* This is a mock implementation
*/
return [
{
id: 'feature-1',
name: 'Dark Mode',
description: 'Enable dark mode for better night viewing',
viewed: true,
releaseDate: '2024-03-15',
},
{
id: 'feature-2',
name: 'Tab Management',
description: 'Customize your tab layout',
viewed: false,
releaseDate: '2024-03-20',
},
];
};
export const markFeatureViewed = async (featureId: string): Promise<void> => {
/* TODO: Implement actual feature viewed logic */
console.log(`Marking feature ${featureId} as viewed`);
};

View File

@@ -0,0 +1,40 @@
export interface Notification {
id: string;
title: string;
message: string;
type: 'info' | 'warning' | 'error' | 'success';
read: boolean;
timestamp: string;
}
export const getNotifications = async (): Promise<Notification[]> => {
/*
* TODO: Implement actual notifications logic
* This is a mock implementation
*/
return [
{
id: 'notif-1',
title: 'Welcome to Bolt',
message: 'Get started by exploring the features',
type: 'info',
read: true,
timestamp: new Date().toISOString(),
},
{
id: 'notif-2',
title: 'New Update Available',
message: 'Version 1.0.1 is now available',
type: 'info',
read: false,
timestamp: new Date().toISOString(),
},
];
};
export const markNotificationRead = async (notificationId: string): Promise<void> => {
/*
* TODO: Implement actual notification read logic
*/
console.log(`Marking notification ${notificationId} as read`);
};

28
app/lib/api/updates.ts Normal file
View File

@@ -0,0 +1,28 @@
export interface UpdateCheckResult {
available: boolean;
version: string;
releaseNotes?: string;
}
export const checkForUpdates = async (): Promise<UpdateCheckResult> => {
/*
* TODO: Implement actual update check logic
* This is a mock implementation
*/
return {
available: Math.random() > 0.7, // 30% chance of update
version: '1.0.1',
releaseNotes: 'Bug fixes and performance improvements',
};
};
export const acknowledgeUpdate = async (version: string): Promise<void> => {
/*
* TODO: Implement actual update acknowledgment logic
* This is a mock implementation that would typically:
* 1. Store the acknowledged version in a persistent store
* 2. Update the UI state
* 3. Potentially send analytics
*/
console.log(`Acknowledging update version ${version}`);
};