Skip to content

Instantly share code, notes, and snippets.

View Banhawy's full-sized avatar
🏠
Working from home

Adham El Banhawy Banhawy

🏠
Working from home
View GitHub Profile
@Banhawy
Banhawy / 0-README.md
Created October 17, 2024 23:56 — forked from infomiho/0-README.md
Using ShadCN with Wasp 0.12+

Using ShadCN with Wasp 0.12 and beyond

Note

We'll be loosly following the Vite instructions for ShadCN since Wasp is using Vite + React: https://ui.shadcn.com/docs/installation/vite We'll skip some of the steps since they don't apply or they are done differently with Wasp.

You won't be able to use the @ alias setup since it's not currently supported by Wasp. Because of this you'll need to adjust some imports when we generate components, but it should be fairly straightforward to do.

1. Enable TailwindCSS if you haven't already

@Banhawy
Banhawy / getStatusCode.js
Created February 19, 2021 00:08
A Google Sheets app script that takes a url and returns the resulting status code from requesting that url
function getStatusCode(url) {
var url_trimmed = url.trim();
// Check if script cache has a cached status code for the given url
var cache = CacheService.getScriptCache();
var result = cache.get(url_trimmed);
// If value is not in cache/or cache is expired fetch a new request to the url
if (!result) {
var options = {
function getRemainingTime(endDate){
// Time difference betwwen now and deadline in milliseconds
let timeDifference = Date.parse(endDate) - Date.parse(new Date())
let seconds = Math.floor( (timeDifference/1000) % 60 )
let minutes = Math.floor( (timeDifference/1000/60) % 60 )
let hours = Math.floor( (timeDifference *60*60) % 24 )
let days = Math.floor( timeDifference/ (1000*60*60*24) )
return `Countdown ${days} Days, ${hours} Hours, ${minutes} minutes, ${seconds} seconds`
}
@Banhawy
Banhawy / donut-spin.css
Last active March 29, 2019 09:17
[Donut spinner] Creates a donut spinner that can be used to indicate the loading of content. #CSS
@keyframes donut-spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.donut {
display: inline-block;
@Banhawy
Banhawy / design_config_form.xml
Last active February 18, 2019 22:09
[Magento Image Uploader Fix] #magento
# Refrences:
# https://community.magento.com/t5/Magento-2-x-Technical-Issues/A-technical-problem-with-the-server-created-an-error-Try-again/td-p/114492/page/3
# https://github.com/magento/magento2/issues/16531
# Change "fileUploader" to "imageUploader" in the "formElement" attribute on lines 57, 154 in vendor/magento/module-theme/view/adminhtml/ui_component/design_config_form.xml
# line 57
<field name="head_shortcut_icon" formElement="imageUploader">
# line 154
@Banhawy
Banhawy / Grep-Admin-Url
Created February 16, 2019 00:01
[Find Magento Admin url] #magento
cat path/tp/docroot/app/etc/env.php | grep "frontName"
@Banhawy
Banhawy / create-user
Created February 6, 2019 16:15
[Signup A Cognito User Using CLI] #aws #cognito #aws-cli
# https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/sign-up.html
aws cognito-idp sign-up \
--region YOUR_COGNITO_REGION \
--client-id YOUR_COGNITO_APP_CLIENT_ID \
--username [email protected] \
--password Passw0rd!
--user-attribute Name=string,Value=string
@Banhawy
Banhawy / s3-policy
Created February 6, 2019 14:40
[Enable CORS on S3 Bucket] #aws #s3
# Go to the s3 bucket's Permissions -> CORS configurations and add the following policy
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
@Banhawy
Banhawy / aync-with-s3
Last active May 1, 2019 08:58
[Sync folder with S3 bucket] #aws
# Reference: https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
aws s3 sync SOURCE_DIR s3://DEST_BUCKET/
@Banhawy
Banhawy / disk-usage
Created February 2, 2019 15:33
[Check a folder size] #linux
du -sh folder_name