diff --git a/frontend/vue-app/src/assets/actions-shared.css b/frontend/vue-app/src/assets/actions-shared.css index a79909f..3bba4e2 100644 --- a/frontend/vue-app/src/assets/actions-shared.css +++ b/frontend/vue-app/src/assets/actions-shared.css @@ -1,20 +1,3 @@ -.actions { - display: flex; - gap: 3rem; - justify-content: center; - margin-top: 0.5rem; -} -.actions button { - padding: 1rem 2.2rem; - border-radius: 12px; - border: 0; - cursor: pointer; - font-weight: 700; - font-size: 1.25rem; - transition: background 0.18s; - min-width: 120px; -} - /* Unified error style */ .error { color: var(--error); @@ -25,17 +8,6 @@ padding: 1rem; } -@media (max-width: 480px) { - .actions { - gap: 1.2rem; - } - .actions button { - padding: 0.8rem 1.2rem; - font-size: 1.05rem; - min-width: 90px; - } -} - /* Error message */ .error-message { color: var(--error, #e53e3e); diff --git a/frontend/vue-app/src/assets/button-shared.css b/frontend/vue-app/src/assets/button-shared.css index 6e14459..9890b0a 100644 --- a/frontend/vue-app/src/assets/button-shared.css +++ b/frontend/vue-app/src/assets/button-shared.css @@ -1,65 +1,3 @@ -/* Base button style */ -.btn { - font-weight: 600; - border: none; - border-radius: 8px; - padding: 0.7rem 1.5rem; - font-size: 1.1rem; - cursor: pointer; - box-shadow: 0 2px 8px rgba(102, 126, 234, 0.08); - transition: - background 0.18s, - color 0.18s; - display: inline-block; -} - -/* Primary button (e.g., Save, Confirm) */ -.btn-primary { - background: var(--btn-primary); - color: #fff; -} -.btn-primary:hover, -.btn-primary:focus { - background: var(--btn-primary-hover); -} -.btn-primary:disabled, -.btn-primary[disabled] { - background: var(--btn-secondary, #f3f3f3); - color: var(--btn-secondary-text, #666); - cursor: not-allowed; - opacity: 0.7; -} - -/* Secondary button (e.g., Cancel) */ -.btn-secondary { - background: var(--btn-secondary); - color: var(--btn-secondary-text); -} -.btn-secondary:hover, -.btn-secondary:focus { - background: var(--btn-secondary-hover); -} - -/* Danger button (e.g., Delete) */ -.btn-danger { - background: var(--btn-danger); - color: #fff; -} -.btn-danger:hover, -.btn-danger:focus { - background: var(--btn-danger-hover); -} - -/* Green button (e.g., Confirm) */ -.btn-green { - background: var(--btn-green); - color: #fff; -} -.btn-green:hover, -.btn-green:focus { - background: var(--btn-green-hover); -} - .form-btn { padding: 0.6rem 1rem; border-radius: 8px; @@ -81,41 +19,3 @@ background: var(--btn-primary-hover, #5a67d8); transform: translateY(-1px); } - -/* Link-style button */ -.btn-link { - color: var(--btn-primary); - text-decoration: underline; - background: none; - border: none; - padding: 0; - cursor: pointer; - font-weight: 600; - margin-left: 6px; -} -.btn-link:disabled { - text-decoration: none; - opacity: 0.75; - cursor: default; - pointer-events: none; - color: var(--btn-primary); -} - -.round-btn { - background: var(--sign-in-btn-bg); - color: var(--sign-in-btn-color); - border: 2px solid var(--sign-in-btn-border); - border-radius: 6px; - font-size: 0.85rem; - font-weight: 600; - padding: 0.2rem 0.5rem; - margin-right: 0.1rem; - cursor: pointer; - transition: - background 0.18s, - color 0.18s; -} -.round-btn:hover { - background: var(--sign-in-btn-hover-bg); - color: var(--sign-in-btn-hover-color); -} diff --git a/frontend/vue-app/src/assets/global.css b/frontend/vue-app/src/assets/colors.css similarity index 98% rename from frontend/vue-app/src/assets/global.css rename to frontend/vue-app/src/assets/colors.css index 49029cb..83099f7 100644 --- a/frontend/vue-app/src/assets/global.css +++ b/frontend/vue-app/src/assets/colors.css @@ -37,8 +37,8 @@ --list-item-border-reward: #38c172; --list-item-border-bad: #e53e3e; --list-item-border-good: #00e1ff; - --list-item-bg-reward: #94ffb1; - --list-item-bg-bad: #ffc5c5; + --list-item-bg-reward: #4ed271; + --list-item-bg-bad: #f98a8a; --list-item-bg-good: #8dabfd; --list-image-bg: #eee; --delete-btn-hover-bg: #ffeaea; diff --git a/frontend/vue-app/src/assets/styles.css b/frontend/vue-app/src/assets/styles.css new file mode 100644 index 0000000..1ca0cb3 --- /dev/null +++ b/frontend/vue-app/src/assets/styles.css @@ -0,0 +1,100 @@ +/*buttons*/ +.btn { + font-weight: 600; + border: none; + border-radius: 8px; + padding: 0.7rem 1.5rem; + font-size: 1.1rem; + cursor: pointer; + box-shadow: 0 2px 8px rgba(102, 126, 234, 0.08); + transition: + background 0.18s, + color 0.18s; + display: inline-block; +} + +/* Primary button (e.g., Save, Confirm) */ +.btn-primary { + background: var(--btn-primary); + color: #fff; +} +.btn-primary:hover, +.btn-primary:focus { + background: var(--btn-primary-hover); +} +.btn-primary:disabled, +.btn-primary[disabled] { + background: var(--btn-secondary, #f3f3f3); + color: var(--btn-secondary-text, #666); + cursor: not-allowed; + opacity: 0.7; +} + +/* Secondary button (e.g., Cancel) */ +.btn-secondary { + background: var(--btn-secondary); + color: var(--btn-secondary-text); +} +.btn-secondary:hover, +.btn-secondary:focus { + background: var(--btn-secondary-hover); +} + +/* Danger button (e.g., Delete) */ +.btn-danger { + background: var(--btn-danger); + color: #fff; +} +.btn-danger:hover, +.btn-danger:focus { + background: var(--btn-danger-hover); +} + +/* Green button (e.g., Confirm) */ +.btn-green { + background: var(--btn-green); + color: #fff; +} +.btn-green:hover, +.btn-green:focus { + background: var(--btn-green-hover); +} + +/* Link-style button */ +.btn-link { + color: var(--btn-primary); + text-decoration: underline; + background: none; + border: none; + padding: 0; + cursor: pointer; + font-weight: 600; + margin-left: 6px; +} +.btn-link:disabled { + text-decoration: none; + opacity: 0.75; + cursor: default; + pointer-events: none; + color: var(--btn-primary); +} + +/* Rounded button */ +.round-btn { + background: var(--sign-in-btn-bg); + color: var(--sign-in-btn-color); + border: 2px solid var(--sign-in-btn-border); + border-radius: 6px; + font-size: 0.85rem; + font-weight: 600; + padding: 0.2rem 0.5rem; + margin-right: 0.1rem; + cursor: pointer; + transition: + background 0.18s, + color 0.18s; +} +.round-btn:hover { + background: var(--sign-in-btn-hover-bg); + color: var(--sign-in-btn-hover-color); +} diff --git a/frontend/vue-app/src/assets/view-shared.css b/frontend/vue-app/src/assets/view-shared.css index 9cf1aff..ea87467 100644 --- a/frontend/vue-app/src/assets/view-shared.css +++ b/frontend/vue-app/src/assets/view-shared.css @@ -41,20 +41,6 @@ text-align: center; } -/* Dialog Message */ -.dialog-message { - font-size: 1.08rem; - color: var(--dialog-message); - font-weight: 500; - margin-bottom: 1.2rem; - text-align: center; -} -.dialog-message .child-name { - color: var(--dialog-child-name); - font-weight: 700; - margin-left: 2px; -} - /* Info Sections (Reward/Task) */ .info, .reward-info, diff --git a/frontend/vue-app/src/components/auth/ForgotPassword.vue b/frontend/vue-app/src/components/auth/ForgotPassword.vue index 7443874..fde8060 100644 --- a/frontend/vue-app/src/components/auth/ForgotPassword.vue +++ b/frontend/vue-app/src/components/auth/ForgotPassword.vue @@ -81,7 +81,7 @@ import { ref, computed } from 'vue' import { useRouter } from 'vue-router' import { isEmailValid } from '@/common/api' import '@/assets/view-shared.css' -import '@/assets/global.css' +import '@/assets/colors.css' import '@/assets/edit-forms.css' import '@/assets/actions-shared.css' import '@/assets/button-shared.css' diff --git a/frontend/vue-app/src/components/auth/Login.vue b/frontend/vue-app/src/components/auth/Login.vue index 0695701..cc0f854 100644 --- a/frontend/vue-app/src/components/auth/Login.vue +++ b/frontend/vue-app/src/components/auth/Login.vue @@ -140,7 +140,7 @@ import { ref, computed } from 'vue' import { useRouter } from 'vue-router' import '@/assets/view-shared.css' -import '@/assets/global.css' +import '@/assets/colors.css' import '@/assets/edit-forms.css' import '@/assets/actions-shared.css' import '@/assets/button-shared.css' diff --git a/frontend/vue-app/src/components/auth/ResetPassword.vue b/frontend/vue-app/src/components/auth/ResetPassword.vue index 5bd4983..5f32aa6 100644 --- a/frontend/vue-app/src/components/auth/ResetPassword.vue +++ b/frontend/vue-app/src/components/auth/ResetPassword.vue @@ -138,7 +138,7 @@ import { ref, computed, onMounted } from 'vue' import { useRouter, useRoute } from 'vue-router' import { isPasswordStrong } from '@/common/api' import '@/assets/view-shared.css' -import '@/assets/global.css' +import '@/assets/colors.css' import '@/assets/edit-forms.css' import '@/assets/actions-shared.css' import '@/assets/button-shared.css' diff --git a/frontend/vue-app/src/components/auth/Signup.vue b/frontend/vue-app/src/components/auth/Signup.vue index 2b689d8..32f42df 100644 --- a/frontend/vue-app/src/components/auth/Signup.vue +++ b/frontend/vue-app/src/components/auth/Signup.vue @@ -104,7 +104,7 @@ - +

Account already exists

An account with {{ email }} already exists. @@ -156,7 +156,7 @@ import { EMAIL_EXISTS, MISSING_FIELDS } from '@/common/errorCodes' import '@/assets/view-shared.css' import '@/assets/actions-shared.css' import '@/assets/button-shared.css' -import '@/assets/global.css' +import '@/assets/colors.css' import '@/assets/edit-forms.css' const router = useRouter() diff --git a/frontend/vue-app/src/components/child/ChildView.vue b/frontend/vue-app/src/components/child/ChildView.vue index 1f77ed6..6119bf1 100644 --- a/frontend/vue-app/src/components/child/ChildView.vue +++ b/frontend/vue-app/src/components/child/ChildView.vue @@ -1,10 +1,12 @@ - - - - diff --git a/frontend/vue-app/src/components/shared/FloatingActionButton.vue b/frontend/vue-app/src/components/shared/FloatingActionButton.vue index 14877d8..dd97f64 100644 --- a/frontend/vue-app/src/components/shared/FloatingActionButton.vue +++ b/frontend/vue-app/src/components/shared/FloatingActionButton.vue @@ -8,7 +8,7 @@ diff --git a/frontend/vue-app/src/components/shared/MessageBlock.vue b/frontend/vue-app/src/components/shared/MessageBlock.vue index f524d8b..1f2911c 100644 --- a/frontend/vue-app/src/components/shared/MessageBlock.vue +++ b/frontend/vue-app/src/components/shared/MessageBlock.vue @@ -7,7 +7,7 @@ diff --git a/frontend/vue-app/src/components/shared/StatusMessage.vue b/frontend/vue-app/src/components/shared/StatusMessage.vue new file mode 100644 index 0000000..17422c9 --- /dev/null +++ b/frontend/vue-app/src/components/shared/StatusMessage.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/frontend/vue-app/src/components/task/ChildTaskList.vue b/frontend/vue-app/src/components/task/ChildTaskList.vue deleted file mode 100644 index d813bcc..0000000 --- a/frontend/vue-app/src/components/task/ChildTaskList.vue +++ /dev/null @@ -1,171 +0,0 @@ - - - - - diff --git a/frontend/vue-app/src/main.ts b/frontend/vue-app/src/main.ts index 6fd43a7..f2a35a3 100644 --- a/frontend/vue-app/src/main.ts +++ b/frontend/vue-app/src/main.ts @@ -1,4 +1,4 @@ -import '@/assets/global.css' +import '@/assets/colors.css' import { createApp } from 'vue' import App from './App.vue' import router from './router'