5 Commits

Author SHA1 Message Date
dev sp
d3d14ac03a l 2024-01-12 11:30:08 +00:00
kar
7c7dab3638 Merge pull request 'b1' (#2) from b1 into master
Reviewed-on: #2
2024-01-12 08:12:38 +00:00
dev sp
90949cfa69 add bengali langauge 2024-01-12 08:02:21 +00:00
dev sp
23338f28b4 add bengali langauge 2024-01-12 08:01:06 +00:00
kar
d6b5b00ca8 Add public/ads.txt 2024-01-12 06:56:43 +00:00
30 changed files with 775 additions and 39 deletions

View File

@@ -15,7 +15,7 @@ Inside of your Astro project, you'll see the following folders and files:
```
/
├── public/
│ └── favicon.svg
│ └── favicon.ico
├── src/
│ ├── components/
│ │ └── Card.astro

1
public/ads.txt Normal file
View File

@@ -0,0 +1 @@
google.com, pub-9252259454702469, DIRECT, f08c47fec0942fa0

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

View File

@@ -1,13 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 36 36">
<path fill="#000" d="M22.25 4h-8.5a1 1 0 0 0-.96.73l-5.54 19.4a.5.5 0 0 0 .62.62l5.05-1.44a2 2 0 0 0 1.38-1.4l3.22-11.66a.5.5 0 0 1 .96 0l3.22 11.67a2 2 0 0 0 1.38 1.39l5.05 1.44a.5.5 0 0 0 .62-.62l-5.54-19.4a1 1 0 0 0-.96-.73Z"/>
<path fill="url(#gradient)" d="M18 28a7.63 7.63 0 0 1-5-2c-1.4 2.1-.35 4.35.6 5.55.14.17.41.07.47-.15.44-1.8 2.93-1.22 2.93.6 0 2.28.87 3.4 1.72 3.81.34.16.59-.2.49-.56-.31-1.05-.29-2.46 1.29-3.25 3-1.5 3.17-4.83 2.5-6-.67.67-2.6 2-5 2Z"/>
<defs>
<linearGradient id="gradient" x1="16" x2="16" y1="32" y2="24" gradientUnits="userSpaceOnUse">
<stop stop-color="#000"/>
<stop offset="1" stop-color="#000" stop-opacity="0"/>
</linearGradient>
</defs>
<style>
@media (prefers-color-scheme:dark){:root{filter:invert(100%)}}
</style>
</svg>

Before

Width:  |  Height:  |  Size: 873 B

1
public/img/facebook.svg Normal file
View File

@@ -0,0 +1 @@
<svg width="70px" height="70px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <circle cx="16" cy="16" r="14" fill="url(#paint0_linear_87_7208)"></circle> <path d="M21.2137 20.2816L21.8356 16.3301H17.9452V13.767C17.9452 12.6857 18.4877 11.6311 20.2302 11.6311H22V8.26699C22 8.26699 20.3945 8 18.8603 8C15.6548 8 13.5617 9.89294 13.5617 13.3184V16.3301H10V20.2816H13.5617V29.8345C14.2767 29.944 15.0082 30 15.7534 30C16.4986 30 17.2302 29.944 17.9452 29.8345V20.2816H21.2137Z" fill="white"></path> <defs> <linearGradient id="paint0_linear_87_7208" x1="16" y1="2" x2="16" y2="29.917" gradientUnits="userSpaceOnUse"> <stop stop-color="#18ACFE"></stop> <stop offset="1" stop-color="#0163E0"></stop> </linearGradient> </defs> </g></svg>

After

Width:  |  Height:  |  Size: 908 B

1
public/img/whatsapp.svg Normal file
View File

@@ -0,0 +1 @@
<svg width="70px" height="70px" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"> <path fill-rule="evenodd" clip-rule="evenodd" d="M16 31C23.732 31 30 24.732 30 17C30 9.26801 23.732 3 16 3C8.26801 3 2 9.26801 2 17C2 19.5109 2.661 21.8674 3.81847 23.905L2 31L9.31486 29.3038C11.3014 30.3854 13.5789 31 16 31ZM16 28.8462C22.5425 28.8462 27.8462 23.5425 27.8462 17C27.8462 10.4576 22.5425 5.15385 16 5.15385C9.45755 5.15385 4.15385 10.4576 4.15385 17C4.15385 19.5261 4.9445 21.8675 6.29184 23.7902L5.23077 27.7692L9.27993 26.7569C11.1894 28.0746 13.5046 28.8462 16 28.8462Z" fill="#BFC8D0"></path> <path d="M28 16C28 22.6274 22.6274 28 16 28C13.4722 28 11.1269 27.2184 9.19266 25.8837L5.09091 26.9091L6.16576 22.8784C4.80092 20.9307 4 18.5589 4 16C4 9.37258 9.37258 4 16 4C22.6274 4 28 9.37258 28 16Z" fill="url(#paint0_linear_87_7264)"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M16 30C23.732 30 30 23.732 30 16C30 8.26801 23.732 2 16 2C8.26801 2 2 8.26801 2 16C2 18.5109 2.661 20.8674 3.81847 22.905L2 30L9.31486 28.3038C11.3014 29.3854 13.5789 30 16 30ZM16 27.8462C22.5425 27.8462 27.8462 22.5425 27.8462 16C27.8462 9.45755 22.5425 4.15385 16 4.15385C9.45755 4.15385 4.15385 9.45755 4.15385 16C4.15385 18.5261 4.9445 20.8675 6.29184 22.7902L5.23077 26.7692L9.27993 25.7569C11.1894 27.0746 13.5046 27.8462 16 27.8462Z" fill="white"></path> <path d="M12.5 9.49989C12.1672 8.83131 11.6565 8.8905 11.1407 8.8905C10.2188 8.8905 8.78125 9.99478 8.78125 12.05C8.78125 13.7343 9.52345 15.578 12.0244 18.3361C14.438 20.9979 17.6094 22.3748 20.2422 22.3279C22.875 22.2811 23.4167 20.0154 23.4167 19.2503C23.4167 18.9112 23.2062 18.742 23.0613 18.696C22.1641 18.2654 20.5093 17.4631 20.1328 17.3124C19.7563 17.1617 19.5597 17.3656 19.4375 17.4765C19.0961 17.8018 18.4193 18.7608 18.1875 18.9765C17.9558 19.1922 17.6103 19.083 17.4665 19.0015C16.9374 18.7892 15.5029 18.1511 14.3595 17.0426C12.9453 15.6718 12.8623 15.2001 12.5959 14.7803C12.3828 14.4444 12.5392 14.2384 12.6172 14.1483C12.9219 13.7968 13.3426 13.254 13.5313 12.9843C13.7199 12.7145 13.5702 12.305 13.4803 12.05C13.0938 10.953 12.7663 10.0347 12.5 9.49989Z" fill="white"></path> <defs> <linearGradient id="paint0_linear_87_7264" x1="26.5" y1="7" x2="4" y2="28" gradientUnits="userSpaceOnUse"> <stop stop-color="#5BD066"></stop> <stop offset="1" stop-color="#27B43E"></stop> </linearGradient> </defs> </g></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -11,11 +11,12 @@
<div class="line3"></div>
</div>
<ul class="nav-links">
<li><a class="text-yellow-500" href="/bn">বাংলা</a></li>
<li><a href="/">Home</a></li>
<li><a href="/national">National</a></li>
<li><a href="/politics">Politics</a></li>
<li><a href="/local">Local</a></li>
<li><a href="/article">Article</a></li>
<li><a href="/technology">Technology</a></li>
<!-- <li><a href="/about-us">About</a></li> -->
<li><a href="/contact">Contact</a></li>

View File

@@ -0,0 +1,238 @@
<main>
<div>
<nav>
<div class="logo">
<!-- <img class="w-[50px] rounded-full drop-shadow-2xl p-0.5 animate-[spin_3s_ease]" src="/img/logo.svg" alt="" /> animate-[bounce_3s_ease] -->
<a href="/bn"><img class=" border-2 rounded-md border-white shadow-md shadow-white drop-shadow-2xl " src="/img/barta_logo.png" alt="Barta Logo" /></a>
</div>
<div class="hamburger">
<div class="line1"></div>
<div class="line2"></div>
<div class="line3"></div>
</div>
<ul class="nav-links">
<li><a class="text-yellow-500" href="/">English</a></li>
<li><a href="/bn">হোম</a></li>
<li><a href="/bn/national">জাতীয়</a></li>
<li><a href="/bn/politics">রাজনীতি</a></li>
<li><a href="/bn/local">স্থানীয়</a></li>
<li><a href="/bn/technology">প্রযুক্তি</a></li>
<!-- <li><a href="/about-us">About</a></li> -->
<li><a href="/contact">যোগাযোগ</a></li>
<!-- <li><a href="/login">Login</a></li> -->
<!-- <li><a href="/sign-up">Signup</a></li> -->
<!-- <li><button class="login-button">Login</button></li>
<li><button class="join-button">Join</button></li> -->
</ul>
</nav>
</div>
</main>
<script is:inline>
const hamburger = document.querySelector(".hamburger");
const navLinks = document.querySelector(".nav-links");
const links = document.querySelectorAll(".nav-links li");
hamburger.addEventListener('click', ()=>{
//Animate Links
navLinks.classList.toggle("open");
links.forEach(link => {
link.classList.toggle("fade");
});
//Hamburger Animation
hamburger.classList.toggle("toggle");
});
</script>
<style>
*{
/* margin: 0;
padding: 0; */
color: #FFFFFF;
z-index: 0;
/* font-family: sans-serif;
letter-spacing: 1px;
font-weight: 300; */
}
body{
overflow-x: hidden;
}
nav{
height: 6rem;
width: 100vw;
top: 0px;
/* margin-bottom: 800px; */
background-color: #780a0a;
box-shadow: 0 3px 20px rgba(0, 0, 0, 0.2);
display: flex;
position: fixed;
z-index: 20;
}
/*Styling logo*/
.logo{
padding:1vh 1vw;
text-align: center;
}
.logo img {
height: 5rem;
width: 8rem;
}
/*Styling Links*/
.nav-links{
display: flex;
list-style: none;
width: 88vw;
padding: 0 0.7vw;
justify-content: right;
/* justify-content: space-evenly; */
align-items: center;
text-transform: uppercase;
}
.nav-links li a{
text-decoration: none;
margin: 0 0.7vw;
}
.nav-links li a:hover {
color: #FFFFFF;
}
.nav-links li {
position: relative;
}
.nav-links li a::before {
content: "";
display: block;
height: 3px;
width: 0%;
background-color: #FFFFFF;
position: absolute;
transition: all ease-in-out 250ms;
margin: 0 0 0 10%;
}
.nav-links li a:hover::before{
width: 80%;
}
/*Styling Buttons*/
.login-button{
background-color: transparent;
border: 1.5px solid #f2f5f7;
border-radius: 2em;
padding: 0.6rem 0.8rem;
margin-left: 2vw;
font-size: 1rem;
cursor: pointer;
}
.login-button:hover {
color: #131418;
background-color: #f2f5f7;
border:1.5px solid #f2f5f7;
transition: all ease-in-out 350ms;
}
.join-button{
color: #131418;
background-color: #61DAFB;
border: 1.5px solid #61DAFB;
border-radius: 2em;
padding: 0.6rem 0.8rem;
font-size: 1rem;
cursor: pointer;
}
.join-button:hover {
color: #f2f5f7;
background-color: transparent;
border:1.5px solid #f2f5f7;
transition: all ease-in-out 350ms;
}
/*Styling Hamburger Icon*/
.hamburger div{
width: 30px;
height:3px;
background: #7c4c23;
margin: 5px;
transition: all 0.3s ease;
}
.hamburger{
display: none;
}
/*Stying for small screens*/
@media screen and (max-width: 800px){
nav{
position: fixed;
z-index: 3;
}
.hamburger{
display:block;
position: absolute;
cursor: pointer;
right: 5%;
top: 50%;
transform: translate(-5%, -50%);
z-index: 2;
transition: all 0.7s ease;
}
.nav-links{
position: fixed;
background: #131418;
height: 100%;
width: 100%;
/* margin-left: 50%; */
flex-direction: column;
clip-path: circle(50px at 90% -20%);
-webkit-clip-path: circle(50px at 90% -10%);
transition: all 1s ease-out;
pointer-events: none;
justify-content: space-evenly;
}
.nav-links.open{
clip-path: circle(1000px at 90% -10%);
-webkit-clip-path: circle(1000px at 90% -10%);
pointer-events: all;
}
.nav-links li{
opacity: 0;
}
.nav-links li:nth-child(1){
transition: all 0.5s ease 0.2s;
}
.nav-links li:nth-child(2){
transition: all 0.5s ease 0.4s;
}
.nav-links li:nth-child(3){
transition: all 0.5s ease 0.6s;
}
.nav-links li:nth-child(4){
transition: all 0.5s ease 0.7s;
}
.nav-links li:nth-child(5){
transition: all 0.5s ease 0.8s;
}
.nav-links li:nth-child(6){
transition: all 0.5s ease 0.9s;
margin: 0;
}
.nav-links li:nth-child(7){
transition: all 0.5s ease 1s;
margin: 0;
}
li.fade{
opacity: 1;
}
}
/*Animating Hamburger Icon on Click*/
.toggle .line1{
transform: rotate(-45deg) translate(-5px,6px);
}
.toggle .line2{
transition: all 0.7s ease;
width:0;
}
.toggle .line3{
transform: rotate(45deg) translate(-5px,-6px);
}
</style>

View File

@@ -14,7 +14,7 @@ const { title } = Astro.props;
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<link rel="icon" type="image/ico+xml" href="/favicon.ico" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
@@ -29,6 +29,7 @@ const { title } = Astro.props;
<Footer />
</body>
</html>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9252259454702469" crossorigin="anonymous"></script>
<style is:global>
/* :root {
--accent: 124, 58, 237;

View File

@@ -0,0 +1,46 @@
---
import MainHeaderBN from '../components/MainHeaderBN.astro';
import TopHeader from '../components/TopHeader.astro';
import Footer from '../components/Footer.astro';
export interface Props {
title: string;
}
const { title } = Astro.props;
---
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/ico+xml" href="/favicon.ico" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
</head>
<body>
<div>
<MainHeaderBN />
</div>
<div class="mt-[150px]">
<slot />
</div>
<Footer />
</body>
</html>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9252259454702469" crossorigin="anonymous"></script>
<style is:global>
/* :root {
--accent: 124, 58, 237;
--accent-gradient: linear-gradient(45deg, rgb(var(--accent)), #da62c4 30%, white 60%);
}
html {
font-family: system-ui, sans-serif;
background-color: #F6F6F6;
}
code {
font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
Bitstream Vera Sans Mono, Courier New, monospace;
} */
</style>

View File

@@ -1,14 +1,14 @@
---
import Layout from '../layouts/Layout.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[lang][_eq]=english');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[lang][_eq]=english');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);
@@ -18,15 +18,32 @@ const items = data.data[idx];
<Layout title={items.title}>
<main>
<section class="container mx-auto px-4 mt-16">
<div class="flex flex-col">
<div class="flex flex-col justify-center">
<h1 class="text-3xl font-bold border-b-4 border-[#780A0A]">{items.heading}</h1>
<h2 class="text-xl py-2">{items.title}</h2>
<img class="lg:w-[60%]" src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} />
<div class="flex flex-row justify-center">
<img src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} style="width: 40%;" />
<div class="flex flex-col">
<a href=`whatsapp://send?text=${items.title}%20%0A%20https://barta-india.in/${items.slug}` data-action="share/whatsapp/share"><img src="/img/whatsapp.svg" alt=""/> </a>
<a href=`https://www.facebook.com/share.php?u=https://barta-india.in/${items.slug}` target="_blank"><img src="/img/facebook.svg" alt=""/></a>
</div>
</div>
<div class="flex flex-row">
<!-- <a href="whatsapp://send?text=Your%20description%20text%20goes%20here%20-%20https%3A%2F%2Fexample.com" data-action="share/whatsapp/share">Share via WhatsApp</a> -->
<!-- <a href="https://wa.me/whatsappphonenumber/?text=urlencodedtext">Share whatsapp</a> -->
<!-- <a href="https://api.whatsapp.com/send?text=Your%20Message&phone=1234567890" target="_blank">Share on WhatsApp</a> -->
</div>
<p class="text-justify text-red-700 mt-4" set:html={items.content}></p>
</div>
</section>
</main>
</Layout>
<script is:inline>
// let whatsAppurl = document.location.href;
// console.log(whatsAppurl);
// document.getElementById('whatsappURL').href = `whatsapp://send?text=${whatsAppurl}`;
// document.getElementById('whatsappURL').href = `whatsapp://send?text=Sample Text%20goes%20here%20-%20${whatsAppurl}`
</script>
<style>
section > div > p > p {
text-align: justify;

34
src/pages/bn/[id].astro Normal file
View File

@@ -0,0 +1,34 @@
---
import LayoutBN from '../../layouts/LayoutBN.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[lang][_eq]=bengali');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[lang][_eq]=bengali');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);
const items = data.data[idx];
// console.log(data.data[idx])
---
<LayoutBN title={items.title}>
<main>
<section class="container mx-auto px-4 mt-16">
<div class="flex flex-col">
<h1 class="text-3xl font-bold border-b-4 border-[#780A0A]">{items.heading}</h1>
<h2 class="text-xl py-2">{items.title}</h2>
<img class="lg:w-[60%]" src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} />
<p class="text-justify text-red-700 mt-4" set:html={items.content}></p>
</div>
</section>
</main>
</LayoutBN>
<style>
section > div > p > p {
text-align: justify;
}
</style>

54
src/pages/bn/index.astro Normal file
View File

@@ -0,0 +1,54 @@
---
import LayoutBN from '../../layouts/LayoutBN.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?sort=-date_created&filter[lang][_eq]=bengali');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
// const data = fetchDataJSON.data;
// console.log()
---
<LayoutBN title="Barta News">
<main>
<section class="container mx-auto px-4">
<div class="my-16">
<span class="text-[#780a0a] font-bold" id="pageName"></span>
<h1 class="text-4xl font-bold border-b-4 border-[#780A0A]">Latest News</h1>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/bn/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">
<p id="" set:html={items.content}></p>
</div>
</div>
<div class="flex justify-end">
<a href={`/bn/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
</div>
</div>
)}
</div>
<!-- <div class="flex flex-col">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined;}) =>
<div class="flex flex-col border-2 gap-6 p-6">
<h1 class="border-b-4 border-[#780a0a] text-2xl font-bold">{items.heading}</h1>
<h2 class="text-lg">{items.title}</h2>
<img src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
</div>
)}
</div> -->
</section>
</main>
</LayoutBN>
<script is:inline>
const pageName = window.location.href.split('/')[3];
document.getElementById('pageName').innerHTML = '>&nbsp;' + pageName;
// console.log(pageName)
</script>
<style>
</style>

View File

@@ -0,0 +1,34 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&filter[lang][_eq]=bengali');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&filter[lang][_eq]=bengali');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);
const items = data.data[idx];
// console.log(data.data[idx])
---
<LayoutBN title={items.title}>
<main>
<section class="container mx-auto px-4 mt-16">
<div class="flex flex-col">
<h1 class="text-3xl font-bold border-b-4 border-[#780A0A]">{items.heading}</h1>
<h2 class="text-xl py-2">{items.title}</h2>
<img class="lg:w-[60%]" src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} />
<p class="text-justify text-red-700 mt-4" set:html={items.content}></p>
</div>
</section>
</main>
</LayoutBN>
<style>
section > div > p > p {
text-align: justify;
}
</style>

View File

@@ -0,0 +1,55 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&sort=-date_created&filter[lang][_eq]=bengali');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
// const data = fetchDataJSON.data;
// console.log()
---
<LayoutBN title="Barta News">
<main>
<section class="container mx-auto px-4">
<div class="my-16">
<span class="text-[#780a0a] font-bold" id="pageName"></span>
<h1 class="text-4xl font-bold border-b-4 border-[#780A0A]">Latest News</h1>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/bn/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">
<p id="" set:html={items.content}></p>
</div>
</div>
<div class="flex justify-end">
<a href={`/bn/local/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
</div>
</div>
)}
</div>
<!-- <div class="flex flex-col">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined;}) =>
<div class="flex flex-col border-2 gap-6 p-6">
<h1 class="border-b-4 border-[#780a0a] text-2xl font-bold">{items.heading}</h1>
<h2 class="text-lg">{items.title}</h2>
<img src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
</div>
)}
</div> -->
</section>
</main>
</LayoutBN>
<script is:inline>
const pageName = window.location.href.split('/')[3];
const pageName2 = window.location.href.split('/')[4];
document.getElementById('pageName').innerHTML = '>&nbsp;' + pageName + '&nbsp;>&nbsp;' + pageName2;
// console.log(pageName)
</script>
<style>
</style>

View File

@@ -0,0 +1,34 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&filter[lang][_eq]=bengali');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&filter[lang][_eq]=bengali');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);
const items = data.data[idx];
// console.log(data.data[idx])
---
<LayoutBN title={items.title}>
<main>
<section class="container mx-auto px-4 mt-16">
<div class="flex flex-col">
<h1 class="text-3xl font-bold border-b-4 border-[#780A0A]">{items.heading}</h1>
<h2 class="text-xl py-2">{items.title}</h2>
<img class="lg:w-[60%]" src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} />
<p class="text-justify text-red-700 mt-4" set:html={items.content}></p>
</div>
</section>
</main>
</LayoutBN>
<style>
section > div > p > p {
text-align: justify;
}
</style>

View File

@@ -0,0 +1,55 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&sort=-date_created&filter[lang][_eq]=bengali');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
// const data = fetchDataJSON.data;
// console.log()
---
<LayoutBN title="Barta News">
<main>
<section class="container mx-auto px-4">
<div class="my-16">
<span class="text-[#780a0a] font-bold" id="pageName"></span>
<h1 class="text-4xl font-bold border-b-4 border-[#780A0A]">Latest News</h1>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/bn/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">
<p id="" set:html={items.content}></p>
</div>
</div>
<div class="flex justify-end">
<a href={`/bn/national/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
</div>
</div>
)}
</div>
<!-- <div class="flex flex-col">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined;}) =>
<div class="flex flex-col border-2 gap-6 p-6">
<h1 class="border-b-4 border-[#780a0a] text-2xl font-bold">{items.heading}</h1>
<h2 class="text-lg">{items.title}</h2>
<img src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
</div>
)}
</div> -->
</section>
</main>
</LayoutBN>
<script is:inline>
const pageName = window.location.href.split('/')[3];
const pageName2 = window.location.href.split('/')[4];
document.getElementById('pageName').innerHTML = '>&nbsp;' + pageName + '&nbsp;>&nbsp;' + pageName2;
// console.log(pageName)
</script>
<style>
</style>

View File

@@ -0,0 +1,34 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&filter[lang][_eq]=bengali');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&filter[lang][_eq]=bengali');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);
const items = data.data[idx];
// console.log(data.data[idx])
---
<LayoutBN title={items.title}>
<main>
<section class="container mx-auto px-4 mt-16">
<div class="flex flex-col">
<h1 class="text-3xl font-bold border-b-4 border-[#780A0A]">{items.heading}</h1>
<h2 class="text-xl py-2">{items.title}</h2>
<img class="lg:w-[60%]" src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} />
<p class="text-justify text-red-700 mt-4" set:html={items.content}></p>
</div>
</section>
</main>
</LayoutBN>
<style>
/* section > div > p > p {
text-align: justify;
} */
</style>

View File

@@ -0,0 +1,55 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&sort=-date_created&filter[lang][_eq]=bengali');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
// const data = fetchDataJSON.data;
// console.log()
---
<LayoutBN title="Barta News">
<main>
<section class="container mx-auto px-4">
<div class="my-16">
<span class="text-[#780a0a] font-bold" id="pageName"></span>
<h1 class="text-4xl font-bold border-b-4 border-[#780A0A]">Latest News</h1>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/bn/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">
<p id="" set:html={items.content}></p>
</div>
</div>
<div class="flex justify-end">
<a href={`/bn/politics/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
</div>
</div>
)}
</div>
<!-- <div class="flex flex-col">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined;}) =>
<div class="flex flex-col border-2 gap-6 p-6">
<h1 class="border-b-4 border-[#780a0a] text-2xl font-bold">{items.heading}</h1>
<h2 class="text-lg">{items.title}</h2>
<img src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
</div>
)}
</div> -->
</section>
</main>
</LayoutBN>
<script is:inline>
const pageName = window.location.href.split('/')[3];
const pageName2 = window.location.href.split('/')[4];
document.getElementById('pageName').innerHTML = '>&nbsp;' + pageName + '&nbsp;>&nbsp;' + pageName2;
// console.log(pageName)
</script>
<style>
</style>

View File

@@ -0,0 +1,34 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=technology&filter[lang][_eq]=bengali');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=technology&filter[lang][_eq]=bengali');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);
const items = data.data[idx];
// console.log(data.data[idx])
---
<LayoutBN title={items.title}>
<main>
<section class="container mx-auto px-4 mt-16">
<div class="flex flex-col">
<h1 class="text-3xl font-bold border-b-4 border-[#780A0A]">{items.heading}</h1>
<h2 class="text-xl py-2">{items.title}</h2>
<img class="lg:w-[60%]" src={`https://api7.siliconpin.com/assets/${items.img}`} alt={items.title} />
<p class="text-justify text-red-700 mt-4" set:html={items.content}></p>
</div>
</section>
</main>
</LayoutBN>
<style>
section > div > p > p {
text-align: justify;
}
</style>

View File

@@ -0,0 +1,55 @@
---
import LayoutBN from '../../../layouts/LayoutBN.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=technology&sort=-date_created&filter[lang][_eq]=bengali');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
// const data = fetchDataJSON.data;
// console.log()
---
<LayoutBN title="Barta News">
<main>
<section class="container mx-auto px-4">
<div class="my-16">
<span class="text-[#780a0a] font-bold" id="pageName"></span>
<h1 class="text-4xl font-bold border-b-4 border-[#780A0A]">Latest News</h1>
</div>
<div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/bn/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">
<p id="" set:html={items.content}></p>
</div>
</div>
<div class="flex justify-end">
<a href={`/bn/technology/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
</div>
</div>
)}
</div>
<!-- <div class="flex flex-col">
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined;}) =>
<div class="flex flex-col border-2 gap-6 p-6">
<h1 class="border-b-4 border-[#780a0a] text-2xl font-bold">{items.heading}</h1>
<h2 class="text-lg">{items.title}</h2>
<img src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
</div>
)}
</div> -->
</section>
</main>
</LayoutBN>
<script is:inline>
const pageName = window.location.href.split('/')[3];
const pageName2 = window.location.href.split('/')[4];
document.getElementById('pageName').innerHTML = '>&nbsp;' + pageName + '&nbsp;>&nbsp;' + pageName2;
// console.log(pageName)
</script>
<style>
</style>

View File

@@ -1,6 +1,6 @@
---
import Layout from '../layouts/Layout.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?sort=-date_created');
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?sort=-date_created&filter[lang][_eq]=english');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
@@ -41,7 +41,6 @@ const data = dataJSON.data;
</section>
</main>
</Layout>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9252259454702469" crossorigin="anonymous"></script>
<script is:inline>
</script>

View File

@@ -1,14 +1,14 @@
---
import Layout from '../../layouts/Layout.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&filter[lang][_eq]=english');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&filter[lang][_eq]=english');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);

View File

@@ -1,6 +1,6 @@
---
import Layout from '../../layouts/Layout.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&sort=-date_created');
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=local&sort=-date_created&filter[lang][_eq]=english');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
@@ -19,7 +19,7 @@ const data = dataJSON.data;
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<a href={`/local${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">

View File

@@ -1,14 +1,14 @@
---
import Layout from '../../layouts/Layout.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&filter[lang][_eq]=english');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&filter[lang][_eq]=english');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);

View File

@@ -1,6 +1,6 @@
---
import Layout from '../../layouts/Layout.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&sort=-date_created');
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=national&sort=-date_created&filter[lang][_eq]=english');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
@@ -19,7 +19,7 @@ const data = dataJSON.data;
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<a href={`/national${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">

View File

@@ -1,14 +1,14 @@
---
import Layout from '../../layouts/Layout.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&filter[lang][_eq]=english');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&filter[lang][_eq]=english');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);

View File

@@ -1,6 +1,6 @@
---
import Layout from '../../layouts/Layout.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&sort=-date_created');
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=politics&sort=-date_created&filter[lang][_eq]=english');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
@@ -19,7 +19,7 @@ const data = dataJSON.data;
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<a href={`/politics${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">

View File

@@ -1,14 +1,14 @@
---
import Layout from '../../layouts/Layout.astro';
export async function getStaticPaths() {
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=article');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=technology&filter[lang][_eq]=english');
const data = await response.json();
const finalData = data.data.map((n: { slug: string | undefined; })=>{
return {params: {id:n.slug}}
})
return finalData;
}
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=article');
const response = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=technology&filter[lang][_eq]=english');
const data = await response.json();
const { id } = Astro.params;
const idx = data.data.findIndex((n: { slug: string | undefined; }) => n.slug ===id);

View File

@@ -1,6 +1,6 @@
---
import Layout from '../../layouts/Layout.astro';
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=article&sort=-date_created');
const fetchData = await fetch('https://api7.siliconpin.com/items/barta?filter[status][_eq]=published&filter[category][_eq]=technology&sort=-date_created&filter[lang][_eq]=english');
const dataJSON = await fetchData.json();
const data = dataJSON.data;
// const imageData = data.image;
@@ -19,7 +19,7 @@ const data = dataJSON.data;
{data.map((items: {heading: string | undefined; img: string | undefined; title : string | undefined; content : string | undefined; slug : string | undefined;}) =>
<div class="flex flex-col border-2 border-[#780a0a] gap-6 p-6 place-content-between rounded-lg">
<div class="flex flex-col">
<a href={`/${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<a href={`/technology${items.slug}`} class="border-b-4 border-[#780a0a] text-2xl font-bold line-clamp-1">{items.heading}</a>
<h2 class="text-lg line-clamp-1">{items.title}</h2>
<img class="aspect-video " src={`https://api7.siliconpin.com/assets/${items.img}`} alt=""/>
<div class="h-[100px] overflow-y-hidden">
@@ -27,7 +27,7 @@ const data = dataJSON.data;
</div>
</div>
<div class="flex justify-end">
<a href={`/article/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
<a href={`/technology/${items.slug}`} class="bg-[#780A0A] text-white rounded-md font-bold py-2 px-6">Read More</a>
</div>
</div>
)}