feat: Implement invoice creation functionality and integrate DataTables for invoice listing with dynamic column rendering.

This commit is contained in:
pbao9
2026-02-15 00:55:17 +07:00
parent 691c7e3765
commit a7614c91cd
18 changed files with 404 additions and 324 deletions
+1 -125
View File
@@ -1,125 +1 @@
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Thin.ttf') format('truetype');
font-weight: 100;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-ThinItalic.ttf') format('truetype');
font-weight: 100;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-ExtraLight.ttf') format('truetype');
font-weight: 200;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-ExtraLightItalic.ttf') format('truetype');
font-weight: 200;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Light.ttf') format('truetype');
font-weight: 300;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-LightItalic.ttf') format('truetype');
font-weight: 300;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Regular.ttf') format('truetype');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Italic.ttf') format('truetype');
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Medium.ttf') format('truetype');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-MediumItalic.ttf') format('truetype');
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-SemiBold.ttf') format('truetype');
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-SemiBoldItalic.ttf') format('truetype');
font-weight: 600;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Bold.ttf') format('truetype');
font-weight: 700;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-BoldItalic.ttf') format('truetype');
font-weight: 700;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-ExtraBold.ttf') format('truetype');
font-weight: 800;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-ExtraBoldItalic.ttf') format('truetype');
font-weight: 800;
font-style: italic;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-Black.ttf') format('truetype');
font-weight: 900;
font-style: normal;
}
@font-face {
font-family: 'Be Vietnam Pro';
src: url('/fonts/bevietnampro/BeVietnamPro-BlackItalic.ttf') format('truetype');
font-weight: 900;
font-style: italic;
}
@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap');
+1 -1
View File
@@ -233,7 +233,7 @@ $component-hover-bg: rgba($secondary, .2); // custom variable
// Font, line-height, and color for body text, headings, and more.
// Font family
$font-family-sans-serif: "Be Vietnam Pro", Helvetica, sans-serif !default;
$font-family-sans-serif: "Inter Tight", Helvetica, sans-serif !default;
$font-size-base: 0.875rem !default; // 14px
$font-size-lg: 1rem !default; // 16px