@@ -8,4 +8,70 @@ def display_position_type(position_type)
88 position_type
99 end
1010 end
11+
12+ def status_chip_classes ( status )
13+ base_classes = "rounded-full px-2 py-1 text-xs font-medium text-center whitespace-nowrap overflow-hidden text-ellipsis max-w-full"
14+
15+ status_classes = case status . to_sym
16+ when :hired
17+ "bg-green-100 text-green-800"
18+ when :interviewing
19+ "bg-blue-100 text-blue-800"
20+ when :job_offer
21+ "bg-purple-100 text-purple-800"
22+ when :no_response
23+ "bg-yellow-100 text-yellow-800"
24+ when :not_hired
25+ "bg-red-100 text-red-800"
26+ else
27+ "bg-gray-100 text-gray-800"
28+ end
29+
30+ "#{ base_classes } #{ status_classes } "
31+ end
32+
33+ def position_type_chip_classes ( position_type )
34+ base_classes = "rounded-full px-2 py-1 text-xs font-medium text-center whitespace-nowrap overflow-hidden text-ellipsis max-w-full"
35+
36+ type_classes = case position_type . to_sym
37+ when :full_time
38+ "bg-indigo-100 text-indigo-800"
39+ when :part_time
40+ "bg-amber-100 text-amber-800"
41+ when :internship
42+ "bg-teal-100 text-teal-800"
43+ else
44+ "bg-gray-100 text-gray-800"
45+ end
46+
47+ "#{ base_classes } #{ type_classes } "
48+ end
49+
50+ def location_emoji_with_tooltip ( location )
51+ emoji_map = {
52+ in_office : "🏢" ,
53+ remote : "💻" ,
54+ hybrid : "🔄"
55+ }
56+
57+ emoji = emoji_map [ location . to_sym ] || "❓"
58+ full_text = location . to_s . humanize
59+
60+ content_tag ( :span , emoji , title : full_text , class : "cursor-default text-2xl" )
61+ end
62+
63+ def method_of_contact_emoji_with_tooltip ( method )
64+ emoji_map = {
65+ email : "📧" ,
66+ internet_job_application : "🌐" ,
67+ other : "🗂️" ,
68+ phone : "📱" ,
69+ recruiter : "🤝"
70+ }
71+
72+ emoji = emoji_map [ method . to_sym ] || "❓"
73+ full_text = method . to_s . humanize
74+
75+ content_tag ( :span , emoji , title : full_text , class : "cursor-default text-2xl" )
76+ end
1177end
0 commit comments