diff --git a/resources/js/views/NewsList.vue b/resources/js/views/NewsList.vue
index 37777d1..3386917 100644
--- a/resources/js/views/NewsList.vue
+++ b/resources/js/views/NewsList.vue
@@ -1,27 +1,29 @@
-
-
-
-
+
+
+
+
+
+
@@ -33,41 +35,36 @@ import SMPanelList from "../components/SMPanelList.vue";
import SMPanel from "../components/SMPanel.vue";
import SMPage from "../components/SMPage.vue";
import { SMDate } from "../helpers/datetime";
+import { PostCollection, Post } from "../helpers/api.types";
-const formMessage = reactive({
- icon: "",
- type: "",
- message: "",
-});
-
+const message = ref("");
const loading = ref(true);
-const posts = reactive([]);
+let posts: Array = reactive([]);
const handleLoad = async () => {
- formMessage.type = "error";
- formMessage.icon = "fa-solid fa-circle-exclamation";
- formMessage.message = "";
+ message.value = "";
- try {
- let result = await api.get({
- url: "/posts",
- params: {
- limit: 5,
- },
- });
- posts.value = result.json.posts;
+ api.get({
+ url: "/posts",
+ params: {
+ limit: 5,
+ },
+ })
+ .then((result) => {
+ const data = result.data as PostCollection;
- posts.value.forEach((post) => {
- post.publish_at = new SMDate(post.publish_at, {
- format: "ymd",
- utc: true,
- }).format("yyyy/MM/dd HH:mm:ss");
+ posts = data.posts;
+ posts.forEach((post) => {
+ post.publish_at = new SMDate(post.publish_at, {
+ format: "ymd",
+ utc: true,
+ }).format("yyyy/MM/dd HH:mm:ss");
+ });
+ })
+ .catch((error) => {
+ message.value =
+ error.data?.message || "The server is currently not available";
});
- } catch (error) {
- formMessage.message =
- error.response?.data?.message ||
- "The server is currently not available";
- }
loading.value = false;
};