├── .nvmrc ├── source ├── styles │ ├── base │ │ ├── _fonts.scss │ │ ├── _reset.scss │ │ ├── _variables.scss │ │ └── _components.scss │ └── main.scss ├── components │ ├── Icon │ │ ├── index.ts │ │ ├── styles.scss │ │ ├── Cross.tsx │ │ ├── Tick.tsx │ │ ├── Zap.tsx │ │ ├── Clock.tsx │ │ ├── Eye.tsx │ │ ├── QRCode.tsx │ │ ├── StarYellow.tsx │ │ ├── StarWhite.tsx │ │ ├── Copy.tsx │ │ ├── Refresh.tsx │ │ ├── EyeClosed.tsx │ │ ├── Spinner.tsx │ │ ├── Settings.tsx │ │ └── Icon.tsx │ ├── BodyWrapper.tsx │ └── Loader.tsx ├── History │ ├── styles.scss │ ├── index.tsx │ ├── Modal.tsx │ ├── History.tsx │ └── Table.tsx ├── assets │ ├── logo.png │ ├── favicon-16.png │ ├── favicon-32.png │ ├── favicon-48.png │ └── favicon-128.png ├── Background │ ├── constants.ts │ └── index.ts ├── util │ ├── mesageUtil.ts │ ├── link.ts │ ├── tabs.ts │ ├── browser.ts │ └── settings.ts ├── Options │ ├── Header.tsx │ ├── index.tsx │ ├── Footer.tsx │ ├── Options.tsx │ └── Form.tsx ├── Popup │ ├── index.tsx │ ├── ResponseBody.tsx │ ├── Header.tsx │ ├── Popup.tsx │ └── Form.tsx ├── manifest.json └── contexts │ ├── request-status-context.tsx │ ├── shortened-links-context.tsx │ └── extension-settings-context.tsx ├── .eslintignore ├── .github ├── assets │ ├── options-v4-1.png │ ├── popup-v4-1.png │ └── direct-download.png ├── ISSUE_TEMPLATE │ └── issue-template.md └── FUNDING.yml ├── tailwind.config.js ├── babel-plugin-macros.config.js ├── twin.d.ts ├── views ├── popup.html ├── history.html └── options.html ├── .travis.yml ├── tsconfig.json ├── cssprop.d.ts ├── .eslintrc.json ├── .babelrc ├── license ├── CONTRIBUTING.md ├── CODE_OF_CONDUCT.md ├── .gitignore ├── package.json ├── README.md └── webpack.config.js /.nvmrc: -------------------------------------------------------------------------------- 1 | 12 2 | -------------------------------------------------------------------------------- /source/styles/base/_fonts.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /source/components/Icon/index.ts: -------------------------------------------------------------------------------- 1 | export {default} from './Icon'; 2 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | extension/ 4 | .yarn/ 5 | .pnp.js -------------------------------------------------------------------------------- /source/History/styles.scss: -------------------------------------------------------------------------------- 1 | @import '../styles/main.scss'; 2 | 3 | body { 4 | background-color: #edf2f7; 5 | } -------------------------------------------------------------------------------- /source/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/source/assets/logo.png -------------------------------------------------------------------------------- /source/assets/favicon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/source/assets/favicon-16.png -------------------------------------------------------------------------------- /source/assets/favicon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/source/assets/favicon-32.png -------------------------------------------------------------------------------- /source/assets/favicon-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/source/assets/favicon-48.png -------------------------------------------------------------------------------- /.github/assets/options-v4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/.github/assets/options-v4-1.png -------------------------------------------------------------------------------- /.github/assets/popup-v4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/.github/assets/popup-v4-1.png -------------------------------------------------------------------------------- /source/assets/favicon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/source/assets/favicon-128.png -------------------------------------------------------------------------------- /.github/assets/direct-download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/thedevs-network/kutt-extension/HEAD/.github/assets/direct-download.png -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | purge: [], 3 | theme: { 4 | extend: {}, 5 | }, 6 | variants: {}, 7 | plugins: [], 8 | } 9 | -------------------------------------------------------------------------------- /source/styles/main.scss: -------------------------------------------------------------------------------- 1 | @import '~tailwindcss/dist/base.min.css'; 2 | 3 | @import "base/fonts"; 4 | @import "base/variables"; 5 | @import "base/components"; 6 | @import "base/reset"; -------------------------------------------------------------------------------- /babel-plugin-macros.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | twin: { 3 | preset: 'styled-components', 4 | config: './tailwind.config.js', 5 | autoCssProp: true, // This adds the css prop when it's needed 6 | }, 7 | }; 8 | -------------------------------------------------------------------------------- /twin.d.ts: -------------------------------------------------------------------------------- 1 | import 'twin.macro'; 2 | import styledComponent, {css as cssProperty} from 'styled-components'; 3 | 4 | declare module 'twin.macro' { 5 | const css: typeof cssProperty; 6 | const styled: typeof styledComponent; 7 | } 8 | -------------------------------------------------------------------------------- /source/components/Icon/styles.scss: -------------------------------------------------------------------------------- 1 | @keyframes spin { 2 | from { 3 | transform: rotate(0deg); 4 | } 5 | 6 | to { 7 | transform: rotate(360deg); 8 | } 9 | } 10 | 11 | #spinner { 12 | animation: spin 1s linear infinite; 13 | } -------------------------------------------------------------------------------- /views/popup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 |
31 |
32 | - ### Firefox
33 |
34 | - Load the Add-on via `about:debugging` as temporary Add-on.
35 | - Choose the `manifest.json` file in the extracted directory
36 |
37 |
38 |
39 | - ### Opera
40 |
41 | - Load the extension via `opera:extensions`
42 | - Check the `Developer Mode` and load as unpacked from extension’s extracted directory.
43 |
44 |
45 |
46 | - Generate an API Key from `https://kutt.it/` (Settings page)
47 | - Paste and Save the `Key` in extension's `options page`.
48 |
49 | `npm run build` builds the extension for all the browsers to `extension/(browser)` directory respectively.
50 |
51 | ## Testing
52 |
53 | Download latest `Release`
54 |
55 | [
](https://github.com/thedevs-network/kutt-extension/releases)
58 |
59 | 98 | {message} 99 |
100 | )} 101 |
Browser extension for Kutt.it
4 | 24 |
57 |
58 | - Paste and Save this `Key` in extension's `options page` when asked.
59 |
60 |
66 |
68 | | 143 | Original URL 144 | | 145 |154 | Short URL 155 | | 156 |
|---|---|
| No URLs History | 308 |