From 9f44596ab3abf310075c15c6630738129a166134 Mon Sep 17 00:00:00 2001 From: M Gilang Januar Date: Tue, 4 Jan 2022 13:38:08 +0700 Subject: [PATCH 1/3] upgrade telegram deps --- server/package.json | 4 ++-- yarn.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/package.json b/server/package.json index d95b4c921..e82689021 100644 --- a/server/package.json +++ b/server/package.json @@ -9,7 +9,7 @@ "build": "rimraf dist && eslint --fix -c .eslintrc.js --ext .ts . && tsc" }, "dependencies": { - "@mgilangjanuar/telegram": "2.1.0", + "@mgilangjanuar/telegram": "2.2.1", "@sentry/node": "^6.14.1", "@sentry/tracing": "^6.14.1", "@types/moment": "^2.13.0", @@ -79,4 +79,4 @@ "rimraf": "^3.0.2", "typescript": "^4.4.2" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 6c952c5a4..6cf2cdc49 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1549,10 +1549,10 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" -"@mgilangjanuar/telegram@2.1.0": - version "2.1.0" - resolved "https://npm.pkg.github.com/download/@mgilangjanuar/telegram/2.1.0/ec84baf0e694b8c35bbee89be1cdf4c77a26f2ea608ac07fe82abfc9df0ac60b#e0c9036ee9f455672e26270b6ea9221981be1706" - integrity sha512-0jXOzgvn/sPI6jOEIuxHZphXRcGGYF3e6WgYAWh4Gv1aETxMemqsGE0PrI6kXD7Bfwp5URsVyqH6XGwHjSDqFg== +"@mgilangjanuar/telegram@2.2.1": + version "2.2.1" + resolved "https://npm.pkg.github.com/download/@mgilangjanuar/telegram/2.2.1/fc45763251ef5d04d8433d20579c74a086458e83d4cfed8259ea3d127a3999b7#c8365bc67fcfde05f08d4136bd9e9c67ab0df8e6" + integrity sha512-24JkwvwNrq/NlXa5bdqk1RdNrI6XVla1xanxvvW/N17S+no90eoiXpgEXXvNuvgt2KHf3zOPODbFc83m0fKLkw== dependencies: "@cryptography/aes" "^0.1.1" async-mutex "^0.3.0" From df0c8a2d32d324f149cd508e5f27e37594866f76 Mon Sep 17 00:00:00 2001 From: M Gilang Januar Date: Tue, 4 Jan 2022 20:04:17 +0700 Subject: [PATCH 2/3] feature/dark mode (#161) * finalize dark mode style * remove unused imports * fix login otp in dark mode * add theme toggle * guard the toggle for premium plan * get user details before load dark theme * add user data to page props * make fetch user with swr immutable --- web/src/App.dark.less | 33 +++ web/src/App.less | 6 +- web/src/App.tsx | 38 ++-- web/src/index.css | 6 +- web/src/pages/Contact.tsx | 16 +- web/src/pages/Faq.tsx | 7 +- web/src/pages/Home.tsx | 14 +- web/src/pages/Login.tsx | 8 +- web/src/pages/Pricing.tsx | 10 +- web/src/pages/Privacy.tsx | 7 +- web/src/pages/Refund.tsx | 7 +- web/src/pages/Settings.tsx | 32 ++- web/src/pages/Terms.tsx | 7 +- web/src/pages/View.tsx | 3 +- web/src/pages/components/Footer.tsx | 2 +- web/src/pages/components/Navbar.tsx | 4 +- .../pages/dashboard/components/Messaging.tsx | 41 ++-- .../pages/dashboard/components/TableFiles.tsx | 6 +- web/src/pages/dashboard/index.tsx | 4 +- web/src/svg/Uploading-amico-new.svg | 194 ++++++++++++++++++ web/src/svg/Uploading-amico.svg | 1 - 21 files changed, 362 insertions(+), 84 deletions(-) create mode 100644 web/src/App.dark.less create mode 100644 web/src/svg/Uploading-amico-new.svg delete mode 100644 web/src/svg/Uploading-amico.svg diff --git a/web/src/App.dark.less b/web/src/App.dark.less new file mode 100644 index 000000000..a07925fb7 --- /dev/null +++ b/web/src/App.dark.less @@ -0,0 +1,33 @@ +@import '~antd/dist/antd.dark.less'; + +.ant-row, .ant-layout, footer, .ant-layout-footer { + background: #141414 !important; +} + +.rce-container-citem, .rce-citem { + background: #141414 !important; +} + +.rce-mbox, .rce-smsg { + background: rgba(255, 255, 255, 0.04) !important; +} + +.rce-mbox-left-notch, .rce-mbox-right-notch { + fill: rgba(255, 255, 255, 0.04) !important; +} + +.rce-mbox-time { + color: rgba(255, 255, 255, 0.45) !important; +} + +.rce-mbox-reply, .rce-mbox-file > button { + background: #141414 !important; +} + +.ant-list-split .ant-list-item { + border-bottom: none; +} + +.rce-citem-body--bottom-title { + color: rgba(255, 255, 255, 0.45) !important; +} \ No newline at end of file diff --git a/web/src/App.less b/web/src/App.less index 8f882a37a..074621dd2 100644 --- a/web/src/App.less +++ b/web/src/App.less @@ -1 +1,5 @@ -@import '~antd/dist/antd.less'; \ No newline at end of file +@import '~antd/dist/antd.less'; + +.ant-layout, footer, .ant-layout-footer { + background: #fff; +} \ No newline at end of file diff --git a/web/src/App.tsx b/web/src/App.tsx index e792631ba..1ae60fbe3 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -3,11 +3,9 @@ import { Button, Layout, Result } from 'antd' import React, { lazy, Suspense, useEffect } from 'react' import { Redirect, Route, Switch, useLocation } from 'react-router-dom' import useSWR from 'swr' +import useSWRImmutable from 'swr/immutable' import { fetcher } from './utils/Fetcher' -import './App.less' -import 'antd-country-phone-input/dist/index.css' - const Dashboard = lazy( () => import(/* webpackChunkName: 'DashboardPage' */ './pages/dashboard') ) @@ -47,6 +45,16 @@ function App(): React.ReactElement { const { pathname } = useLocation() useEffect(() => document.querySelector('.App')?.scrollIntoView(), [pathname]) const { data } = useSWR('/utils/maintenance', fetcher) + const { data: me, error: errorMe, mutate: mutateMe } = useSWRImmutable('/users/me', fetcher) + + useEffect(() => { + if (me?.user.plan === 'premium' && localStorage.getItem('theme') === 'dark') { + require('./App.dark.less') + } else { + require('./App.less') + } + require('antd-country-phone-input/dist/index.css') + }, [me]) return ( @@ -61,18 +69,20 @@ function App(): React.ReactElement { } /> : }> - - - - - - - - - - + } /> + } /> + } /> + + {me?.user ? : } + + } /> + } /> + } /> + } /> + } /> + } /> - {new URLSearchParams(window.location.search).get('source') === 'pwa' ? : } + {new URLSearchParams(window.location.search).get('source') === 'pwa' ? : } diff --git a/web/src/index.css b/web/src/index.css index a999a2a74..32162a952 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -24,10 +24,6 @@ html, body { padding: 0 30px; } -.ant-layout, footer, .ant-layout-footer { - background: #fff; -} - .container { min-height: 79vh; padding: 24px 12px; @@ -94,5 +90,5 @@ html, body { } .ant-popover-inner-content { - padding: 0; + padding: 0 !important; } \ No newline at end of file diff --git a/web/src/pages/Contact.tsx b/web/src/pages/Contact.tsx index e4e38e4a2..e3082617b 100644 --- a/web/src/pages/Contact.tsx +++ b/web/src/pages/Contact.tsx @@ -2,17 +2,21 @@ import { SendOutlined } from '@ant-design/icons' import { Button, Card, Col, Form, Input, Layout, notification, Row, Typography } from 'antd' import { useForm } from 'antd/lib/form/Form' import React, { useEffect, useState } from 'react' -import useSWR from 'swr' -import { fetcher, req } from '../utils/Fetcher' +import { req } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Contact: React.FC = () => { +interface Props { + me?: any +} + +const Contact: React.FC = ({ me }) => { const [form] = useForm() const [loading, setLoading] = useState() - const { data: me } = useSWR('/users/me', fetcher, { - onSuccess: ({ user }) => form.setFieldsValue({ from: user.username }) - }) + + useEffect(() => { + form.setFieldsValue({ from: me?.user.username }) + }, [me]) useEffect(() => { const intent = new URLSearchParams(location.search).get('intent') diff --git a/web/src/pages/Faq.tsx b/web/src/pages/Faq.tsx index ae9968d8f..9db530bd9 100644 --- a/web/src/pages/Faq.tsx +++ b/web/src/pages/Faq.tsx @@ -5,8 +5,11 @@ import { fetcher } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Faq: React.FC = () => { - const { data: me } = useSWRImmutable('/users/me', fetcher) +interface Props { + me?: any +} + +const Faq: React.FC = ({ me }) => { const { data: contributors } = useSWRImmutable('/github/contributors', fetcher) return <> diff --git a/web/src/pages/Home.tsx b/web/src/pages/Home.tsx index 8c1b1350e..d2fd756ae 100644 --- a/web/src/pages/Home.tsx +++ b/web/src/pages/Home.tsx @@ -1,17 +1,21 @@ import { ArrowRightOutlined, CloudOutlined, DollarCircleOutlined, SecurityScanOutlined } from '@ant-design/icons' import { Avatar, Button, Carousel, Col, Image, Layout, Row, Space, Tooltip, Typography } from 'antd' -import React, { useState, useEffect } from 'react' +import React, { useEffect, useState } from 'react' import GitHubButton from 'react-github-btn' import { Follow, Tweet } from 'react-twitter-widgets' import useSWRImmutable from 'swr/immutable' -import { ReactComponent as UploadingAnimate } from '../svg/Uploading-amico.svg' +import { ReactComponent as UploadingAnimate } from '../svg/Uploading-amico-new.svg' import { fetcher } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Home: React.FC = () => { +interface Props { + me?: any +} + +const Home: React.FC = ({ me }) => { const { data } = useSWRImmutable('/github/contributors', fetcher) - const { data: me } = useSWRImmutable('/users/me', fetcher) + // const { data: me } = useSWRImmutable('/users/me', fetcher) const [visiblePreview, setVisiblePreview] = useState() useEffect(() => { @@ -173,7 +177,7 @@ const Home: React.FC = () => { - + diff --git a/web/src/pages/Login.tsx b/web/src/pages/Login.tsx index 9ec58a48b..a33d9bef3 100644 --- a/web/src/pages/Login.tsx +++ b/web/src/pages/Login.tsx @@ -12,7 +12,11 @@ import { fetcher, req } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Login: React.FC = () => { +interface Props { + me?: any +} + +const Login: React.FC = ({ me }) => { const history = useHistory() const [formLogin] = useForm() const [dc, setDc] = useState() @@ -24,7 +28,6 @@ const Login: React.FC = () => { const [countdown, setCountdown] = useState() const [phoneCodeHash, setPhoneCodeHash] = useState() const [needPassword, setNeedPassword] = useState() - const { data: me } = useSWRImmutable('/users/me', fetcher) const { data: _ } = useSWRImmutable('/utils/ipinfo', fetcher, { onSuccess: ({ ipinfo }) => setPhoneData(phoneData?.short ? phoneData : { short: ipinfo?.country || 'ID' }) }) useEffect(() => { @@ -233,6 +236,7 @@ const Login: React.FC = () => { margin: '0 0.3rem 1rem 0', borderRadius: '4px', fontSize: '1.2rem', + background: localStorage.getItem('theme') === 'dark' ? 'rgba(255, 255, 255, 0.04)' : undefined, border: '1px solid rgba(0, 0, 0, 0.3)' }} /> {countdown ? Re-send in {countdown}s... : diff --git a/web/src/pages/Pricing.tsx b/web/src/pages/Pricing.tsx index e1cd0a3cb..b77f11d61 100644 --- a/web/src/pages/Pricing.tsx +++ b/web/src/pages/Pricing.tsx @@ -3,14 +3,16 @@ import { Button, Card, Col, Divider, Form, Input, Layout, notification, Row, Swi import React, { useState } from 'react' import { useHistory } from 'react-router' import { Link } from 'react-router-dom' -import useSWRImmutable from 'swr/immutable' -import { fetcher, req } from '../utils/Fetcher' +import { req } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Pricing: React.FC = () => { +interface Props { + me?: any +} + +const Pricing: React.FC = ({ me }) => { const history = useHistory() - const { data: me } = useSWRImmutable('/users/me', fetcher) const [loading, setLoading] = useState() const [email, setEmail] = useState() const [isIDR, setIsIDR] = useState(false) diff --git a/web/src/pages/Privacy.tsx b/web/src/pages/Privacy.tsx index 03138e997..270a5d497 100644 --- a/web/src/pages/Privacy.tsx +++ b/web/src/pages/Privacy.tsx @@ -7,9 +7,12 @@ import { fetcher } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Privacy: React.FC = () => { +interface Props { + me?: any +} + +const Privacy: React.FC = ({ me }) => { const { data } = useSWRImmutable('/documents/privacy', fetcher) - const { data: me } = useSWRImmutable('/users/me', fetcher) return <> diff --git a/web/src/pages/Refund.tsx b/web/src/pages/Refund.tsx index 563af175c..0f0d64f6f 100644 --- a/web/src/pages/Refund.tsx +++ b/web/src/pages/Refund.tsx @@ -7,9 +7,12 @@ import { fetcher } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Refund: React.FC = () => { +interface Props { + me?: any +} + +const Refund: React.FC = ({ me }) => { const { data } = useSWRImmutable('/documents/refund', fetcher) - const { data: me } = useSWRImmutable('/users/me', fetcher) return <> diff --git a/web/src/pages/Settings.tsx b/web/src/pages/Settings.tsx index 9e78e1bf6..b8167dd50 100644 --- a/web/src/pages/Settings.tsx +++ b/web/src/pages/Settings.tsx @@ -8,16 +8,22 @@ import { apiUrl, fetcher, req } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Settings: React.FC = () => { +interface Props { + me?: any, + mutate?: any, + error?: any +} + +const Settings: React.FC = ({ me, mutate, error }) => { const history = useHistory() const [expandableRows, setExpandableRows] = useState() const [logoutConfirmation, setLogoutConfirmation] = useState(false) const [removeConfirmation, setRemoveConfirmation] = useState(false) const [formRemoval] = useForm() const { data: respVersion } = useSWRImmutable('/utils/version', fetcher) - const { data: me, mutate, error } = useSWRImmutable('/users/me', fetcher, { - onError: () => history.push('/login') - }) + // const { data: me, mutate, error } = useSWRImmutable('/users/me', fetcher, { + // onError: () => history.push('/login') + // }) const save = (settings: any) => { req.patch('/users/me/settings', { settings }) @@ -35,6 +41,12 @@ const Settings: React.FC = () => { } }, [me]) + useEffect(() => { + if (error) { + return history.push('/login') + } + }, [error]) + const logout = async () => { await req.post('/auth/logout') return window.location.replace('/') @@ -70,6 +82,18 @@ const Settings: React.FC = () => { save({ expandable_rows: val }) }} checked={expandableRows} defaultChecked={expandableRows} /> + + { + if (me?.user.plan !== 'premium') { + return notification.error({ + message: 'Premium Feature', + description: 'Please upgrade your plan for using this feature' + }) + } + localStorage.setItem('theme', val ? 'dark' : 'light') + return window.location.reload() + }} checked={localStorage.getItem('theme') === 'dark'} defaultChecked={localStorage.getItem('theme') === 'dark'} /> + diff --git a/web/src/pages/Terms.tsx b/web/src/pages/Terms.tsx index 11048bea8..13ce1fab7 100644 --- a/web/src/pages/Terms.tsx +++ b/web/src/pages/Terms.tsx @@ -7,9 +7,12 @@ import { fetcher } from '../utils/Fetcher' import Footer from './components/Footer' import Navbar from './components/Navbar' -const Terms: React.FC = () => { +interface Props { + me?: any +} + +const Terms: React.FC = ({ me }) => { const { data } = useSWRImmutable('/documents/tos', fetcher) - const { data: me } = useSWRImmutable('/users/me', fetcher) return <> diff --git a/web/src/pages/View.tsx b/web/src/pages/View.tsx index b4c7180c8..0c9d52302 100644 --- a/web/src/pages/View.tsx +++ b/web/src/pages/View.tsx @@ -48,11 +48,10 @@ interface PageProps extends RouteComponentProps<{ id: string }> {} -const View: React.FC = ({ match }) => { +const View: React.FC = ({ match, me, errorMe }) => { const [collapsed, setCollapsed] = useState() const history = useHistory() const { data, error, mutate } = useSWR(`/files/${match.params.id}`, fetcher) - const { data: me, error: errorMe } = useSWRImmutable('/users/me', fetcher) const { data: user } = useSWRImmutable(data?.file ? `/users/${data.file.user_id}` : null, fetcher) const [links, setLinks] = useState<{ raw: string, download: string, share: string }>() const [showContent] = useDebounce(collapsed, 250) diff --git a/web/src/pages/components/Footer.tsx b/web/src/pages/components/Footer.tsx index 53d380a34..80669abbb 100644 --- a/web/src/pages/components/Footer.tsx +++ b/web/src/pages/components/Footer.tsx @@ -12,7 +12,7 @@ const Footer: React.FC = () => { diff --git a/web/src/pages/components/Navbar.tsx b/web/src/pages/components/Navbar.tsx index 941d64b6d..56d17d2d2 100644 --- a/web/src/pages/components/Navbar.tsx +++ b/web/src/pages/components/Navbar.tsx @@ -25,7 +25,7 @@ const Navbar: React.FC = ({ user, page }) => { } return <> - +
{user?.plan === 'premium' && Premium}> @@ -56,7 +56,7 @@ const Navbar: React.FC = ({ user, page }) => { } - } mode="horizontal" triggerSubMenuAction="click" defaultSelectedKeys={page ? [page] : undefined} theme="dark" style={{ background: '#0088CC', position: 'relative', display: 'flex', justifyContent: 'right' }}> + } mode="horizontal" triggerSubMenuAction="click" defaultSelectedKeys={page ? [page] : undefined} theme="dark" style={{ background: localStorage.getItem('theme') === 'dark' ? '#1f1f1f' : '#0088CC', position: 'relative', display: 'flex', justifyContent: 'right' }}> history.push('/pricing')} key="pricing">Pricing history.push('/faq')} key="faq">FAQ history.push('/contact')} key="contact">Contact Us diff --git a/web/src/pages/dashboard/components/Messaging.tsx b/web/src/pages/dashboard/components/Messaging.tsx index 6ca0728bd..feed431cc 100644 --- a/web/src/pages/dashboard/components/Messaging.tsx +++ b/web/src/pages/dashboard/components/Messaging.tsx @@ -151,7 +151,7 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => type: 'file', title: user ? user.title || `${user.firstName || ''} ${user.lastName || ''}`.trim() : 'Unknown', onTitleClick: () => user?.username ? window.open(`https://t.me/${user?.username}`, '_blank') : undefined, - titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, + // titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, text: `${fileTitle.slice(0, 20)}${fileTitle.length > 20 ? '...' : ''}`, message: `${fileTitle.slice(0, 20)}${fileTitle.length > 20 ? '...' : ''}`, status: me?.user.tg_id == user?.id ? msg.id <= dialog?.dialog?.readOutboxMaxId ? 'read' : 'received' : undefined, @@ -190,11 +190,11 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => message: msg.message, fwdFrom: msg.fwdFrom, date: msg.date * 1000, - titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, + // titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, user, reply: replyMsg ? { title: replyUser ? replyUser.title || `${replyUser.firstName || ''} ${replyUser.lastName || ''}`.trim() : 'Unknown', - titleColor: `#${`${replyUser?.id.toString(16)}000000`.slice(0, 6)}`, + // titleColor: `#${`${replyUser?.id.toString(16)}000000`.slice(0, 6)}`, message: replyMsg.message || 'Unknown message' } : undefined } : null @@ -217,7 +217,7 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => message: msg.message, fwdFrom: msg.fwdFrom, date: new Date().getTime(), - titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, + // titleColor: `#${`${user?.id.toString(16)}000000`.slice(0, 6)}`, user } }) || []).filter(Boolean).sort((a: any, b: any) => a.date - b.date) || []) @@ -287,7 +287,7 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => if (chat === 'open') { setTimeout(() => { - const base = document.querySelector('.ant-layout-sider.ant-layout-sider-light.messaging') + const base = document.querySelector('.ant-layout-sider.messaging') if (base) { setWidth(base.clientWidth) } @@ -437,14 +437,24 @@ const Messaging: React.FC = ({ me, collapsed, parent, setCollapsed }) => } return - + style={{ + overflowX: 'hidden', + boxShadow: '0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05)', + background: localStorage.getItem('theme') === 'dark' ? undefined : 'rgb(240, 242, 245) none repeat scroll 0% 0%', + position: 'absolute', + right: 0, + width: '100%', + height: '100%', + overflowY: 'auto', + zIndex: 1, + marginBottom: 0 }}> +
+ } }, { diff --git a/web/src/pages/dashboard/index.tsx b/web/src/pages/dashboard/index.tsx index 67cd31d65..524ff58d4 100644 --- a/web/src/pages/dashboard/index.tsx +++ b/web/src/pages/dashboard/index.tsx @@ -26,7 +26,6 @@ import React, { useEffect, useState } from 'react' import { RouteComponentProps, useHistory } from 'react-router' import { Link } from 'react-router-dom' import useSWR from 'swr' -import useSWRImmutable from 'swr/immutable' import { fetcher, req } from '../../utils/Fetcher' import Footer from '../components/Footer' import Navbar from '../components/Navbar' @@ -43,7 +42,7 @@ interface PageProps extends RouteComponentProps<{ type?: string }> {} -const Dashboard: React.FC = ({ match }) => { +const Dashboard: React.FC = ({ match, me, errorMe }) => { const PAGE_SIZE = 10 const history = useHistory() @@ -70,7 +69,6 @@ const Dashboard: React.FC = ({ match }) => { const [syncConfirmation, setSyncConfirmation] = useState() const [collapsedMessaging, setCollapsedMessaging] = useState(true) - const { data: me, error: errorMe } = useSWRImmutable('/users/me', fetcher) const { data: filesUpload } = useSWR(fileList?.filter(file => file.response?.file)?.length ? `/files?sort=created_at:desc&id.in=(${fileList?.filter(file => file.response?.file).map(file => `'${file.response.file.id}'`).join(',')})` : null, fetcher, { refreshInterval: 5000 diff --git a/web/src/svg/Uploading-amico-new.svg b/web/src/svg/Uploading-amico-new.svg new file mode 100644 index 000000000..39ca65c92 --- /dev/null +++ b/web/src/svg/Uploading-amico-new.svg @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/web/src/svg/Uploading-amico.svg b/web/src/svg/Uploading-amico.svg deleted file mode 100644 index 091e19e24..000000000 --- a/web/src/svg/Uploading-amico.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file From a7d0e92248ac8cdd410d5ede8191f38f8a2909d6 Mon Sep 17 00:00:00 2001 From: M Gilang Januar Date: Tue, 4 Jan 2022 20:13:47 +0700 Subject: [PATCH 3/3] 1.3.0 --- package.json | 2 +- server/package.json | 4 ++-- web/package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index e8a5956bf..173521b73 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "teledrive", - "version": "1.2.0", + "version": "1.3.0", "repository": "git@github.com:mgilangjanuar/teledrive.git", "author": "M Gilang Januar ", "license": "MIT", diff --git a/server/package.json b/server/package.json index e82689021..6ced7e7a5 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "server", - "version": "1.2.0", + "version": "1.3.0", "main": "dist/index.js", "license": "MIT", "private": true, @@ -79,4 +79,4 @@ "rimraf": "^3.0.2", "typescript": "^4.4.2" } -} +} \ No newline at end of file diff --git a/web/package.json b/web/package.json index 25e88e87b..cf27d0c5c 100644 --- a/web/package.json +++ b/web/package.json @@ -1,6 +1,6 @@ { "name": "web", - "version": "1.2.0", + "version": "1.3.0", "private": true, "dependencies": { "@craco/craco": "^6.3.0",