From dace6bc0c329259b35d6e588a25ccd2fd6a4b6dc Mon Sep 17 00:00:00 2001 From: Faheed Date: Sun, 2 Nov 2025 14:30:39 +0300 Subject: [PATCH] chart fix --- .gitignore | 4 +- .../__pycache__/settings.cpython-312.pyc | Bin 8201 -> 8201 bytes NorahUniversity/settings.py | 22 +- recruitment/__pycache__/forms.cpython-312.pyc | Bin 53711 -> 61400 bytes .../__pycache__/models.cpython-312.pyc | Bin 84139 -> 83712 bytes recruitment/__pycache__/urls.cpython-312.pyc | Bin 17595 -> 17775 bytes recruitment/__pycache__/views.cpython-312.pyc | Bin 129423 -> 132796 bytes .../views_frontend.cpython-312.pyc | Bin 46514 -> 46514 bytes templates/recruitment/dashboard.html | 193 ++++++++---------- .../recruitment/partials/stats_cards.html | 24 +-- 10 files changed, 100 insertions(+), 143 deletions(-) diff --git a/.gitignore b/.gitignore index 7000088..d098f46 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,7 @@ var/ *.log *.pot *.sqlite3 -local_settings.py +settings.py db.sqlite3 # Virtual environment @@ -95,7 +95,7 @@ coverage.xml # Django stuff: # Local settings -local_settings.py +settings.py # Database sqlite files: # The base directory for relative paths in .gitignore diff --git a/NorahUniversity/__pycache__/settings.cpython-312.pyc b/NorahUniversity/__pycache__/settings.cpython-312.pyc index 48c95dffce7272b7eb4ddf644f6b5895f5be427e..820adf1a89815ef2e1e3d24ea4998cb6c92c4958 100644 GIT binary patch delta 20 acmeBl=yc#d&CAQh00dK|*f(r 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 D#vhjU delta 4768 zcmb_gc~sQZ9-r@T_|3qKECMsE0tyHt$i9i9qJWsl(?rEmaFP)x74SDx;EtXwte1*c z-#wa|OC^?>I_mG`t{q#%N>an7S4gQH^Jt?YxxDP%?;Q-}_5SFb$2oks_q#85`%$|> ze6L>gXmoeiDA-RlRhs8t+v9P+4(`}omlpvHvrTzbsZ25jmxa8fcn@XR&ojN)JhaO^ zgw4ac%tKAVwz}8z0oqB^iUI&z$jX60HlK7O8!v>r8Ne=DE33@Y$d*-cqT~RDf?S#$ zq%L8msltu4Ci{~Xn=gsm5;SZfEP!!}a0MtPDds9_l#>+IAf0D|2BqE2TwygyFPcr& zQWmoz9bjM(q+G`31dG5%VWha;FeHwRY84I_7dO9)o<1uVEnn2^*}KWJce7_ylV{X9 zPeWbuMQ>eQ<~@f1Zhqf*>mS^4WhzS}qZJK8tdfLH*8kP;q#n$@-EEq&qRd=oWPx@K z&x`Ro!V^~~47`ui_%1Q(0%%EnNwcnhldgZWF1bmUd`_2IH{hao&{=IzXONPIKtTuo z>NQN)S-Kcf8|9{ERg)qX0GZS3OC0UKl2#v3C;SHCVk2|ecD;iw2R*Q&Jx_w zGBZnuWGfXXltQ-J*{c6zIf5RSL-Off2R$bEg2g0Ro-9J2?nU@-8I5x6U#WnhNpEP@ z_ixhoKc|mB>lyz<1tc8{tkBS#9M9M3nlM~o1PM2^lz^ZiHEV2nkC3wz=XnU}ICV$C zo(R4Oeh4whjYYs_OKm8JaFQ`C4%?iyo8egy105=b%Hx(Gihg&LY~;X^qsO1nJUC7L zha4L@yq=)l5*W?tvJHsC?r*E4nSy9w4r9r#bvFf#Ku)v<5P7{G63G|qje$I<0t}BQ z7>99t^0>*!H=?xRI7iSc$^1876~YB>HFQI=QcP#$d@}LP12C3&Y(5M{w#LoV0E$Wc z)&asGfwZpnCrh`+!9=oW>tKi{j;*;#8E6lW5NGMKa5@~JTdfk2hLB3ix1AIc1#;uC zzis$i>7X9Os6|o|S@L!;B$G{V-xfzO%1pBMozJ0)OxwOom5<8aq^ZuA#5Cx@Lb4kM z$HgO&Z5C!0`@kLWybF=RTTFNvkeg55Z%EVRA_w7Fa-(6bkn0R$!;aGe+$QBaDzQ0^}3d4?={I0-fpwe(sZ*+J5FvdWsFmo_GAHmk!))vp%>D+6id47-14I z?@46F-q`axj3I`-GlYDBEGhS4acju#y;?YEJG^%txEC;CgNt+n11u!Z?MsJm$@+a0 z(=aK!Hg9BZK~8DWq%pbUx@5?s=NWP}o?$sUEg@0+BU5;h#^SscGdALAD#CLJ(-6uK zObEPVJAu?L_tT6+0z!>#%l>K*#yOWnlKe72lI_EPvL#)~xOYjw!CSt(xV)}ajAnPW zSf%OI7z%+Tu9Ch0})ks4C7k18E zV$09>lb?iY)}|5uHr=NQg7_+9jwVl?o-d5X^MJh(P6x3~{P1*Umu8H@OuB3n^0&qu z%`0ddVJO+yD8VZ>uQP9{VJ+EzZkhKcMm7j`<(TnB(wiu^i4>fls@jah&9=SgGeGqz zi%7~OjtezHKj%gfw=s4jdHL((kU>T??}YKTw&tN~)jHH#PcmC32Ff`65P=g9;phm$ zQSx3(AMpSieoek=DT8Aq{nBEcE1S=Af7)cJs;sb>!g7pOqqLDUUW!!JqmoG4FYSf` zvb}XAJluAx6~s>%`H`*thv&iT6iOUJ;I3p+b$ODY6iMUd`Cgq(^ zWQ3kZjab$XySqt}Dy7odCX2;bZj#398O!Be!|zJ5bg{eY$}lPkCSX|qQnx7~f{C4~Kg zvEZXm+KAwdz;BoP$hhY`;W8eD!U|jQqh6rBgJdU<)c!sa){)b{e<}PT&|N;zXYCOP zg-vU}gM;dOPC4AlbPqrzY?GS-d_l)=l|$%8z$14lj;{Vg2?45qGnIKEG(io%PuIE(D z74(Y}nU_3+n&)VDHCsw6jOG_j66S5!%r?$6l^Uy!l1b8FG;Z`q6;#0yTBL@zP2E<} zRdmEJqy-ps=S6%I8HGsW5Ap=u>>cG}BYfc6-HjHDxxB(uR>~j6yz0>?mqANh!C%$k zeSs@P=Cz}_2M9dBohbG@PCKin#$Y`Wx~VFAcJo5g)G5SC4c7&J-{D}UuY1!EU<74I)Z{8MhLzt z`jnnEHjvRCf5Al4L_Zc{pe*^ZMnvNQ&)1{f)i|qahVeO*Rf=Zf7Iru(!oq56ozJyw zstJHhh@iOvkOI+kUI2{H#-pn^glKvu0P-PJ)&)Wmc%eV3A3`!h3Y{1PgP<>669iKx zbT*wIs=T0`t?q>i{Ceg_xIQ*mN<;`kF3*s!fe4&-ba@23=`wmFArgUmPr=c4RLsC0 z4`5(nzlx#Gq1Yrkk@g6K97vbPhC#3rl4wOZ4AzP$%I#*zayUc*jF(#?AQ43N znV~4Ay1r1t%v$?GnraxD8cuij1wZXT96SBculhozCJPA&1LaXsFcTn4mZRZ-5S)Y_ z_(s96E4${8FIkI}N|(n#2#B;H22#U*!+Ka*DcF}}!s}bcBAM5-u+nOtZk}eenky^9isn|Cr0dj? z1}|x^VL+=9p5DGV9oP$<)@DGhIEUFfNyP#1tJcbfQhyX#$)3#tG%S;S3pdiVOt=<| z`^}(|iczEp^O%XFrC75X+;ai6Xdpzx7xKb^;0oC_jLSBb)oPkuWwl6LTir!_G@5W~ zqn-H(xLzM`)+YM#Ahy)bQDqiP?ec2pmu?A4^C0+{$v;#&H1)*4p_qBX$2(bU} zh%_%7>Y#vrnaz%k%TzNA2C_AgHw;F?xALlCFh&^57ehGKnLn&@am1g0{7J|kZv2Hc z4+G?{1AZ;=1A}i}zTNm<;7g~NCgwsPO+AZ=l~rNcNT=k&CeJYdeybwd6!^DohCp5O H;NE`#u`c#2 diff --git a/recruitment/__pycache__/urls.cpython-312.pyc b/recruitment/__pycache__/urls.cpython-312.pyc index e468e4d52dc3c34678d7d0599abccc7f66551ef7..c06a1d528d97ccb40a184c806613a9c7dd90e045 100644 GIT binary patch delta 1537 zcmZvc+ix316vn;wIF)m0BoaGu;;eJAo!T@P*VvA)act*Cnrm@X+Jq#VSZeN$otDN) zEAd1dL`k%W=8f=#fk0jL1qmVX!bK_)JJm`nAtLb)lujrQeL%p>+3#gH3nYz}2vh(2SvWZ|e5O-l z``neSt>2x`AAMkYV%Fx9BC$1z&#gw+{Q7EUJ(q4vug)#5bo^X%dOtHix3;jjFt?eW z0cFIQf3)2B80oXOsiEleUa}q03y%JBeU%yw(QzDitg*ni>R4kv*3=Osh@X3FI6?f@ z+w2!~mD-b1joxsFKQJn0CpJ5aPJg&^|2S|4P* z1R0itw8FPzzP&glqd2Jo$;52y_Ij0S2d;J$Mr0HsHG;U}s}F$AL#g%9s5E(TlUE8~ zl+iG;g4PIH^I@-I3t?MGil<~WNty)l8(%#g{TE*|<=?&*$`-$kasasMx0OKs1##GK z7K{E8_4bw1TfNpxi~Y>vg`Zi}chxsQK^Pi#6nVuxf!!0*>scA)NJJ1Xbus&!T@K0* zf!_h20;>Z|4Fs4v3w#^+MWBI3ehgSF;6BTNedD414z_kRh!gN})E^9vWN1&_2u}*TQVm-VNK-XD$5e?^Qf0>`6&e zc^Pe!dFB9BzX8i5%)u3Dq#TMchYUpS0gobf8hHYI5n){%QO4JzES`_HrC_BQ9os7_ zJL@iNb`>jR6eSxv(6UUE3>S)YjtT6UkS@b6sT*cOZeSAp*UKLLIpYf#Vf5@L(2-%Bf|R%~i5tjZ`% zmZ=NZ!-nO7p&pCcBrC>xjNLf|^KY_J$?$R^rL-k+TT&W&Lq;>?x~lG|Du1X~8pF6T zEG4eWXo}pT)(?BwXg>j;0?Xno;*7I(jllH^a2FyE;x-;SUel{j#IDqNaGggAj>>3^ zEb0aE1kx)L%%&}IdRQ_nT{5&BrWE@iwhu~U85wPm4Vs^U%zMD21Z#`o`dNZ)sxirS zFr0L#tImt>C9S&c5<%QeI@~Zx{0vx+O5>Bt_!=Hxqi^pU+^F^sjYdDFC5baE>#efv Ir}Xvu54ri~w*UYD delta 1288 zcmZvc+ix316vpd#oHhwAQc;Yz>ul^`$F-521moL!eTgq2Q6NC9M8(i-xkMtVKuMfJ zLs~8`m8n3K?u$V}3h+?(B6X`G5z&YC0YsoLJ7~nJ0;Iwp022uz)JhdIXI`=7pGN09 z=R4<&NB--KFu>l33c^l$?b$ z1=0q$`t3jx2a=ZdBtcKnLD2l54Qvpg6=ito=?pKukdX%7jo1AUHn_2^YPE) z=Gz2K&=*<4IW^4qjj9OuW#fkWu=5xT{i`ZD7;jxvO6{aA$FLkTX9%j$;|>tt5MtbP z*`sAVTHa9zI!xbW_0Q&fjIZbT6dwRD0(Wu)qE*$nlJgX6UEnj(1>=pG1v@d16Z6)Q zCPC};387B@zdF^W8zqf5SkPj;4V*6mcOdeQ#xF6u6!DGxav)+=qy- zz%$iCi18@!bb9y616ViqT6 zt;4WYlfCDaB7cZyioOP9o&Xo6?XtZi*gIk+CkdLO8^Y!-VH57S>_a7dsANqv2zs7w z3iYH=Bb|^Pt>I|Rntq9(m+2{|ey+s#4wd*G)4G|nUG@d2^f zD+s1fZM*DD9cSuRW0jyax`<%nWv;g5vx~MTj6LDbYXoWZ7}AZ8#`zC_8TiAvPZKvG zyuzJ+JEGx;cC$!Ooi>Hlx)2}j%-OLjj#aJc1%h;XoS6m6e54}q2yhel3GnMOU+`Br z-vxRrJd&>j6=?gaOZ+$?`(OeeOjzpE1U*BST)Od2g&ThcybeWo;CvtGt8!JXax)#y er>guGzpV26`w_Sc^wx&^c&qpN)-JIBvHt+mQl7y8 diff --git a/recruitment/__pycache__/views.cpython-312.pyc b/recruitment/__pycache__/views.cpython-312.pyc index 9e9649a3e5d928651e9d61f3d258fa8676ca834b..8c83a5d9dc99b5dd1b5282fca1c1cd0e53d00ad8 100644 GIT binary patch delta 26419 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 diff --git a/recruitment/__pycache__/views_frontend.cpython-312.pyc b/recruitment/__pycache__/views_frontend.cpython-312.pyc index a19c31f90751687e0c9f3529b10dc6424052dc66..13ae2ea172d79d8084b22bb72b72960f8abfc90a 100644 GIT binary patch delta 22 ccmdn=nrYK(ChpU`yj%=Ga9@gjBlq&H09xAzQ2+n{ delta 22 ccmdn=nrYK(ChpU`yj%=G&^euXBlq&H09#uJbN~PV diff --git a/templates/recruitment/dashboard.html b/templates/recruitment/dashboard.html index 1212eeb..e3dba5c 100644 --- a/templates/recruitment/dashboard.html +++ b/templates/recruitment/dashboard.html @@ -30,54 +30,113 @@ box-shadow: 0 6px 16px rgba(0,0,0,0.1); } - /* Card Header and Icon Styling */ + /* ------------------------------------------------------------- */ + /* CONSOLIDATED CARD HEADER STYLES (for both main and stat cards)*/ + /* ------------------------------------------------------------- */ .card-header { font-weight: 600; - padding: 1.25rem; + /* Consistent, reduced padding for compact look */ + padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--kaauh-border); background-color: #f8f9fa; display: flex; justify-content: space-between; align-items: center; + height: auto; } - .card-header h3, .card-header h2 { + /* Target h2 (for main headers) and h3 (for stat card headers) */ + .card-header h1, .card-header h2, .card-header h3, .card-header h6 { display: flex; align-items: center; color: var(--kaauh-primary-text); - font-size: 1.25rem; - font-weight: 600; margin: 0; + + /* Font size for MAIN card titles (e.g., "Data Scope: All Jobs") */ + font-size: 1.25rem; + font-weight: 600; } + /* Override for H3 inside stat cards to make them very small */ + .stats .card-header h3 { + font-size: 0.85rem; /* Smallest size for the 9-card layout */ + font-weight: 600; + white-space: nowrap; /* Prevent title from wrapping */ + overflow: hidden; + text-overflow: ellipsis; + max-width: 100%; + } + .stat-icon { color: var(--kaauh-teal); - font-size: 1.75rem; - margin-right: 0.75rem; + font-size: 0.8rem; /* Small icon size */ + margin-right: 0.25rem; + /* Note: For 9-card density, you might still want to hide this on mobile */ } - /* Stats Grid Layout */ + /* ------------------------------------------------------------- */ + /* STATS GRID LAYOUT (9 Columns) */ + /* ------------------------------------------------------------- */ .stats { display: grid; - grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); - gap: 1.5rem; - margin-bottom: 3rem; + /* Force 9 columns */ + grid-template-columns: repeat(9, 1fr); + gap: 0.75rem; + margin-bottom: 2rem; } /* Stat Card Specific Styling */ .stat-value { - font-size: 2.8rem; + /* This is the most important number */ + font-size: 1.5rem; /* Increased slightly for focus, was 1rem/1.25rem */ text-align: center; color: var(--kaauh-teal-dark); - font-weight: 700; - padding: 1rem 1rem 0.5rem; + font-weight: 700; + padding: 0.5rem 0.25rem 0.1rem; /* Very little bottom padding */ + line-height: 1.2; } .stat-caption { - font-size: 0.9rem; + /* Smallest text for the label below the value */ + font-size: 0.7rem; /* Minimized size */ text-align: center; color: #6c757d; - padding-bottom: 1rem; + padding: 0 0.25rem 0.5rem; + line-height: 1.1; + } + + /* ------------------------------------------------------------- */ + /* RESPONSIVE DESIGN */ + /* ------------------------------------------------------------- */ + + /* On tablets and smaller laptops (1200px and down) */ + @media (max-width: 1200px) { + .stats { + /* Switch to 4 columns on medium screens */ + grid-template-columns: repeat(4, 1fr); + gap: 1rem; + } + .stat-value { + font-size: 1.75rem; /* Increase value size slightly when more space is available */ + } + .stat-caption { + font-size: 0.8rem; + } + } + + /* On phones (576px and down) */ + @media (max-width: 576px) { + .stats { + /* Stack to 2 columns on mobile for readability */ + grid-template-columns: repeat(2, 1fr); + gap: 0.75rem; + } + .stat-value { + font-size: 1.5rem; + } + .stat-caption { + font-size: 0.75rem; + } } /* Dropdown/Filter Styling */ @@ -130,7 +189,7 @@

{% if current_job %} - {% trans "Data Scope: " %} **{{ current_job.title }}** + {% trans "Data Scope: " %}{{ current_job.title }} {% else %} {% trans "Data Scope: All Jobs" %} {% endif %} @@ -153,9 +212,7 @@ {# STATS CARDS SECTION (12 KPIs) #} {# -------------------------------------------------------------------------- #} {% include 'recruitment/partials/stats_cards.html' %} - - - + {# Note: The content of 'recruitment/partials/stats_cards.html' uses h3 which is styled correctly here #} {# -------------------------------------------------------------------------- #} {# CHARTS SECTION #} @@ -197,7 +254,7 @@

{% if current_job %} - {% trans "Pipeline Funnel: " %} **{{ current_job.title }}** + {% trans "Pipeline Funnel: " %}{{ current_job.title }} {% else %} {% trans "Total Pipeline Funnel (All Jobs)" %} {% endif %} @@ -223,28 +280,13 @@ - -
-
-
- - {% trans "Candidates From Each Sources" %} -
-
-
-
- -
-
-
- - - + + {% endblock %} \ No newline at end of file diff --git a/templates/recruitment/partials/stats_cards.html b/templates/recruitment/partials/stats_cards.html index 5ce4227..47bb80c 100644 --- a/templates/recruitment/partials/stats_cards.html +++ b/templates/recruitment/partials/stats_cards.html @@ -10,7 +10,7 @@

{% trans "Total Jobs" %}

{{ total_jobs_global }}
-
{% trans "All Active & Drafted Positions (Global)" %}
+
{% trans "All Active & Drafted Positions" %}
{# SCOPED - 2. Total Active Jobs #} @@ -19,7 +19,7 @@

{% trans "Active Jobs" %}

{{ total_active_jobs }}
-
{% trans "Currently Open Requisitions (Scoped)" %}
+
{% trans "Currently Open Requisitions" %}
{# SCOPED - 3. Total Candidates #} @@ -28,7 +28,7 @@

{% trans "Total Candidates" %}

{{ total_candidates }}
-
{% trans "Total Profiles in Current Scope" %}
+
{% trans "Total applications" %}
{# SCOPED - 4. Open Positions #} @@ -37,7 +37,7 @@

{% trans "Open Positions" %}

{{ total_open_positions }}
-
{% trans "Total Slots to be Filled (Scoped)" %}
+
{% trans "Total Slots to be Filled " %}
{# GLOBAL - 5. Total Participants #} @@ -46,11 +46,11 @@

{% trans "Total Participants" %}

{{ total_participants }}
-
{% trans "Total Recruiters/Interviewers (Global)" %}
+
{% trans "Total Recruiters/Interviewers" %}
{# GLOBAL - 6. Total LinkedIn Posts #} -
+ {% comment %}

{% trans "LinkedIn Posts" %}

@@ -65,13 +65,13 @@
{{ new_candidates_7days }}
{% trans "Incoming applications last week" %}
- + {% endcomment %}

{% trans "Avg. Apps per Job" %}

{{ average_applications|floatformat:1 }}
-
{% trans "Average Applications per Job (Scoped)" %}
+
{% trans "Average Applications per Job" %}
{# --- Efficiency & Quality Metrics --- #} @@ -81,7 +81,7 @@

{% trans "Time-to-Hire" %}

{{ avg_time_to_hire_days }}
-
{% trans "Avg. Days (Application to Hired)" %}
+
{% trans "Average Days" %}
@@ -89,7 +89,7 @@

{% trans "Avg. Match Score" %}

{{ avg_match_score|floatformat:1 }}
-
{% trans "Average AI Score (Current Scope)" %}
+
{% trans "Average AI Score " %}
@@ -100,13 +100,13 @@
{% trans "Score ≥ 75% Profiles" %} ({{ high_potential_ratio|floatformat:1 }}%)
-
+ {% comment %}

{% trans "Meetings This Week" %}

{{ meetings_scheduled_this_week }}
{% trans "Scheduled Interviews (Current Week)" %}
-
+
{% endcomment %}