Skip to content

Instantly share code, notes, and snippets.

View anlisha-maharjan's full-sized avatar

Anlisha Maharjan anlisha-maharjan

View GitHub Profile
<?php
namespace App\Observers;
use DOMDocument;
use Spatie\Crawler\CrawlObservers\CrawlObserver;
use Psr\Http\Message\UriInterface;
use Psr\Http\Message\ResponseInterface;
use GuzzleHttp\Exception\RequestException;
use Illuminate\Support\Facades\Log;
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Observers\CustomCrawlerObserver;
use Spatie\Crawler\CrawlProfiles\CrawlInternalUrls;
use Spatie\Crawler\Crawler;
use App\Http\Controllers\Controller;
use GuzzleHttp\RequestOptions;
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\DataTables\UserDataTable;
use App\DataTables\NoticeDataTable;
use Response;
class DashboardController extends Controller
@anlisha-maharjan
anlisha-maharjan / UserDataTable.php
Last active April 26, 2022 06:27
Build User DataTable class with html builder.
<?php
namespace App\DataTables;
use App\Models\User;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
@anlisha-maharjan
anlisha-maharjan / NoticeDataTable.php
Last active April 26, 2022 06:27
Build Notice DataTable class with html builder.
<?php
namespace App\DataTables;
use App\Models\Notice;
use Yajra\DataTables\Html\Button;
use Yajra\DataTables\Html\Column;
use Yajra\DataTables\Html\Editor\Editor;
use Yajra\DataTables\Html\Editor\Fields;
use Yajra\DataTables\Services\DataTable;
@anlisha-maharjan
anlisha-maharjan / jitsi.js
Last active April 26, 2022 06:30
Setup Jitsi component; Initialize Jitsi Meet API library scripts that embeds Jitsi Meet IFrame API functionality in React.
import React from "react";
import * as Mui from "@mui/material";
const Jitsi = ({ uuid }) => {
const containerId = "react-jitsi-meet-container";
const [jitsiObj, setJitsiObj] = React.useState({});
const loadScript = () => {
let resolveloadScriptPromise = null;
@anlisha-maharjan
anlisha-maharjan / i18n.js
Last active April 26, 2022 06:31
Setup i18n.js configuration for languages "en" & "no".
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import HttpApi from "i18next-http-backend";
import LanguageDetector from "i18next-browser-languagedetector";
const fallbackLng = ["en"];
const availableLanguages = ["en", "no"];
i18n
.use(HttpApi) // load translations using http (default public/locals/en/translations)
@anlisha-maharjan
anlisha-maharjan / index.js
Last active April 26, 2022 06:32
Basic entry point file index.js of React application.
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import reportWebVitals from "./reportWebVitals";
import CssBaseline from "@mui/material/CssBaseline";
import { ThemeProvider } from "@mui/material/styles";
import theme from "./configs/theme";
import "./assets/scss/main.scss";
import "./i18n";
@anlisha-maharjan
anlisha-maharjan / App.js
Last active April 26, 2022 06:32
Basic App.js with UI components that reflects switch between multiple languages.
import React from "react";
import * as Mui from "@mui/material";
import { useTranslation } from "react-i18next";
import en from "./assets/images/en.svg";
import no from "./assets/images/no.svg";
function App() {
const { i18n, t } = useTranslation();
const setLocale = (lng) => {
@anlisha-maharjan
anlisha-maharjan / fetch-google-spreadsheet.js
Last active June 11, 2022 02:56
Script that auto synchronize translations between Google Spreadsheet & JSON file (with google-spreadsheet library & Google Sheets API) by downloading the translated strings from Google spreadsheet when building the source code.
const { GoogleSpreadsheet } = require("google-spreadsheet");
const secret = require("./secret.json");
const fs = require("fs");
//# Initialize the sheet
const doc = new GoogleSpreadsheet(
"1B1njd441X7di47joj9OvQGuJZ-mR9yFQrpr0WNW6c94"
); //# spreadsheet ID