testing brach

This commit is contained in:
efbe 2023-03-23 10:35:17 +00:00
parent ab7594ffdd
commit 9a7a1f9edf
66 changed files with 702 additions and 203 deletions

5
.firebaserc Normal file
View File

@ -0,0 +1,5 @@
{
"projects": {
"default": "efbe-project"
}
}

View File

@ -0,0 +1,20 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on merge
'on':
push:
branches:
- main
jobs:
build_and_deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_EFBE_PROJECT }}'
channelId: live
projectId: efbe-project

View File

@ -0,0 +1,17 @@
# This file was auto-generated by the Firebase CLI
# https://github.com/firebase/firebase-tools
name: Deploy to Firebase Hosting on PR
'on': pull_request
jobs:
build_and_preview:
if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm ci && npm run build
- uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: '${{ secrets.GITHUB_TOKEN }}'
firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_EFBE_PROJECT }}'
projectId: efbe-project

66
.gitignore vendored Normal file
View File

@ -0,0 +1,66 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
firebase-debug.log*
firebase-debug.*.log*
# Firebase cache
.firebase/
# Firebase config
# Uncomment this if you'd like others to create their own Firebase project.
# For a team working on the same Firebase project(s), it is recommended to leave
# it commented so all members can deploy to the same project(s) in .firebaserc.
# .firebaserc
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env

View File

@ -1,114 +0,0 @@
[debug] [2023-03-23T07:41:02.793Z] ----------------------------------------------------------------------
[debug] [2023-03-23T07:41:02.795Z] Command: /home/efbe/.nvm/versions/node/v14.21.3/bin/node /usr/local/bin/firebase init
[debug] [2023-03-23T07:41:02.796Z] CLI Version: 11.25.1
[debug] [2023-03-23T07:41:02.796Z] Platform: linux
[debug] [2023-03-23T07:41:02.796Z] Node Version: v14.21.3
[debug] [2023-03-23T07:41:02.796Z] Time: Thu Mar 23 2023 07:41:02 GMT+0000 (Coordinated Universal Time)
[debug] [2023-03-23T07:41:02.796Z] ----------------------------------------------------------------------
[debug]
[debug] [2023-03-23T07:41:02.802Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2023-03-23T07:41:02.802Z] > authorizing via signed-in user (fikyb13@gmail.com)
[info]
######## #### ######## ######## ######## ### ###### ########
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## ###### ######## ######### ###### ######
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ######## ## ## ###### ########
You're about to initialize a Firebase project in this directory:
/home/efbe/mylanding
[info]
=== Project Setup
[info]
[info] First, let's associate this project directory with a Firebase project.
[info] You can create multiple project aliases by running firebase use --add,
[info] but for now we'll just set up a default project.
[info]
[debug] [2023-03-23T07:41:08.877Z] >>> [apiv2][query] GET https://firebase.googleapis.com/v1beta1/projects pageSize=100
[debug] [2023-03-23T07:41:09.621Z] <<< [apiv2][status] GET https://firebase.googleapis.com/v1beta1/projects 200
[debug] [2023-03-23T07:41:09.621Z] <<< [apiv2][body] GET https://firebase.googleapis.com/v1beta1/projects [omitted]
[info] i Using project efbe-project (efbe-project)
[info]
=== Hosting Setup
[info]
[info] Your public directory is the folder (relative to your project directory) that
[info] will contain Hosting assets to be uploaded with firebase deploy. If you
[info] have a build process for your assets, use your build's output directory.
[info]
[info] ✔ Wrote public/404.html
[debug] [2023-03-23T07:41:23.013Z] >>> [apiv2][query] GET https://www.gstatic.com/firebasejs/releases.json [none]
[debug] [2023-03-23T07:41:23.144Z] <<< [apiv2][status] GET https://www.gstatic.com/firebasejs/releases.json 200
[debug] [2023-03-23T07:41:23.144Z] <<< [apiv2][body] GET https://www.gstatic.com/firebasejs/releases.json {"current":{"version":"9.18.0","browserURL":"https://www.gstatic.com/firebasejs/9.18.0/firebase.js","packageURL":"https://www.gstatic.com/firebasejs/9.18.0/firebase.tgz"},"live":{"version":"9.18","browserURL":"https://www.gstatic.com/firebasejs/live/9.18/firebase.js","packageURL":"https://www.gstatic.com/firebasejs/live/9.18/firebase.tgz"},"components":{"analytics":"https://www.gstatic.com/firebasejs/9.18.0/firebase-analytics.js","app":"https://www.gstatic.com/firebasejs/9.18.0/firebase-app.js","app-check":"https://www.gstatic.com/firebasejs/9.18.0/firebase-app-check.js","auth":"https://www.gstatic.com/firebasejs/9.18.0/firebase-auth.js","auth/cordova":"https://www.gstatic.com/firebasejs/9.18.0/firebase-auth/cordova.js","auth/react-native":"https://www.gstatic.com/firebasejs/9.18.0/firebase-auth/react-native.js","functions":"https://www.gstatic.com/firebasejs/9.18.0/firebase-functions.js","firestore":"https://www.gstatic.com/firebasejs/9.18.0/firebase-firestore.js","firestore/lite":"https://www.gstatic.com/firebasejs/9.18.0/firebase-firestore/lite.js","installations":"https://www.gstatic.com/firebasejs/9.18.0/firebase-installations.js","storage":"https://www.gstatic.com/firebasejs/9.18.0/firebase-storage.js","performance":"https://www.gstatic.com/firebasejs/9.18.0/firebase-performance.js","remote-config":"https://www.gstatic.com/firebasejs/9.18.0/firebase-remote-config.js","messaging":"https://www.gstatic.com/firebasejs/9.18.0/firebase-messaging.js","messaging/sw":"https://www.gstatic.com/firebasejs/9.18.0/firebase-messaging/sw.js","database":"https://www.gstatic.com/firebasejs/9.18.0/firebase-database.js","firestore.memory":"https://www.gstatic.com/firebasejs/9.18.0/firebase-firestore.memory.js"}}
[info] i Skipping write of public/index.html
[info]
[info] i Detected a .git folder at /home/efbe/mylanding
[info] i Authorizing with GitHub to upload your service account to a GitHub repository's secrets store.
[info]
[info] Visit this URL on this device to log in:
[info] https://github.com/login/oauth/authorize?client_id=89cf50f02ac6aaed3484&state=944934788&redirect_uri=http%3A%2F%2Flocalhost%3A9005&scope=read%3Auser%20repo%20public_repo
[info]
[info] Waiting for authentication...
[debug] [2023-03-23T07:59:31.608Z] ----------------------------------------------------------------------
[debug] [2023-03-23T07:59:31.610Z] Command: /home/efbe/.nvm/versions/node/v14.21.3/bin/node /usr/local/bin/firebase init
[debug] [2023-03-23T07:59:31.611Z] CLI Version: 11.25.1
[debug] [2023-03-23T07:59:31.611Z] Platform: linux
[debug] [2023-03-23T07:59:31.611Z] Node Version: v14.21.3
[debug] [2023-03-23T07:59:31.611Z] Time: Thu Mar 23 2023 07:59:31 GMT+0000 (Coordinated Universal Time)
[debug] [2023-03-23T07:59:31.611Z] ----------------------------------------------------------------------
[debug]
[debug] [2023-03-23T07:59:31.617Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2023-03-23T07:59:31.617Z] > authorizing via signed-in user (fikyb13@gmail.com)
[info]
######## #### ######## ######## ######## ### ###### ########
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## ###### ######## ######### ###### ######
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ######## ## ## ###### ########
You're about to initialize a Firebase project in this directory:
/home/efbe/mylanding
[info]
=== Project Setup
[info]
[info] First, let's associate this project directory with a Firebase project.
[info] You can create multiple project aliases by running firebase use --add,
[info] but for now we'll just set up a default project.
[info]
[debug] [2023-03-23T08:01:33.422Z] >>> [apiv2][query] GET https://firebase.googleapis.com/v1beta1/projects pageSize=100
[debug] [2023-03-23T08:01:34.233Z] <<< [apiv2][status] GET https://firebase.googleapis.com/v1beta1/projects 200
[debug] [2023-03-23T08:01:34.234Z] <<< [apiv2][body] GET https://firebase.googleapis.com/v1beta1/projects [omitted]
[info] i Using project efbe-project (efbe-project)
[info]
=== Hosting Setup
[info]
[info] Your public directory is the folder (relative to your project directory) that
[info] will contain Hosting assets to be uploaded with firebase deploy. If you
[info] have a build process for your assets, use your build's output directory.
[info]
[info] i Skipping write of public/404.html
[debug] [2023-03-23T08:01:53.277Z] >>> [apiv2][query] GET https://www.gstatic.com/firebasejs/releases.json [none]
[debug] [2023-03-23T08:01:53.410Z] <<< [apiv2][status] GET https://www.gstatic.com/firebasejs/releases.json 200
[debug] [2023-03-23T08:01:53.410Z] <<< [apiv2][body] GET https://www.gstatic.com/firebasejs/releases.json {"current":{"version":"9.18.0","browserURL":"https://www.gstatic.com/firebasejs/9.18.0/firebase.js","packageURL":"https://www.gstatic.com/firebasejs/9.18.0/firebase.tgz"},"live":{"version":"9.18","browserURL":"https://www.gstatic.com/firebasejs/live/9.18/firebase.js","packageURL":"https://www.gstatic.com/firebasejs/live/9.18/firebase.tgz"},"components":{"analytics":"https://www.gstatic.com/firebasejs/9.18.0/firebase-analytics.js","app":"https://www.gstatic.com/firebasejs/9.18.0/firebase-app.js","app-check":"https://www.gstatic.com/firebasejs/9.18.0/firebase-app-check.js","auth":"https://www.gstatic.com/firebasejs/9.18.0/firebase-auth.js","auth/cordova":"https://www.gstatic.com/firebasejs/9.18.0/firebase-auth/cordova.js","auth/react-native":"https://www.gstatic.com/firebasejs/9.18.0/firebase-auth/react-native.js","functions":"https://www.gstatic.com/firebasejs/9.18.0/firebase-functions.js","firestore":"https://www.gstatic.com/firebasejs/9.18.0/firebase-firestore.js","firestore/lite":"https://www.gstatic.com/firebasejs/9.18.0/firebase-firestore/lite.js","installations":"https://www.gstatic.com/firebasejs/9.18.0/firebase-installations.js","storage":"https://www.gstatic.com/firebasejs/9.18.0/firebase-storage.js","performance":"https://www.gstatic.com/firebasejs/9.18.0/firebase-performance.js","remote-config":"https://www.gstatic.com/firebasejs/9.18.0/firebase-remote-config.js","messaging":"https://www.gstatic.com/firebasejs/9.18.0/firebase-messaging.js","messaging/sw":"https://www.gstatic.com/firebasejs/9.18.0/firebase-messaging/sw.js","database":"https://www.gstatic.com/firebasejs/9.18.0/firebase-database.js","firestore.memory":"https://www.gstatic.com/firebasejs/9.18.0/firebase-firestore.memory.js"}}
[info] i Skipping write of public/index.html
[info]
[info] i Detected a .git folder at /home/efbe/mylanding
[info] i Authorizing with GitHub to upload your service account to a GitHub repository's secrets store.
[info]
[info] Visit this URL on this device to log in:
[info] https://github.com/login/oauth/authorize?client_id=89cf50f02ac6aaed3484&state=381089670&redirect_uri=http%3A%2F%2Flocalhost%3A9005&scope=read%3Auser%20repo%20public_repo
[info]
[info] Waiting for authentication...
[debug] [2023-03-23T08:05:28.522Z] >>> [apiv2][query] POST https://github.com/login/oauth/access_token [none]
[debug] [2023-03-23T08:05:28.522Z] >>> [apiv2][body] POST https://github.com/login/oauth/access_token [stream]
[debug] [2023-03-23T08:05:28.988Z] <<< [apiv2][status] POST https://github.com/login/oauth/access_token 200
[debug] [2023-03-23T08:05:28.988Z] <<< [apiv2][body] POST https://github.com/login/oauth/access_token {"access_token":"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","token_type":"bearer","scope":"read:user,repo"}
[debug] [2023-03-23T08:05:28.999Z] >>> [apiv2][query] GET https://api.github.com/user [none]
[debug] [2023-03-23T08:05:29.553Z] <<< [apiv2][status] GET https://api.github.com/user 200
[debug] [2023-03-23T08:05:29.553Z] <<< [apiv2][body] GET https://api.github.com/user {"login":"efbe404","id":105367375,"node_id":"U_kgDOBkfHTw","avatar_url":"https://avatars.githubusercontent.com/u/105367375?v=4","gravatar_id":"","url":"https://api.github.com/users/efbe404","html_url":"https://github.com/efbe404","followers_url":"https://api.github.com/users/efbe404/followers","following_url":"https://api.github.com/users/efbe404/following{/other_user}","gists_url":"https://api.github.com/users/efbe404/gists{/gist_id}","starred_url":"https://api.github.com/users/efbe404/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/efbe404/subscriptions","organizations_url":"https://api.github.com/users/efbe404/orgs","repos_url":"https://api.github.com/users/efbe404/repos","events_url":"https://api.github.com/users/efbe404/events{/privacy}","received_events_url":"https://api.github.com/users/efbe404/received_events","type":"User","site_admin":false,"name":"Fiky","company":null,"blog":"","location":null,"email":null,"hireable":null,"bio":"Just some Geeks","twitter_username":null,"public_repos":1,"public_gists":0,"followers":0,"following":0,"created_at":"2022-05-11T13:14:59Z","updated_at":"2023-03-23T08:05:14Z","private_gists":0,"total_private_repos":2,"owned_private_repos":2,"disk_usage":2050,"collaborators":0,"two_factor_authentication":true,"plan":{"name":"free","space":976562499,"collaborators":0,"private_repos":10000}}
[info]
[info] ✔ Success! Logged into GitHub as efbe404
[info]

10
firebase.json Normal file
View File

@ -0,0 +1,10 @@
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 725 KiB

After

Width:  |  Height:  |  Size: 725 KiB

View File

Before

Width:  |  Height:  |  Size: 229 KiB

After

Width:  |  Height:  |  Size: 229 KiB

View File

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 132 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 35 KiB

View File

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

View File

Before

Width:  |  Height:  |  Size: 99 KiB

After

Width:  |  Height:  |  Size: 99 KiB

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 57 KiB

View File

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View File

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

@ -1,89 +1,584 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Welcome to Firebase Hosting</title>
<!-- update the version number as needed -->
<script defer src="/__/firebase/9.18.0/firebase-app-compat.js"></script>
<!-- include only the Firebase features as you need -->
<script defer src="/__/firebase/9.18.0/firebase-auth-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-database-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-firestore-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-functions-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-messaging-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-storage-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-analytics-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-remote-config-compat.js"></script>
<script defer src="/__/firebase/9.18.0/firebase-performance-compat.js"></script>
<!--
initialize the SDK after all desired features are loaded, set useEmulator to false
to avoid connecting the SDK to running emulators.
-->
<script defer src="/__/firebase/init.js?useEmulator=true"></script>
<style media="screen">
body { background: #ECEFF1; color: rgba(0,0,0,0.87); font-family: Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 0; }
#message { background: white; max-width: 360px; margin: 100px auto 16px; padding: 32px 24px; border-radius: 3px; }
#message h2 { color: #ffa100; font-weight: bold; font-size: 16px; margin: 0 0 8px; }
#message h1 { font-size: 22px; font-weight: 300; color: rgba(0,0,0,0.6); margin: 0 0 16px;}
#message p { line-height: 140%; margin: 16px 0 24px; font-size: 14px; }
#message a { display: block; text-align: center; background: #039be5; text-transform: uppercase; text-decoration: none; color: white; padding: 16px; border-radius: 4px; }
#message, #message a { box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); }
#load { color: rgba(0,0,0,0.4); text-align: center; font-size: 13px; }
@media (max-width: 600px) {
body, #message { margin-top: 0; background: white; box-shadow: none; }
body { border-top: 16px solid #ffa100; }
}
</style>
</head>
<body>
<div id="message">
<h2>Welcome</h2>
<h1>Firebase Hosting Setup Complete</h1>
<p>You're seeing this because you've successfully setup Firebase Hosting. Now it's time to go build something extraordinary!</p>
<a target="_blank" href="https://firebase.google.com/docs/hosting/">Open Hosting Documentation</a>
</div>
<p id="load">Firebase SDK Loading&hellip;</p>
<script>
document.addEventListener('DOMContentLoaded', function() {
const loadEl = document.querySelector('#load');
// // 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
// // The Firebase SDK is initialized and available here!
//
// firebase.auth().onAuthStateChanged(user => { });
// firebase.database().ref('/path/to/ref').on('value', snapshot => { });
// firebase.firestore().doc('/foo/bar').get().then(() => { });
// firebase.functions().httpsCallable('yourFunction')().then(() => { });
// firebase.messaging().requestPermission().then(() => { });
// firebase.storage().ref('/path/to/ref').getDownloadURL().then(() => { });
// firebase.analytics(); // call to activate
// firebase.analytics().logEvent('tutorial_completed');
// firebase.performance(); // call to activate
//
// // 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
try {
let app = firebase.app();
let features = [
'auth',
'database',
'firestore',
'functions',
'messaging',
'storage',
'analytics',
'remoteConfig',
'performance',
].filter(feature => typeof app[feature] === 'function');
loadEl.textContent = `Firebase SDK loaded with ${features.join(', ')}`;
} catch (e) {
console.error(e);
loadEl.textContent = 'Error loading the Firebase SDK, check the console.';
}
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="copyright" content="eFBe, https://nogino.my.id/">
<title>Virtual Folio - Portfolio HTML5 Template</title>
<link rel="shortcut icon" type="image/x-icon" href="assets/favicon.ico">
<link rel="stylesheet" type="text/css" href="assets/css/themify-icons.css">
<link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="assets/vendor/animate/animate.css">
<link rel="stylesheet" type="text/css" href="assets/vendor/owl-carousel/owl.carousel.css">
<link rel="stylesheet" type="text/css" href="assets/vendor/perfect-scrollbar/css/perfect-scrollbar.css">
<link rel="stylesheet" type="text/css" href="assets/vendor/nice-select/css/nice-select.css">
<link rel="stylesheet" type="text/css" href="assets/vendor/fancybox/css/jquery.fancybox.min.css">
<link rel="stylesheet" type="text/css" href="assets/css/virtual.css">
<link rel="stylesheet" type="text/css" href="assets/css/minibar.virtual.css">
</head>
<body class="theme-red">
<!-- Back to top button -->
<div class="btn-back_to_top">
<span class="ti-arrow-up"></span>
</div>
<!-- Setting button
<div class="config">
<div class="template-config">
<div class="d-block">
<button class="btn btn-fab btn-sm" id="sideel" title="Settings"><span class="ti-settings"></span></button>
</div>
<div class="d-block">
<a href="https://macodeid.com/projects/virtual-folio/" class="btn btn-fab btn-sm" title="Get this template" data-toggle="tooltip" data-placement="left"><span class="ti-download"></span></a>
</div>
<div class="d-block">
<a href="#" class="btn btn-fab btn-sm" title="Help" data-toggle="tooltip" data-placement="left"><span class="ti-help"></span></a>
</div>
</div>
<div class="set-menu">
<p>Select Color</p>
<div class="color-bar" data-toggle="selected">
<span class="color-item bg-theme-red selected" data-class="theme-red"></span>
<span class="color-item bg-theme-blue" data-class="theme-blue"></span>
<span class="color-item bg-theme-green" data-class="theme-green"></span>
<span class="color-item bg-theme-orange" data-class="theme-orange"></span>
<span class="color-item bg-theme-purple" data-class="theme-purple"></span>
</div>
<select class="custom-select d-block my-2" id="change-page">
<option value="">Choose Page</option>
<option value="index">Topbar</option>
<option value="blog-topbar">Blog (Topbar)</option>
<option value="index-2">Minibar</option>
<option value="blog-minibar">Blog (Minibar)</option>
</select>
</div>
</div>
-->
<!-- Minibar -->
<div class="minibar">
<div class="header">
<div class="brand">
</div>
</div>
<div class="content">
<ul class="main-menu">
<li class="menu-item active">
<a href="#home" class="menu-link">
<span class="icon ti-home"></span>
<span class="caption">Home</span>
</a>
</li>
<li class="menu-item">
<a href="#about" class="menu-link">
<span class="icon ti-user"></span>
<span class="caption">About</span>
</a>
</li>
<li class="menu-item">
<a href="#services" class="menu-link">
<span class="icon ti-file"></span>
<span class="caption">Service</span>
</a>
</li>
<li class="menu-item">
<a href="#portfolio" class="menu-link">
<span class="icon ti-briefcase"></span>
<span class="caption">Portfolio</span>
</a>
</li>
<li class="menu-item">
<a href="#blog" class="menu-link">
<span class="icon ti-book"></span>
<span class="caption">Blog</span>
</a>
</li>
<li class="menu-item">
<a href="#contact" class="menu-link">
<span class="icon ti-location-pin"></span>
<span class="caption">Contact</span>
</a>
</li>
</ul>
</div>
</div>
<div class="vg-main-wrapper">
<div class="vg-page page-home" id="home" style="background-image: url(assets/img/bg_image_2.jpg);">
<div class="caption wow zoomInUp">
<h1 class="fw-normal">Welcome</h1>
<h2 class="fw-medium fg-theme">I'm Fiky Baharudin</h2>
<p class="tagline">Developer</p>
</div>
</div>
<!-- Page About -->
<div class="vg-page page-about" id="about">
<!-- Profile -->
<div class="container py-3">
<div class="row">
<div class="col-md-6">
<div class="img-place wow zoomIn">
<img src="assets/img/person.jpg" alt="Photo Profile">
</div>
</div>
<div class="col-md-6">
<div class="caption wow fadeInRight">
<h2 class="fg-dark">Fiky Baharudin</h2>
<p class="fg-theme fw-medium">Developer</p>
<p>Still Learning</p>
<ul class="theme-list">
<li class="fg-dark"><b>From:</b> Malang, East Java, ID</li>
<li class="fg-dark"><b>Lives In:</b> Jember, East Java, ID</li>
<li class="fg-dark"><b>Age:</b> 22</li>
<li class="fg-dark"><b>Gender:</b> Male</li>
</ul>
<button class="btn btn-theme btn-rounded">Download CV</button>
</div>
</div>
</div>
</div> <!-- End profile -->
<!-- Skills -->
<div class="container mt-5">
<h1 class="text-center fg-dark wow fadeInUp">My Skills</h1>
<div class="row py-3">
<div class="col-md-6">
<h4 class="wow fadeInUp">Coding skills</h4>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">JavaScript</span>
</div>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">PHP</span>
</div>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">HTML + CSS</span>
</div>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">Phyton</span>
</div>
</div>
<div class="col-md-6">
<h4 class="wow fadeInUp">Dev Skills</h4>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">Linux</span>
</div>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">Docker</span>
</div>
<div class="progress-wrapper wow fadeInUp">
<span class="caption">Networking</span>
</div>
</div>
</div>
</div> <!-- End skills -->
<!-- Resume -->
<div class="container pt-5">
<div class="row">
<div class="col-md-6 wow fadeInRight">
<h2 class="fg-dark">Education</h2>
<ul class="timeline mt-4 pr-md-5">
<li>
<div class="title">2019 - Current</div>
<div class="details">
<h5>Sistem Informasi</h5>
<small class="fg-theme">Universitas Terbuka</small>
<p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered</p>
</div>
</li>
<li>
<div class="title">2015 - 2018</div>
<div class="details">
<h5>Specialize of course</h5>
<small class="fg-theme">University of Study</small>
<p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered</p>
</div>
</li>
</ul>
</div>
<div class="col-md-6 wow fadeInRight" data-wow-delay="200ms">
<h2 class="fg-dark">Experience</h2>
<ul class="timeline mt-4 pr-md-5">
<li>
<div class="title">2017 - Current</div>
<div class="details">
<h5>Specialize of course</h5>
<small class="fg-theme">University of Study</small>
<p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered</p>
</div>
</li>
<li>
<div class="title">2014</div>
<div class="details">
<h5>Specialize of course</h5>
<small class="fg-theme">University of Study</small>
<p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered</p>
</div>
</li>
<li>
<div class="title">2011</div>
<div class="details">
<h5>Specialize of course</h5>
<small class="fg-theme">University of Study</small>
<p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered</p>
</div>
</li>
</ul>
</div>
</div>
</div> <!-- End resume -->
</div> <!-- End page about -->
<!-- Page Service -->
<div class="vg-page page-service" id="services">
<h1 class="text-center wow fadeInUp">Services</h1>
<div class="container">
<div class="row">
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card card-body">
<div class="iconic">
<span class="ti-layout"></span>
</div>
<h4 class="fg-theme">Web Design</h4>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
<a href="#" class="btn btn-theme btn-rounded">Read More</a>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card card-body">
<div class="iconic">
<span class="ti-announcement"></span>
</div>
<h4 class="fg-theme">SEO</h4>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
<a href="#" class="btn btn-theme btn-rounded">Read More</a>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card card-body">
<div class="iconic">
<span class="ti-desktop"></span>
</div>
<h4 class="fg-theme">Web Development</h4>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
<a href="#" class="btn btn-theme btn-rounded">Read More</a>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card card-body">
<div class="iconic">
<span class="ti-layout"></span>
</div>
<h4 class="fg-theme">Web Design</h4>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
<a href="#" class="btn btn-theme btn-rounded">Read More</a>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card card-body">
<div class="iconic">
<span class="ti-announcement"></span>
</div>
<h4 class="fg-theme">SEO</h4>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
<a href="#" class="btn btn-theme btn-rounded">Read More</a>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card card-body">
<div class="iconic">
<span class="ti-desktop"></span>
</div>
<h4 class="fg-theme">Web Development</h4>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard</p>
<a href="#" class="btn btn-theme btn-rounded">Read More</a>
</div>
</div>
</div>
</div>
</div> <!-- End page services -->
<!-- Testimonials -->
<div class="vg-page p-0" id="testimonial">
<div class="owl-carousel testi-carousel" style="background-image: url(assets/img/photo-2.jpg);">
<div class="item">
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Minus, dicta atque. Voluptas illum quasi asperiores autem unde cupiditate temporibus quisquam iste rem dignissimos. Commodi placeat, quis omnis inventore asperiores sit.</p>
<span class="iconic">
<span class="ti-quote-left"></span>
</span>
<h4>Andrew Johanson</h4>
</div>
<div class="item">
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Minus, dicta atque. Voluptas illum quasi asperiores autem unde cupiditate temporibus quisquam iste rem dignissimos. Commodi placeat, quis omnis inventore asperiores sit.</p>
<span class="iconic">
<span class="ti-quote-left"></span>
</span>
<h4>Louis Herreira</h4>
</div>
<div class="item">
<p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Minus, dicta atque. Voluptas illum quasi asperiores autem unde cupiditate temporibus quisquam iste rem dignissimos. Commodi placeat, quis omnis inventore asperiores sit.</p>
<span class="iconic">
<span class="ti-quote-left"></span>
</span>
<h4>Patrice Clark</h4>
</div>
</div>
</div> <!-- End testimonial -->
<!-- Portfolio page -->
<div class="vg-page page-portfolio" id="portfolio">
<div class="container">
<div class="text-center wow fadeInUp">
<div class="badge badge-subhead">Portfolio</div>
</div>
<h1 class="text-center fw-normal wow fadeInUp">See my work</h1>
<div class="filterable-button py-3 wow fadeInUp" data-toggle="selected">
<button class="btn btn-theme-outline selected" data-filter="*">All</button>
<button class="btn btn-theme-outline" data-filter=".apps">Apps</button>
<button class="btn btn-theme-outline" data-filter=".template">Template</button>
<button class="btn btn-theme-outline" data-filter=".ios">IOS</button>
<button class="btn btn-theme-outline" data-filter=".ui-ux">UI/UX</button>
<button class="btn btn-theme-outline" data-filter=".graphic">Graphic</button>
<button class="btn btn-theme-outline" data-filter=".wireframes">Wireframes</button>
</div>
<div class="gridder my-3">
<div class="grid-item apps wow zoomIn">
<div class="img-place" data-src="assets/img/work/work-1.jpg" data-fancybox data-caption="<h5 class='fg-theme'>Mobile Travel App</h5> <p>Travel, Discovery</p>">
<img src="assets/img/work/work-1.jpg" alt="">
<div class="img-caption">
<h5 class="fg-theme">Mobile Travel App</h5>
<p>Travel, Discovery</p>
</div>
</div>
</div>
<div class="grid-item template wireframes wow zoomIn">
<div class="img-place" data-src="assets/img/work/work-2.jpg" data-fancybox data-caption="<h5 class='fg-theme'>Music App</h5> <p>Musics</p>">
<img src="assets/img/work/work-2.jpg" alt="">
<div class="img-caption">
<h5 class="fg-theme">Music App</h5>
<p>Musics</p>
</div>
</div>
</div>
<div class="grid-item apps ios wow zoomIn">
<div class="img-place" data-src="assets/img/work/work-3.jpg" data-fancybox data-caption="<h5 class='fg-theme'>Gaming Dashboard</h5> <p>Games, Streaming</p>">
<img src="assets/img/work/work-3.jpg" alt="">
<div class="img-caption">
<h5 class="fg-theme">Gaming Dashboard</h5>
<p>Games, Streaming</p>
</div>
</div>
</div>
<div class="grid-item graphic ui-ux wow zoomIn">
<div class="img-place" data-src="assets/img/work/work-4.jpg" data-fancybox data-caption="<h5 class='fg-theme'>Drugs Delivery App</h5> <p>Health, Drugs</p>">
<img src="assets/img/work/work-4.jpg" alt="">
<div class="img-caption">
<h5 class="fg-theme">Drugs Delivery App</h5>
<p>Health, Drugs</p>
</div>
</div>
</div>
<div class="grid-item apps ios wow zoomIn">
<div class="img-place" data-src="assets/img/work/work-5.jpg" data-fancybox data-caption="<h5 class='fg-theme'>Musics Discover</h5> <p>Musics, Dashboard</p>">
<img src="assets/img/work/work-5.jpg" alt="">
<div class="img-caption">
<h5 class="fg-theme">Musics Discover</h5>
<p>Musics, Dashboard</p>
</div>
</div>
</div>
<div class="grid-item graphic ui-ux wireframes wow zoomIn">
<div class="img-place" data-src="assets/img/work/work-6.jpg" data-fancybox data-caption="<h5 class='fg-theme'>Game Streaming</h5> <p>Games, Streaming</p>">
<img src="assets/img/work/work-6.jpg" alt="">
<div class="img-caption">
<h5 class="fg-theme">Game Streaming</h5>
<p>Games, Streaming</p>
</div>
</div>
</div>
</div> <!-- End gridder -->
<div class="text-center wow fadeInUp">
<a href="javascript:void(0)" class="btn btn-theme">Load More</a>
</div>
</div>
</div> <!-- End Portfolio page -->
<!-- Page Blog -->
<div class="vg-page page-blog" id="blog">
<h1 class="text-center fg-dark wow fadeInUp">Latest Post</h1>
<div class="container">
<div class="row post-grid">
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card">
<div class="img-place">
<img src="assets/img/work/work-9.jpg" alt="">
</div>
<div class="caption">
<a href="javascript:void(0)" class="post-category">Technology</a>
<a href="#" class="post-title">Invision design forward fund</a>
<span class="post-date"><span class="sr-only">Published on</span> May 22, 2018</span>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card">
<div class="img-place">
<img src="assets/img/work/work-6.jpg" alt="">
</div>
<div class="caption">
<a href="javascript:void(0)" class="post-category">Business</a>
<a href="#" class="post-title">Announcing a plan for small teams</a>
<span class="post-date"><span class="sr-only">Published on</span> May 22, 2018</span>
</div>
</div>
</div>
<div class="col-md-6 col-lg-4 wow fadeInUp">
<div class="card">
<div class="img-place">
<img src="assets/img/work/work-1.jpg" alt="">
</div>
<div class="caption">
<a href="javascript:void(0)" class="post-category">Design</a>
<a href="#" class="post-title">5 basic tips for illustrating</a>
<span class="post-date"><span class="sr-only">Published on</span> May 22, 2018</span>
</div>
</div>
</div>
<div class="col-12 text-center py-3 wow fadeInUp">
<a href="blog-minibar.html" class="btn btn-theme">See All Post</a>
</div>
</div>
</div>
</div> <!-- End page blog -->
<!-- Page Contact -->
<div class="vg-page page-contact" id="contact">
<h1 class="text-center fg-dark wow fadeInUp">Contact</h1>
<div class="container-fluid">
<div class="row py-5">
<div class="col-lg-7 wow zoomIn">
</div>
<div class="col-lg-5">
<form class="vg-contact-form">
<div class="form-row">
<div class="col-12 wow fadeInUp">
<input class="form-control" type="text" name="Name" placeholder="Your Name">
</div>
<div class="col-6 wow fadeInUp">
<input class="form-control" type="text" name="Email" placeholder="Email Address">
</div>
<div class="col-6 wow fadeInUp">
<input class="form-control" type="text" name="Subject" placeholder="Subject">
</div>
<div class="col-12 wow fadeInUp">
<textarea class="form-control" name="Message" rows="6" placeholder="Enter message here.."></textarea>
</div>
<button type="submit" class="btn btn-theme mt-3 wow fadeInUp ml-1">Send Message</button>
</div>
</form>
</div>
</div>
</div>
</div> <!-- End page contact -->
<!-- Footer -->
<div class="vg-footer">
<h1 class="text-center">Virtual Folio</h1>
<div class="container">
<div class="row">
<div class="col-lg-4 py-3">
<div class="footer-info">
<p>Where to find me</p>
<hr class="divider">
<p class="fs-large fg-white">1600 Amphitheatre Parkway Mountain View, California 94043 US</p>
</div>
</div>
<div class="col-md-6 col-lg-3 py-3">
<div class="float-lg-right">
<p>Follow me</p>
<hr class="divider">
<ul class="list-unstyled">
<li><a href="#">Instagram</a></li>
<li><a href="#">Facebook</a></li>
<li><a href="#">Twitter</a></li>
<li><a href="#">Youtube</a></li>
</ul>
</div>
</div>
<div class="col-md-6 col-lg-3 py-3">
<div class="float-lg-right">
<p>Contact me</p>
<hr class="divider">
<ul class="list-unstyled">
<li>info@virtual.com</li>
<li>+8890234</li>
<li>+813023</li>
</ul>
</div>
</div>
</div>
<div class="row justify-content-center mt-3">
<div class="col-12 mb-3">
<h3 class="fw-normal text-center">Subscribe</h3>
</div>
<div class="col-lg-6">
<form class="mb-3">
<div class="input-group">
<input type="text" class="form-control" placeholder="Email address">
<input type="submit" class="btn btn-theme no-shadow" value="Subscribe">
</div>
</form>
</div>
<div class="col-12">
<p class="text-center mb-0 mt-4">Copyright &copy;2020. All right reserved | This template is made with <span class="ti-heart fg-theme-red"></span> by <a href="https://www.macodeid.com/">MACode ID</a></p>
</div>
</div>
</div>
</div> <!-- End footer -->
</div> <!-- End main wrapper -->
<script src="assets/js/jquery-3.5.1.min.js"></script>
<script src="assets/js/bootstrap.bundle.min.js"></script>
<script src="assets/vendor/owl-carousel/owl.carousel.min.js"></script>
<script src="assets/vendor/perfect-scrollbar/js/perfect-scrollbar.js"></script>
<script src="assets/vendor/isotope/isotope.pkgd.min.js"></script>
<script src="assets/vendor/nice-select/js/jquery.nice-select.min.js"></script>
<script src="assets/vendor/fancybox/js/jquery.fancybox.min.js"></script>
<script src="assets/vendor/wow/wow.min.js"></script>
<script src="assets/vendor/animateNumber/jquery.animateNumber.min.js"></script>
<script src="assets/vendor/waypoints/jquery.waypoints.min.js"></script>
<script src="assets/js/minibar-virtual.js"></script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAIA_zqjFMsJM_sxP9-6Pde5vVCTyJmUHM&callback=initMap"></script>
</body>
</html>