Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# Global owner for all files
* @PrityanshuSingh
* @fed-tech

# Reviewers for directories
.github/ @saurav1729 @raazseth @PrityanshuSingh
src/ @saurav1729 @raazseth @PrityanshuSingh
.github/ @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
src/ @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech

# Reviewers for specific file types
*.scss @saurav1729 @raazseth @PrityanshuSingh
*.jsx @saurav1729 @raazseth @PrityanshuSingh
*.json @saurav1729 @raazseth @PrityanshuSingh
PROJECT_STRUCTURE.md @saurav1729 @raazseth @PrityanshuSingh
README.md @saurav1729 @raazseth @PrityanshuSingh
index.html @saurav1729 @raazseth @PrityanshuSingh
vercel.json @saurav1729 @raazseth @PrityanshuSingh
vite.config.js @saurav1729 @raazseth @PrityanshuSingh
*.scss @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
*.jsx @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
*.json @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
PROJECT_STRUCTURE.md @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
README.md @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
index.html @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
vercel.json @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
vite.config.js @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech


24 changes: 13 additions & 11 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
# Global owner for all files
* @PrityanshuSingh
* @fed-tech

# Reviewers for directories
.github/ @saurav1729 @raazseth
src/ @saurav1729 @raazseth
.github/ @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
src/ @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech

# Reviewers for specific file types
*.scss @saurav1729 @raazseth
*.jsx @saurav1729 @raazseth
*.json @saurav1729 @raazseth
PROJECT_STRUCTURE.md @saurav1729 @raazseth
README.md @saurav1729 @raazseth
index.html @saurav1729 @raazseth
vercel.json @saurav1729 @raazseth
vite.config.js @saurav1729 @raazseth
*.scss @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
*.jsx @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
*.json @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
PROJECT_STRUCTURE.md @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
README.md @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
index.html @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
vercel.json @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech
vite.config.js @AnshRaj112 @shing1Sks @GuinAditi @rudrika08 @fed-tech


Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ const SendCertificate = () => {
const [certificatePreview, setCertificatePreview] = useState("Loading...");
const [alert, setAlert] = useState(null);
const [failedEmails, setFailedEmails] = useState([]);
const [isFailedMinimized, setIsFailedMinimized] = useState(false);

useEffect(() => {
const fetchCertificatePreview = async () => {
Expand Down Expand Up @@ -610,13 +611,19 @@ const SendCertificate = () => {
display: "flex",
justifyContent: "space-between",
alignItems: "center",
marginBottom: 10,
marginBottom: isFailedMinimized ? 0 : 10,
}}
>
<h3 style={{ color: "#e74c3c", margin: 0 }}>
⚠ Failed Emails ({failedEmails.length})
</h3>
<div style={{ display: "flex", gap: 10 }}>
<Button
onClick={() => setIsFailedMinimized((prev) => !prev)}
style={{ backgroundColor: "transparent", color: "#e74c3c", fontSize: "0.85em" }}
>
{isFailedMinimized ? "β–Ό Expand" : "β–² Minimize"}
</Button>
<Button
onClick={() => {
const failedAttendeeEmails = failedEmails.map((f) => f.email);
Expand Down Expand Up @@ -648,43 +655,45 @@ const SendCertificate = () => {
</Button>
</div>
</div>
<div
style={{
maxHeight: 200,
overflowY: "auto",
border: "1px solid rgba(231, 76, 60, 0.3)",
borderRadius: 5,
padding: 10,
}}
>
{failedEmails.map((item, idx) => (
<div
key={idx}
style={{
display: "flex",
justifyContent: "space-between",
alignItems: "center",
padding: "6px 0",
borderBottom:
idx < failedEmails.length - 1
? "1px solid rgba(231, 76, 60, 0.15)"
: "none",
}}
>
<span style={{ fontWeight: 500 }}>{item.email}</span>
<span
{!isFailedMinimized && (
<div
style={{
maxHeight: 200,
overflowY: "auto",
border: "1px solid rgba(231, 76, 60, 0.3)",
borderRadius: 5,
padding: 10,
}}
>
{failedEmails.map((item, idx) => (
<div
key={idx}
style={{
color: "#e74c3c",
fontSize: "0.85em",
maxWidth: "50%",
textAlign: "right",
display: "flex",
justifyContent: "space-between",
alignItems: "center",
padding: "6px 0",
borderBottom:
idx < failedEmails.length - 1
? "1px solid rgba(231, 76, 60, 0.15)"
: "none",
}}
>
{item.error || "Unknown error"}
</span>
</div>
))}
</div>
<span style={{ fontWeight: 500 }}>{item.email}</span>
<span
style={{
color: "#e74c3c",
fontSize: "0.85em",
maxWidth: "50%",
textAlign: "right",
}}
>
{item.error || "Unknown error"}
</span>
</div>
))}
</div>
)}
</div>
)}
</div>
Expand Down
Loading