From 8503354952038df1ecac9b756ba71cd80b48bded Mon Sep 17 00:00:00 2001 From: Tieptk Date: Tue, 18 Mar 2025 15:35:38 +0700 Subject: [PATCH] update 18/3 --- src/app/article/[slug]/page.tsx | 50 ++++ src/app/article/category.tsx | 0 src/app/article/detail.tsx | 0 src/app/article/page.tsx | 29 ++- src/app/job/[slug]/page.tsx | 93 ++----- src/app/job/detail/page.tsx | 234 ------------------ src/app/job/page.tsx | 4 +- .../page/{page_job.tsx => page_job/page.tsx} | 4 +- src/components/Header.tsx | 2 +- src/data/article.ts | 9 +- src/data/job.ts | 130 ++++++++++ src/styles/style.css | 50 +++- 12 files changed, 275 insertions(+), 330 deletions(-) create mode 100644 src/app/article/[slug]/page.tsx delete mode 100644 src/app/article/category.tsx delete mode 100644 src/app/article/detail.tsx delete mode 100644 src/app/job/detail/page.tsx rename src/app/page/{page_job.tsx => page_job/page.tsx} (96%) diff --git a/src/app/article/[slug]/page.tsx b/src/app/article/[slug]/page.tsx new file mode 100644 index 0000000..1f4cabf --- /dev/null +++ b/src/app/article/[slug]/page.tsx @@ -0,0 +1,50 @@ +"use client"; +import { ArticlesDetailData } from "@/data/article"; +import { useParams } from "next/navigation"; +import { format } from "date-fns"; + +const Detail = () => { + const { slug } = useParams(); + const article = ArticlesDetailData.list.find( + (article) => article.path == slug + ); + + if (!article) { + return ( +
+ Article not found. +
+ ); + } + + return ( +
+
+
+
+ {format(new Date(article?.last_update * 1000), "dd/MM/yyyy")} +
+

{article?.title}

+ +
{article?.summary}
+ +
+ +
+ +
+
+
+
+ ); +}; + +export default Detail; diff --git a/src/app/article/category.tsx b/src/app/article/category.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/article/detail.tsx b/src/app/article/detail.tsx deleted file mode 100644 index e69de29..0000000 diff --git a/src/app/article/page.tsx b/src/app/article/page.tsx index 0619a81..3f103e9 100644 --- a/src/app/article/page.tsx +++ b/src/app/article/page.tsx @@ -1,6 +1,7 @@ "use client"; import { ArticlesData } from "@/data/article"; import { format } from "date-fns"; +import Link from "next/link"; const Home = () => { return ( @@ -16,7 +17,7 @@ const Home = () => {
{ArticlesData.list.slice(0, 1).map((articles) => (
- + { )}
- + {articles.title}
@@ -44,7 +48,7 @@ const Home = () => {
{ArticlesData.list.slice(1, 3).map((articles) => (
- + { )}
- + {articles.title}
@@ -77,14 +84,17 @@ const Home = () => {
{ArticlesData.list.map((articles) => (
- + {articles.title} - +
{" "} @@ -95,9 +105,12 @@ const Home = () => { )}
- + {articles.title} - +
))} diff --git a/src/app/job/[slug]/page.tsx b/src/app/job/[slug]/page.tsx index c0fa99e..53192ae 100644 --- a/src/app/job/[slug]/page.tsx +++ b/src/app/job/[slug]/page.tsx @@ -1,5 +1,8 @@ "use client"; import { useState } from "react"; +import { JobDataDetail } from "@/data/job"; +import { useParams } from "next/navigation"; + const Detail = () => { const [activeTab, setActiveTab] = useState("#info"); @@ -8,15 +11,24 @@ const Detail = () => { setActiveTab(tab); }; + const { slug } = useParams(); + const job = JobDataDetail.list.find((job) => job.path == slug); + if (!job) { + return ( +
+ Công việc này đã dừng tuyển dụng. +
+ ); + } return (
-

Nhân viên phát triển thị trường

+

{job?.title}

Địa điểm

- Hà Nội + {job?.location}

Hình thức làm việc

@@ -24,7 +36,7 @@ const Detail = () => {

Số lượng tuyển

- 7 + {job?.applicant_count}
@@ -50,80 +62,7 @@ const Detail = () => { className={`content-tab ${activeTab === "#info" ? "active" : ""}`} id="info" > - Vị trí: Nhân viên phát triển thị trường - -

Mô tả công việc

-
    -
  • - Tìm kiếm khách hàng mới, tiếp cận khai thác Khách hàng tiềm - năng. -
  • -
  • Tư vấn khách hàng về sản phẩm, dịch vụ của công ty.
  • -
  • - Chốt hợp đồng khách hàng, triển khai quy trình làm việc với - khách hàng. -
  • -
  • - Hỗ trợ và chăm sóc khách hàng (tiềm năng, hiện tại, cũ) tạo - mối quan hệ với khách hàng. -
  • -
  • - Tiếp thu ý kiến khách hàng, phối hợp với các bộ phận khác để - khai thác tối đa lợi ích của dịch vụ, khách hàng. -
  • -
  • - Hoàn thành chỉ tiêu kinh doanh nhóm và chỉ tiêu cá nhân. -
  • -
-

 

-

Yêu cầu ứng viên:

-
    -
  • - Tốt nghiệp Cao Đẳng trở lên các trường đào tạo chuyên ngành - quản trị kinh doanh, CNTT hoặc các ngành liên quan. -
  • -
  • - Đặc biệt ưu tiên có kinh nghiệm làm việc ở các lĩnh vực kinh - doanh phần mềm, bán hàng, tư vấn, tiếp thị các sản phẩm về - CNTT là 1 lợi thế. -
  • -
  • - Có kỹ năng giao tiếp thuyết phục đàm phán tốt , năng động, cải - tiến, sáng tạo, chủ động trong công việc. -
  • -
  • - Tinh thần trách nhiệm trong công việc. Yêu thích công việc - kinh doanh và không ngừng học hỏi, sẵn sàng tiếp thu các kiến - thức mới. -
  • -
  • Có laptop, có phương tiện đi lại.
  • -
-

 

-

Quyền lợi:

-
    -
  • - Môi trường làm việc chuyên nghiệp, năng động, thân thiện -
  • -
  • Luôn được tiếp xúc với công nghệ và thử thách mới.
  • -
  • - Lương: Lương cứng + hoa hồng + phụ cấp xăng xe, điện thoại -
  • -
  • Thưởng theo ngày lễ, tết
  • -
  • - Được đào tạo kĩ năng mềm ( kỹ năng giao tiếp, xử lý tình - huống…..) -
  • -
  • Làm việc từ T2 – sáng T7
  • -
  • Đóng bảo hiểm theo quy định của Nhà nước
  • -
  • - Được hưởng đầy đủ các chế độ theo quy định của luật lao động -
  • -
-

- Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email{" "} - info@hurasoft.com -

- +
showTab("#formjob")} diff --git a/src/app/job/detail/page.tsx b/src/app/job/detail/page.tsx deleted file mode 100644 index c0fa99e..0000000 --- a/src/app/job/detail/page.tsx +++ /dev/null @@ -1,234 +0,0 @@ -"use client"; -import { useState } from "react"; -const Detail = () => { - const [activeTab, setActiveTab] = useState("#info"); - - const showTab = (tab: string) => { - console.log(`Tab clicked: ${tab}`); - setActiveTab(tab); - }; - - return ( -
-
-

Nhân viên phát triển thị trường

-
-
-
-

Địa điểm

- Hà Nội -
-
-

Hình thức làm việc

- Toàn thời gian cố định -
-
-

Số lượng tuyển

- 7 -
-
-
-
-
showTab("#info")} - data-id="#info" - className={`item-tab ${activeTab === "#info" ? "active" : ""}`} - > - Chi tiết -
-
showTab("#formjob")} - data-id="#formjob" - className={`item-tab ${ - activeTab === "#formjob" ? "active" : "" - }`} - > - Nộp hồ sơ -
-
-
- Vị trí: Nhân viên phát triển thị trường - -

Mô tả công việc

-
    -
  • - Tìm kiếm khách hàng mới, tiếp cận khai thác Khách hàng tiềm - năng. -
  • -
  • Tư vấn khách hàng về sản phẩm, dịch vụ của công ty.
  • -
  • - Chốt hợp đồng khách hàng, triển khai quy trình làm việc với - khách hàng. -
  • -
  • - Hỗ trợ và chăm sóc khách hàng (tiềm năng, hiện tại, cũ) tạo - mối quan hệ với khách hàng. -
  • -
  • - Tiếp thu ý kiến khách hàng, phối hợp với các bộ phận khác để - khai thác tối đa lợi ích của dịch vụ, khách hàng. -
  • -
  • - Hoàn thành chỉ tiêu kinh doanh nhóm và chỉ tiêu cá nhân. -
  • -
-

 

-

Yêu cầu ứng viên:

-
    -
  • - Tốt nghiệp Cao Đẳng trở lên các trường đào tạo chuyên ngành - quản trị kinh doanh, CNTT hoặc các ngành liên quan. -
  • -
  • - Đặc biệt ưu tiên có kinh nghiệm làm việc ở các lĩnh vực kinh - doanh phần mềm, bán hàng, tư vấn, tiếp thị các sản phẩm về - CNTT là 1 lợi thế. -
  • -
  • - Có kỹ năng giao tiếp thuyết phục đàm phán tốt , năng động, cải - tiến, sáng tạo, chủ động trong công việc. -
  • -
  • - Tinh thần trách nhiệm trong công việc. Yêu thích công việc - kinh doanh và không ngừng học hỏi, sẵn sàng tiếp thu các kiến - thức mới. -
  • -
  • Có laptop, có phương tiện đi lại.
  • -
-

 

-

Quyền lợi:

-
    -
  • - Môi trường làm việc chuyên nghiệp, năng động, thân thiện -
  • -
  • Luôn được tiếp xúc với công nghệ và thử thách mới.
  • -
  • - Lương: Lương cứng + hoa hồng + phụ cấp xăng xe, điện thoại -
  • -
  • Thưởng theo ngày lễ, tết
  • -
  • - Được đào tạo kĩ năng mềm ( kỹ năng giao tiếp, xử lý tình - huống…..) -
  • -
  • Làm việc từ T2 – sáng T7
  • -
  • Đóng bảo hiểm theo quy định của Nhà nước
  • -
  • - Được hưởng đầy đủ các chế độ theo quy định của luật lao động -
  • -
-

- Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email{" "} - info@hurasoft.com -

- - showTab("#formjob")} - className="btn apply-job" - > - Ứng tuyển ngay - -
-
- -
-
-
- -

Tải lên sơ yếu lý lịch

-
-

- Tải sơ yếu lý lịch của bạn lên đây để tự động điền các thông - tin chính. -

-
- -
-
-
-
-
-
- - -
-
-
- - -
-
-
- - -
-
-
- - - Vui lòng chia sẻ bất kỳ điều gì khác bạn muốn chúng tôi biết, - chẳng hạn như động lực của bạn khi ứng tuyển hoặc các bối cảnh - bổ sung liên quan đến hồ sơ của bạn. - - -
- - Nộp đơn - -
-
-
-
-
- ); -}; - -export default Detail; diff --git a/src/app/job/page.tsx b/src/app/job/page.tsx index 07adcbc..3d2673e 100644 --- a/src/app/job/page.tsx +++ b/src/app/job/page.tsx @@ -10,14 +10,14 @@ const Home = () => { {JobData.list.map((job) => (
- + {job.title}
{job.end_date}
{job.location}
- + Ứng tuyển ngay
diff --git a/src/app/page/page_job.tsx b/src/app/page/page_job/page.tsx similarity index 96% rename from src/app/page/page_job.tsx rename to src/app/page/page_job/page.tsx index c7c492c..eb6b8e8 100644 --- a/src/app/page/page_job.tsx +++ b/src/app/page/page_job/page.tsx @@ -11,7 +11,7 @@ const Page_job = () => { Nếu bạn là người đam mê công nghệ và yêu thử thách, hãy gia nhập cùng chúng tôi.
- + Xem các vị trí @@ -65,7 +65,7 @@ const Page_job = () => { />

Sẵn sàng tham gia cùng chúng tôi?

- + Xem các vị trí
diff --git a/src/components/Header.tsx b/src/components/Header.tsx index 6b380a7..b31089f 100644 --- a/src/components/Header.tsx +++ b/src/components/Header.tsx @@ -110,7 +110,7 @@ export default function Header() {
- + Tuyển dụng diff --git a/src/data/article.ts b/src/data/article.ts index 1fb8a5c..8d4b87f 100644 --- a/src/data/article.ts +++ b/src/data/article.ts @@ -261,7 +261,8 @@ export const ArticlesDetailData = { "large": "/media/article/l-cyber-security-concept-digital-art_23-2151637760.jpg" }, "canonical": "https://hurasoft8.hurasoft.com/an-toan-thong-tin-website", - "path": "/an-toan-thong-tin-website" + "url": "/an-toan-thong-tin-website", + "path": "an-toan-thong-tin-website" }, { "id": 724, @@ -295,7 +296,8 @@ export const ArticlesDetailData = { "large": "/media/article/l-3d-representation-reselling-market_23-2150473097.jpg" }, "canonical": "/xu-huong-ca-nhan-hoa-trai-nghiem-nguoi-dung-trong-thuong-mai-dien-tu", - "path": "/xu-huong-ca-nhan-hoa-trai-nghiem-nguoi-dung-trong-thuong-mai-dien-tue" + "url": "/xu-huong-ca-nhan-hoa-trai-nghiem-nguoi-dung-trong-thuong-mai-dien-tue", + "path": "xu-huong-ca-nhan-hoa-trai-nghiem-nguoi-dung-trong-thuong-mai-dien-tue" }, { "id": 723, @@ -348,7 +350,8 @@ export const ArticlesDetailData = { "large": "/media/article/l-lucky-dice-game-background_23-2150971831.jpg" }, "canonical": "/marketing-bang-minigame-tren-website", - "path": "/marketing-bang-minigame-tren-website" + "url": "/marketing-bang-minigame-tren-website", + "path": "marketing-bang-minigame-tren-website" }, ] } diff --git a/src/data/job.ts b/src/data/job.ts index 56bf5c6..1852581 100644 --- a/src/data/job.ts +++ b/src/data/job.ts @@ -76,5 +76,135 @@ export const JobData: JobType = { "url": "\/job\/thiet-ke-do-hoa-website-mobile-ux-designer.html" } ] +} + +export const JobDataDetail = { + "total": 4, + "list": [ + { + "title": "Nhân viên phát triển thị trường", + "path": "nhan-vien-phat-trien-thi-truong.html", + "salary": "Thỏa thuận", + "end_date": "31-12-2024", + "location": "Hà Nội", + "applicant_count": 7, + "description": `

Mô tả công việc

+
    +
  • Tìm kiếm khách hàng mới, tiếp cận khai thác Khách hàng tiềm năng.
  • +
  • Tư vấn khách hàng về sản phẩm, dịch vụ của công ty.
  • +
  • Chốt hợp đồng khách hàng, triển khai quy trình làm việc với khách hàng.
  • +
  • Hỗ trợ và chăm sóc khách hàng (tiềm năng, hiện tại, cũ) tạo mối quan hệ với khách hàng.
  • +
  • Tiếp thu ý kiến khách hàng, phối hợp với các bộ phận khác để khai thác tối đa lợi ích của dịch vụ, khách hàng.
  • +
  • Hoàn thành chỉ tiêu kinh doanh nhóm và chỉ tiêu cá nhân.
  • +
+

+

Yêu cầu ứng viên:

+
    +
  • Tốt nghiệp Cao Đẳng trở lên các trường đào tạo chuyên ngành quản trị kinh doanh, CNTT hoặc các ngành liên quan.
  • +
  • Đặc biệt ưu tiên có kinh nghiệm làm việc ở các lĩnh vực kinh doanh phần mềm, bán hàng, tư vấn, tiếp thị các sản phẩm về CNTT là 1 lợi thế.
  • +
  • Có kỹ năng giao tiếp thuyết phục đàm phán tốt , năng động, cải tiến, sáng tạo, chủ động trong công việc.
  • +
  • Tinh thần trách nhiệm trong công việc. Yêu thích công việc kinh doanh và không ngừng học hỏi, sẳn sàng tiếp thu các kiến thức mới.
  • +
  • Có laptop, có phương tiện đi lại.
  • +
+

+

Quyền lợi:

+
    +
  • Môi trường làm việc chuyên nghiệp, năng động, thân thiện
  • +
  • Luôn được tiếp xúc với công nghệ và thử thách mới.
  • +
  • Lương: Lương cứng + hoa hồng + phụ cấp xăng xe, điện thoại
  • +
  • Thưởng theo ngày lễ, tết
  • +
  • Được đào tạo kĩ năng mềm ( kỹ năng giao tiếp, xử lý tình huống…..)
  • +
  • Làm việc từ T2 – sáng T7
  • +
  • Đóng bảo hiểm theo quy định của Nhà nước
  • +
  • Được hưởng đầy đủ các chế độ theo quy định của luật lao động
  • +
+

Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email info@hurasoft.com

` + }, { + "title": "Nhân viên chăm sóc khách hàng", + "path": "nhan-vien-cham-soc-khach-hang.html", + "salary": "Thỏa thuận", + "end_date": "31-12-2024", + "location": "Hà Nội", + "applicant_count": 1, + "description": `

MÔ TẢ CÔNG VIỆC

+

- Tư vấn các khách hàng tiềm năng sản phẩm, dịch vụ của công ty ( sản phẩm phần mềm)

+

- Chốt hợp đồng khách hàng, triển khai quy trình làm việc với khách hàng.

+

- Hỗ trợ và chăm sóc khách hàng để đảm bảo khách hàng khai thác tối đa lợi ích của sản phẩm.

+

- Làm việc với các phòng ban liên quan để liên tục cải thiện, nâng cao chất lượng sản phẩm

+

+

YÊU CẦU CÔNG VIỆC

+

- Nữ từ 1992 - 2002

+

- Ưu tiên ứng viên được đào tạo chuyên ngành quản trị kinh doanh, CNTT, Thương mại điện tử, marketing hoặc các ngành liên quan.

+

- Không có kinh nghiệm sẽ được đào tạo, nhưng đã có kinh nghiệm làm việc ở môi trường doanh nghiệp là một lợi thế

+

- Ứng viên muốn tìm một nơi gắn bó lâu dài, được đào tạo để phát triển sự nghiệp

+

- Tinh thần trách nhiệm trong công việc. Yêu thích công việc làm việc với khách hàng, sẳn sàng tiếp thu các kiến thức mới

+

+

QUYỀN LỢI ĐƯỢC HƯỞNG

+

- Môi trường trẻ, năng động, được đào tạo kiến thức về sản phẩm TMĐT, công nghệ

+

- Thưởng theo ngày lễ, tết

+

- Được đào tạo kĩ năng mềm ( kỹ năng giao tiếp, xử lý tình huống…..)

+

- Thời gian làm việc: 8h30 - 17h30 (từ T2 – sáng T7 )

+

- Đóng bảo hiểm theo quy định của Nhà nước

+

- Được hưởng đầy đủ các chế độ theo quy định của luật lao động

+

+

LIÊN HỆ

+

Ứng viên vui lòng gửi hồ sơ đến email info@hurasoft.com.

` + }, + { + "title": "Lập trình viên front-end", + "path": "lap-trinh-vien-front-end", + "salary": "Thỏa thuận", + "end_date": "31-12-2024", + "location": "Hà Nội", + "applicant_count": 2, + "description": `

Mô tả công việc:

+
    +
  • Tham gia phát triển các sản phẩm web/app của công ty.
  • +
  • Phối hợp với các bộ phận liên quan để đảm bảo tiến độ bàn giao website được triển khai theo đúng cam kết và chất lượng website bàn giao.
  • +
  • Công việc sẽ được trao đổi cụ thể hơn trong quá trình phỏng vấn.
  • +
+

+

Yêu cầu ứng viên:

+
    +
  • Có kinh nghiệm từ 1 năm trở lên phát triển website.
  • +
  • Thành thạo HTML, CSS, Bootstrap.
  • +
  • Biết cơ bản Javascript trở lên (sẽ được đào tạo thêm)
  • +
  • Có kiến thức về chuẩn SEO onpage.
  • +
  • Có khả năng làm việc độc lập.
  • +
  • Có tinh thần trách nhiệm trong công việc.
  • +
+

+

Quyền lợi:

+
    +
  • Lương + hoa hồng dự án theo năng lực.
  • +
  • Review tăng lương 3-6 tháng/ lần.
  • +
  • BHXH BHYT theo quy định.
  • +
  • Được làm việc trong môi trường năng động, có cơ hội học hỏi, phát triển nhanh.
  • +
+

+

Liên hệ:

+

Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email info@hurasoft.com

` + }, { + "title": "Thiết kế đồ họa Website, Mobile (UX Designer)", + "path": "thiet-ke-do-hoa-website-mobile-ux-designer", + "salary": "$500-1,000/tháng", + "end_date": "31-12-2024", + "location": "Hà Nội", + "applicant_count": 2, + "description": `

Mô tả công việc:

+

- Tham gia thiết kế các sản phẩm của công ty (bao gồm website, mobile web, mobile app)

+

- Nghiên cứu các xu hướng thiết kế mới để liên tục cải thiện, nâng cao chất lượng sản phẩm

+

- Phối hợp với các phòng ban liên quan để hoàn thành nhiệm vụ được giao

+

+

Yêu cầu công việc:

+

- Thành thạo Figma, Photoshop

+

- Tiếng Anh đọc hiểu tài liệu

+

- Ưu tiên ứng viên có hiểu biết về HTML/CSS và các thư viện Ant Design, Material Design, Tailwind CSS ..

+

- Năng động, tinh thần làm việc tốt.

+

+

Liên hệ:

+

Ứng viên vui lòng gửi hồ sơ cho chúng tôi qua email info@hurasoft.com

` + } + ] } \ No newline at end of file diff --git a/src/styles/style.css b/src/styles/style.css index 9a30dcb..38a6922 100644 --- a/src/styles/style.css +++ b/src/styles/style.css @@ -35,6 +35,10 @@ body { background: #f4f8fb; font-weight: 400; font-size: 14px; + min-width: 1220px; + min-height: 100vh; + display: flex; + flex-direction: column; } html { @@ -76,7 +80,9 @@ table { padding: 0; list-style: none; } - +main { + flex: 1; +} .container { width: 1220px; padding: 0 10px; @@ -188,15 +194,19 @@ table { flex-wrap: wrap; opacity: 0; visibility: hidden; + z-index: 9999; } .header .item-menu { width: 50%; border-right: 1px solid #f4f8fb; - border-bottom: 1px solid #f4f8fb; + border-top: 1px solid #f4f8fb; padding: 10px; display: flex; align-items: center; } +.header .item-menu:first-child { + border: 0; +} .header .item-menu.chatngay .icon { height: 22px; } @@ -964,7 +974,41 @@ table { text-align: center; margin-bottom: 30px; } - +.page-article .content-article-detail .summary { + padding: 0 100px; + text-align: center; + font-size: 16px; + font-weight: 500; +} +.page-article .content-article-detail .thumbnail { + display: block; + margin: 30px 0; +} +.page-article .content-article-detail .thumbnail img { + display: block; + width: 100%; + height: 100%; + border-radius: 20px; +} +.page-article .content-article-detail .nd p { + font-size: 16px; +} +.nd p, +.nd h1, +.nd h2, +.nd h3, +.nd h4, +.nd h5, +.nd h6 { + margin: 1em 0; + margin-top: 1em; + margin-right: 0px; + margin-bottom: 1em; + margin-left: 0px; +} +.nd * { + line-height: 24px; +} .item-article { width: calc(33.3333333333% - 15px); margin-right: 15px;