feat(10-04): implement toast store, ToastContainer, mount in App.vue
- toast.js: reactive toasts array, show/dismiss with auto-dismiss via setTimeout - ToastContainer.vue: Options API, Teleport to body, TransitionGroup, data-test attr - type-to-class maps: accentClass/iconName/iconColorClass for success/error/warning/info - App.vue: import and mount <ToastContainer /> after layout div - all 10 tests pass; SettingsAccountTab and TotpEnrollment regressions green
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
<router-view />
|
||||
</main>
|
||||
</div>
|
||||
<ToastContainer />
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -13,6 +14,7 @@ import { onMounted } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import AppSidebar from './components/layout/AppSidebar.vue'
|
||||
import AuthLayout from './layouts/AuthLayout.vue'
|
||||
import ToastContainer from './components/ui/ToastContainer.vue'
|
||||
import { useTopicsStore } from './stores/topics.js'
|
||||
|
||||
const route = useRoute()
|
||||
|
||||
Reference in New Issue
Block a user