-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
66 lines (60 loc) · 1.36 KB
/
types.ts
File metadata and controls
66 lines (60 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
export interface Question {
id: string;
text: string;
category: 'habit' | 'preference' | 'social';
options: string[];
}
export interface UserAnswer {
questionId?: string; // ID eşleşmesi için gerekli
text: string; // Soru metni
answer: string; // Kullanıcının cevabı
preferenceType?: 'positive' | 'negative' | 'neutral'; // İkon seçimi için
options?: string[];
}
export interface User {
uid: string;
name: string;
email?: string;
age: number;
job: string;
hasHouse: boolean;
budget?: number;
bio?: string;
avatarColor: string; // Tailwind class like 'bg-yellow-400' (fallback)
photoUrl?: string;
answers: UserAnswer[];
description: string;
}
export interface ChatMatch {
id: string;
name: string;
message: string;
time: string;
avatarColor: string;
}
export type ViewState = 'home' | 'profile' | 'chat';
export interface Message {
id: string;
text: string;
senderId: string;
to: string; // Mesajın kime gittiği
read: boolean; // Okundu bilgisi
createdAt: any;
}
export interface FilterSettings {
maxAge: number;
maxBudget: number;
mustHaveHouse: boolean;
}
export interface ChatMatch {
id: string;
name: string;
avatarColor: string;
age?: number;
job?: string;
budget?: number;
hasHouse?: boolean;
answers?: UserAnswer[];
description?: string;
lastMessage?: any;
}