10 Commits

Author SHA1 Message Date
Towfiq
02a2d5fec2 chore(release): 0.1.6 2022-12-05 22:58:54 +06:00
Towfiq
1711a10b1f Merge branch 'main' of https://github.com/towfiqi/serpbear 2022-12-05 22:52:13 +06:00
Towfiq I
a42b69bd2b Merge pull request #20 from DennisCiba/main
fix: Filter duplicates and empty lines on keyword creation
2022-12-05 22:50:26 +06:00
Dennis Ciba
7dfb4f99f8 Fix state mutation 2022-12-05 17:17:52 +01:00
Towfiq
d22992bf64 fix: Sort was buggy for keyword with >100 position
resolves: #23
2022-12-05 19:15:24 +06:00
Towfiq
b450540d95 fix(UI): Adds tooltip for Domain action icons. 2022-12-04 20:34:26 +06:00
Towfiq
8688f323a5 chore: removed unnecessary file. 2022-12-04 20:33:09 +06:00
Towfiq
e9d7730ae7 fix: invalid json markup 2022-12-04 20:32:44 +06:00
Towfiq
a59903551e fix: CSS Linter issues. 2022-12-04 20:32:30 +06:00
Dennis Ciba
2e85529183 Filter duplicates and empty lines on keyword creation 2022-12-04 12:24:31 +01:00
10 changed files with 397 additions and 445 deletions

View File

@@ -2,6 +2,16 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [0.1.6](https://github.com/towfiqi/serpbear/compare/v0.1.5...v0.1.6) (2022-12-05)
### Bug Fixes
* CSS Linter issues. ([a599035](https://github.com/towfiqi/serpbear/commit/a59903551eccb3f03f2bc026673bbf9fd0d4bc1e))
* invalid json markup ([e9d7730](https://github.com/towfiqi/serpbear/commit/e9d7730ae7ec647d333713248b271bae8693e77b))
* Sort was buggy for keyword with >100 position ([d22992b](https://github.com/towfiqi/serpbear/commit/d22992bf6489b11002faba60fa06b5c467867c8b)), closes [#23](https://github.com/towfiqi/serpbear/issues/23)
* **UI:** Adds tooltip for Domain action icons. ([b450540](https://github.com/towfiqi/serpbear/commit/b450540d9593d022c94708c9679b5bf7c0279c50))
### [0.1.5](https://github.com/towfiqi/serpbear/compare/v0.1.4...v0.1.5) (2022-12-03)

View File

@@ -19,6 +19,7 @@ const DomainHeader = ({ domain, showAddModal, showSettingsModal, exportCsv, doma
const { mutate: refreshMutate } = useRefreshKeywords(() => {});
const buttonStyle = 'leading-6 inline-block px-2 py-2 text-gray-500 hover:text-gray-700';
const buttonLabelStyle = 'ml-2 text-sm not-italic lg:invisible lg:opacity-0';
return (
<div className='domain_kewywords_head flex w-full justify-between'>
<div>
@@ -45,26 +46,23 @@ const DomainHeader = ({ domain, showAddModal, showSettingsModal, exportCsv, doma
lg:z-auto lg:relative lg:mt-0 lg:border-0 lg:w-auto lg:bg-transparent`}
style={{ display: showOptions ? 'block' : undefined }}>
<button
className={`${buttonStyle}`}
className={`domheader_action_button relative ${buttonStyle}`}
aria-pressed="false"
title='Export as CSV'
onClick={() => exportCsv()}>
<Icon type='download' size={20} /><i className='ml-2 text-sm not-italic lg:hidden'>Export as csv</i>
<Icon type='download' size={20} /><i className={`${buttonLabelStyle}`}>Export as csv</i>
</button>
<button
className={`${buttonStyle} lg:ml-3`}
className={`domheader_action_button relative ${buttonStyle} lg:ml-3`}
aria-pressed="false"
title='Refresh All Keyword Positions'
onClick={() => refreshMutate({ ids: [], domain: domain.domain })}>
<Icon type='reload' size={14} /><i className='ml-2 text-sm not-italic lg:hidden'>Reload All Serps</i>
<Icon type='reload' size={14} /><i className={`${buttonLabelStyle}`}>Reload All Serps</i>
</button>
<button
data-testid="show_domain_settings"
className={`${buttonStyle} lg:ml-3`}
className={`domheader_action_button relative ${buttonStyle} lg:ml-3`}
aria-pressed="false"
title='Domain Settings'
onClick={() => showSettingsModal(true)}><Icon type='settings' size={20} />
<i className='ml-2 text-sm not-italic lg:hidden'>Domain Settings</i></button>
<i className={`${buttonLabelStyle}`}>Domain Settings</i></button>
</div>
<button
data-testid="add_keyword"

View File

@@ -27,14 +27,14 @@ const AddKeywords = ({ closeModal, domain, keywords }: AddKeywordsProps) => {
const addKeywords = () => {
if (newKeywordsData.keywords) {
const keywordsArray = newKeywordsData.keywords.replaceAll('\n', ',').split(',').map((item:string) => item.trim());
const keywordsArray = [...new Set(newKeywordsData.keywords.split('\n').map((item) => item.trim()).filter((item) => !!item))];
const currentKeywords = keywords.map((k) => `${k.keyword}-${k.device}-${k.country}`);
const keywordExist = keywordsArray.filter((k) => currentKeywords.includes(`${k}-${newKeywordsData.device}-${newKeywordsData.country}`));
if (keywordExist.length > 0) {
setError(`Keywords ${keywordExist.join(',')} already Exist`);
setTimeout(() => { setError(''); }, 3000);
} else {
addMutate(newKeywordsData);
addMutate({...newKeywordsData, keywords: keywordsArray.join('\n')});
}
} else {
setError('Please Insert a Keyword');

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "serpbear",
"version": "0.1.5",
"version": "0.1.6",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "serpbear",
"version": "0.1.5",
"version": "0.1.6",
"dependencies": {
"@testing-library/react": "^13.4.0",
"@types/react-transition-group": "^4.4.5",

View File

@@ -1,6 +1,6 @@
{
"name": "serpbear",
"version": "0.1.5",
"version": "0.1.6",
"private": true,
"scripts": {
"dev": "next dev",

View File

@@ -1,129 +0,0 @@
.container {
padding: 0 2rem;
}
.main {
min-height: 100vh;
padding: 4rem 0;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.footer {
display: flex;
flex: 1;
padding: 2rem 0;
border-top: 1px solid #eaeaea;
justify-content: center;
align-items: center;
}
.footer a {
display: flex;
justify-content: center;
align-items: center;
flex-grow: 1;
}
.title a {
color: #0070f3;
text-decoration: none;
}
.title a:hover,
.title a:focus,
.title a:active {
text-decoration: underline;
}
.title {
margin: 0;
line-height: 1.15;
font-size: 4rem;
}
.title,
.description {
text-align: center;
}
.description {
margin: 4rem 0;
line-height: 1.5;
font-size: 1.5rem;
}
.code {
background: #fafafa;
border-radius: 5px;
padding: 0.75rem;
font-size: 1.1rem;
font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono,
Bitstream Vera Sans Mono, Courier New, monospace;
}
.grid {
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
max-width: 800px;
}
.card {
margin: 1rem;
padding: 1.5rem;
text-align: left;
color: inherit;
text-decoration: none;
border: 1px solid #eaeaea;
border-radius: 10px;
transition: color 0.15s ease, border-color 0.15s ease;
max-width: 300px;
}
.card:hover,
.card:focus,
.card:active {
color: #0070f3;
border-color: #0070f3;
}
.card h2 {
margin: 0 0 1rem 0;
font-size: 1.5rem;
}
.card p {
margin: 0;
font-size: 1.25rem;
line-height: 1.5;
}
.logo {
height: 1em;
margin-left: 0.5rem;
}
@media (max-width: 600px) {
.grid {
width: 100%;
flex-direction: column;
}
}
@media (prefers-color-scheme: dark) {
.card,
.footer {
border-color: #222;
}
.code {
background: #111;
}
.logo img {
filter: invert(1);
}
}

View File

@@ -1,256 +1,256 @@
.fflag {
background-image:url('../public/flagSprite42.png');
background-repeat:no-repeat;
background-size: 100% 49494%;
display: inline-block;
overflow: hidden;
position: relative;
vertical-align: middle;
box-sizing: content-box;
}
.fflag {
background-image: url('../public/flagSprite42.png');
background-repeat: no-repeat;
background-size: 100% 49494%;
display: inline-block;
overflow: hidden;
position: relative;
vertical-align: middle;
box-sizing: content-box;
}
.fflag-CH,
.fflag-NP {box-shadow: none!important}
.fflag-DZ {background-position:center 0.2287%}
.fflag-AO {background-position:center 0.4524%}
.fflag-BJ {background-position:center 0.6721%}
.fflag-BW {background-position:center 0.8958%}
.fflag-BF {background-position:center 1.1162%}
.fflag-BI {background-position:center 1.3379%}
.fflag-CM {background-position:center 1.5589%}
.fflag-CV {background-position:center 1.7805%}
.fflag-CF {background-position:center 2.0047%}
.fflag-TD {background-position:center 2.2247%}
.fflag-CD {background-position:left 2.4467%}
.fflag-DJ {background-position:left 2.6674%}
.fflag-EG {background-position:center 2.8931%}
.fflag-GQ {background-position:center 3.1125%}
.fflag-ER {background-position:left 3.3325%}
.fflag-ET {background-position:center 3.5542%}
.fflag-GA {background-position:center 3.7759%}
.fflag-GM {background-position:center 4.0015%}
.fflag-GH {background-position:center 4.2229%}
.fflag-GN {background-position:center 4.441%}
.fflag-GW {background-position:left 4.66663%}
.fflag-CI {background-position:center 4.8844%}
.fflag-KE {background-position:center 5.1061%}
.fflag-LS {background-position:center 5.3298%}
.fflag-LR {background-position:left 5.5495%}
.fflag-LY {background-position:center 5.7712%}
.fflag-MG {background-position:center 5.994%}
.fflag-MW {background-position:center 6.2156%}
.fflag-ML {background-position:center 6.4363%}
.fflag-MR {background-position:center 6.658%}
.fflag-MU {background-position:center 6.8805%}
.fflag-YT {background-position:center 7.1038%}
.fflag-MA {background-position:center 7.3231%}
.fflag-MZ {background-position:left 7.5448%}
.fflag-NA {background-position:left 7.7661%}
.fflag-NE {background-position:center 7.98937%}
.fflag-NG {background-position:center 8.2099%}
.fflag-CG {background-position:center 8.4316%}
.fflag-RE {background-position:center 8.6533%}
.fflag-RW {background-position:right 8.875%}
.fflag-SH {background-position:center 9.0967%}
.fflag-ST {background-position:center 9.32237%}
.fflag-SN {background-position:center 9.5426%}
.fflag-SC {background-position:left 9.7628%}
.fflag-SL {background-position:center 9.9845%}
.fflag-SO {background-position:center 10.2052%}
.fflag-ZA {background-position:left 10.4269%}
.fflag-SS {background-position:left 10.6486%}
.fflag-SD {background-position:center 10.8703%}
.fflag-SR {background-position:center 11.0945%}
.fflag-SZ {background-position:center 11.3135%}
.fflag-TG {background-position:left 11.5354%}
.fflag-TN {background-position:center 11.7593%}
.fflag-UG {background-position:center 11.9799%}
.fflag-TZ {background-position:center 12.2005%}
.fflag-EH {background-position:center 12.4222%}
.fflag-YE {background-position:center 12.644%}
.fflag-ZM {background-position:center 12.8664%}
.fflag-ZW {background-position:left 13.0873%}
.fflag-AI {background-position:center 13.309%}
.fflag-AG {background-position:center 13.5307%}
.fflag-AR {background-position:center 13.7524%}
.fflag-AW {background-position:left 13.9741%}
.fflag-BS {background-position:left 14.1958%}
.fflag-BB {background-position:center 14.4175%}
.fflag-BQ {background-position:center 14.6415%}
.fflag-BZ {background-position:center 14.8609%}
.fflag-BM {background-position:center 15.0826%}
.fflag-BO {background-position:center 15.306%}
.fflag-VG {background-position:center 15.528%}
.fflag-BR {background-position:center 15.7496%}
.fflag-CA {background-position:center 15.9694%}
.fflag-KY {background-position:center 16.1911%}
.fflag-CL {background-position:left 16.4128%}
.fflag-CO {background-position:left 16.6345%}
.fflag-KM {background-position:center 16.8562%}
.fflag-CR {background-position:center 17.0779%}
.fflag-CU {background-position:left 17.2996%}
.fflag-CW {background-position:center 17.5213%}
.fflag-DM {background-position:center 17.743%}
.fflag-DO {background-position:center 17.968%}
.fflag-EC {background-position:center 18.1864%}
.fflag-SV {background-position:center 18.4081%}
.fflag-FK {background-position:center 18.6298%}
.fflag-GF {background-position:center 18.8515%}
.fflag-GL {background-position:left 19.0732%}
.fflag-GD {background-position:center 19.2987%}
.fflag-GP {background-position:center 19.518%}
.fflag-GT {background-position:center 19.7383%}
.fflag-GY {background-position:center 19.96%}
.fflag-HT {background-position:center 20.1817%}
.fflag-HN {background-position:center 20.4034%}
.fflag-JM {background-position:center 20.6241%}
.fflag-MQ {background-position:center 20.8468%}
.fflag-MX {background-position:center 21.0685%}
.fflag-MS {background-position:center 21.2902%}
.fflag-NI {background-position:center 21.5119%}
.fflag-PA {background-position:center 21.7336%}
.fflag-PY {background-position:center 21.9553%}
.fflag-PE {background-position:center 22.177%}
.fflag-PR {background-position:left 22.4002%}
.fflag-BL {background-position:center 22.6204%}
.fflag-KN {background-position:center 22.8421%}
.fflag-LC {background-position:center 23.0638%}
.fflag-PM {background-position:center 23.2855%}
.fflag-VC {background-position:center 23.5072%}
.fflag-SX {background-position:left 23.732%}
.fflag-TT {background-position:center 23.9506%}
.fflag-TC {background-position:center 24.1723%}
.fflag-US {background-position:center 24.394%}
.fflag-VI {background-position:center 24.6157%}
.fflag-UY {background-position:left 24.8374%}
.fflag-VE {background-position:center 25.0591%}
.fflag-AB {background-position:center 25.279%}
.fflag-AF {background-position:center 25.5025%}
.fflag-AZ {background-position:center 25.7242%}
.fflag-BD {background-position:center 25.9459%}
.fflag-BT {background-position:center 26.1676%}
.fflag-BN {background-position:center 26.3885%}
.fflag-KH {background-position:center 26.611%}
.fflag-CN {background-position:left 26.8327%}
.fflag-GE {background-position:center 27.0544%}
.fflag-HK {background-position:center 27.2761%}
.fflag-IN {background-position:center 27.4978%}
.fflag-ID {background-position:center 27.7195%}
.fflag-JP {background-position:center 27.9412%}
.fflag-KZ {background-position:center 28.1615%}
.fflag-LA {background-position:center 28.3846%}
.fflag-MO {background-position:center 28.6063%}
.fflag-MY {background-position:center 28.829%}
.fflag-MV {background-position:center 29.0497%}
.fflag-MN {background-position:left 29.2714%}
.fflag-MM {background-position:center 29.4931%}
.fflag-NP {background-position:left 29.7148%}
.fflag-KP {background-position:left 29.9365%}
.fflag-MP {background-position:center 30.1582%}
.fflag-PW {background-position:center 30.3799%}
.fflag-PG {background-position:center 30.6016%}
.fflag-PH {background-position:left 30.8233%}
.fflag-SG {background-position:left 31.045%}
.fflag-KR {background-position:center 31.2667%}
.fflag-LK {background-position:right 31.4884%}
.fflag-TW {background-position:left 31.7101%}
.fflag-TJ {background-position:center 31.9318%}
.fflag-TH {background-position:center 32.1535%}
.fflag-TL {background-position:left 32.3752%}
.fflag-TM {background-position:center 32.5969%}
.fflag-VN {background-position:center 32.8186%}
.fflag-AL {background-position:center 33.0403%}
.fflag-AD {background-position:center 33.25975%}
.fflag-AM {background-position:center 33.4837%}
.fflag-AT {background-position:center 33.7054%}
.fflag-BY {background-position:left 33.9271%}
.fflag-BE {background-position:center 34.1488%}
.fflag-BA {background-position:center 34.3705%}
.fflag-BG {background-position:center 34.5922%}
.fflag-HR {background-position:center 34.8139%}
.fflag-CY {background-position:center 35.0356%}
.fflag-CZ {background-position:left 35.2555%}
.fflag-DK {background-position:center 35.479%}
.fflag-EE {background-position:center 35.7007%}
.fflag-FO {background-position:center 35.9224%}
.fflag-FI {background-position:center 36.1441%}
.fflag-FR {background-position:center 36.3658%}
.fflag-DE {background-position:center 36.5875%}
.fflag-GI {background-position:center 36.8092%}
.fflag-GR {background-position:left 37.0309%}
.fflag-GG {background-position:center 37.2526%}
.fflag-HU {background-position:center 37.4743%}
.fflag-IS {background-position:center 37.696%}
.fflag-IE {background-position:center 37.9177%}
.fflag-IM {background-position:center 38.1394%}
.fflag-IT {background-position:center 38.3611%}
.fflag-JE {background-position:center 38.5828%}
.fflag-XK {background-position:center 38.8045%}
.fflag-LV {background-position:center 39.0262%}
.fflag-LI {background-position:left 39.2479%}
.fflag-LT {background-position:center 39.4696%}
.fflag-LU {background-position:center 39.6913%}
.fflag-MT {background-position:left 39.913%}
.fflag-MD {background-position:center 40.1347%}
.fflag-MC {background-position:center 40.3564%}
.fflag-ME {background-position:center 40.5781%}
.fflag-NL {background-position:center 40.7998%}
.fflag-MK {background-position:center 41.0215%}
.fflag-NO {background-position:center 41.2432%}
.fflag-PL {background-position:center 41.4649%}
.fflag-PT {background-position:center 41.6866%}
.fflag-RO {background-position:center 41.9083%}
.fflag-RU {background-position:center 42.13%}
.fflag-SM {background-position:center 42.3517%}
.fflag-RS {background-position:center 42.5734%}
.fflag-SK {background-position:center 42.7951%}
.fflag-SI {background-position:center 43.0168%}
.fflag-ES {background-position:left 43.2385%}
.fflag-SE {background-position:center 43.4602%}
.fflag-CH {background-position:center 43.6819%}
.fflag-TR {background-position:center 43.9036%}
.fflag-UA {background-position:center 44.1253%}
.fflag-GB {background-position:center 44.347%}
.fflag-VA {background-position:right 44.5687%}
.fflag-BH {background-position:center 44.7904%}
.fflag-IR {background-position:center 45.0121%}
.fflag-IQ {background-position:center 45.2338%}
.fflag-IL {background-position:center 45.4555%}
.fflag-KW {background-position:left 45.6772%}
.fflag-JO {background-position:left 45.897%}
.fflag-KG {background-position:center 46.1206%}
.fflag-LB {background-position:center 46.3423%}
.fflag-OM {background-position:left 46.561%}
.fflag-PK {background-position:center 46.7857%}
.fflag-PS {background-position:center 47.0074%}
.fflag-QA {background-position:center 47.2291%}
.fflag-SA {background-position:center 47.4508%}
.fflag-SY {background-position:center 47.6725%}
.fflag-AE {background-position:center 47.8942%}
.fflag-UZ {background-position:left 48.1159%}
.fflag-AS {background-position:right 48.3376%}
.fflag-AU {background-position:center 48.5593%}
.fflag-CX {background-position:center 48.781%}
.fflag-CC {background-position:center 49.002%}
.fflag-CK {background-position:center 49.2244%}
.fflag-FJ {background-position:center 49.4445%}
.fflag-PF {background-position:center 49.6678%}
.fflag-GU {background-position:center 49.8895%}
.fflag-KI {background-position:center 50.1112%}
.fflag-MH {background-position:left 50.3329%}
.fflag-FM {background-position:center 50.5546%}
.fflag-NC {background-position:center 50.7763%}
.fflag-NZ {background-position:center 50.998%}
.fflag-NR {background-position:left 51.2197%}
.fflag-NU {background-position:center 51.4414%}
.fflag-NF {background-position:center 51.6631%}
.fflag-WS {background-position:left 51.8848%}
.fflag-SB {background-position:left 52.1065%}
.fflag-TK {background-position:center 52.3282%}
.fflag-TO {background-position:left 52.5499%}
.fflag-TV {background-position:center 52.7716%}
.fflag-VU {background-position:left 52.9933%}
.fflag-WF {background-position:center 53.215%}
.fflag-NP { box-shadow: none!important }
.fflag-DZ { background-position: center 0.2287%; }
.fflag-AO { background-position: center 0.4524%; }
.fflag-BJ { background-position: center 0.6721%; }
.fflag-BW { background-position: center 0.8958%; }
.fflag-BF { background-position: center 1.1162%; }
.fflag-BI { background-position: center 1.3379%; }
.fflag-CM { background-position: center 1.5589%; }
.fflag-CV { background-position: center 1.7805%; }
.fflag-CF { background-position: center 2.0047%; }
.fflag-TD { background-position: center 2.2247%; }
.fflag-CD { background-position: left 2.4467%; }
.fflag-DJ { background-position: left 2.6674%; }
.fflag-EG { background-position: center 2.8931%; }
.fflag-GQ { background-position: center 3.1125%; }
.fflag-ER { background-position: left 3.3325%; }
.fflag-ET { background-position: center 3.5542%; }
.fflag-GA { background-position: center 3.7759%; }
.fflag-GM { background-position: center 4.0015%; }
.fflag-GH { background-position: center 4.2229%; }
.fflag-GN { background-position: center 4.441%; }
.fflag-GW { background-position: left 4.66663%; }
.fflag-CI { background-position: center 4.8844%; }
.fflag-KE { background-position: center 5.1061%; }
.fflag-LS { background-position: center 5.3298%; }
.fflag-LR { background-position: left 5.5495%; }
.fflag-LY { background-position: center 5.7712%; }
.fflag-MG { background-position: center 5.994%; }
.fflag-MW { background-position: center 6.2156%; }
.fflag-ML { background-position: center 6.4363%; }
.fflag-MR { background-position: center 6.658%; }
.fflag-MU { background-position: center 6.8805%; }
.fflag-YT { background-position: center 7.1038%; }
.fflag-MA { background-position: center 7.3231%; }
.fflag-MZ { background-position: left 7.5448%; }
.fflag-NA { background-position: left 7.7661%; }
.fflag-NE { background-position: center 7.98937%; }
.fflag-NG { background-position: center 8.2099%; }
.fflag-CG { background-position: center 8.4316%; }
.fflag-RE { background-position: center 8.6533%; }
.fflag-RW { background-position: right 8.875%; }
.fflag-SH { background-position: center 9.0967%; }
.fflag-ST { background-position: center 9.32237%; }
.fflag-SN { background-position: center 9.5426%; }
.fflag-SC { background-position: left 9.7628%; }
.fflag-SL { background-position: center 9.9845%; }
.fflag-SO { background-position: center 10.2052%; }
.fflag-ZA { background-position: left 10.4269%; }
.fflag-SS { background-position: left 10.6486%; }
.fflag-SD { background-position: center 10.8703%; }
.fflag-SR { background-position: center 11.0945%; }
.fflag-SZ { background-position: center 11.3135%; }
.fflag-TG { background-position: left 11.5354%; }
.fflag-TN { background-position: center 11.7593%; }
.fflag-UG { background-position: center 11.9799%; }
.fflag-TZ { background-position: center 12.2005%; }
.fflag-EH { background-position: center 12.4222%; }
.fflag-YE { background-position: center 12.644%; }
.fflag-ZM { background-position: center 12.8664%; }
.fflag-ZW { background-position: left 13.0873%; }
.fflag-AI { background-position: center 13.309%; }
.fflag-AG { background-position: center 13.5307%; }
.fflag-AR { background-position: center 13.7524%; }
.fflag-AW { background-position: left 13.9741%; }
.fflag-BS { background-position: left 14.1958%; }
.fflag-BB { background-position: center 14.4175%; }
.fflag-BQ { background-position: center 14.6415%; }
.fflag-BZ { background-position: center 14.8609%; }
.fflag-BM { background-position: center 15.0826%; }
.fflag-BO { background-position: center 15.306%; }
.fflag-VG { background-position: center 15.528%; }
.fflag-BR { background-position: center 15.7496%; }
.fflag-CA { background-position: center 15.9694%; }
.fflag-KY { background-position: center 16.1911%; }
.fflag-CL { background-position: left 16.4128%; }
.fflag-CO { background-position: left 16.6345%; }
.fflag-KM { background-position: center 16.8562%; }
.fflag-CR { background-position: center 17.0779%; }
.fflag-CU { background-position: left 17.2996%; }
.fflag-CW { background-position: center 17.5213%; }
.fflag-DM { background-position: center 17.743%; }
.fflag-DO { background-position: center 17.968%; }
.fflag-EC { background-position: center 18.1864%; }
.fflag-SV { background-position: center 18.4081%; }
.fflag-FK { background-position: center 18.6298%; }
.fflag-GF { background-position: center 18.8515%; }
.fflag-GL { background-position: left 19.0732%; }
.fflag-GD { background-position: center 19.2987%; }
.fflag-GP { background-position: center 19.518%; }
.fflag-GT { background-position: center 19.7383%; }
.fflag-GY { background-position: center 19.96%; }
.fflag-HT { background-position: center 20.1817%; }
.fflag-HN { background-position: center 20.4034%; }
.fflag-JM { background-position: center 20.6241%; }
.fflag-MQ { background-position: center 20.8468%; }
.fflag-MX { background-position: center 21.0685%; }
.fflag-MS { background-position: center 21.2902%; }
.fflag-NI { background-position: center 21.5119%; }
.fflag-PA { background-position: center 21.7336%; }
.fflag-PY { background-position: center 21.9553%; }
.fflag-PE { background-position: center 22.177%; }
.fflag-PR { background-position: left 22.4002%; }
.fflag-BL { background-position: center 22.6204%; }
.fflag-KN { background-position: center 22.8421%; }
.fflag-LC { background-position: center 23.0638%; }
.fflag-PM { background-position: center 23.2855%; }
.fflag-VC { background-position: center 23.5072%; }
.fflag-SX { background-position: left 23.732%; }
.fflag-TT { background-position: center 23.9506%; }
.fflag-TC { background-position: center 24.1723%; }
.fflag-US { background-position: center 24.394%; }
.fflag-VI { background-position: center 24.6157%; }
.fflag-UY { background-position: left 24.8374%; }
.fflag-VE { background-position: center 25.0591%; }
.fflag-AB { background-position: center 25.279%; }
.fflag-AF { background-position: center 25.5025%; }
.fflag-AZ { background-position: center 25.7242%; }
.fflag-BD { background-position: center 25.9459%; }
.fflag-BT { background-position: center 26.1676%; }
.fflag-BN { background-position: center 26.3885%; }
.fflag-KH { background-position: center 26.611%; }
.fflag-CN { background-position: left 26.8327%; }
.fflag-GE { background-position: center 27.0544%; }
.fflag-HK { background-position: center 27.2761%; }
.fflag-IN { background-position: center 27.4978%; }
.fflag-ID { background-position: center 27.7195%; }
.fflag-JP { background-position: center 27.9412%; }
.fflag-KZ { background-position: center 28.1615%; }
.fflag-LA { background-position: center 28.3846%; }
.fflag-MO { background-position: center 28.6063%; }
.fflag-MY { background-position: center 28.829%; }
.fflag-MV { background-position: center 29.0497%; }
.fflag-MN { background-position: left 29.2714%; }
.fflag-MM { background-position: center 29.4931%; }
.fflag-NP { background-position: left 29.7148%; }
.fflag-KP { background-position: left 29.9365%; }
.fflag-MP { background-position: center 30.1582%; }
.fflag-PW { background-position: center 30.3799%; }
.fflag-PG { background-position: center 30.6016%; }
.fflag-PH { background-position: left 30.8233%; }
.fflag-SG { background-position: left 31.045%; }
.fflag-KR { background-position: center 31.2667%; }
.fflag-LK { background-position: right 31.4884%; }
.fflag-TW { background-position: left 31.7101%; }
.fflag-TJ { background-position: center 31.9318%; }
.fflag-TH { background-position: center 32.1535%; }
.fflag-TL { background-position: left 32.3752%; }
.fflag-TM { background-position: center 32.5969%; }
.fflag-VN { background-position: center 32.8186%; }
.fflag-AL { background-position: center 33.0403%; }
.fflag-AD { background-position: center 33.25975%; }
.fflag-AM { background-position: center 33.4837%; }
.fflag-AT { background-position: center 33.7054%; }
.fflag-BY { background-position: left 33.9271%; }
.fflag-BE { background-position: center 34.1488%; }
.fflag-BA { background-position: center 34.3705%; }
.fflag-BG { background-position: center 34.5922%; }
.fflag-HR { background-position: center 34.8139%; }
.fflag-CY { background-position: center 35.0356%; }
.fflag-CZ { background-position: left 35.2555%; }
.fflag-DK { background-position: center 35.479%; }
.fflag-EE { background-position: center 35.7007%; }
.fflag-FO { background-position: center 35.9224%; }
.fflag-FI { background-position: center 36.1441%; }
.fflag-FR { background-position: center 36.3658%; }
.fflag-DE { background-position: center 36.5875%; }
.fflag-GI { background-position: center 36.8092%; }
.fflag-GR { background-position: left 37.0309%; }
.fflag-GG { background-position: center 37.2526%; }
.fflag-HU { background-position: center 37.4743%; }
.fflag-IS { background-position: center 37.696%; }
.fflag-IE { background-position: center 37.9177%; }
.fflag-IM { background-position: center 38.1394%; }
.fflag-IT { background-position: center 38.3611%; }
.fflag-JE { background-position: center 38.5828%; }
.fflag-XK { background-position: center 38.8045%; }
.fflag-LV { background-position: center 39.0262%; }
.fflag-LI { background-position: left 39.2479%; }
.fflag-LT { background-position: center 39.4696%; }
.fflag-LU { background-position: center 39.6913%; }
.fflag-MT { background-position: left 39.913%; }
.fflag-MD { background-position: center 40.1347%; }
.fflag-MC { background-position: center 40.3564%; }
.fflag-ME { background-position: center 40.5781%; }
.fflag-NL { background-position: center 40.7998%; }
.fflag-MK { background-position: center 41.0215%; }
.fflag-NO { background-position: center 41.2432%; }
.fflag-PL { background-position: center 41.4649%; }
.fflag-PT { background-position: center 41.6866%; }
.fflag-RO { background-position: center 41.9083%; }
.fflag-RU { background-position: center 42.13%; }
.fflag-SM { background-position: center 42.3517%; }
.fflag-RS { background-position: center 42.5734%; }
.fflag-SK { background-position: center 42.7951%; }
.fflag-SI { background-position: center 43.0168%; }
.fflag-ES { background-position: left 43.2385%; }
.fflag-SE { background-position: center 43.4602%; }
.fflag-CH { background-position: center 43.6819%; }
.fflag-TR { background-position: center 43.9036%; }
.fflag-UA { background-position: center 44.1253%; }
.fflag-GB { background-position: center 44.347%; }
.fflag-VA { background-position: right 44.5687%; }
.fflag-BH { background-position: center 44.7904%; }
.fflag-IR { background-position: center 45.0121%; }
.fflag-IQ { background-position: center 45.2338%; }
.fflag-IL { background-position: center 45.4555%; }
.fflag-KW { background-position: left 45.6772%; }
.fflag-JO { background-position: left 45.897%; }
.fflag-KG { background-position: center 46.1206%; }
.fflag-LB { background-position: center 46.3423%; }
.fflag-OM { background-position: left 46.561%; }
.fflag-PK { background-position: center 46.7857%; }
.fflag-PS { background-position: center 47.0074%; }
.fflag-QA { background-position: center 47.2291%; }
.fflag-SA { background-position: center 47.4508%; }
.fflag-SY { background-position: center 47.6725%; }
.fflag-AE { background-position: center 47.8942%; }
.fflag-UZ { background-position: left 48.1159%; }
.fflag-AS { background-position: right 48.3376%; }
.fflag-AU { background-position: center 48.5593%; }
.fflag-CX { background-position: center 48.781%; }
.fflag-CC { background-position: center 49.002%; }
.fflag-CK { background-position: center 49.2244%; }
.fflag-FJ { background-position: center 49.4445%; }
.fflag-PF { background-position: center 49.6678%; }
.fflag-GU { background-position: center 49.8895%; }
.fflag-KI { background-position: center 50.1112%; }
.fflag-MH { background-position: left 50.3329%; }
.fflag-FM { background-position: center 50.5546%; }
.fflag-NC { background-position: center 50.7763%; }
.fflag-NZ { background-position: center 50.998%; }
.fflag-NR { background-position: left 51.2197%; }
.fflag-NU { background-position: center 51.4414%; }
.fflag-NF { background-position: center 51.6631%; }
.fflag-WS { background-position: left 51.8848%; }
.fflag-SB { background-position: left 52.1065%; }
.fflag-TK { background-position: center 52.3282%; }
.fflag-TO { background-position: left 52.5499%; }
.fflag-TV { background-position: center 52.7716%; }
.fflag-VU { background-position: left 52.9933%; }
.fflag-WF { background-position: center 53.215%; }
.fflag-TD.ff-round,
.fflag-GN.ff-round,
.fflag-CI.ff-round,
@@ -260,20 +260,21 @@
.fflag-FR.ff-round,
.fflag-IE.ff-round,
.fflag-IT.ff-round,
.fflag-RO.ff-round {background-size:100% 50000%}
.fflag-RO.ff-round { background-size: 100% 50000%; }
.fflag.ff-sm {width: 18px;height: 11px}
.fflag.ff-md {width: 27px;height: 17px}
.fflag.ff-lg {width: 42px;height: 27px}
.fflag.ff-xl {width: 60px;height: 37px}
.fflag.ff-sm { width: 18px;height: 11px }
.fflag.ff-md { width: 27px;height: 17px }
.fflag.ff-lg { width: 42px;height: 27px }
.fflag.ff-xl { width: 60px;height: 37px }
/* ff-round = circular icons */
.ff-round {
background-size: 160%;
background-clip: content-box;
border-radius: 50%;
}
.ff-round.ff-sm {width: 12px; height: 12px}
.ff-round.ff-md {width: 18px; height: 18px}
.ff-round.ff-lg {width: 24px; height: 24px}
.ff-round.ff-xl {width: 32px; height: 32px}
.ff-round {
background-size: 160%;
background-clip: content-box;
border-radius: 50%;
}
.ff-round.ff-sm { width: 12px; height: 12px }
.ff-round.ff-md { width: 18px; height: 18px }
.ff-round.ff-lg { width: 24px; height: 24px }
.ff-round.ff-xl { width: 32px; height: 32px }

View File

@@ -3,18 +3,18 @@
@tailwind utilities;
@import url('./fflag.css');
body{
body {
background-color: #f8f9ff;
}
.domKeywords{
.domKeywords {
min-height: 70vh;
border-color: #E9EBFF;
box-shadow: 0 0 20px rgba(20, 34, 71, 0.05);
}
.customShadow{
.customShadow {
border-color: #E9EBFF;
box-shadow: 0 0 20px rgba(20, 34, 71, 0.05);
}
@@ -23,6 +23,7 @@ body{
scrollbar-color: #d6dbec transparent;
scrollbar-width: thin;
}
.styled-scrollbar::-webkit-scrollbar {
width: 6px;
height: 6px;
@@ -45,13 +46,16 @@ body{
.ct-area {
fill: #10b98d73;
}
.ct-label.ct-horizontal {
font-size: 11px;
}
.ct-label.ct-vertical {
font-size: 12px;
}
.chart_tooltip{
.chart_tooltip {
width: 95px;
height: 75px;
background-color: white;
@@ -75,23 +79,33 @@ body{
}
.react_toaster{
.react_toaster {
font-size: 13px;
}
.domKeywords_head--alpha_desc .domKeywords_head_keyword:after,
.domKeywords_head--pos_desc .domKeywords_head_position:after
{content: '↓' ; display: inline-block; margin-left: 2px; font-size: 14px; opacity: 0.8;}
.domKeywords_head--pos_desc .domKeywords_head_position:after {
content: '↓' ;
display: inline-block;
margin-left: 2px;
font-size: 14px;
opacity: 0.8;
}
.domKeywords_head--alpha_asc .domKeywords_head_keyword:after,
.domKeywords_head--pos_asc .domKeywords_head_position:after
{content: '↑' ; display: inline-block; margin-left: 2px; font-size: 14px; opacity: 0.8;}
.domKeywords_head--pos_asc .domKeywords_head_position:after {
content: '↑' ;
display: inline-block;
margin-left: 2px;
font-size: 14px;
opacity: 0.8;
}
.keywordDetails__section__results{
.keywordDetails__section__results {
height: calc(100vh - 550px);
}
.settings__content{
.settings__content {
height: calc(100vh - 185px);
overflow: auto;
}
@@ -101,14 +115,17 @@ body{
.modal_anim-enter {
opacity: 0;
}
.modal_anim-enter-active {
opacity: 1;
transition: opacity 300ms;
}
.modal_anim-enter .modal__content{
.modal_anim-enter .modal__content {
transform: translateY(50px);
}
.modal_anim-enter-active .modal__content{
.modal_anim-enter-active .modal__content {
transform: translateY(0);
transition: all 300ms;
}
@@ -116,14 +133,17 @@ body{
.modal_anim-exit {
opacity: 1;
}
.modal_anim-exit-active {
opacity: 0;
transition: all 300ms;
}
.modal_anim-exit .modal__content{
.modal_anim-exit .modal__content {
transform: translateY(0px);
}
.modal_anim-exit-active .modal__content{
.modal_anim-exit-active .modal__content {
transform: translateY(50px);
transition: all 300ms;
}
@@ -133,17 +153,55 @@ body{
opacity: 0;
transform: translateX(400px);
}
.settings_anim-enter-active {
opacity: 1;
transform: translateX(0);
transition: all 300ms;
}
.settings_anim-exit {
opacity: 1;
transform: translateX(0);
}
.settings_anim-exit-active {
opacity: 0;
transform: translateX(400px);
transition: all 300ms;
}
@media (min-width: 1024px) {
/* Domain Header Button Tooltips */
.domheader_action_button:hover i{
visibility: visible;
opacity: 1;
}
.domheader_action_button i{
display: block;
position: absolute;
width: 100px;
left: -40px;
top: -22px;
background: #222;
border-radius: 3px;
color: #fff;
font-size: 12px;
padding-bottom: 3px;
transition: all 0.2s linear;
}
.domheader_action_button i:after{
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 5px 5px 0 5px;
border-color: #222 transparent transparent transparent;
bottom: -5px;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
}
}

View File

@@ -1,21 +1,32 @@
{
"compilerOptions": {
"target": "esnext",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"experimentalDecorators": true,
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "types.d.ts", "utils/generateEmail__.js"],
"exclude": ["node_modules"],
}
"compilerOptions": {
"target": "esnext",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"incremental": true,
"experimentalDecorators": true
},
"include": [
"next-env.d.ts",
"**/*.ts",
"**/*.tsx",
"types.d.ts"
],
"exclude": [
"node_modules"
]
}

View File

@@ -6,6 +6,7 @@
*/
export const sortKeywords = (theKeywords:KeywordType[], sortBy:string) : KeywordType[] => {
let sortedItems = [];
const keywords = theKeywords.map((k) => ({ ...k, position: k.position === 0 ? 111 : k.position }));
switch (sortBy) {
case 'date_asc':
sortedItems = theKeywords.sort((a: KeywordType, b: KeywordType) => new Date(b.added).getTime() - new Date(a.added).getTime());
@@ -14,10 +15,12 @@ export const sortKeywords = (theKeywords:KeywordType[], sortBy:string) : Keyword
sortedItems = theKeywords.sort((a: KeywordType, b: KeywordType) => new Date(a.added).getTime() - new Date(b.added).getTime());
break;
case 'pos_asc':
sortedItems = theKeywords.sort((a: KeywordType, b: KeywordType) => (b.position > a.position ? 1 : -1));
sortedItems = keywords.sort((a: KeywordType, b: KeywordType) => (b.position > a.position ? 1 : -1));
sortedItems = sortedItems.map((k) => ({ ...k, position: k.position === 111 ? 0 : k.position }));
break;
case 'pos_desc':
sortedItems = theKeywords.sort((a: KeywordType, b: KeywordType) => (a.position > b.position ? 1 : -1));
sortedItems = keywords.sort((a: KeywordType, b: KeywordType) => (a.position > b.position ? 1 : -1));
sortedItems = sortedItems.map((k) => ({ ...k, position: k.position === 111 ? 0 : k.position }));
break;
case 'alpha_asc':
sortedItems = theKeywords.sort((a: KeywordType, b: KeywordType) => (b.keyword > a.keyword ? 1 : -1));