change tailwindcss imports
This commit is contained in:
parent
36ec3e1d1e
commit
4fa51ac52d
23 changed files with 991 additions and 1050 deletions
14
bun.lock
14
bun.lock
|
@ -41,7 +41,7 @@
|
|||
"devDependencies": {
|
||||
"@types/prismjs": "^1.26.5",
|
||||
"autoprefixer": "^10.4.21",
|
||||
"daisyui": "^4.12.24",
|
||||
"daisyui": "^5.0.28",
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-astro": "^0.14.1",
|
||||
"tailwindcss-animated": "^1.1.2",
|
||||
|
@ -806,8 +806,6 @@
|
|||
|
||||
"camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="],
|
||||
|
||||
"camelcase-css": ["camelcase-css@2.0.1", "", {}, "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="],
|
||||
|
||||
"caniuse-lite": ["caniuse-lite@1.0.30001712", "", {}, "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig=="],
|
||||
|
||||
"ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="],
|
||||
|
@ -882,8 +880,6 @@
|
|||
|
||||
"css-selector-parser": ["css-selector-parser@3.0.5", "", {}, "sha512-3itoDFbKUNx1eKmVpYMFyqKX04Ww9osZ+dLgrk6GEv6KMVeXUhUnp4I5X+evw+u3ZxVU6RFXSSRxlTeMh8bA+g=="],
|
||||
|
||||
"css-selector-tokenizer": ["css-selector-tokenizer@0.8.0", "", { "dependencies": { "cssesc": "^3.0.0", "fastparse": "^1.1.2" } }, "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg=="],
|
||||
|
||||
"css-tree": ["css-tree@3.1.0", "", { "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w=="],
|
||||
|
||||
"css-what": ["css-what@6.1.0", "", {}, "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="],
|
||||
|
@ -894,9 +890,7 @@
|
|||
|
||||
"csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
|
||||
|
||||
"culori": ["culori@3.3.0", "", {}, "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ=="],
|
||||
|
||||
"daisyui": ["daisyui@4.12.24", "", { "dependencies": { "css-selector-tokenizer": "^0.8", "culori": "^3", "picocolors": "^1", "postcss-js": "^4" } }, "sha512-JYg9fhQHOfXyLadrBrEqCDM6D5dWCSSiM6eTNCRrBRzx/VlOCrLS8eDfIw9RVvs64v2mJdLooKXY8EwQzoszAA=="],
|
||||
"daisyui": ["daisyui@5.0.28", "", {}, "sha512-H082p8Lg3c7Se9wTbjfSOOhfUbp3BnOM2+cdr3OeY5G1Ll7GYLXB9NWLHgitkTsB1pQKwHRYYchqN2YG0VVShg=="],
|
||||
|
||||
"debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="],
|
||||
|
||||
|
@ -1004,8 +998,6 @@
|
|||
|
||||
"fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="],
|
||||
|
||||
"fastparse": ["fastparse@1.1.2", "", {}, "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ=="],
|
||||
|
||||
"fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="],
|
||||
|
||||
"fdir": ["fdir@6.4.4", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg=="],
|
||||
|
@ -1378,8 +1370,6 @@
|
|||
|
||||
"postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="],
|
||||
|
||||
"postcss-js": ["postcss-js@4.0.1", "", { "dependencies": { "camelcase-css": "^2.0.1" }, "peerDependencies": { "postcss": "^8.4.21" } }, "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw=="],
|
||||
|
||||
"postcss-nested": ["postcss-nested@6.2.0", "", { "dependencies": { "postcss-selector-parser": "^6.1.1" }, "peerDependencies": { "postcss": "^8.2.14" } }, "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ=="],
|
||||
|
||||
"postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
|
||||
|
|
|
@ -48,7 +48,7 @@
|
|||
"devDependencies": {
|
||||
"@types/prismjs": "^1.26.5",
|
||||
"autoprefixer": "^10.4.21",
|
||||
"daisyui": "^4.12.24",
|
||||
"daisyui": "^5.0.28",
|
||||
"prettier": "^3.5.3",
|
||||
"prettier-plugin-astro": "^0.14.1",
|
||||
"tailwindcss-animated": "^1.1.2",
|
||||
|
|
|
@ -167,6 +167,7 @@ import pages from "../../data/pages.json";
|
|||
</div>
|
||||
|
||||
<style>
|
||||
@import "../../styles/global.css";
|
||||
#mobile-menu.show {
|
||||
@apply translate-x-0;
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ import EventLoad from "./EventsSection/EventLoad";
|
|||
<div class="relative" id="previewContainer">
|
||||
<div
|
||||
id="previewLoadingSpinner"
|
||||
class="absolute inset-0 flex items-center justify-center bg-base-200 bg-opacity-50 hidden"
|
||||
class="absolute inset-0 flex items-center justify-center bg-base-200/50 hidden"
|
||||
>
|
||||
<span class="loading loading-spinner loading-md sm:loading-lg"></span>
|
||||
</div>
|
||||
|
|
|
@ -225,7 +225,7 @@ const EventLoad = () => {
|
|||
{/* Event Header */}
|
||||
<div className="flex justify-between items-start mb-2">
|
||||
<h3 className="card-title text-base sm:text-lg font-semibold line-clamp-2">{event.event_name}</h3>
|
||||
<div className="badge badge-primary badge-sm flex-shrink-0">{event.points_to_reward} pts</div>
|
||||
<div className="badge badge-primary badge-sm shrink-0">{event.points_to_reward} pts</div>
|
||||
</div>
|
||||
|
||||
{/* Event Description */}
|
||||
|
|
|
@ -260,7 +260,7 @@ export default function LeaderboardTable() {
|
|||
</td>
|
||||
<td className="px-6 py-4 whitespace-nowrap">
|
||||
<div className="flex items-center">
|
||||
<div className="flex-shrink-0 h-10 w-10">
|
||||
<div className="shrink-0 h-10 w-10">
|
||||
<div className="w-10 h-10 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center overflow-hidden relative">
|
||||
{user.avatar ? (
|
||||
<img className="h-10 w-10 rounded-full" src={user.avatar} alt={user.name} />
|
||||
|
|
|
@ -1483,7 +1483,7 @@ export default function OfficerManagement() {
|
|||
</span>
|
||||
)}
|
||||
</h3>
|
||||
<div className="w-[140px] flex-shrink-0">
|
||||
<div className="w-[140px] shrink-0">
|
||||
<label className="flex items-center gap-2 cursor-pointer">
|
||||
<input
|
||||
type="checkbox"
|
||||
|
@ -1699,7 +1699,7 @@ export default function OfficerManagement() {
|
|||
Current Officers
|
||||
</h2>
|
||||
<div className="flex flex-col md:flex-row gap-3 w-full md:w-auto">
|
||||
<div className="relative flex-grow">
|
||||
<div className="relative grow">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Search officers..."
|
||||
|
|
|
@ -218,7 +218,7 @@ const currentPage = eventResponse.page;
|
|||
</div>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="h-4 w-4 flex-shrink-0 ml-2"
|
||||
class="h-4 w-4 shrink-0 ml-2"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
>
|
||||
|
@ -266,7 +266,7 @@ const currentPage = eventResponse.page;
|
|||
</div>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
class="h-4 w-4 flex-shrink-0 ml-2"
|
||||
class="h-4 w-4 shrink-0 ml-2"
|
||||
viewBox="0 0 20 20"
|
||||
fill="currentColor"
|
||||
>
|
||||
|
@ -662,7 +662,7 @@ const currentPage = eventResponse.page;
|
|||
<div class="relative" id="previewContainer">
|
||||
<div
|
||||
id="previewLoadingSpinner"
|
||||
class="absolute inset-0 flex items-center justify-center bg-base-200 bg-opacity-50 hidden"
|
||||
class="absolute inset-0 flex items-center justify-center bg-base-200/50 hidden"
|
||||
>
|
||||
<span class="loading loading-spinner loading-lg"></span>
|
||||
</div>
|
||||
|
@ -1745,7 +1745,7 @@ const currentPage = eventResponse.page;
|
|||
<div class="flex items-center gap-2 flex-1 min-w-0">
|
||||
<span class="truncate">${filename}</span>
|
||||
</div>
|
||||
<div class="flex gap-2 flex-shrink-0">
|
||||
<div class="flex gap-2 shrink-0">
|
||||
<button type="button" class="btn btn-ghost btn-xs" onclick='window.showFilePreviewOfficer(${previewData})'>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" viewBox="0 0 20 20" fill="currentColor">
|
||||
<path d="M10 12a2 2 0 100-4 2 2 0 000 4z"/>
|
||||
|
|
|
@ -194,7 +194,7 @@ try {
|
|||
<div class="flex items-start gap-3">
|
||||
<Icon
|
||||
name="mdi:lightbulb-on"
|
||||
class="w-5 h-5 text-primary mt-1 flex-shrink-0"
|
||||
class="w-5 h-5 text-primary mt-1 shrink-0"
|
||||
/>
|
||||
<div>
|
||||
<p class="font-medium mb-2 text-white">
|
||||
|
|
|
@ -17,7 +17,7 @@ import { Stats } from "./ProfileSection/Stats";
|
|||
>
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="flex items-start space-x-3">
|
||||
<div class="flex-shrink-0 mt-0.5">
|
||||
<div class="shrink-0 mt-0.5">
|
||||
<div class="p-1.5 bg-error/20 rounded-full">
|
||||
<Icon
|
||||
name="heroicons:document-text"
|
||||
|
@ -36,7 +36,7 @@ import { Stats } from "./ProfileSection/Stats";
|
|||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ml-4 flex-shrink-0 self-center">
|
||||
<div class="ml-4 shrink-0 self-center">
|
||||
<a
|
||||
href="#settings-section"
|
||||
class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-error hover:bg-error-focus focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-error transition-colors duration-200"
|
||||
|
|
|
@ -449,7 +449,7 @@ export default function ShowProfileLogs() {
|
|||
<div className="space-y-2">
|
||||
{logs.map((log) => (
|
||||
<div key={log.id} className="flex items-start gap-4 p-4 rounded-lg hover:bg-base-200 transition-colors duration-200">
|
||||
<div className="flex-shrink-0">
|
||||
<div className="shrink-0">
|
||||
<div className={`w-10 h-10 rounded-full flex items-center justify-center ${getLogTypeColor(log.type)}`}>
|
||||
{getLogTypeIcon(log.type)}
|
||||
</div>
|
||||
|
|
|
@ -109,7 +109,7 @@ export default function ResumeDetail() {
|
|||
<div className="space-y-6">
|
||||
{/* Student Information */}
|
||||
<div className="flex flex-col md:flex-row gap-6">
|
||||
<div className="flex-shrink-0">
|
||||
<div className="shrink-0">
|
||||
<div className="avatar">
|
||||
<div className="w-24 h-24 rounded-xl">
|
||||
{user.avatar ? (
|
||||
|
|
|
@ -41,7 +41,7 @@ export default function ResumeSearch() {
|
|||
return (
|
||||
<div className="relative">
|
||||
<div className="flex items-center">
|
||||
<div className="relative flex-grow">
|
||||
<div className="relative grow">
|
||||
<div className="absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none">
|
||||
<svg className="w-5 h-5 text-gray-500 dark:text-gray-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
|
||||
|
|
|
@ -186,7 +186,7 @@ const safeLogtoApiEndpoint = logtoApiEndpoint || "";
|
|||
>
|
||||
<!-- Coming Soon Overlay -->
|
||||
<div
|
||||
class="absolute inset-0 bg-muted bg-opacity-90 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300 z-10 rounded-xl"
|
||||
class="absolute inset-0 bg-muted/90 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity duration-300 z-10 rounded-xl"
|
||||
>
|
||||
<div class="text-center">
|
||||
<h4 class="text-xl font-bold">Coming Soon</h4>
|
||||
|
|
|
@ -104,7 +104,7 @@ export default function AccountSecuritySettings({
|
|||
|
||||
if (!isAuthenticated) {
|
||||
return (
|
||||
<div className="p-4 text-error bg-error bg-opacity-10 rounded-lg">
|
||||
<div className="p-4 text-error bg-error/10 rounded-lg">
|
||||
<span>You must be logged in to access this page.</span>
|
||||
</div>
|
||||
);
|
||||
|
@ -170,11 +170,11 @@ export default function AccountSecuritySettings({
|
|||
<h4 className="font-semibold text-lg mb-2">Account Actions</h4>
|
||||
|
||||
<div className="space-y-4">
|
||||
<p className="text-sm text-warning p-3 bg-warning bg-opacity-10 rounded-lg">
|
||||
<p className="text-sm text-warning p-3 bg-warning/10 rounded-lg">
|
||||
If you need to delete your account or have other account-related issues,
|
||||
please contact an IEEE UCSD administrator.
|
||||
</p>
|
||||
<p className="text-sm text-info p-3 bg-info bg-opacity-10 rounded-lg">
|
||||
<p className="text-sm text-info p-3 bg-info/10 rounded-lg">
|
||||
To log out of your account, use the Logout option in the dashboard menu.
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -893,16 +893,16 @@ export default function ReimbursementManagementPortal() {
|
|||
</h3>
|
||||
<div className="flex flex-wrap gap-3 text-sm">
|
||||
<div className="flex items-center gap-1.5 text-base-content/70">
|
||||
<Icon icon="heroicons:calendar" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:calendar" className="h-4 w-4 shrink-0" />
|
||||
<span>{new Date(reimbursement.date_of_purchase).toLocaleDateString()}</span>
|
||||
</div>
|
||||
<div className="flex items-center gap-1.5 text-base-content/70">
|
||||
<Icon icon="heroicons:building-office" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:building-office" className="h-4 w-4 shrink-0" />
|
||||
<span className="truncate">{reimbursement.department}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col items-end gap-2 flex-shrink-0">
|
||||
<div className="flex flex-col items-end gap-2 shrink-0">
|
||||
<span className="font-mono font-bold text-lg text-primary whitespace-nowrap">
|
||||
${reimbursement.total_amount.toFixed(2)}
|
||||
</span>
|
||||
|
@ -920,7 +920,7 @@ export default function ReimbursementManagementPortal() {
|
|||
reimbursement.status === 'in_progress' ? 'heroicons:currency-dollar' :
|
||||
reimbursement.status === 'paid' ? 'heroicons:banknotes' :
|
||||
'heroicons:clock'
|
||||
} className="h-4 w-4 flex-shrink-0" />
|
||||
} className="h-4 w-4 shrink-0" />
|
||||
{reimbursement.status.replace('_', ' ')}
|
||||
</span>
|
||||
</div>
|
||||
|
@ -958,11 +958,11 @@ export default function ReimbursementManagementPortal() {
|
|||
<img
|
||||
src={getUserAvatarUrl(selectedReimbursement.submitter)}
|
||||
alt=""
|
||||
className="w-6 h-6 rounded-full flex-shrink-0"
|
||||
className="w-6 h-6 rounded-full shrink-0"
|
||||
/>
|
||||
)}
|
||||
<span className="font-medium text-base-content truncate">{selectedReimbursement.submitter?.name || 'Unknown User'}</span>
|
||||
<Icon icon="heroicons:chevron-down" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:chevron-down" className="h-4 w-4 shrink-0" />
|
||||
</button>
|
||||
{showUserProfile === selectedReimbursement.submitted_by && (
|
||||
<motion.div
|
||||
|
@ -988,7 +988,7 @@ export default function ReimbursementManagementPortal() {
|
|||
<div className="pt-2 border-t border-base-300">
|
||||
<h4 className="text-sm font-medium text-base-content/70 mb-1">Zelle Information</h4>
|
||||
<p className="text-sm flex items-center gap-2">
|
||||
<Icon icon="heroicons:banknotes" className="h-4 w-4 text-primary flex-shrink-0" />
|
||||
<Icon icon="heroicons:banknotes" className="h-4 w-4 text-primary shrink-0" />
|
||||
{selectedReimbursement.submitter.zelle_information}
|
||||
</p>
|
||||
</div>
|
||||
|
@ -1009,7 +1009,7 @@ export default function ReimbursementManagementPortal() {
|
|||
{loadingStatus ? (
|
||||
<span className="loading loading-spinner loading-sm" />
|
||||
) : (
|
||||
<Icon icon="heroicons:eye" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:eye" className="h-4 w-4 shrink-0" />
|
||||
)}
|
||||
<span className="font-medium">Review</span>
|
||||
</button>
|
||||
|
@ -1024,7 +1024,7 @@ export default function ReimbursementManagementPortal() {
|
|||
{loadingStatus ? (
|
||||
<span className="loading loading-spinner loading-sm" />
|
||||
) : (
|
||||
<Icon icon="heroicons:check" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:check" className="h-4 w-4 shrink-0" />
|
||||
)}
|
||||
<span className="font-medium">Approve</span>
|
||||
</button>
|
||||
|
@ -1038,7 +1038,7 @@ export default function ReimbursementManagementPortal() {
|
|||
{loadingStatus ? (
|
||||
<span className="loading loading-spinner loading-sm" />
|
||||
) : (
|
||||
<Icon icon="heroicons:currency-dollar" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:currency-dollar" className="h-4 w-4 shrink-0" />
|
||||
)}
|
||||
<span className="font-medium">Mark as in progress</span>
|
||||
</button>
|
||||
|
@ -1052,7 +1052,7 @@ export default function ReimbursementManagementPortal() {
|
|||
{loadingStatus ? (
|
||||
<span className="loading loading-spinner loading-sm" />
|
||||
) : (
|
||||
<Icon icon="heroicons:check-circle" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:check-circle" className="h-4 w-4 shrink-0" />
|
||||
)}
|
||||
<span className="font-medium">Mark as Paid</span>
|
||||
</button>
|
||||
|
@ -1066,7 +1066,7 @@ export default function ReimbursementManagementPortal() {
|
|||
{loadingStatus ? (
|
||||
<span className="loading loading-spinner loading-sm" />
|
||||
) : (
|
||||
<Icon icon="heroicons:x-mark" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:x-mark" className="h-4 w-4 shrink-0" />
|
||||
)}
|
||||
<span className="font-medium">Reject</span>
|
||||
</button>
|
||||
|
@ -1085,7 +1085,7 @@ export default function ReimbursementManagementPortal() {
|
|||
<div className="card-body !p-3">
|
||||
<h3 className="text-sm font-medium text-base-content/70">Date of Purchase</h3>
|
||||
<p className="flex items-center gap-2 font-medium mt-1">
|
||||
<Icon icon="heroicons:calendar" className="h-4 w-4 text-primary flex-shrink-0" />
|
||||
<Icon icon="heroicons:calendar" className="h-4 w-4 text-primary shrink-0" />
|
||||
{new Date(selectedReimbursement.date_of_purchase).toLocaleDateString()}
|
||||
</p>
|
||||
</div>
|
||||
|
@ -1094,7 +1094,7 @@ export default function ReimbursementManagementPortal() {
|
|||
<div className="card-body !p-3">
|
||||
<h3 className="text-sm font-medium text-base-content/70">Payment Method</h3>
|
||||
<p className="flex items-center gap-2 font-medium mt-1">
|
||||
<Icon icon="heroicons:credit-card" className="h-4 w-4 text-primary flex-shrink-0" />
|
||||
<Icon icon="heroicons:credit-card" className="h-4 w-4 text-primary shrink-0" />
|
||||
{selectedReimbursement.payment_method}
|
||||
</p>
|
||||
</div>
|
||||
|
@ -1103,7 +1103,7 @@ export default function ReimbursementManagementPortal() {
|
|||
<div className="card-body !p-3">
|
||||
<h3 className="text-sm font-medium text-base-content/70">Department</h3>
|
||||
<p className="flex items-center gap-2 font-medium mt-1">
|
||||
<Icon icon="heroicons:building-office" className="h-4 w-4 text-primary flex-shrink-0" />
|
||||
<Icon icon="heroicons:building-office" className="h-4 w-4 text-primary shrink-0" />
|
||||
<span className="capitalize">{selectedReimbursement.department.replace('_', ' ')}</span>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -1121,7 +1121,7 @@ export default function ReimbursementManagementPortal() {
|
|||
<div className="card-body !p-3">
|
||||
<h3 className="text-sm font-medium text-base-content/70">Zelle Information</h3>
|
||||
<p className="flex items-center gap-2 font-medium mt-1">
|
||||
<Icon icon="heroicons:banknotes" className="h-4 w-4 text-primary flex-shrink-0" />
|
||||
<Icon icon="heroicons:banknotes" className="h-4 w-4 text-primary shrink-0" />
|
||||
{selectedReimbursement.submitter.zelle_information}
|
||||
</p>
|
||||
</div>
|
||||
|
@ -1161,11 +1161,11 @@ export default function ReimbursementManagementPortal() {
|
|||
</h3>
|
||||
<div className="flex flex-wrap items-center gap-x-3 gap-y-1 text-sm text-base-content/70">
|
||||
<div className="flex items-center gap-1.5">
|
||||
<Icon icon="heroicons:map-pin" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:map-pin" className="h-4 w-4 shrink-0" />
|
||||
<span className="truncate">{receipt.location_address}</span>
|
||||
</div>
|
||||
<div className="flex items-center gap-1.5">
|
||||
<Icon icon="heroicons:calendar" className="h-4 w-4 flex-shrink-0" />
|
||||
<Icon icon="heroicons:calendar" className="h-4 w-4 shrink-0" />
|
||||
<span>{new Date(receipt.date).toLocaleDateString()}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -79,7 +79,7 @@ const CustomAlert: React.FC<CustomAlertProps> = ({
|
|||
<div className={`${color.bg} border-l-4 ${color.border} p-4 rounded-lg shadow-md ${className}`}>
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="flex items-start space-x-3">
|
||||
<div className="flex-shrink-0 mt-0.5">
|
||||
<div className="shrink-0 mt-0.5">
|
||||
<div className={`p-1.5 ${color.iconBg} rounded-full`}>
|
||||
<Icon
|
||||
icon={selectedIcon}
|
||||
|
|
|
@ -403,7 +403,7 @@ const FirstTimeLoginPopup = ({ logtoApiEndpoint, onComplete }: FirstTimeLoginPop
|
|||
return (
|
||||
<AnimatePresence>
|
||||
<motion.div
|
||||
className="fixed inset-0 z-50 overflow-y-auto bg-black bg-opacity-50 flex items-center justify-center p-4"
|
||||
className="fixed inset-0 z-50 overflow-y-auto bg-black/50 flex items-center justify-center p-4"
|
||||
initial="hidden"
|
||||
animate="visible"
|
||||
exit="hidden"
|
||||
|
@ -548,7 +548,7 @@ const FirstTimeLoginPopup = ({ logtoApiEndpoint, onComplete }: FirstTimeLoginPop
|
|||
animate="visible"
|
||||
>
|
||||
<label className="label">
|
||||
<span className="label-text font-medium">IEEE Member ID <span className="text-opacity-50">(optional)</span></span>
|
||||
<span className="label-text font-medium">IEEE Member ID <span className="text-current/50">(optional)</span></span>
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
|
|
|
@ -61,7 +61,7 @@ export const Toast: React.FC<ToastProps> = ({
|
|||
return (
|
||||
<div className="fixed top-4 right-4 z-50 animate-fade-in">
|
||||
<div className={`flex items-center p-4 mb-4 border-l-4 rounded-md shadow-md ${typeStyles[type]}`} role="alert">
|
||||
<div className="inline-flex items-center justify-center flex-shrink-0 w-8 h-8 mr-3">
|
||||
<div className="inline-flex items-center justify-center shrink-0 w-8 h-8 mr-3">
|
||||
{icons[type]}
|
||||
</div>
|
||||
<div className="ml-3 text-sm font-medium">{message}</div>
|
||||
|
|
|
@ -39,19 +39,6 @@ const components = Object.fromEntries(
|
|||
|
||||
// console.log("Available components:", Object.keys(components)); // Debug log
|
||||
---
|
||||
|
||||
<!doctype html>
|
||||
<html lang="en" data-theme="dark">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>{title} | IEEE UCSD</title>
|
||||
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
||||
<script
|
||||
src="https://code.iconify.design/iconify-icon/2.3.0/iconify-icon.min.js"
|
||||
></script>
|
||||
</head>
|
||||
<body class="bg-base-200">
|
||||
<!-- First Time Login Manager - This handles the onboarding popup for new users -->
|
||||
<FirstTimeLoginManager
|
||||
client:load
|
||||
|
@ -232,7 +219,7 @@ const components = Object.fromEntries(
|
|||
section.icon
|
||||
}
|
||||
class="h-5 w-5"
|
||||
/>
|
||||
></Icon>
|
||||
{section.title}
|
||||
</button>
|
||||
</li>
|
||||
|
@ -849,7 +836,7 @@ const components = Object.fromEntries(
|
|||
const overlay = document.createElement("div");
|
||||
overlay.id = "sidebarOverlay";
|
||||
overlay.className =
|
||||
"fixed inset-0 bg-black bg-opacity-50 z-40 xl:hidden";
|
||||
"fixed inset-0 bg-black/50 z-40 xl:hidden";
|
||||
overlay.addEventListener("click", toggleSidebar);
|
||||
document.body.appendChild(overlay);
|
||||
}
|
||||
|
@ -1097,5 +1084,3 @@ const components = Object.fromEntries(
|
|||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
import Layout from "../layouts/Layout.astro";
|
||||
const title = "Authenticating...";
|
||||
import "../styles/global.css";
|
||||
---
|
||||
|
||||
<html lang="en" data-theme="dark">
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
@import "tailwindcss";
|
||||
@plugin "daisyui";
|
|
@ -16,59 +16,22 @@ export default {
|
|||
"animate-delay-500",
|
||||
"animate-delay-700",
|
||||
],
|
||||
theme: {
|
||||
theme: {
|
||||
extend: {
|
||||
boxShadow: {
|
||||
glow: "0 0 0.5vw 0.1vw rgba(255, 255, 255, 0.3), 0 0 1vw 0.5vw rgba(255, 255, 255, 0.1)",
|
||||
},
|
||||
colors: {
|
||||
ieee: {
|
||||
yellow: "#F3C135",
|
||||
black: "#0A0E1A",
|
||||
"blue-100": "#88BFEC",
|
||||
"blue-300": "#233363",
|
||||
'ieee-yellow': '#F3C135',
|
||||
'ieee-black': '#0A0E1A',
|
||||
'ieee-blue-100': '#88BFEC',
|
||||
'ieee-blue-300': '#233363',
|
||||
'project-card-bg': '#0d1324',
|
||||
},
|
||||
|
||||
// Project Page Card colors
|
||||
project_card_bg: "#0d1324",
|
||||
boxShadow: {
|
||||
glow: '0 0 0.5vw 0.1vw rgba(255, 255, 255, 0.3), 0 0 1vw 0.5vw rgba(255, 255, 255, 0.1)',
|
||||
},
|
||||
backgroundImage: {
|
||||
"gradient-radial":
|
||||
"radial-gradient(circle at 0% 0%, var(--tw-gradient-stops))",
|
||||
'gradient-radial': 'radial-gradient(circle at 0% 0%, var(--tw-gradient-stops))',
|
||||
},
|
||||
},
|
||||
daisyui: {
|
||||
themes: [
|
||||
{
|
||||
light: {
|
||||
primary: "#06659d",
|
||||
secondary: "#4b92db",
|
||||
accent: "#F3C135",
|
||||
neutral: "#2a323c",
|
||||
"base-100": "#ffffff",
|
||||
"base-200": "#f8f9fa",
|
||||
"base-300": "#e9ecef",
|
||||
info: "#3abff8",
|
||||
success: "#36d399",
|
||||
warning: "#fbbd23",
|
||||
error: "#f87272",
|
||||
},
|
||||
dark: {
|
||||
primary: "#88BFEC",
|
||||
secondary: "#4b92db",
|
||||
accent: "#F3C135",
|
||||
neutral: "#191D24",
|
||||
"base-100": "#0A0E1A",
|
||||
"base-200": "#0d1324",
|
||||
"base-300": "#1a2035",
|
||||
info: "#3abff8",
|
||||
success: "#36d399",
|
||||
warning: "#fbbd23",
|
||||
error: "#f87272",
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
require("tailwindcss-motion"),
|
||||
|
|
Loading…
Reference in a new issue