From a6f569754173e98b7311fe8951149d5c0d2fbe94 Mon Sep 17 00:00:00 2001 From: Anang Yusman Date: Mon, 6 Oct 2025 23:43:02 +0800 Subject: [PATCH] update --- .gitlab-ci.yml | 29 ++++++++ Dockerfile | 36 ++++++++++ app/favicon.ico | Bin 25931 -> 22697 bytes components/details/details-content.tsx | 44 +++++++++++- components/table/article-table.tsx | 94 +++++++++++++++++++++---- public/profile.jpg | Bin 0 -> 19984 bytes service/article.ts | 24 +++++-- types/globals.tsx | 1 + 8 files changed, 208 insertions(+), 20 deletions(-) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile create mode 100644 public/profile.jpg diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..29957bb --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,29 @@ +stages: + - build + - deploy + +build-dev: + stage: build + when: on_success + only: + - main + image: docker:stable + services: + - name: docker:dind + command: ["--insecure-registry=103.82.242.92:8900"] + script: + - docker logout + - docker login -u $DEPLOY_USERNAME -p $DEPLOY_TOKEN 103.82.242.92:8900 + - docker build -t 103.82.242.92:8900/medols/web-info-kreasi:dev . + - docker push 103.82.242.92:8900/medols/web-info-kreasi:dev + +auto-deploy: + stage: deploy + when: on_success + only: + - main + image: curlimages/curl:latest + services: + - docker:dind + script: + - curl --user admin:$JENKINS_PWD http://38.47.180.165:8080/job/auto-deploy-info-kreasi/build?token=autodeploymedols diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2b874db --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +# Menggunakan image Node.js yang lebih ringan +FROM node:23.5.0-alpine + +# Mengatur port +ENV PORT 3000 + +# Install pnpm secara global +RUN npm install -g pnpm + +# Membuat direktori aplikasi dan mengatur sebagai working directory +WORKDIR /usr/src/app + +# Menyalin file penting terlebih dahulu untuk caching +COPY package.json ./ + +# Menyalin direktori ckeditor5 jika diperlukan +COPY vendor/ckeditor5 ./vendor/ckeditor5 + +# Menyalin env +COPY .env .env + +# Install dependencies +RUN pnpm install +# RUN pnpm install --frozen-lockfile + +# Menyalin source code aplikasi +COPY . . + +# Build aplikasi +RUN NODE_OPTIONS="--max-old-space-size=4096" pnpm next build + +# Expose port untuk server +EXPOSE 3000 + +# Perintah untuk menjalankan aplikasi +CMD ["pnpm", "run", "start"] \ No newline at end of file diff --git a/app/favicon.ico b/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..601809116783d5e8c2df078100598fe620ccf150 100644 GIT binary patch literal 22697 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ðtFFRS)crC~m*))%>(wb~m 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 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/components/details/details-content.tsx b/components/details/details-content.tsx index 7dcee88..7a4106b 100644 --- a/components/details/details-content.tsx +++ b/components/details/details-content.tsx @@ -6,6 +6,7 @@ import { getArticleById, getListArticle } from "@/service/article"; import { close, loading } from "@/config/swal"; import { useParams } from "next/navigation"; import Author from "../landing-page/author"; +import { Link2, MailIcon } from "lucide-react"; type TabKey = "trending" | "comments" | "latest"; @@ -366,7 +367,48 @@ export default function DetailContent() { }} /> - + {/* */} +
+

AUTHOR

+
+ {/* Foto Profil */} +
+ Author +
+ + {/* Info Author */} +
+

+ {articleDetail?.createdByName} +

+ +
+ {/* Button lihat semua post */} + + +
+ +
+
+ +
+
+
+
+
Tags: diff --git a/components/table/article-table.tsx b/components/table/article-table.tsx index 60c8354..bcc9342 100644 --- a/components/table/article-table.tsx +++ b/components/table/article-table.tsx @@ -46,6 +46,7 @@ import { TableCell, } from "@/components/ui/table"; import CustomPagination from "../layout/custom-pagination"; +import DatePicker from "react-datepicker"; const columns = [ { name: "No", uid: "no" }, @@ -60,6 +61,7 @@ const columns = [ const columnsOtherRole = [ { name: "No", uid: "no" }, { name: "Judul", uid: "title" }, + { name: "Source", uid: "source" }, { name: "Kategori", uid: "category" }, { name: "Tanggal Unggah", uid: "createdAt" }, { name: "Kreator", uid: "createdByName" }, @@ -84,7 +86,9 @@ export default function ArticleTable() { const [search, setSearch] = useState(""); const [categories, setCategories] = useState([]); const [selectedCategories, setSelectedCategories] = useState(""); - const [startDateValue, setStartDateValue] = useState({ + const [selectedSource, setSelectedSource] = useState(""); + const [selectedStatus, setSelectedStatus] = useState(""); + const [dateRange, setDateRange] = useState({ startDate: null, endDate: null, }); @@ -98,24 +102,49 @@ export default function ArticleTable() { const res = await getArticleByCategory(); const data = res?.data?.data; setCategories(data); + console.log("category", data); } + useEffect(() => { + initState(); + }, [ + page, + showData, + search, + selectedCategories, + selectedSource, + dateRange, + selectedStatus, + ]); + async function initState() { loading(); const req = { limit: showData, page: page, search: search, - categorySlug: Array.from(selectedCategories).join(","), + category: selectedCategories || "", + source: selectedSource || "", + isPublish: + selectedStatus !== "" ? selectedStatus === "publish" : undefined, + startDate: dateRange.startDate + ? new Date(dateRange.startDate).toISOString() + : "", + endDate: dateRange.endDate + ? new Date(dateRange.endDate).toISOString() + : "", sort: "desc", sortBy: "created_at", }; + const res = await getArticlePagination(req); - await getTableNumber(parseInt(showData), res.data?.data); + + let data = res.data?.data || []; + + await getTableNumber(parseInt(showData), data); setTotalPage(res?.data?.meta?.totalPage); close(); } - // panggil ulang setiap state berubah useEffect(() => { initState(); @@ -346,24 +375,63 @@ export default function ArticleTable() { {categories - ?.filter((category: any) => category.slug != null) + ?.filter((category: any) => category.title != null) .map((category: any) => ( - + {category.title} ))}
- {/*
+
+

Source

+ +
+
+

Status

+ +
+

Tanggal

- setStartDateValue(e)} - inputClassName="z-50 w-full text-sm bg-transparent border-1 border-gray-200 px-2 py-[6px] rounded-xl h-[40px] text-gray-600 dark:text-gray-300" + { + setDateRange({ + startDate: update[0], + endDate: update[1], + }); + }} + isClearable + dateFormat="dd/MM/yyyy" + className="z-50 w-full text-sm bg-transparent border border-gray-200 px-2 py-[6px] rounded-xl h-[40px] text-gray-600 dark:text-gray-300" + placeholderText="Pilih rentang tanggal" /> -
*/} +
diff --git a/public/profile.jpg b/public/profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..354bbe11bba0e536ec4f0c8f71f86c7e8a054d11 GIT binary patch literal 19984 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 Zx*#YmIn|x1>IvY?&kKDm*!*Jh{{Y^~H>Usq literal 0 HcmV?d00001 diff --git a/service/article.ts b/service/article.ts index 8faddf4..5a4c803 100644 --- a/service/article.ts +++ b/service/article.ts @@ -1,6 +1,11 @@ import { PaginationRequest } from "@/types/globals"; import { httpGet } from "./http-config/http-base-services"; -import { httpDeleteInterceptor, httpGetInterceptor, httpPostInterceptor, httpPutInterceptor } from "./http-config/http-interceptor-services"; +import { + httpDeleteInterceptor, + httpGetInterceptor, + httpPostInterceptor, + httpPutInterceptor, +} from "./http-config/http-interceptor-services"; export async function getListArticle(props: PaginationRequest) { const { @@ -40,13 +45,20 @@ export async function getArticlePagination(props: PaginationRequest) { sort, categorySlug, isBanner, + isPublish, + source, } = props; + return await httpGetInterceptor( - `/articles?limit=${limit}&page=${page}&title=${search}&startDate=${startDate || ""}&endDate=${ - endDate || "" - }&categoryId=${category || ""}&sortBy=${sortBy || "created_at"}&sort=${ - sort || "asc" - }&category=${categorySlug || ""}&isBanner=${isBanner || ""}` + `/articles?limit=${limit}&page=${page}&title=${search}&startDate=${ + startDate || "" + }&endDate=${endDate || ""}&categoryId=${category || ""}&source=${ + source || "" + }&isPublish=${isPublish !== undefined ? isPublish : ""}&sortBy=${ + sortBy || "created_at" + }&sort=${sort || "asc"}&category=${categorySlug || ""}&isBanner=${ + isBanner || "" + }` ); } diff --git a/types/globals.tsx b/types/globals.tsx index df33f2b..42a9bdc 100644 --- a/types/globals.tsx +++ b/types/globals.tsx @@ -310,6 +310,7 @@ export type PaginationRequest = { category?: string; sortBy?: string; sort?: string; + source?: string; categorySlug?: string; isBanner?: boolean; };