diff --git a/app.vue b/app.vue
index 6bfcf14..bdbe209 100644
--- a/app.vue
+++ b/app.vue
@@ -17,7 +17,7 @@ onMounted(() => {
}, 1000);
// Get theme from localStorage
- let theme = localStorage.getItem("theme") || "default";
+ let theme = localStorage.getItem("theme") || "biasa";
document.documentElement.setAttribute("data-theme", theme);
});
diff --git a/assets/style/css/base/theme.css b/assets/style/css/base/theme.css
index b1354df..3ea26c4 100644
--- a/assets/style/css/base/theme.css
+++ b/assets/style/css/base/theme.css
@@ -1,4 +1,4 @@
-html[data-theme="default"] {
+html[data-theme="biasa"] {
--color-primary: 0, 165, 154;
--color-secondary: 97, 176, 183;
--color-accent: 243, 244, 246;
@@ -36,7 +36,7 @@ html[data-theme="default"] {
--tw-shadow: #e5eaf2;
}
-html[data-theme="dark"] {
+html[data-theme="gelap"] {
--color-primary: 97, 176, 183;
--color-secondary: 13, 27, 42;
--color-accent: 15, 23, 42;
@@ -48,6 +48,11 @@ html[data-theme="dark"] {
--border-color: 30, 41, 59;
--bg-1: 15, 23, 42;
--bg-2: 30, 41, 59;
+ --sidebar: 38, 50, 55;
+ --sidebar-menu: 26, 35, 38;
+ --sidebar-text: 255, 255, 255;
+ --header: 49, 65, 71;
+ --header-text: 255, 255, 255;
--scroll-color: 170, 170, 170;
--scroll-hover-color: 155, 155, 155;
--fk-border-color: 71, 85, 105;
@@ -68,53 +73,143 @@ html[data-theme="dark"] {
--tw-shadow: #e5eaf2;
}
-html[data-theme="nier"] {
- --color-primary: 99, 95, 84;
- --color-secondary: 207, 107, 83;
- --color-accent: 243, 88, 106;
- --color-success: 79, 192, 103;
- --color-info: 65, 133, 242;
- --color-warning: 246, 141, 32;
- --color-danger: 229, 83, 69;
- --text-color: 78, 75, 66;
- --border-color: 153, 152, 131;
- --bg-1: 205, 200, 176;
- --bg-2: 218, 212, 187;
- --scroll-color: 99, 95, 84;
- --scroll-hover-color: 99, 95, 84;
- --fk-border-color: 99, 95, 84;
- --fk-placeholder-color: 188, 175, 145;
- --box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
- --cp-bg: 255, 255, 255;
- --rounded-box: 0.5rem;
- --rounded-btn: 0.5rem;
- --rounded-badge: 1.9rem;
- --animation-btn: 0.25s;
- --animation-input: 0.2s;
- --btn-text-case: uppercase;
- --btn-focus-scale: 0.95;
- --padding-btn: 0.625rem 0.875rem;
- --border-btn: 1px;
- --tab-border: 1px;
- --tab-radius: 0.5rem;
- --tw-shadow: #e5eaf2;
-}
-
-html[data-theme="custom1"] {
- --color-primary: 9, 76, 90;
- --color-secondary: 62, 72, 83;
- --color-accent: 0, 103, 236;
- --color-success: 11, 152, 76;
- --color-info: 208, 89, 41;
- --color-warning: 229, 197, 13;
- --color-danger: 238, 5, 34;
- --text-color: 15, 15, 14;
- --border-color: 153, 152, 131;
- --bg-1: 214, 215, 206;
- --bg-2: 235, 232, 217;
- --scroll-color: 9, 76, 90;
- --scroll-hover-color: 9, 76, 90;
- --box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
+html[data-theme="biru"] {
+ --color-primary: 0, 102, 204;
+ --color-secondary: 51, 153, 255;
+ --color-accent: 255, 204, 0;
+ --color-success: 46, 204, 113;
+ --color-info: 52, 152, 219;
+ --color-warning: 241, 196, 15;
+ --color-danger: 231, 76, 60;
+ --text-color: 0, 0, 0;
+ --border-color: 200, 200, 200;
+ --bg-1: 240, 248, 255;
+ --bg-2: 230, 240, 250;
+ --sidebar: 38, 50, 55;
+ --sidebar-menu: 26, 35, 38;
+ --sidebar-text: 255, 255, 255;
+ --header: 49, 65, 71;
+ --header-text: 255, 255, 255;
+ --scroll-color: 180, 180, 180;
+ --scroll-hover-color: 150, 150, 150;
+ --fk-border-color: 200, 200, 200;
+ --fk-placeholder-color: 150, 150, 150;
+ --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
+ 0 2px 4px -2px rgba(0, 0, 0, 0.1);
+ --cp-bg: 255, 255, 255;
+ --rounded-box: 0.5rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: 0.2s;
+ --btn-text-case: uppercase;
+ --btn-focus-scale: 0.95;
+ --padding-btn: 0.625rem 1.5rem;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --tw-shadow: #e5eaf2;
+}
+
+html[data-theme="merah"] {
+ --color-primary: 204, 0, 0;
+ --color-secondary: 255, 102, 102;
+ --color-accent: 255, 255, 153;
+ --color-success: 46, 204, 113;
+ --color-info: 52, 152, 219;
+ --color-warning: 241, 196, 15;
+ --color-danger: 231, 76, 60;
+ --text-color: 0, 0, 0;
+ --border-color: 200, 200, 200;
+ --bg-1: 255, 240, 240;
+ --bg-2: 255, 230, 230;
+ --sidebar: 38, 50, 55;
+ --sidebar-menu: 26, 35, 38;
+ --sidebar-text: 255, 255, 255;
+ --header: 49, 65, 71;
+ --header-text: 255, 255, 255;
+ --scroll-color: 180, 180, 180;
+ --scroll-hover-color: 150, 150, 150;
+ --fk-border-color: 200, 200, 200;
+ --fk-placeholder-color: 150, 150, 150;
+ --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
+ 0 2px 4px -2px rgba(0, 0, 0, 0.1);
+ --cp-bg: 255, 255, 255;
+ --rounded-box: 0.5rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: 0.2s;
+ --btn-text-case: uppercase;
+ --btn-focus-scale: 0.95;
+ --padding-btn: 0.625rem 1.5rem;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --tw-shadow: #e5eaf2;
+}
+
+html[data-theme="ungu"] {
+ --color-primary: 75, 0, 130;
+ --color-secondary: 138, 43, 226;
+ --color-accent: 255, 215, 0;
+ --color-success: 46, 204, 113;
+ --color-info: 52, 152, 219;
+ --color-warning: 241, 196, 15;
+ --color-danger: 231, 76, 60;
+ --text-color: 0, 0, 0;
+ --border-color: 200, 200, 200;
+ --bg-1: 240, 248, 255;
+ --bg-2: 230, 240, 250;
+ --sidebar: 38, 50, 55;
+ --sidebar-menu: 26, 35, 38;
+ --sidebar-text: 255, 255, 255;
+ --header: 49, 65, 71;
+ --header-text: 255, 255, 255;
+ --scroll-color: 180, 180, 180;
+ --scroll-hover-color: 150, 150, 150;
+ --fk-border-color: 200, 200, 200;
+ --fk-placeholder-color: 150, 150, 150;
+ --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
+ 0 2px 4px -2px rgba(0, 0, 0, 0.1);
+ --cp-bg: 255, 255, 255;
+ --rounded-box: 0.5rem;
+ --rounded-btn: 0.5rem;
+ --rounded-badge: 1.9rem;
+ --animation-btn: 0.25s;
+ --animation-input: 0.2s;
+ --btn-text-case: uppercase;
+ --btn-focus-scale: 0.95;
+ --padding-btn: 0.625rem 1.5rem;
+ --border-btn: 1px;
+ --tab-border: 1px;
+ --tab-radius: 0.5rem;
+ --tw-shadow: #e5eaf2;
+}
+
+html[data-theme="oren"] {
+ --color-primary: 255, 103, 0;
+ --color-secondary: 255, 159, 64;
+ --color-accent: 0, 128, 128;
+ --color-success: 46, 204, 113;
+ --color-info: 52, 152, 219;
+ --color-warning: 241, 196, 15;
+ --color-danger: 231, 76, 60;
+ --text-color: 0, 0, 0;
+ --border-color: 200, 200, 200;
+ --bg-1: 255, 250, 240;
+ --bg-2: 255, 245, 230;
+ --sidebar: 38, 50, 55;
+ --sidebar-menu: 26, 35, 38;
+ --sidebar-text: 255, 255, 255;
+ --header: 49, 65, 71;
+ --header-text: 255, 255, 255;
+ --scroll-color: 180, 180, 180;
+ --scroll-hover-color: 150, 150, 150;
+ --fk-border-color: 200, 200, 200;
+ --fk-placeholder-color: 150, 150, 150;
+ --box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
+ 0 2px 4px -2px rgba(0, 0, 0, 0.1);
--cp-bg: 255, 255, 255;
--rounded-box: 0.5rem;
--rounded-btn: 0.5rem;
diff --git a/components/VoiceReader.vue b/components/VoiceReader.vue
new file mode 100644
index 0000000..8fe3d04
--- /dev/null
+++ b/components/VoiceReader.vue
@@ -0,0 +1,35 @@
+
+