Skip to content

Commit 10d6d93

Browse files
committed
something
1 parent 878ae7d commit 10d6d93

11 files changed

+91
-99
lines changed

android-chrome-192x192.png

3.71 KB
Loading

android-chrome-512x512.png

3.72 KB
Loading

apple-touch-icon.png

3.1 KB
Loading

cache_notice.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
document.addEventListener("DOMContentLoaded", function () {
2+
function showCacheNotice() {
3+
if (!localStorage.getItem("cacheNoticeDismissed")) {
4+
document.getElementById("cacheNotice").style.display = "block";
5+
}
6+
}
7+
8+
window.dismissNotice = function () {
9+
localStorage.setItem("cacheNoticeDismissed", "true");
10+
document.getElementById("cacheNotice").style.display = "none";
11+
};
12+
13+
showCacheNotice();
14+
});

cache_service_worker.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
const CACHE_NAME = "kabirnayeem99-cache-v1";
2+
const urlsToCache = [
3+
"/",
4+
"/index.html",
5+
"/project.html",
6+
"/work.html",
7+
"/style.css",
8+
"/android-chrome-192x192.png",
9+
"/android-chrome-512x512.png",
10+
"/apple-touch-icon.png",
11+
"/favicon-16x16.png",
12+
"/favicon-32x32.png",
13+
"/favicon.ico",
14+
"/favicon.png",
15+
];
16+
17+
self.addEventListener("install", (event) => {
18+
event.waitUntil(
19+
caches.open(CACHE_NAME).then((cache) => {
20+
return cache.addAll(urlsToCache);
21+
})
22+
);
23+
});
24+
25+
self.addEventListener("fetch", (event) => {
26+
event.respondWith(
27+
caches.match(event.request).then((response) => {
28+
return response || fetch(event.request);
29+
})
30+
);
31+
});

favicon-16x16.png

-5 Bytes
Loading

favicon-32x32.png

362 Bytes
Loading

favicon.ico

0 Bytes
Binary file not shown.

index.html

+15-13
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,7 @@
2525
property="og:description"
2626
content="Software engineer skilled in Android, iOS, Kotlin Multiplatform, and Flutter. Passionate about scalable solutions, problem-solving, and continuous learning."
2727
/>
28-
<meta
29-
property="og:image"
30-
content="favicon.io"
31-
/>
28+
<meta property="og:image" content="favicon.io" />
3229
<meta property="og:url" content="https://kabirnayeem99.github.io" />
3330
<meta property="og:type" content="website" />
3431

@@ -69,22 +66,27 @@ <h2>Quick Links</h2>
6966
<h2>Contact</h2>
7067
<p>
7168
GitHub:
72-
<a href="https://github.com/kabirnayeem99" target="_blank"
73-
>kabirnayeem99</a
74-
>
69+
<a href="https://github.com/kabirnayeem99" target="_blank">
70+
kabirnayeem99
71+
</a>
7572
</p>
7673
<p>
7774
LinkedIn:
78-
<a href="https://www.linkedin.com/in/kabirnayeem99/" target="_blank"
79-
>Naimul Kabir</a
80-
>
75+
<a href="https://www.linkedin.com/in/kabirnayeem99/" target="_blank">
76+
Naimul Kabir
77+
</a>
8178
</p>
8279
<p>
8380
Email:
84-
<a href="mailto:[email protected]" target="_blank"
85-
86-
>
81+
<a href="mailto:[email protected]" target="_blank">
82+
83+
</a>
8784
</p>
8885
</div>
86+
<div class="cache-notice" id="cacheNotice">
87+
From the River to the Sea, Filistin will be free.
88+
<button onclick="dismissNotice()">Agreed</button>
89+
</div>
90+
<script src="cache_notice.js"></script>
8991
</body>
9092
</html>

site.webmanifest

+1-27
Original file line numberDiff line numberDiff line change
@@ -1,27 +1 @@
1-
{
2-
"name": "Naimul Kabir - Software Engineer | Android, iOS, KMP, Flutter",
3-
"short_name": "Naimul Kabir",
4-
"description": "Portfolio of Naimul Kabir, a Software Engineer specializing in Android, iOS, Kotlin Multiplatform, and Flutter.",
5-
"start_url": "/index.html",
6-
"display": "standalone",
7-
"orientation": "portrait",
8-
"theme_color": "#BDD3B3",
9-
"background_color": "#BDD3B3",
10-
"icons": [
11-
{
12-
"src": "/android-chrome-192x192.png",
13-
"sizes": "192x192",
14-
"type": "image/png",
15-
"purpose": "any maskable"
16-
},
17-
{
18-
"src": "/android-chrome-512x512.png",
19-
"sizes": "512x512",
20-
"type": "image/png",
21-
"purpose": "any maskable"
22-
}
23-
],
24-
"scope": "/",
25-
"related_applications": [],
26-
"prefer_related_applications": false
27-
}
1+
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

styles.css

+30-59
Original file line numberDiff line numberDiff line change
@@ -2,71 +2,42 @@
22

33
body {
44
font-family: "JetBrains Mono", monospace;
5-
background-color: #bdd3b3;
6-
color: #000;
7-
text-align: center;
8-
margin: 40px;
5+
padding: 0 20%;
96
}
107

118
@media (max-width: 768px) {
129
body {
13-
margin: 12px;
10+
padding: 0 2%;
1411
}
1512
}
1613

17-
.container {
18-
padding: 20px;
19-
background: #ffffffcc;
20-
border: 2px solid #101315;
21-
box-shadow: 5px 5px 0px #101315;
22-
opacity: 0;
23-
transform: translateY(20px);
24-
animation: fadeIn 1s ease-out forwards;
25-
}
26-
27-
@keyframes fadeIn {
28-
to {
29-
opacity: 1;
30-
transform: translateY(0);
31-
}
32-
}
33-
34-
a {
35-
color: #1a4a7b;
36-
text-decoration: none;
37-
position: relative;
38-
}
39-
40-
a::after {
41-
content: "";
42-
position: absolute;
43-
width: 100%;
44-
height: 2px;
45-
bottom: 0;
46-
left: 0;
47-
background-color: #1a4a7b;
48-
transform: scaleX(0);
49-
transition: transform 0.3s ease-in-out;
50-
}
51-
52-
a:hover::after {
53-
transform: scaleX(1);
54-
}
55-
56-
.project-details,
57-
.job-details {
58-
max-height: 0;
59-
overflow: hidden;
60-
transition: max-height 0.5s ease-in-out, padding 0.5s ease-in-out;
61-
padding-top: 0;
62-
}
63-
64-
.project:hover .project-details,
65-
.job:hover .job-details {
66-
max-height: 300px;
67-
padding-top: 10px;
68-
}
69-
70-
h1 {
14+
.cache-notice {
15+
position: fixed;
16+
bottom: 20px;
17+
left: 50%;
18+
transform: translateX(-50%);
19+
background: #fff;
20+
color: black;
21+
padding: 10px;
22+
border: 1px solid transparent;
23+
background: #fff;
24+
font-size: 14px;
25+
z-index: 1000;
26+
display: none;
27+
font-family: "JetBrains Mono", monospace;
7128
text-align: center;
29+
border-image: linear-gradient(to right, #d00, #007a3d, #000) 1;
30+
}
31+
32+
.cache-notice button {
33+
background: #fff;
34+
border: 1px solid transparent;
35+
padding: 5px 10px;
36+
margin-left: 10px;
37+
margin-top: 20px;
38+
cursor: pointer;
39+
font-size: 14px;
40+
font-weight: 600;
41+
font-family: "JetBrains Mono", monospace;
42+
border-image: linear-gradient(to right, #d00, #007a3d, #000) 1;
7243
}

0 commit comments

Comments
 (0)